Coding season will start next week, but since I already started coding, I thought I could give an update it too.
If you look at the project schedule, you'll see little mention of gdm - all work is inside gnome-shell. But one of the primary advertised features is so called pam multi-stack, that is, having multiple authentication methods (such as smartcard, fingerprint and password) at the same time, and this would reuse the same code in gdm.
gdm's code base is quite old and very intricated, with multiple components splitted around in different processes talking via private DBus (ugh!), that's why in the last weeks I've been trying to reorganize it, dropping the dependency on libdbus and using the awesome gdbus-codegen.
You can follow the work on this branch: https://github.com/gcampax/gdm/tree/gdbus-port . Don't clone it though: it's my private repository and I often push non-fast-forward updates. When the branch is ready for review, I'll push a wip/gdbus-port on git.gnome.org.
Next step will be exposing an interface on the system bus to get a private connection with the slave (the component supervising sessions and greeters). The details of this are not finalized yet, but essentially it would be a org.gnome.DisplayManager.Display.GetSlaveConnection() returning a bus address (or a bus guuid + open socket fd?). Details at https://mail.gnome.org/archives/gdm-list/2012-April/msg00005.html and following.
Then it will be the hard part - testing this brand new gdm. I had high hopes in ostree, but it seems it's not quite there yet (mail from its author), so I'll probably end up building an rpm and testing in a Fedora 18 VM - it's going to be a lot of fun!
So, it seems my plan is settled for the near future :)
Nessun commento:
Posta un commento