10 years agoMerge branch 'master' of master
Rūdolfs Mazurs [Thu, 9 Aug 2012 19:11:57 +0000 (22:11 +0300)]
Merge branch 'master' of

10 years agoAdd support for setting and reading roles of users
Rūdolfs Mazurs [Thu, 9 Aug 2012 14:20:24 +0000 (17:20 +0300)]
Add support for setting and reading roles of users

10 years agoAdd support for setting and reading roles of users
Rūdolfs Mazurs [Thu, 9 Aug 2012 14:20:24 +0000 (17:20 +0300)]
Add support for setting and reading roles of users

10 years agoAdded fronted for setting user roles.
Rūdolfs Mazurs [Mon, 6 Aug 2012 14:33:24 +0000 (17:33 +0300)]
Added fronted for setting user roles.

10 years agoAdd support for roles
Ryan Lortie [Sun, 5 Aug 2012 16:54:34 +0000 (12:54 -0400)]
Add support for roles

A role is the highlevel description of the type of a user (for example,
"Teacher", "Student", etc).

This adds the basic support for role objects in the daemon.  Roles are
defined by keyfiles in /var/lib/AccountsService/roles (which are
currently read-only).  They can be listed using an interface on the main
daemon object.

Currently roles only have an identifier and a display name.

10 years agodaemon: uncache user before deleting user
Ray Strode [Tue, 24 Jul 2012 21:49:35 +0000 (17:49 -0400)]
daemon: uncache user before deleting user

When deleting a user account it's important to clean up our
cache file on the user even if userdel fails.  userdel only
works on local users, and we want DeleteUser() when called
on remote users to behave something like UncacheUser().

This commit rearranges the order in which we delete the users
cache files versus delete the user, such that the cache files
are always deleted.

10 years agoadd CacheUser() and UncacheUser() methods
Stef Walter [Wed, 13 Jun 2012 10:22:53 +0000 (12:22 +0200)]
add CacheUser() and UncacheUser() methods

This commit introduces a CacheUser() method, which explicitly
makes a user show up in the results of a ListCachedUsers call
provided the user is otherwise known to the system.

This commit also introduces an UncacheUser() method to undo
what CacheUser() does.

10 years agodaemon: add all users from cachedir to ListCachedUsers result
Stef Walter [Tue, 24 Jul 2012 21:15:33 +0000 (17:15 -0400)]
daemon: add all users from cachedir to ListCachedUsers result

The cachedir /var/lib/AccountsService/users/ contains a list of
files named after user accounts.  These files contain metadata
about the user.

This commit changes the code to consider the presence of one of
these cache files as evidence of a user account, and uses that
information to augment the list of users returned by ListCachedUsers.

This prevents network-login users from "falling off the map" if the
wtmp file is rotated.

It's also a prerequisite for adding support for an explicit
CacheUser() call. That call will be introduced in a subsequent

10 years agodaemon: Refactor reloading of users from multiple sources
Stef Walter [Wed, 13 Jun 2012 09:42:28 +0000 (11:42 +0200)]
daemon: Refactor reloading of users from multiple sources

This commit reworks how the list of users is accumulated.

It introduces the idea of an "entry generator" which returns
struct passwd entries repeatedly until all entries available
are returned.  It then reworks the wtmp and /etc/passwd
reading to work in terms of entry generators.

This refactor will make it easier to introduce other sources
of users.

10 years agolib: fix some debug spew
Ray Strode [Fri, 20 Jul 2012 17:22:42 +0000 (13:22 -0400)]
lib: fix some debug spew

It was one of those "Blah failed: Success" situations

10 years agoconfigure: bump to 0.6.22
Ray Strode [Thu, 28 Jun 2012 15:32:51 +0000 (11:32 -0400)]
configure: bump to 0.6.22

10 years agoNEWS: update for release
Ray Strode [Thu, 28 Jun 2012 15:32:29 +0000 (11:32 -0400)]
NEWS: update for release

10 years agoutil: CVE-2012-2737: drop _polkit_subject_get_cmdline
Ray Strode [Tue, 19 Jun 2012 18:34:18 +0000 (14:34 -0400)]
util: CVE-2012-2737: drop _polkit_subject_get_cmdline

