[Bug 1450] Support for ConsoleKit on Linux through dbus calls

bugzilla-daemon at bugzilla.mindrot.org bugzilla-daemon at bugzilla.mindrot.org
Sun Mar 27 01:36:42 EST 2011


Colin Walters <walters at verbum.org> changed:

           What    |Removed                     |Added
                 CC|                            |walters at verbum.org

--- Comment #11 from Colin Walters <walters at verbum.org> 2011-03-27 01:36:42 EST ---
I think the easiest approach here actually would be for ConsoleKit to
gain a method of session registration which tracks a process ID.  Wait,
scratch that, Unix sucks - there's no standard way to get notified when
a process you're not the parent of exits.  

Okay, so maybe what we need to do is have a registration method that
passes a file descriptor.  This would simply be a pipe2(), and openssh
sends the read half over DBus (which supports file descriptor passing
since 1.4) to ConsoleKit, which accepts it and starts monitoring it.

Except, scratch that too because that brings us back to OpenSSH linking
against libdbus.

So maybe what we need to do is combine these two, and have openssh fork
off a child process which sends a file descriptor over, call it
openssh-consolekit-helper.  Then of course these two processes would
have to share a pipe so that openssh-consolekit-helper could get
notified when its parent died.  On Linux we could just use
prctl(PR_SET_PDEATHSIG, 15) though, I personally don't care about
non-Linux running ConsoleKit.

Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.

More information about the openssh-bugs mailing list