summaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Add seat.d/ callout directory and guarantee we dump the database before ↵HEADmasterLennart Poettering2009-08-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | callout invocation This adds a callout directory called seat.d/ that follows the basic session.d/ semantics but works on seats instead of sessions. As replacement for the old session.d/ 'session_active_changed' semantics seat.d/ knows 'seat_active_session_changed'. Which combines the two callouts necessary for session_active_changed into one. This has various advantages: it's not as racy, allows the suppressing of ACL permission changes when switching between sessions of the same user, reduces the amount of disk IO and finally is less ugly. This patch also moves all callout invocations into the CkManager. This has the advantage that we can guarantee to have fully dumped the CK database before the callout. In summary, the session.d/ directory will now get two types of callout invocations: session_added session_removed In contrast, seat.d/ gets three types: seat_added seat_removed seat_active_session_changed The 'seat_active_session_changed' callout type gets two sets of environment variables describing the old resp. the new session that is active. Either set can be left out if no session was active before, or no session will be active after the switch. This is similar to the logic behind D-Bus' NameOwnerChanged. This patch duplicates CkSeat's 'session-removed' signal into 'session-removed-full' (and friends). Reason for that is that the signal forwarded via D-Bus needs the session id as string while the callout code needs the session itself as object. Since at the time of invocation the CkSeat is no longer in the seats hashtable it is hence necessary to pass the object in as argument to the signal handlers, which makes this duplification necessary to not confuse dbus-glib. For a similar reason 'active-session-changed' is duplicated as well.
* use spec files directly as introspection xml and try to generate docs on the flyWilliam Jon McCann2008-07-231-9/+14
| | | | | | 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.
* install scripts into $(prefix)/lib instead of $libdirWilliam Jon McCann2008-04-181-1/+1
| | | | We don't want scripts going into lib64...
* create the log file with S_IROTH and don't touch the log on buildWilliam Jon McCann2008-02-131-2/+0
|
* touch the history file to create it for people not using packagesWilliam Jon McCann2008-02-071-0/+2
|
* mkdir /var/log/ConsoleKit at install timeWilliam Jon McCann2008-02-061-0/+1
|
* make polkit optional and use RBAC on SolarisBrian Cameron2008-01-281-0/+7
| | | | | | | | | | | | | | | | This patch makes polkit an optional dependency. If present it builds with it. If not, polkit support is disabled. This patch also adds a --enable-rbac-shutdown=<key> option. If set, then ConsoleKit will allow shutdown/reboot if the user has the RBAC key authorization defined. For example, since the GDM GUI program runs as the "gdm" user, setting the key for the "gdm" user allows the login program to shutdown and reboot via ConsoleKit. Also this patch modifies the tools/solaris/ck-system-restart and tools/solaris/ck-system-stop scripts to call "/sbin/init 6" and "/sbin/init 5", which are the right commands for Solaris.
* move session leader stuff into a separate classWilliam Jon McCann2007-10-221-0/+2
| | | | This will make it easier to dump/restore.
* add a basic ck-history commandWilliam Jon McCann2007-10-171-1/+9
| | | | | Refactor some event logging code to share with ck-history. At the moment the command only prints the events.
* add event logging capabilityWilliam Jon McCann2007-10-161-0/+13
| | | | | | | | This adds the ability to log events to a history file. One idea is to be able to provide wtmp like functionality. The next step is to add a seat-aware "last" command. This will be very useful for creating graphical logins that remember the most recent/frequent logins.
* maintain a file with the dump of the local databaseDavid Zeuthen2007-10-101-0/+2
| | | | | | | | This feature is useful for programs wanting to read the database without going through the D-Bus interface. This is sometimes desirable when both performance and runtime dependencies are important. For security reasons the file is only readable for the super user.
* add a way to synchronously run programs on session add/remove/activity_changeDavid Zeuthen2007-10-041-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for running programs when 1. A session is added 2. A session is removed 3. The activity of a session changes Executables with the suffix .ck in the directories $sysconfdir/ConsoleKit/run-session.d (typically /etc/ConsoleKit/run-session.d) and $libdir/ConsoleKit/run-session.d (typically /usr/lib/ConsoleKit/run-session.d) will be run on each event. The former directory is meant to be used for the system administrator and the latter is meant to be used by programs. Only when all programs in these directories have run, ConsoleKit will resume event processing and e.g. broadcast the event on the system message bus. Hence, this new mechanism can be used to safely (e.g. without race conditions) perform operations on certain resources before programs in the desktop session are told they may use them. The obvious example here is managing ACL's on /dev such that certain device nodes are only available to users in local and active sessions. The environment of the program launched is the environment that the ConsoleKit daemon was launched with and also the following variables (variables tagged with [*] may not be set). CK_SESSION_ID CK_SESSION_TYPE CK_SESSION_SEAT_ID CK_SESSION_USER_UID CK_SESSION_DISPLAY_DEVICE [*] CK_SESSION_X11_DISPLAY_DEVICE [*] CK_SESSION_X11_DISPLAY [*] CK_SESSION_REMOTE_HOST_NAME [*] CK_SESSION_IS_ACTIVE CK_SESSION_IS_LOCAL corresponding to the properties of a Session object in question. Each program is passed exactly one parameter that can assume one of the following values: - session_active_changed: is_active changed - session_added: the session was added - session_removed: the session was removed As a safety hatch, there is a timeout of 15 seconds for each program; if it hasn't exited within 15 seconds, the daemon will send it a SIGTERM signal, and move on to the next program. The daemon is still responsive when the program is running - this is to ensure that the program itself can call into the org.freedesktop.ConsoleKit service.
* Add ck-sysdeps-freebsd.c to the list of dist sourcesJoe Marcus Clarke2007-08-261-0/+1
| | | | | | | Fix make dist by making sure ck-sysdeps-freebsd.c is available on all platforms. Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
* Add FreeBSD native backend (untested)Florent Thoumie2007-08-251-0/+1
| | | | | | | | | | - Add Marcus' FreeBSD backend for ConsoleKit. Compiles fine but test-vt-monitor doesn't seem to work correctly. - Remove TODO entry. Submitted by: marcus Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
* First attempt a making ConsoleKit work on FreeBSDFlorent Thoumie2007-08-251-0/+5
| | | | | | | | - Add some ifdef's to make the code compile. - Add ck-sysdeps-freebsd.c, based on the Linux version, which means it's using linprocfs right now. Signed-off-by: Florent Thoumie <flz@FreeBSD.org>
* add a vt monitor test, move getfd to sysdeps, add a check for the root userWilliam Jon McCann2007-08-171-1/+13
|
* move peercred stuff into sysdeps. add solaris support.William Jon McCann2007-08-161-0/+1
|
* move all proc stuff into ck-sysdepsWilliam Jon McCann2007-08-161-12/+11
|
* make a lt library for proc stuffWilliam Jon McCann2007-08-141-14/+25
|
* add some solaris supportWilliam Jon McCann2007-08-141-0/+9
| | | | Based on a patch from Brian Cameron.
* use inotify to detect activity on tty when possibleWilliam Jon McCann2007-04-051-0/+32
|
* add a glib message to syslog handlerWilliam Jon McCann2007-04-031-2/+2
| | | | | Also add ability to toggle debugging when SIGUSR1 is received.
* autoconf fixes, separate pamlibdir variable, path expansion at make timeMichael Biebl2007-04-021-0/+1
| | | | | | | | | | | | | | | | | | The attached patch does the following: - Use a separate $pam-module-dir variable for the pam module - Instead of defining a custom $slibdir variable, just use the standard $libdir variable specified by autoconf - Use the standard autoconf $docdir variable (Add AC_PREREQ(2.59) for that). - Drop AS_AC_EXPAND macro and remove AC_DEFINE_UNQUOTED for dir variables. + Build the init script at make time using sed + Use defines in src/Makefile.am to pass the variables to gcc at make time - Consistently use AC_HELP_STRING everywhere - Remove/Replace deprecated macros: + AM_INIT_AUTOMAKE takes the package name and version number from AC_INIT + AM_CONFIG_HEADER -> AC_CONFIG_HEADERS + AC_OUTPUT -> AC_CONFIG_FILES Patch is tested and make distcheck works.
* use an async job to collect session infoWilliam Jon McCann2007-03-051-0/+2
| | | | | Use an async helper job to collect session info for the OpenSession() method.
* update news for release0.1.2William Jon McCann2007-02-261-1/+2
| | | | Also fix a distcheck error.
* Initial importWilliam Jon McCann2006-10-251-0/+90