_polkit_subject_get_cmdline is a function copy and pasted
from the polkit code that returns the command line, uid, and
pid of a particular polkit subject.  It's used for helping to
generate log entries that detail what processes are invoking methods
on the accounts service.

It's also used, on older kernels, for setting up the the loginuid
of subprocesses that are run on behalf of AccountsService clients,
so the audit trail leads back to the user initiating a request.

_polkit_subject_get_cmdline directly looks up the uid of the caller,
instead of querying the system bus.  As such, it's vulnerable to
the same race condition discussed in the previous two commits.

This commit guts _polkit_subject_get_cmdline, keeping only the part
that reads /proc/pid/cmdline. We now get the uid and pid from the
bus daemon.

10 years agouser: CVE-2012-2737: verify caller through bus in more cases
Ray Strode [Tue, 19 Jun 2012 18:02:42 +0000 (14:02 -0400)]
user: CVE-2012-2737: verify caller through bus in more cases

The previous commit changed the SetIconFile call to identify
the uid of the calling process via cached peer credentials
stored by the bus daemon.

This commit fixes other similar cases where we try to figure
out process identity on our own instead of through the bus

10 years agoutil: CVE-2012-2737: validate SetIconFile caller over bus
Ray Strode [Tue, 19 Jun 2012 16:02:24 +0000 (12:02 -0400)]
util: CVE-2012-2737: validate SetIconFile caller over bus

The AccountsService SetIconFile call associates an icon
with a user.

SetIconFile allows users to have icons visible at the login
screen that don't necessarily originate in globally
readable or always available locations. This is accomplished
by copying the originating icon to the local disk in /var.

Since AccountsService runs with with root privileges, the
implemention of the SetIconFile method queries the uid of
the method caller, forks, switches to that uid and performs
the image copy as if it were the user.

Unfortunately, the uid lookup peformed is done "just in time"
instead of looking at peer credentials from the time the call
was initiated. There is a race condition that means a caller
could invoke the method call, quickly exec a setuid binary, and
then cause the copy to be performed as the uid of the setuid

This commit changes the uid lookup logic to query the system
bus daemon for the peer credentials that were cached from the
caller at the time of the initial connection.

10 years agolib: manage pending consolekit calls with cancellable
Ray Strode [Mon, 21 May 2012 21:13:09 +0000 (17:13 -0400)]
lib: manage pending consolekit calls with cancellable

Pending NewSession objects can disappear just as quickly
as they appear in response to ConsoleKit signals.  If
we're in the middle of talking to ConsoleKit when an
object disappears and is subsequently freed, then we'll
still try to access it from the reply callback.

This commit cancels any pending messages to the consolekit
daemon, when the session goes away.

10 years agolib: fix memory leaks in act-user
Pavel Vasin [Wed, 13 Jun 2012 11:56:49 +0000 (15:56 +0400)]
lib: fix memory leaks in act-user

caller must free all of the values returned by g_variant_iter_next()

10 years agoRevert "Don't use the non-standard fgetpwent() if not available."
Ray Strode [Tue, 12 Jun 2012 15:09:46 +0000 (11:09 -0400)]
Revert "Don't use the non-standard fgetpwent() if not available."

This reverts commit dfa1a6239b01c823ce0fec781c6c9541c988f56e.

The commit is wrong, since we're only interested in local users.

11 years agoOnly enable _FORTIFY_SOURCE if optimization enabled
Stef Walter [Wed, 6 Jun 2012 08:02:23 +0000 (10:02 +0200)]
Only enable _FORTIFY_SOURCE if optimization enabled

 * Otherwise we get a spew of warnings when building non-optimized

11 years agolibaccountsservice: Respect silent rules for gdbus-codegen
Stef Walter [Wed, 6 Jun 2012 08:31:39 +0000 (10:31 +0200)]
libaccountsservice: Respect silent rules for gdbus-codegen

 * When 'make V=0' quiet down gdbus-codegen invocations

11 years agolibaccountsservice: Quiet down the warnings from GIR
Stef Walter [Wed, 6 Jun 2012 08:20:22 +0000 (10:20 +0200)]
libaccountsservice: Quiet down the warnings from GIR

 * Don't include stuff from the wrong namespaces in the build
   of the introspection gir and typelib

11 years agoQuiet down autoreconf warnings
Stef Walter [Wed, 6 Jun 2012 08:38:59 +0000 (10:38 +0200)]
Quiet down autoreconf warnings

 * Use AC_LANG_PROGRAM correctly, and reorder AC_USE_SYSTEM_EXTENSIONS

