After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 610179 - GDM patch for accounts dialogue
GDM patch for accounts dialogue
Status: RESOLVED FIXED
Product: gdm
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: GDM maintainers
GDM maintainers
Depends on: 620908
Blocks:
 
 
Reported: 2010-02-16 17:57 UTC by Bastien Nocera
Modified: 2010-06-15 21:22 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch from mclasen (126.70 KB, patch)
2010-02-16 17:57 UTC, Bastien Nocera
none Details | Review
Use accounts service in the simple greeter (128.04 KB, patch)
2010-02-16 19:00 UTC, Bastien Nocera
none Details | Review
Another iteration of the patch (109.96 KB, patch)
2010-02-23 04:24 UTC, Ray Strode [halfline]
none Details | Review
Churn, churn (106.86 KB, patch)
2010-02-23 05:52 UTC, Ray Strode [halfline]
none Details | Review
chugachugachuga (111.31 KB, patch)
2010-03-01 22:52 UTC, Ray Strode [halfline]
none Details | Review
Use accounts service in the simple greeter (110.07 KB, patch)
2010-03-03 22:42 UTC, Ray Strode [halfline]
none Details | Review
change split up (103.18 KB, patch)
2010-03-16 07:21 UTC, Ray Strode [halfline]
none Details | Review
slightly updated version (103.16 KB, patch)
2010-05-12 15:21 UTC, Ray Strode [halfline]
none Details | Review
Add new gdm_user_is_logged_in method (2.84 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Move get_primary_session_id to gdm-user.h (4.95 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Don't track manager from user object (3.78 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Drop user properties in favor of a "changed" signal (11.50 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
drop sessions_changed class member (1.36 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Drop get_sessions (1.58 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Drop get_shell and get_home_directory (3.33 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
drop loading-users signal (2.44 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Drop "user-login-frequency-changed" signal in favor of "changed" (8.80 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Rename users hashtable to user_by_name (5.79 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
move local user monitoring code to its own function (5.80 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
rearrange gdm_user_collate (1.64 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Get dbus connection outside of get_seat_proxy (2.46 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Rename on_proxy_destroy to on_seat_proxy_destroy (1.26 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Drop unused defines (836 bytes, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
rename update to update_from_pwent (3.45 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Get users from account service, fallback to old way (31.55 KB, patch)
2010-06-08 07:19 UTC, William Jon McCann
none Details | Review
Don't crash when adding multiple user switchers (1.62 KB, patch)
2010-06-08 07:20 UTC, William Jon McCann
none Details | Review
Add new gdm_user_is_logged_in method (2.84 KB, patch)
2010-06-09 01:06 UTC, William Jon McCann
none Details | Review
Move get_primary_session_id to gdm-user.h (4.95 KB, patch)
2010-06-09 01:06 UTC, William Jon McCann
none Details | Review
Don't track manager from user object (3.78 KB, patch)
2010-06-09 01:06 UTC, William Jon McCann
none Details | Review
Drop user properties in favor of a "changed" signal (11.79 KB, patch)
2010-06-09 01:06 UTC, William Jon McCann
none Details | Review
drop sessions_changed class member (1.36 KB, patch)
2010-06-09 01:06 UTC, William Jon McCann
none Details | Review
Drop get_sessions (1.58 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Drop get_shell and get_home_directory (3.33 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
drop loading-users signal (2.44 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Drop "user-login-frequency-changed" signal in favor of "changed" (8.80 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Rename users hashtable to user_by_name (5.79 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
move local user monitoring code to its own function (5.80 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
rearrange gdm_user_collate (1.64 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Get dbus connection outside of get_seat_proxy (2.46 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Rename on_proxy_destroy to on_seat_proxy_destroy (1.26 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Drop unused defines (836 bytes, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
rename update to update_from_pwent (3.45 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Get users from account service, fallback to old way (32.42 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Don't crash when adding multiple user switchers (1.62 KB, patch)
2010-06-09 01:07 UTC, William Jon McCann
none Details | Review
Get users from account service, fallback to old way (35.58 KB, patch)
2010-06-11 00:28 UTC, William Jon McCann
none Details | Review

Description Bastien Nocera 2010-02-16 17:57:35 UTC
Created attachment 153947 [details] [review]
patch from mclasen

GDM patch to enable the user accounts dialogue to work.
Comment 1 Bastien Nocera 2010-02-16 19:00:55 UTC
Created attachment 153950 [details] [review]
Use accounts service in the simple greeter

Rebased from 2.28.2 to master by Bastien Nocera <hadess@hadess.net>
Comment 2 Ray Strode [halfline] 2010-02-23 04:24:01 UTC
Created attachment 154473 [details] [review]
Another iteration of the patch

I moved around functions and dropped some spurious changes.

This is just to make it a little easier to review and update.
Comment 3 Ray Strode [halfline] 2010-02-23 05:52:19 UTC
Created attachment 154475 [details] [review]
Churn, churn

This iteration makes the user switch applet compile and makes user switching work again.

Next up is to hook back up include/exclude lists (arguably they should be done on the accounts service side, and they can, but we might as well keep the gdm config options working) and add some fallback behavior for when org.freedesktop.Accounts isn't available.  We can drop the fallbacks once accountsservice has gained more adoption.
Comment 4 Ray Strode [halfline] 2010-03-01 22:52:46 UTC
Created attachment 154986 [details] [review]
chugachugachuga

This adds back include/exclude lists and starts to add back the bits needed to handle if the service isn't available, and does more small changes to make the patch more readable.

Next up will be fixing icons in the no accountsservice case, and also breaking this patch up into logically separate incremental chunks.
Comment 5 Ray Strode [halfline] 2010-03-03 22:42:06 UTC
Created attachment 155170 [details] [review]
Use accounts service in the simple greeter

Rebased from 2.28.2 to master by Bastien Nocera <hadess@hadess.net>
Comment 6 Ray Strode [halfline] 2010-03-03 22:43:32 UTC
(In reply to comment #5)
> Created an attachment (id=155170) [details] [review]
> Use accounts service in the simple greeter
> 
> Rebased from 2.28.2 to master by Bastien Nocera <hadess@hadess.net>

This fixes icons in the no service case and few other miscellaneous issues.

Next up will be breaking the patch up into logical sequential commits.
Comment 7 Ray Strode [halfline] 2010-03-16 07:21:26 UTC
Created attachment 156248 [details] [review]
change split up

This patch cleans things up further, and also splits the changes up into 21 commits.

I need to do some testing to make sure it still works.  Also, each commit needs a more thoughtful commit message.
Comment 8 Ray Strode [halfline] 2010-05-12 15:21:06 UTC
Created attachment 160908 [details] [review]
slightly updated version

This is a slightly updated version.  It fixes some bugs that were found in fedora shortly after landing attachment 156248 [details] [review] there.
Comment 9 William Jon McCann 2010-06-08 07:15:49 UTC
I'm rebasing these patches on top of the ones in bug #620908.
Comment 10 William Jon McCann 2010-06-08 07:19:11 UTC
Created attachment 163009 [details] [review]
Add new gdm_user_is_logged_in method

Before we were doing

if (gdm_user_get_num_sessions > 0)

all over the place.  This is slightly
more clear.
Comment 11 William Jon McCann 2010-06-08 07:19:14 UTC
Created attachment 163010 [details] [review]
Move get_primary_session_id to gdm-user.h

It makes more sense there, and this will allow
us to drop get_sessions eventually.
Comment 12 William Jon McCann 2010-06-08 07:19:16 UTC
Created attachment 163011 [details] [review]
Don't track manager from user object

We don't need it, and it's a bit backward anyway.
Comment 13 William Jon McCann 2010-06-08 07:19:20 UTC
Created attachment 163012 [details] [review]
Drop user properties in favor of a "changed" signal

This is less specific, but good enough, and will make
changing out the backend easier.
Comment 14 William Jon McCann 2010-06-08 07:19:23 UTC
Created attachment 163013 [details] [review]
drop sessions_changed class member

We're never going to have a default handler, we aren't
going to have subclasses that need to chain up, so we don't
need the vfunc.
Comment 15 William Jon McCann 2010-06-08 07:19:25 UTC
Created attachment 163014 [details] [review]
Drop get_sessions

We don't need it now.
Comment 16 William Jon McCann 2010-06-08 07:19:28 UTC
Created attachment 163015 [details] [review]
Drop get_shell and get_home_directory

They aren't used, so let's cull them.
Comment 17 William Jon McCann 2010-06-08 07:19:31 UTC
Created attachment 163016 [details] [review]
drop loading-users signal

No one listens for it, so there's no point in having it.
Comment 18 William Jon McCann 2010-06-08 07:19:34 UTC
Created attachment 163017 [details] [review]
Drop "user-login-frequency-changed" signal in favor of "changed"

It's less specific and will let us handle the other properties changes
at the same time.
Comment 19 William Jon McCann 2010-06-08 07:19:36 UTC
Created attachment 163018 [details] [review]
Rename users hashtable to user_by_name

This will lend us the flexibility to index
users by other criteria later.
Comment 20 William Jon McCann 2010-06-08 07:19:39 UTC
Created attachment 163019 [details] [review]
move local user monitoring code to its own function

It was open coded in _init before.
Comment 21 William Jon McCann 2010-06-08 07:19:42 UTC
Created attachment 163020 [details] [review]
rearrange gdm_user_collate

This way we don't make unnecessary assignments
Comment 22 William Jon McCann 2010-06-08 07:19:45 UTC
Created attachment 163021 [details] [review]
Get dbus connection outside of get_seat_proxy

While having a connection is a prerequisite for get_seat_proxy,
it could potentially be useful for other purposes, so move it
out.
Comment 23 William Jon McCann 2010-06-08 07:19:48 UTC
Created attachment 163022 [details] [review]
Rename on_proxy_destroy to on_seat_proxy_destroy
Comment 24 William Jon McCann 2010-06-08 07:19:51 UTC
Created attachment 163023 [details] [review]
Drop unused defines
Comment 25 William Jon McCann 2010-06-08 07:19:54 UTC
Created attachment 163024 [details] [review]
rename update to update_from_pwent

it's less ambiguous
Comment 26 William Jon McCann 2010-06-08 07:19:57 UTC
Created attachment 163025 [details] [review]
Get users from account service, fallback to old way
Comment 27 William Jon McCann 2010-06-08 07:20:00 UTC
Created attachment 163026 [details] [review]
Don't crash when adding multiple user switchers

Before we were blowing an assertion because settings client was
getting initialized twice.
Comment 28 William Jon McCann 2010-06-09 01:06:44 UTC
Created attachment 163131 [details] [review]
Add new gdm_user_is_logged_in method

Before we were doing

if (gdm_user_get_num_sessions > 0)

all over the place.  This is slightly
more clear.
Comment 29 William Jon McCann 2010-06-09 01:06:47 UTC
Created attachment 163132 [details] [review]
Move get_primary_session_id to gdm-user.h

It makes more sense there, and this will allow
us to drop get_sessions eventually.
Comment 30 William Jon McCann 2010-06-09 01:06:49 UTC
Created attachment 163133 [details] [review]
Don't track manager from user object

We don't need it, and it's a bit backward anyway.
Comment 31 William Jon McCann 2010-06-09 01:06:53 UTC
Created attachment 163134 [details] [review]
Drop user properties in favor of a "changed" signal

This is less specific, but good enough, and will make
changing out the backend easier.
Comment 32 William Jon McCann 2010-06-09 01:06:56 UTC
Created attachment 163135 [details] [review]
drop sessions_changed class member

We're never going to have a default handler, we aren't
going to have subclasses that need to chain up, so we don't
need the vfunc.
Comment 33 William Jon McCann 2010-06-09 01:07:00 UTC
Created attachment 163136 [details] [review]
Drop get_sessions

We don't need it now.
Comment 34 William Jon McCann 2010-06-09 01:07:03 UTC
Created attachment 163137 [details] [review]
Drop get_shell and get_home_directory

They aren't used, so let's cull them.
Comment 35 William Jon McCann 2010-06-09 01:07:06 UTC
Created attachment 163138 [details] [review]
drop loading-users signal

No one listens for it, so there's no point in having it.
Comment 36 William Jon McCann 2010-06-09 01:07:09 UTC
Created attachment 163139 [details] [review]
Drop "user-login-frequency-changed" signal in favor of "changed"

It's less specific and will let us handle the other properties changes
at the same time.
Comment 37 William Jon McCann 2010-06-09 01:07:11 UTC
Created attachment 163140 [details] [review]
Rename users hashtable to user_by_name

This will lend us the flexibility to index
users by other criteria later.
Comment 38 William Jon McCann 2010-06-09 01:07:14 UTC
Created attachment 163141 [details] [review]
move local user monitoring code to its own function

It was open coded in _init before.
Comment 39 William Jon McCann 2010-06-09 01:07:17 UTC
Created attachment 163142 [details] [review]
rearrange gdm_user_collate

This way we don't make unnecessary assignments
Comment 40 William Jon McCann 2010-06-09 01:07:20 UTC
Created attachment 163143 [details] [review]
Get dbus connection outside of get_seat_proxy

While having a connection is a prerequisite for get_seat_proxy,
it could potentially be useful for other purposes, so move it
out.
Comment 41 William Jon McCann 2010-06-09 01:07:23 UTC
Created attachment 163144 [details] [review]
Rename on_proxy_destroy to on_seat_proxy_destroy
Comment 42 William Jon McCann 2010-06-09 01:07:26 UTC
Created attachment 163145 [details] [review]
Drop unused defines
Comment 43 William Jon McCann 2010-06-09 01:07:30 UTC
Created attachment 163146 [details] [review]
rename update to update_from_pwent

it's less ambiguous
Comment 44 William Jon McCann 2010-06-09 01:07:32 UTC
Created attachment 163147 [details] [review]
Get users from account service, fallback to old way
Comment 45 William Jon McCann 2010-06-09 01:07:35 UTC
Created attachment 163148 [details] [review]
Don't crash when adding multiple user switchers

Before we were blowing an assertion because settings client was
getting initialized twice.
Comment 46 William Jon McCann 2010-06-11 00:28:42 UTC
Created attachment 163354 [details] [review]
Get users from account service, fallback to old way
Comment 47 William Jon McCann 2010-06-11 00:29:26 UTC
Committed the rest and rebased this on master.