summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-10-22Library: Support for groups.groups-squashMarius Vollmer15-25/+2085
2013-10-22Daemon: Support for local groups.Marius Vollmer13-38/+1586
2013-10-22Only warn about a missing username for existing users.Marius Vollmer1-11/+13
2013-10-22Don't find excluded users.Marius Vollmer1-13/+12
The returned object path for non-human users can not really be used since there is no guarantee for how long it will be valid. The next run of reload_users will unregister non-human users, and that can happen at any time.
2013-10-22Relax glib dependency by making extensions optional.Marius Vollmer2-3/+12
2013-10-15NEWS: update for releasebefore-rhel7-Patch0-rip-out-extension-interface.patchbefore-rhel70.6.35Ray Strode1-336/+9
2013-10-15Add --enable-coverage option for building with code coverageStef Walter4-2/+31
Also clean coverage files on 'make clean' https://bugs.freedesktop.org/show_bug.cgi?id=63868
2013-10-15daemon: Emit "changed" signal when account type changes.Marius Vollmer1-1/+7
We currently emit the "changed" signal when most aspects of a user change, but we neglect to do it when the account type changes. This commit fixes that. https://bugs.freedesktop.org/show_bug.cgi?id=65846
2013-10-15daemon: monitor /etc/groups for changesMarius Vollmer1-0/+5
This way we pick up changes to wheel membership https://bugs.freedesktop.org/show_bug.cgi?id=65846
2013-10-15daemon: factor out file monitor setup.Marius Vollmer1-64/+46
This deduplicates a bit of code. https://bugs.freedesktop.org/show_bug.cgi?id=65846
2013-10-08user: treat NULL shadow entry as "password handled remotely"Ray Strode1-1/+1
Right now we set the password mode of a user based on the password hash in shadow. SSSD (and other remote login facilities presumably) don't send the password hash over the wire to the client, but of course those users do have a password set. This commit changes the code to notice when there's no shadow entry for a user and treat that case conservatively (assume user has a password). Related to: https://bugzilla.gnome.org/show_bug.cgi?id=708997 https://bugs.freedesktop.org/show_bug.cgi?id=70005
2013-10-01Clean up user classification logicRyan Lortie7-131/+293
Bring back the simple login.defs-based check for if a user is human or not and enable it by default. Add a build option --enable-user-heuristics to get the old behaviour back again. Split out all human vs. system user divination into a new file, user-classify.c in order to clean up daemon.c a bit.
2013-08-12Bump the versionStef Walter1-1/+1
So that other projects can depend on recently committed changes
2013-08-08lib: don't connect to ConsoleKit if logind is runningRay Strode1-16/+22
There's no reason to, so don't bother. https://bugs.freedesktop.org/show_bug.cgi?id=67920
2013-08-08daemon: Don't leak struct UserPreviousLoginPavel Vasin1-7/+9
https://bugs.freedesktop.org/show_bug.cgi?id=67700
2013-08-08user: Really don't leak login_historyPavel Vasin1-0/+2
https://bugs.freedesktop.org/show_bug.cgi?id=67700
2013-07-17Provide a sample extension interfaceRyan Lortie2-0/+62
...and a polkit action file to go with. https://bugs.freedesktop.org/show_bug.cgi?id=63733
2013-07-17service: add support for extension interfacesRyan Lortie6-1/+458
First pass at what a patch might look like. Requires the new GDBus async property handling changes. https://bugs.freedesktop.org/show_bug.cgi?id=63733
2013-07-17User: hold on to our keyfileRyan Lortie2-6/+13
When updating a User object from keyfile, keep reference on the keyfile object passed in and modify the Daemon not to destroy it. When saving a User, instead of creating a new keyfile, reuse the one we stored on the object. We still record the properties from the User object into the keyfile in the previous way (and include a modification to clear out the 'User' group before doing this). The intention here is to allow other groups stored in the keyfile to be preserved. These other groups are likely to correspond to extension interfaces (which will be introduced in future patches). An alternative approach would have been to only preserve groups for extensions that we currently have loaded but this was abandoned as being excessively brittle since the result of a temporarily missing extension file would be the destruction of data. https://bugs.freedesktop.org/show_bug.cgi?id=63733
2013-07-01ActUserManager: handle nonexistent usersLionel Landwerlin4-0/+56
Right now if a nonexistent user is requested from the accounts service, we don't give the caller any sort of notication that the user doesn't exist. This cascades into d-bus timeouts and ultimately a broken login screen. This commit adds a new "nonexistent" user property to the user object and sets it to TRUE when a requested user fails to load. It also makes sure the user objects is-loaded property gets set. Based on a patch by Lionel Landwerlin <llandwerlin@gmail.com> https://bugs.freedesktop.org/show_bug.cgi?id=66325
2013-06-30Don't set "is-loaded" prematurely.Marius Vollmer1-1/+5
https://bugs.freedesktop.org/show_bug.cgi?id=65649
2013-06-18Add missing prototypes for act_user_*_anywhere.Marius Vollmer1-0/+2
https://bugs.freedesktop.org/show_bug.cgi?id=65160
2013-06-18Document current limitations of act_user_*_anywhere.Marius Vollmer1-0/+6
https://bugs.freedesktop.org/show_bug.cgi?id=65160
2013-06-18user: Don't leak login_historyStef Walter1-0/+3
https://bugs.freedesktop.org/show_bug.cgi?id=65753
2013-06-13lib: return gboolean from on_session_monitor_event, as required.Marius Vollmer1-1/+2
Otherwise, we randomly stop reacting to session changes when it happens to return with FALSE by chance.
2013-06-12add m4 directory back to fix autogenRay Strode1-0/+0
2013-06-12vala: drop .vapi fileRay Strode3-109/+0
It's caused various problems with distcheck, vala projects don't actually need it (they can just use gobject-introspection instead), and the Vala FAQ recommends shipping .vapi files in the consumer source, not provider source: Is having a local copy of a .vapi in my project good practice? Yes, it certainly is. There are a number of reasons why you want to do this. 1. Sometimes fixing bindings may lead to breakage in projects using such bindings. So having a local copy means that your project will not break whenever a bindings is updated system-wide. 2. If your project works with such bindings, there's no need to upgrade the bindings just for the sake of being up-to-date. It works, that's what matters. 3. It's you that decide when to upgrade the bindings, not the system. Thus it's you that decide when to break your own project in order to have more up-to-date bindings. Your project will keep compiling fine, even if system-wide bindings change.
2013-06-11configure: bump to 0.6.340.6.34Ray Strode1-1/+1
2013-06-11NEWS: update for releaseRay Strode1-0/+7
2013-06-11user: don't allow locked users to get set for automatic loginRay Strode1-0/+5
2013-06-11daemon: turn off autologin for disabled usersRay Strode3-0/+29
This is like the previous commit, but for disabled users instead of deleted users.
2013-06-11daemon: turn off autologin for deleted usersRay Strode1-0/+13
Right now it's possible to delete a user who is configured to automatically log in. Doing so causes the system not to boot. This commit turns off autologin before deleting the user. https://bugs.freedesktop.org/show_bug.cgi?id=54506
2013-06-110.6.330.6.33Matthias Clasen2-1/+14
2013-06-11Don't assume that we are part of a session or have a seatMarius Vollmer1-7/+9
In particular, don't assume that there is an active session on seat0 and that it is us.
2013-06-05Advance even when continuing.Marius Vollmer1-5/+4
https://bugs.freedesktop.org/show_bug.cgi?id=65172
2013-06-05Don't completely ignore non-graphical sessions.Marius Vollmer3-48/+163
Instead, offer act_user_is_logged_in_anywhere and act_user_get_num_sessions_anywhere to inquire about them. https://bugs.freedesktop.org/show_bug.cgi?id=65160
2013-06-05Really remove obsolete sessions from the records.Marius Vollmer1-0/+1
https://bugs.freedesktop.org/show_bug.cgi?id=65159
2013-06-05Emit "changed" signal when setting information from wtmp.Marius Vollmer3-1/+10
https://bugs.freedesktop.org/show_bug.cgi?id=63159
2013-06-05daemon: Add wtmp file monitorOndrej Holy1-1/+25
To reload users history. https://bugzilla.gnome.org/show_bug.cgi?id=697040 https://bugs.freedesktop.org/show_bug.cgi?id=63159
2013-06-05daemon: Check for monitor error immediatelyOndrej Holy1-15/+16
https://bugs.freedesktop.org/show_bug.cgi?id=63159
2013-06-05daemon: Rename on_passwd_monitor_changed to on_users_monitor_changedOndrej Holy1-7/+7
The function isn't called only for passwd monitor, but for all of them. https://bugs.freedesktop.org/show_bug.cgi?id=63159
2013-06-03lib: don't ever consider non-user sessions when running in user sessionRay Strode1-0/+17
Right now if a greeter session happens to start in the background, then libaccountservice will suddenly recognize gdm as a valid user (since we automatically recognize users for sessions that come in). This commit makes that detection logic only consider user sessions, not greeter sessions. https://bugzilla.gnome.org/show_bug.cgi?id=701514
2013-05-20user: never treat cached users as system accountsRay Strode3-0/+18
Right now the check for "is system user" is less than solid. It depends on checking things like whether or not a password is set, and whether or not a shell is set. Unfortunately, sometimes a password is not set for a non-system account, and sometimes a shell is set for a system account, so the heuristics aren't perfect. In one particular case, we currently get things wrong: right after a user is created before they have a password. This commit attempts to shore up the heuristics by never treating cached users as system users. https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20daemon:Trust SystemAccount key from keyfile over heuristicsRay Strode1-0/+10
We use some less than perfect heuristics for determining whether or not a user is a "system account". This commit defers to what's in the key file when the key file explicitly says. https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20daemon: add gnome special users to exclusion listRay Strode1-0/+2
https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20daemon: don't exclude system usersRay Strode1-5/+0
This client already handles filtering system users from the cached user list, so there's no point in doing it daemon side. Furthermore, it's harmful since then clients never get informed when a user account type changes from a system account to a user account. Let the client do the filtering. https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20lib: notice when account changes from system acount to normal accountRay Strode1-0/+38
We currently don't show system users (e.g. 'mysql') in the control-center user list. Occasionally a system user gets promoted to a normal user account. When that happens, we fail to notice. This commit fixes that. https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20user: write whether account is system account in key fileRay Strode1-0/+2
This commit changes account service to write whether or not the account is a system account in the key file about the user. https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20daemon: make cache_user do a full saveRay Strode3-11/+9
The cache_user function currently just does: comment = g_strdup_printf ("# Cached file for %s\n\n", user_name); g_file_set_contents (filename, comment, -1, &error); This commit changes it to write out a full key file. https://bugs.freedesktop.org/show_bug.cgi?id=64769
2013-05-20daemon: cache users explicitly created via AccountsServiceRay Strode1-20/+31
AccountsService can be used for creating user accounts, but shouldn't be used for creating system accounts. Therefore, all accounts created with AccountsService can safely be considered user accounts. This commit changes the daemon to immediately, implicitly cache all user accounts created via the accounts service. This ensures they'll never get errnoneously tagged as system accounts. https://bugs.freedesktop.org/show_bug.cgi?id=64769