11 years agoIgnore built files with a .gitignore
Stef Walter [Wed, 6 Jun 2012 07:55:30 +0000 (09:55 +0200)]
Ignore built files with a .gitignore

11 years agodaemon: fix build
Ray Strode [Thu, 31 May 2012 19:09:06 +0000 (15:09 -0400)]
daemon: fix build

I was calling a method exported by the bus, but not available to
daemon.c from daemon.c

11 years agodaemon: move ICONDIR/USERDIR defs to makefile
Ray Strode [Thu, 31 May 2012 18:58:08 +0000 (14:58 -0400)]
daemon: move ICONDIR/USERDIR defs to makefile

I broke the build because the defines were local to one file.

11 years agodaemon: remove icon when deleting user
Ray Strode [Thu, 31 May 2012 17:30:06 +0000 (13:30 -0400)]
daemon: remove icon when deleting user

11 years agolib: make has-multiple-users property only check non-system users
Ray Strode [Thu, 31 May 2012 16:40:04 +0000 (12:40 -0400)]
lib: make has-multiple-users property only check non-system users

Every system has a root account, and at least one user, so
has-multiple-users is pretty useless unless we filter out system

11 years agodaemon: exclude system accounts from ListCachedUsers
Ray Strode [Thu, 31 May 2012 16:35:11 +0000 (12:35 -0400)]
daemon: exclude system accounts from ListCachedUsers

ListCachedUsers is supposed to return a list suitable
for display in the greeter or accounts dialog. There's
no reason we should include system users in that list.

11 years agoconfigure: bump to 0.6.21
Ray Strode [Thu, 17 May 2012 17:25:27 +0000 (13:25 -0400)]
configure: bump to 0.6.21

11 years agoNEWS: update for release
Ray Strode [Thu, 17 May 2012 17:23:31 +0000 (13:23 -0400)]
NEWS: update for release

11 years agoconfigure: fix version check
Ray Strode [Thu, 17 May 2012 17:26:48 +0000 (13:26 -0400)]
configure: fix version check

11 years agoconfigure: Require a new enough systemd
Colin Walters [Thu, 17 May 2012 17:16:45 +0000 (13:16 -0400)]
configure: Require a new enough systemd

accountsservice relies on certain newish APIs in systemd,
so make sure we require a version that's new enough.

11 years agobuild: Add a --disable-systemd configure option
Colin Walters [Thu, 17 May 2012 14:55:18 +0000 (10:55 -0400)]
build: Add a --disable-systemd configure option

This lets builders explicitly choose rather than relying on

11 years agodaemon: exclude users without valid shell
Christian Hesse [Tue, 8 May 2012 15:03:50 +0000 (11:03 -0400)]
daemon: exclude users without valid shell

This patch makes sure only users with valid shells from
/etc/shells get returned by ListCachedUsers.

Minor changes by Ray Strode.

11 years agodaemon: Fix spurious log spew
Kalev Lember [Sat, 5 May 2012 20:05:01 +0000 (23:05 +0300)]
daemon: Fix spurious log spew

commit eb9ad71d535401e1cb60ece46fb8772ee5e91281 introduced a bug
leading to scary looking log message:

Glib-CRITICAL **: g_path_get_basename: assertion 'filename != NULL' failed

This commit reworks that function, to ensure that when shell is NULL,
we never try to take its basename.

11 years agoconfigure: bump to 0.6.20
Ray Strode [Fri, 4 May 2012 13:59:16 +0000 (09:59 -0400)]
configure: bump to 0.6.20

11 years agoNEWS: update for release
Ray Strode [Fri, 4 May 2012 13:58:57 +0000 (09:58 -0400)]
NEWS: update for release

11 years agodaemon: FIx overly aggressive user exclusion
Ray Strode [Fri, 4 May 2012 13:52:07 +0000 (09:52 -0400)]
daemon: FIx overly aggressive user exclusion

commit 046998a3a5305f381e6e39bc4bf7f69f260856f4 introduced
a fix that forces users without shells to be excluded.

This fix has made the function return "excluded" if the passed
in shell was NULL.  The code passes NULL for the shell in various
places to mean don't check the shell, though, this commit broke
listing users.

