GNOME Bugzilla – Bug 686415
Use realmd from GoaKerberosProvider
Last modified: 2012-10-22 04:16:54 UTC
There doesn't seem to be a need to expose the concept of realms from the org.gnome.Identity interfaces. realmd shouldn't be used long term anyway. It should be used in a user interface or something like that, and be allowed to go away. If called from a long running process then the o.f.r.Service.Release() method should be called so it doesn't wait around for the caller to quit. I'll attach a rough untested patch which uses realmd from GoaKerberosProvider directly and loads up the realms into the user interface that way. This removes an obscene amount of code from gnome-online-accounts.
Created attachment 226778 [details] [review] Use realmd from GoaKerberosProvider There's no real need to use it from the identity service.
Review of attachment 226778 [details] [review]: commit message is a little unclear to casual readers I think: I think something like this is a little better. kerberos: Use realmd directly GoaKerberosProvider currently gets its realm list from gnome-online-accounts, who gets it from realmd. There's no advantage to having the middle man, so it makes sense to avoid doing so. This commit changes GoaKerberosProvider to talk to realmd directly. I think the goaidentityservice stuff belongs as separate commit. ::: src/goabackend/goakerberosprovider.c @@ +906,3 @@ &iter, + 0, goa_realm_kerberos_get_domain_name (kerberos), + 1, goa_realm_kerberos_get_realm_name (kerberos), This is wrong. the list store only has one column now. @@ +1511,2 @@ if (request.interface_added_id != 0) g_signal_handler_disconnect (G_OBJECT (self->object_manager), request.interface_added_id); This needs to be request.realm_manager not self->object_manager now ::: src/goaidentity/goaidentityservice.c @@ -615,3 @@ - -static gboolean -foo (GSimpleAsyncResult *operation_result) holy crap, i suck.
see bug 686416 for the goaidentityservice stuff broken out. I put the patch there since it was really clean up folowing this stuff and that stuff landing.