Re: FUSA vs. GDM

On Wed, 2006-03-01 at 12:10 -0800, Brian Cameron wrote:
> James:
> >> Simply copying the user's /etc/gdm/gdm.conf file to /etc/gdm/custom.conf
> >> will workaround the problem until I correct it in the next release of
> >> GDM.
> >>
> >> Again, apologies for the trouble.
> > 
> > The problem is that everything FUSA currently reads from the config file
> > (exceptions, min/max uid, global face dir, max user filesize, and allow
> > root) are no longer reliably stored in one file anymore. The config file
> > location is already compile-time configurable, but as you mentioned, the
> > *intended* use is to keep everything possible in default.conf, with an
> > almost-blank custom.conf that overrides a few values.
> > 
> > I probably overreacted by suggesting that FUSA get pulled, but if
> > there's a pretty obvious bug with recent GDMs (namely a totally
> > uncontrollable user list), then I'm willing to hold off until 2.16. That
> > said, I'll try to get the fix done by the end of this week and see what
> > the release team thinks.
> I think I understand what your problem is, now.  Is FUSA trying to
> read the GDM configuration files directly?  If so, I would very much
> recommond *not* doing this.  It is likely that the configuration
> format in GDM will get futher complicated in the future.  There is a
> GDM bug where people are asking to be able to set [server-foo]
> specific key/values that would override the default and custom values.
> Not really sure how this would work, but someone may provide a patch
> for that someday and make it even harder to parse.

Yes, it is reading the configuration file directly, from C, via glib's
GKeyFile API (generalized successor to the gnome_config code, which in
turn was the starting point for the ve_config API) for ini-style
configs. The location of the file is defined compile-time. The only
exec() calls in the applet are for the external apps in the right-click
menu (gdmsetup, gnome-about-me, and users-admin).

FUSA also monitors the config file and /etc/passwd for changes to try
and keep the menu up-to-date with the GDM configuration and available
users (editing either should result in instant-apply across all users'

In other words, FUSA is all C, and nestled quite closely with GDM's
face-browser config. This is why splitting the config files broke things
in a bad way.

It's also why I was temporarily insane after being told "it doesn't
work" the day after entering code freeze. My own fault, but it's a
pretty obvious regression, pretty late in the game :-).

> The better way to get config data is to call the following command
> (using the gui/Include key as an example):
>     gdmflexiserver --command="GET_CONFIG gui/Include"

Yes, and:

1.) It's an even bigger waste to exec gdmflexiserver than it is to just
read the file(s) myself, particularly when
2.) GET_CONFIG didn't used to work. I know, I tried to use it at first,
but gave up because
3.) The socket doesn't appear to provide change-notification. Not the
end of the world (in that only an admin can change the settings), but
still worse than monitoring a config file.

> Does this make your problem easier to fix?  This is a much more
> stable mechanism for getting config data from GDM and should be
> easier for you to fix than writing a bunch of code to parse the
> config files.
> Brian

Updating the backend to just talk to the daemon was what I was going to
concentrate on after 2.14, when I could freely do large changes like
that, because breaking things temporarily, and requiring GDM
would be less of an issue during the unstable 2.15 cycle.

For now I'll just try to read the default.conf location from the socket
parse it, and monitor & merge custom.conf/gdm.conf as it is now. If
GET_CONFIG_FILE comes back ERROR, I'll just assume everything is in
custom/gdm.conf. It sucks, but it'll work with newer GDMs, assuming
these changes are the only one's I'll have to deal with for the 2.14

Which leads me to the Big Question: Is it reasonable to assume that the
current config scheme will remain stable through the GDM 2.14 series?


James Cape

"The greatest kick is the sense of being in the vortex of social
                                        -- Harvey Wesserman

Attachment: signature.asc
Description: This is a digitally signed message part

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]