11 years agoconfigure: bump to 0.6.19
Ray Strode [Thu, 3 May 2012 19:21:24 +0000 (15:21 -0400)]
configure: bump to 0.6.19

11 years agoNEWS: update for release
Ray Strode [Thu, 3 May 2012 19:24:06 +0000 (15:24 -0400)]
NEWS: update for release

11 years agoDon't notify a non-existing property
Matthias Clasen [Sat, 28 Apr 2012 15:39:27 +0000 (11:39 -0400)]
Don't notify a non-existing property

GDBus turns 'XSession' into 'xsession' as property name, not
'x-session'. This is harmless, but shows up in syslog.

11 years agodaemon: Also exclude "at" user
Vincent Untz [Wed, 18 Apr 2012 06:55:50 +0000 (08:55 +0200)]
daemon: Also exclude "at" user

11 years agodaemon: Exclude users with no shell
Vincent Untz [Wed, 18 Apr 2012 06:57:11 +0000 (08:57 +0200)]
daemon: Exclude users with no shell

The NIS entry in /etc/passwd seems to be:

We obviously don't want a user with no shell to be visible, so use this
more generic solution.

11 years agolib: don't clear get_all call until after we've ensured call succeeded
Ray Strode [Fri, 13 Apr 2012 20:36:50 +0000 (16:36 -0400)]
lib: don't clear get_all call until after we've ensured call succeeded

This callback may be from a canceled call, in which case get_all no
longer belongs to the callback.

11 years agodaemon: make userdel force deletion
Ray Strode [Fri, 13 Apr 2012 20:36:07 +0000 (16:36 -0400)]
daemon: make userdel force deletion

11 years ago0.6.18
Matthias Clasen [Thu, 12 Apr 2012 01:37:30 +0000 (21:37 -0400)]

11 years agolib: Add missing return in libaccountsservice
Alban Browaeys [Mon, 9 Apr 2012 20:36:29 +0000 (22:36 +0200)]
lib: Add missing return in libaccountsservice

In _get_x11_display_for_new_systemd_session there is a missing return.

I found out that running gnome-shell from a remote box via ssh and
setting DISPLAY to :0 the systemd session type is tty. Also the uid
systemd is 0 for my user jhbuild gnome session run from debian gdm3
(ie not based on gnome-shell).
This triggers this error path which miss a "return" instruction.

I have been unable to find out if session type and uid are the same
for the same gdm session with gnome-shell started from gnome-session
though at least it also fixes the segfault there too.

This error code path is not triggered when starting gnome-session with
gnome-shell from a console + xinit inside a "jhbuild shell".
So this might be a weird use case but good to fix nevertheless.

11 years agolib: ensure session type is x11 before trying to find display
Ray Strode [Thu, 5 Apr 2012 18:10:16 +0000 (14:10 -0400)]
lib: ensure session type is x11 before trying to find display

If the session type isn't X11 then we shouldn't bother trying to
find the display of the session.

This way we can warn if we're unable to find the display and it is
an X11 session.

11 years agolib: move debug message to proper place
Ray Strode [Thu, 5 Apr 2012 18:06:11 +0000 (14:06 -0400)]
lib: move debug message to proper place

11 years agolib: handle when get_sessions() returns NULL more gracefully
Ray Strode [Thu, 5 Apr 2012 18:02:17 +0000 (14:02 -0400)]
lib: handle when get_sessions() returns NULL more gracefully

sd_get_sessions() can return NULL in some rare cases, so
make sure we don't fall over when it does.

11 years agodaemon: extend blacklist
Ray Strode [Mon, 2 Apr 2012 20:52:19 +0000 (16:52 -0400)]
daemon: extend blacklist

Since commit 552a0c856a6e3a7c2e6450ab80e79f4204062281 we no
longer hide certain system users that have a shell.

This commit adds a few more users to our blacklist to keep
things running smooth.

Ideally, we'll find a more general solution.

11 years agoFix the systemd configure check
Matthias Clasen [Mon, 2 Apr 2012 13:23:37 +0000 (09:23 -0400)]
Fix the systemd configure check

11 years agoconfigure: bump to 0.6.17
Ray Strode [Tue, 27 Mar 2012 15:51:07 +0000 (11:51 -0400)]
configure: bump to 0.6.17

