Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
If ConsoleKit crashes (post the backtrace as a bug please!) or
if the computer crashes (don't report this :) then there may be
stale inhibit pipe files in the directory. Clean those up on
startup (and shutdown just to be extra safe).
|
|
This installs an Xsession.d script for ck-launch-session. By
default the script is installed to /etc/X11/xinit/xinitrc.d but
can be changed by a --with-xinitrc-dir configure switch.
|
|
|
|
We now install the logrotate file and default to /etc/logrotate.d
as the default to install to.
|
|
Add the logrotate and Xsession.d script for ck-launch-session to
the data folder so it's easier for distros to include it. These
files were pulled from the Debian ConsoleKit package:
http://ftp.de.debian.org/debian/pool/main/c/consolekit/consolekit_0.4.6-5.debian.tar.xz
|
|
And fix minor issue with configure.ac from the last merge.
|
|
Implement the Suspend/Hibernate DBUS APIs for:
https://github.com/ConsoleKit2/ConsoleKit2/issues/3
Conflicts:
configure.ac
|
|
|
|
|
|
Also refactors some of the logging code to remove duplications.
Not sure if the can or auth checks should return FALSE if there's
an inhibit lock on the action... but that can be easily added in
the future.
|
|
And g_assert_nonnull requires glib 2.40 so we'll do without it.
|
|
|
|
When the inhibit lock increments to 1 it will be TRUE and when it
reaches 0 it will be FALSE. Additional locks above 1 will not emit
a signal but the manager will keep track.
|
|
And add additional tests for it as we go
|
|
Also start working on the inhibit manager.
|
|
|
|
|
|
|
|
Also add the test-inhibit.c file to the repo, oops.
|
|
|
|
|
|
|
|
|
|
Might need an inhibit manager at some point in the future to track
all these locks and prevent duplicates. We'll see how complex it
needs to be.
|
|
Patch pulled from:
http://anoncvs.estpak.ee/cgi-bin/cgit/openbsd-ports/tree/sysutils/consolekit/patches/patch-src_ck-vt-monitor_c
|
|
When the type = CK_LOG_EVENT_SYSTEM_START we can't cast the
event to CkLogSeatSessionAddedEvent. Also
find_first_matching_system_stop_event doesn't care about the
2nd argument so just make it NULL to make it clear we aren't
expecting to pass something of value in.
|
|
GLib's struct GTimeVal declares tv_sec as glong (will break around 2038).
Our struct timeval declares tv_sec as time_t...
warning: passing argument 1 of 'ctime' from incompatible pointer type
Taken from:
http://anoncvs.estpak.ee/cgi-bin/cgit/openbsd-ports/tree/sysutils/consolekit/patches/patch-tools_ck-history_c
|
|
|
|
warning: use of assignment suppression and length modifier
together in gnu_scanf format. Additionally added comments
next to each of the sscanf variables because there's a lot
of them to keep track of.
|
|
We need a Can/Auth split for suspend/hibernate because the user
may be authorized but the system is unable to perform those
actions. Additionally start working the inhibit calls. We also
need to actually add the suspend/hibernate tools.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 makes really long lines using ck-history on the cli, change it
down to 24. If this becomes a problem we can add an option to
display more characters.
|
|
Sets up ConsoleKit2 for translations via GNU gettext. There might
still be a couple strings that need to be marked for translation,
but this sets up the project to use gettext. Fixes bug:
https://bugs.freedesktop.org/show_bug.cgi?id=23482
|
|
|
|
1) sysconf returns a long so make bufsize one.
2) sysconf call can fail and return -1, handle that condition.
3) if sysconf does fail a negative value would be sent to calloc
which expects a positive value.
|
|
Don't try to close a fd that failed to be opened. Also use
g_close to match up with the g_open.
|
|
When open returns 0 (which is valid), there's a resource leak.
Changing the comparison to include 0 fixes this leak.
|
|
The initial work in progress to add in suspend/hibernate and the
inhibit locks.
|
|
|
|
Some embedded setups (like OLPC) don't disk-back /var/log (e.g. enabled
by Fedora's readonly-root functionality), so this will be empty on
every boot.
In this setup, ck-log-system-start fails because /var/log/ConsoleKit
doesn't exist.
Fix this by copying in mkdir code from ck-event-logger.c:open_log_file
which already correctly handles this situation. Reported in:
http://lists.freedesktop.org/archives/consolekit/2011-September/000148.html
|
|
This patch fixes a potential use-after-free crash, because the
JobData created by ck_session_leader_collect_parameters isn’t
holding a reference to its leader.
At a minimum this presentation makes the object lifetime clearer.
Reported in:
https://bugs.freedesktop.org/show_bug.cgi?id=26227#c15
|
|
Turns out this bug is introduced by commit
b4f893eb294883909759fc9fd825eade1a9f308c, which is later than
when themulti-seat branch was created.
This happens when user logout, c-k-d tries to activate the reserved
Login window session, and send out the two signals in
change_active_session().
The old_session is the session that user just log out, which should
be removed after logout. There is race condition here, if the
old_session get unrefed to 0 before the g_signal_emit call,
then a core dump happens. Reported in:
https://bugs.freedesktop.org/show_bug.cgi?id=28598
|
|
When not in compat-mode the max login name length is 64 which
should cover most sane uses. Additionally this patch makes the
command line options show up in --help. Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=36364
|
|
CppCheck marks this as a warning that P might be used in sizeof
instead of P->tty_text so we'll use sizeof (P->tty_text) to make
it explicit.
|