Created attachment 30701 [details] [review]
currently consolekit fails to build on GNU/Hurd mainly becase there's no sysdeps
backend for the GNU OS implemented. Also there is a unconditional PATH_MAX
The attached patch proposes a sysdeps-gnu backend, which implements the process
management using Hurd's libps, the *ttyent API for the part of the console
implementation and the rest using similar (valid) approaches of other backends.
Also, it fixes the PATH_MAX usage in pam-ck-connector/pam-ck-connector.c by
using a variable-length malloc'ed buffer.
The patch is by Pino Toscano <firstname.lastname@example.org>
Note I have an account on freedesktop, so in case I could be added to the project and maintaining the proposed platform stuff.
Hmm, in the PAM module you *must* check the return value of malloc(). PAM stuff is security relevant, and this looks like a vulnerability if the user somehow manages to trigger an OOM.
(In reply to comment #2)
> Hmm, in the PAM module you *must* check the return value of malloc(). PAM stuff
> is security relevant, and this looks like a vulnerability if the user somehow
> manages to trigger an OOM.
Good point, I'll fix that shortly and update the patch (which needs the implementation of a new function in sysdeps, recently added in HEAD).
Created attachment 38819 [details] [review]
GNU sysdeps backend
This patch provides a first implementation of sysdeps backend for GNU/Hurd.
It is updated to ConsoleKit 0.4.2.
Created attachment 38820 [details] [review]
Fix unconditional PATH_MAX usage
This patch uses a custom malloc'ed buffer instead of a PATH_MAX fixed one, given that PATH_MAX is not mandatory in POSIX and not implemented in GNU/Hurd.
e722b11a8240991b57bc4f5269c4f375fb6d29af and 4d06b16b69f8e9323ce128c92db4bb3e99cbd3aa