11 years agoNEWS: update for release
Ray Strode [Tue, 27 Mar 2012 15:50:53 +0000 (11:50 -0400)]
NEWS: update for release

11 years agodaemon: fix up user exclusions
Ray Strode [Tue, 27 Mar 2012 15:48:57 +0000 (11:48 -0400)]
daemon: fix up user exclusions

commit ffbd85a5baee93af150fd575a44e7a7d81a13958 introduced an
inverted conditional that meant non-system users were getting
treated as system users.

This commit swaps that conditional back.

11 years agoact-user: fix double free
Ray Strode [Tue, 27 Mar 2012 14:51:50 +0000 (10:51 -0400)]
act-user: fix double free

commit 25d6fab61d042b3d0bf4b8bccfb04990562dadc5 introduced
a bug where the langauge would get freed twice.

11 years agopo: pull latest translations from transifex
Ray Strode [Mon, 26 Mar 2012 22:53:04 +0000 (18:53 -0400)]
po: pull latest translations from transifex

11 years agoNEWS: update for release
Ray Strode [Mon, 26 Mar 2012 20:42:06 +0000 (16:42 -0400)]
NEWS: update for release

11 years agolib: vala discheck fixes
Ray Strode [Mon, 26 Mar 2012 22:39:48 +0000 (18:39 -0400)]
lib: vala discheck fixes

11 years agolib: add gdbus xml to EXTRA_DIST
Ray Strode [Mon, 26 Mar 2012 22:03:57 +0000 (18:03 -0400)]
lib: add gdbus xml to EXTRA_DIST

distcheck fix.

11 years agolib: drop AccountsService-1.0.metadata
Ray Strode [Mon, 26 Mar 2012 22:03:01 +0000 (18:03 -0400)]
lib: drop AccountsService-1.0.metadata

It appears we don't have one, and it's breaking distcheck.

11 years agodaemon: be more liberabl about excluding users
Ray Strode [Mon, 26 Mar 2012 19:37:29 +0000 (15:37 -0400)]
daemon: be more liberabl about excluding users

Some distros use /bin/false instead of /sbin/nologin, or
/sbin/nologin may be in a different directory.

This commit makes the code more agressively check the
user's shell for validity.

11 years agoFilter users on nologin rather than minimal UID
Bastien Nocera [Wed, 7 Mar 2012 11:36:44 +0000 (12:36 +0100)]
Filter users on nologin rather than minimal UID

11 years agoDon't use hard-coded minimal UID to exclude users
Bastien Nocera [Wed, 7 Mar 2012 11:28:57 +0000 (12:28 +0100)]
Don't use hard-coded minimal UID to exclude users

We should instead filter on the login shell used.

11 years agolib: Add systemd support
Ray Strode [Fri, 23 Mar 2012 22:41:13 +0000 (18:41 -0400)]
lib: Add systemd support

This commit makes libaccountsservice use systemd instead of
consolekit if the system was booted with systemd.

11 years agolib: set infinite timeout for accounts manager calls
Ray Strode [Thu, 15 Mar 2012 23:53:23 +0000 (19:53 -0400)]
lib: set infinite timeout for accounts manager calls

ListCachedUsers could theoretically be somewhat slow,
so set an unlmited timeout for it.

11 years agolib: return initialized result for delete user
Ray Strode [Thu, 15 Mar 2012 23:44:43 +0000 (19:44 -0400)]
lib: return initialized result for delete user

We were just returning an uninitialized variable.

11 years agoActUserManager: ensure the manager is alive across async calls
Giovanni Campagna [Thu, 1 Mar 2012 00:44:04 +0000 (01:44 +0100)]
ActUserManager: ensure the manager is alive across async calls

Under current design and usage patterns, the library user is not
expected to keep the manager around, if only interested in signals
from ActUsers. Therefore additional references must be taken to
ensure that the object is still valid at the end of an async call,
and signals must be prevented from firing on finalized objects.

11 years agoActUser: use -1 to indicate default DBus timeout
Giovanni Campagna [Wed, 29 Feb 2012 21:16:09 +0000 (22:16 +0100)]
ActUser: use -1 to indicate default DBus timeout

Passing 0 means 0 milliseconds, which is quite too short even on
modern computers.

11 years agoActUser: set loaded status even if an error occurs
Giovanni Campagna [Wed, 29 Feb 2012 21:14:53 +0000 (22:14 +0100)]
ActUser: set loaded status even if an error occurs

