| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The 'session_active_changed' callout is an invitaton to racy misuses
since it splits up the session switches into two events. This patch gets
rid of it.
At this point there are two known users of the session.d/ callouts:
- Suse/Ubuntu ship a script for emulating pam_atconsole style
/var/run/console management for supporting D-Bus' at_console feature
properly. Both Martin Pitt and Kay Sievers however are happy with
having this feature go away. In addition I prepared a patch for
D-Bus which makes the need for these scripts go away entirely. That
patch is currently awaiting review.
- udev's udev-acl tool currently uses this. However this doesn't work
correctly anyway since it relies on that the CK database is correctly
dumped before the tool is invoked, which CK does not handle properly
at this time. In fact fixing this problem is the main reason why I
came up with this patch series. Kay is also very interested in
seeing the 'session_active_changed' logic go away.
A later commit introduces a replacement functionality that is less racy.
Please note that this patch does not drop session.d/ in its entirety.
Only the 'session_active_changed' type callout is removed. Scripts that
only rely on 'session_added'/'session_removed' will continue to work
fine, and will continue to be supported.
|
|
|
|
|
|
|
| |
We simply change the order how the signal handlers for D-Bus and the
database dumping are registered. According to the gobject docs it is
guaranteed that the signal handlers are run in the same order as they
are registered, so this should be safe and have the desired effect.
|
|
|
|
|
| |
Hit an assert if folks add env vars but don't increase the env var array
size.
|
| |
|
|
|
|
|
|
|
|
| |
The CK database shall be readable by the D-Bus daemon which runs under
its own user id hence make sure it is readable for non-root processes.
To make sure this leaks no information this drops the session cookie
from the database.
|
| |
|
|
|
|
| |
It's a method of CkSession hence it belongs in ck-session.h
|
| |
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=21310
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=20232
|
| |
|
| |
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=18149
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I changed the code to also loop through watch->notifies when
removing the watch due to inotify, and NULL each notify->watch
reference, the code then checks this before trying to delete
the watch itself if asked to remove the notify.
In order to prevent other race conditions in this area I also
made the inotify code not pass a watch to emit_events_in_idle,
as the watch may get freed in the meantime. It instead passes
the wd and the emit loop looks up the watch, discarding the
event if the watch has been removed.
I did however leave in the code that checks for a removed watch
before doing anything with inotify, as I hoped that this would
just optimise this case.
|
|
|
|
|
|
|
|
|
|
| |
Chris Jones observed that console-kit-daemon had open a large number of
redundant file descriptors, pointing to /etc/ConsoleKit/run-session.d and
/usr/lib/ConsoleKit/run-session.d. It turns out that ck_run_programs() doesn't
close the directory handles after iterating, resulting in a fd leak and a small
memory leak.
The attached patch corrects this.
|
| |
|
|
|
|
| |
Fixes #17866
|
| |
|
| |
|
|
|
|
|
|
| |
At one point we had to strip out the docs because dbus-glib didn't support
unknown tags. Apparently this is now fixed. Also install the xml to
/usr/share/dbus-1/interfaces.
|
| |
|
| |
|
| |
|
|
|
|
| |
Pointed out by Lennart Poettering
|
|
|
|
| |
Pointed out by Lennart Poettering
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Treat the parameters passed in via OpenSessionWithParameters
as overrides.
|
|
|
|
| |
We don't want scripts going into lib64...
|
| |
|
|
|
|
|
|
|
|
| |
Linux audit session id support. Still TODO:
* determine if session id should be hidden
* export to bus
* add to event log
* figure out how to add it to non-generated sessions
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mapping between device path and (major, minor).
"/dev/vt" -- (15,*)
"/dev/pts" -- (24,*)
"/dev/console" -- (0,0)
"NO_TTY_VALUE" - (-1,-1)
Also, solaris VT device is named like this.
/dev/console --- VT #1
/dev/vt/2 --- VT #2
/dev/vt/3 --- VT #3
/dev/vt/N --- VT #4
|
|
|
|
|
|
| |
This patch fixes ConsoleKit
so it sets x11-display-device to "/dev/console" when not using
VT.
|
| |
|
|
|
|
|
|
|
|
|
| |
This fixes the Active device so it is set to "/dev/console" when not
using VT. Without this patch, the syslog reports messages like:
Active device: /dev/vt/3508388860
Which is obviously wrong if not using VT at all.
|
|
|
|
|
|
| |
This fixes the patch that
Simon Zhang sent you earlier so that it builds on machines
without VT.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here's a patch for ConsoleKit to improve supporting Solaris VT. Two
changes are made.
- Solaris supports synchronous event notification in STREAMS. Using
this, we can avoid creating many threads for idle VTs.
By setting the S_MSG flag in an I_SETSIG STREAMS ioctl, applications can
get a synchronous notification of VT switching. In other words, these
processes are able to receive a SIGPOLL signal when a VT switching
succeeds.
- Change a little command line of getting maximum vt console numbers.
|
| |
|
| |
|
|
|
|
|
| |
Da bus no likey nulls for object paths. Return false and set
error if there is no active session.
|
|
|
|
| |
Also make criticals fatal when starting with --debug.
|
|
|
|
|
| |
Deny first and then allow. Add a simple test
script to check method access policy.
|
| |
|
| |
|
| |
|
| |
|