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'
desktops).

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 2.13.0.8+
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
series.

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?

-- 
Peace,

James Cape
http://ignore-your.tv/
http://blog.ignore-your.tv/

"The greatest kick is the sense of being in the vortex of social
 change."
                                        -- 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]