Not doing so confuses the UserManager, which still considers the
user pending and blocks the emission of user-added/user-removed

11 years agoUserManager: fix advancing seat loading state machine
Giovanni Campagna [Wed, 29 Feb 2012 21:10:54 +0000 (22:10 +0100)]
UserManager: fix advancing seat loading state machine

Because the session proxy creating happened synchronously, seat
loading state was incremented, but nothing called load_seat_incrementally()
again, meaning that it never advanced to next step. Making it async
like the other operations fixes it.

11 years agolibaccountsservice: Fix srcdir != builddir for generated files
Colin Walters [Thu, 23 Feb 2012 03:50:51 +0000 (22:50 -0500)]
libaccountsservice: Fix srcdir != builddir for generated files

11 years agobuild: add optionnal vala bindings generation
Marc-André Lureau [Sat, 18 Feb 2012 18:54:59 +0000 (19:54 +0100)]
build: add optionnal vala bindings generation

11 years agoGenerate ActUserManagerError type too
Marc-André Lureau [Sun, 19 Feb 2012 00:23:39 +0000 (01:23 +0100)]
Generate ActUserManagerError type too

11 years agoAdd a global act.h library header for bindings
Marc-André Lureau [Sat, 18 Feb 2012 18:51:50 +0000 (19:51 +0100)]
Add a global act.h library header for bindings

11 years agolib: change loop iteration idiom
Ray Strode [Thu, 16 Feb 2012 17:22:48 +0000 (12:22 -0500)]
lib: change loop iteration idiom

Some of the recent code for iterating through
the results of dbus code uses i when isn't an
integer.  I find that really hard to wrap my head
around, and it appears to be causing crashes.

(I believe the loop condition should be *i not i)

This commit changes things up to be, in my opinion,

11 years agoPort library to GDBus
Matthias Clasen [Mon, 13 Feb 2012 05:31:48 +0000 (00:31 -0500)]
Port library to GDBus

Based on work by Robert Ancell,

11 years agoPort daemon to GDBus
Matthias Clasen [Mon, 13 Feb 2012 05:30:22 +0000 (00:30 -0500)]
Port daemon to GDBus

Based on work by Robert Ancell,

11 years agofix compute_object_path on ppc32
Ray Strode [Tue, 7 Feb 2012 19:25:41 +0000 (14:25 -0500)]
fix compute_object_path on ppc32

long isn't necessarily 64bit.  On big endian
architectures, where it's smaller than 64bit,
the compute_object_path function will get get
computed incorrectly.

Based on patch by Michel Dänzer <>

11 years run configure from build directory
Matthias Clasen [Mon, 9 Jan 2012 21:11:14 +0000 (16:11 -0500)] run configure from build directory

Also support the GNOME build api (NOCONFIGURE)

11 years agoBe more careful when resetting the users icons
Matthias Clasen [Wed, 30 Nov 2011 04:07:38 +0000 (23:07 -0500)]
Be more careful when resetting the users icons

When the current icon is in /usr/share, and we reset the
icon, we try to delete a nonexisting icon file in
/var/lib/AccountsService/icons. Deal with this eventuality.

11 years agoBe more careful when dealing with pw_passwd
Matthias Clasen [Wed, 19 Oct 2011 23:21:07 +0000 (19:21 -0400)]
Be more careful when dealing with pw_passwd

Since we do checks that seem to imply it can't be NULL, be
consistent and assume everywhere that it may be NULL.

11 years agopost-release bump
Matthias Clasen [Mon, 17 Oct 2011 20:06:21 +0000 (16:06 -0400)]
post-release bump

11 years agoUpdates
Matthias Clasen [Mon, 17 Oct 2011 19:56:32 +0000 (15:56 -0400)]

11 years agoDon't use the non-standard fgetpwent() if not available.
Ed Schouten [Thu, 13 Oct 2011 12:49:44 +0000 (14:49 +0200)]
Don't use the non-standard fgetpwent() if not available.

The fgetpwent() function seems to be a Linux-specific extension. POSIX
does not specify such a function. I think we can even get rid of
fgetpwent() altogether, since we use it on /etc/passwd, which is already
the default.

Signed-off-by: Ed Schouten <>

11 years agoUse <sys/wait.h>.
Ed Schouten [Thu, 13 Oct 2011 12:45:37 +0000 (14:45 +0200)]
Use <sys/wait.h>.

POSIX does not specify a header file called <wait.h>. This seems to be a
Linux-specific feature. It's called <sys/wait.h>.

Signed-off-by: Ed Schouten <>

11 years agoMake use of <shadow.h> optional.
Ed Schouten [Thu, 13 Oct 2011 12:44:38 +0000 (14:44 +0200)]
Make use of <shadow.h> optional.

The <shadow.h> header is a Linux-specific extension. On FreeBSD, all
functionality is integrated into the <pwd.h> interface.

Signed-off-by: Ed Schouten <>

11 years agoMake use of utmpx optional and buildable on FreeBSD.
Ed Schouten [Thu, 13 Oct 2011 12:40:56 +0000 (14:40 +0200)]
Make use of utmpx optional and buildable on FreeBSD.

Not all operating systems out there support utmpx. Examples include
OpenBSD, but also FreeBSD prior to version 9.0.

Also, FreeBSD's utmpx (fortunately) does not support utmpxname(), to
prevent applications from hardcoding the path to the wtmp file. Use the
setutxdb() function to switch to the wtmp database.

Signed-off-by: Ed Schouten <>

11 years agodaemon: Only accept regular files when setting icon
Vincent Untz [Thu, 29 Sep 2011 08:44:18 +0000 (10:44 +0200)]
daemon: Only accept regular files when setting icon

We don't want to call cat on a FIFO, for instance.

11 years agolib: Don't track non-graphical sessions
Ray Strode [Tue, 27 Sep 2011 23:55:43 +0000 (19:55 -0400)]
lib: Don't track non-graphical sessions

If a user happens to be logged in at a VT, we don't
want to show them as "already logged in" or whatever.

This commit filters out vt sessions in the same way it
filters out sessions associated with the login screen.

11 years agodaemon: load wtmp after passwd file
Ray Strode [Wed, 21 Sep 2011 21:20:24 +0000 (17:20 -0400)]
daemon: load wtmp after passwd file

The passwd file handling code clears the list of loaded
users so we need to always do wtmp on top of it, instead of
before it.

11 years agoPost-release version bump
Matthias Clasen [Sun, 4 Sep 2011 20:14:43 +0000 (16:14 -0400)]
Post-release version bump

11 years ago0.6.14
Matthias Clasen [Sun, 4 Sep 2011 20:08:42 +0000 (16:08 -0400)]

11 years agoFix some mismatches in the stylesheet
Matthias Clasen [Sun, 4 Sep 2011 19:48:50 +0000 (15:48 -0400)]
Fix some mismatches in the stylesheet

The stylesheet was producing invalid docbook in some places.

11 years agoFix doc formatting
Matthias Clasen [Sun, 4 Sep 2011 19:48:37 +0000 (15:48 -0400)]
Fix doc formatting

11 years agoFix fast user switching
Matthias Clasen [Sun, 4 Sep 2011 14:24:10 +0000 (10:24 -0400)]
Fix fast user switching

libaccountsservice was trying to launch 'actflexiserver', which
does not exist. Use 'gdmflexiserver' instead, which does exist.
This was a copy-and-paste error from when libaccountsservice was
first introduced, a year ago.

11 years agopo: add new po files
Ray Strode [Wed, 17 Aug 2011 19:08:15 +0000 (15:08 -0400)]
po: add new po files

11 years agopo: pull latest translations from transifex
Ray Strode [Wed, 17 Aug 2011 18:56:24 +0000 (14:56 -0400)]
po: pull latest translations from transifex

11 years agodaemon: call reload_users after timeout on passwd/shadow changes
Ray Strode [Thu, 21 Jul 2011 20:09:13 +0000 (16:09 -0400)]
daemon: call reload_users after timeout on passwd/shadow changes

Often the two files are changed in concert, so it makes sense to
wait a bit before doing a heavy reload operation.

Suggested by Vincent.

11 years agodaemon: Monitor /etc/gdm/custom.conf for changes in autologin config
Vincent Untz [Thu, 21 Jul 2011 06:20:08 +0000 (08:20 +0200)]
daemon: Monitor /etc/gdm/custom.conf for changes in autologin config

We also emit relevant signals when loading the file.