2006-01-02 Brian Cameron * Release 2.13.0.4: * NEWS, configure.ac: Updated * config/Makefile.am: Corrected make distcheck issue. * docs/C/gdm.xml: Updated version/date. 2005-12-24 Brian Cameron * gui/greeter/greeter.c: Now set greeter_probably_login_prompt to FALSE if we get a Password request as a GDM_NOECHO message. This makes GDM smarter about when it is at the Username prompt and fixes bug #320738, which was causing GDM to just login as the timed user when the password was requested - which it should not do. It should only log in immediately as the timed user if ENTER is hit from the login screen without actually typing in a username. * gui/gdmlogin.c: Removed some syslog debug messages I accidently left there. * docs/C/gdm.xml: Now mention that if the user hits just ENTER when TimedLoginEnable is on, that GDM will just login immediately as the timed user. This is how GDM has always behaved, just was not documented. * gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Removed syslog.h include since it isn't used in these files. * daemon/server.c: Fixed comments. * daemon/slave.c: Fixed comments. 2005-12-24 Brian Cameron Happy holidays. Some bug fixes. * daemon/gdm.h, daemon/gdmconfig.c, daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter_item_timed.c: Fix so that timed/automatic enable is checked and automatic/timed login is only turned on if they are enabled. Fix so greeters restart if timed login is changed in gdmsetup. Fixes bug #324337. * gui/gdmcommon.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item.c, gui/greeter/greeter_parser.c: Now gdmlogin and gdmcommon use the same character sequences with Welcome/RemoteWelcome messages. Fixes bug #322711. * docs/C/gdm.xml: Document how character sequences work with text labels and Welcome/RemoteWelcome messages. * gui/gdmcommon.[ch], gui/gdmchooser.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_geometry.c: Rename functions so all common functions have prefix gdm_common. 2005-12-22 Brian Cameron * daemon/auth.c, daemon/display.c, daemon/errorgui.c, daemon/filecheck.c, daemon/fstype.c, daemon/gdm-net.c, daemon/gdm.[ch], daemon/gdmconfig.c, daemon/misc.c, daemon/server.c, daemon/slave.c, daemon/verify-pam.c, daemon/xdmcp.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcommon.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/gdmuser.c, utils/gdmprefetch.c, vicious-extensions/ve-config.c, vicious-extensions/ve-gnome.c, vicious-extensions/ve-misc.[ch], vicious-extensions/ve-nongnome.c: Now use g_ stdio function like g_chmod instead of chmod. Fixes bug #310299. 2005-12-21 Brian Cameron * daemon/gdm.[ch], daemon/gdmconfig.c, daemon/server.c: Add new priority configuration option for setting xserver priority. Patch provided by Philip Prindeville (philipp@redfish-solutions.com). Fixes bug #323346. * config/gdm.conf.in, docs/C/gdm.xml: Updated docs with information about the new priority [server-foo] configuration option. * configure.ac, gdm.spec.in: Fix gtk dependency so 2.6.0 is listed as the requirement. * gui/Makefile.am: Add X_LIBS when building GUI programs. * gui/misc.c: Add needed stdio.h include. 2005-12-21 Brian Cameron Patch by Padraig O'Briain , modified by myself so it also works with gdmlogin and not just gdmgreeter. Also I integrated his gdmprefetch.c utility into the configure/Makefile system with the --with-prefetch option. * configure.ac: Now support --with-prefetch * daemon/gdm.h, daemon/gdmconfig.c, config/gdm.conf.in: Support new PostDisplayProgram key. * gui/gdmcommon.[ch], gui/gdmlogin.c, gui/greeter/greeter.c: Now support new PostDisplayProgram key. * docs/C/gdm.xml: Add docs for new key. * utils/Makefile.am, utils/gdmprefetch.c: Add new gdmprefetch utility. * config/Makefile.am: Now install gdm.conf file with 444 permissions and always write over the installed gdm.conf after first moving aside the user's gdm.conf file if necessary. 2005-12-21 Brian Cameron After two months, the redesign of GDM's internal configuration is finally reaching a close. Now GDM users are instructed to not modify the gdm.conf file directly and instead put any cutomizations in a separate file called gdm.conf-custom (read the comments in both files). gdmsetup now modifies the gdm.conf-custom file. The GDM daemon will now use values in gdm.conf-custom first and the default values in gdm.conf if no value is defined in gdm.conf-custom. Benefits: 1) Now GDM truly supports system-wide and machine-specific config. System wide configuration is when the sysadmin wants to share the main gdm.conf file across multiple systems on a shared file system (possible by building GDM with the --with-configdir option or by running GDM with the --config option). Specific systems can override defaults by modifying the gdm.conf-custom file. 2) Distros can stomp the main gdm.conf file on upgrade knowing that any user changes are stored in a separate file. For best backwards compatibility, distros will need to move the gdm.conf file to gdm.conf-custom if the gdm.conf file exists on the system but the gdm.conf-custom file does not. 3) Making this work required a lot of cleanup in the way GDM manages its configuration files. For example, now config options are managed via access functions, and do not depend on non-static globals being shared across files. The GET_CONFIG and UPDATE_CONFIG commands work better and do not require special tweaking when adding new config options. Vicious-extensions is now only included in a few files that need to know how to access the config files directly. This makes GDM support a popular feature in CDE which works similarly. (config files in /etc/dt/config take precidence over the ones in /usr/dt/config). * daemon/gdmconfig.[ch]: Now supports reading configuration values (including "servers" and "server-foo" sections from gdm.conf-custom and then from gdm.conf if not found in the custom file. Now store translated strings in a separate hash since this improves performance. Fix GET_SERVER_DETAILS so it works better and update config can now update server-foo sections via the "xservers/PARMAETERS" key. * gui/gdmsetup.c: Now only writes to the gdm.conf-custom file and is smart enough to just delete the key if the value will be the same as in the gdm.conf file. Fixed some core dumping issues caused by my change to make gdmsetup use the new gdmconfig functions for getting configuration data from the server. This work cleaned up the code quite a bit. Removed the "--config" option from gdmsetup since this change makes it edit the configuration of the running GDM daemon instead of a program that edits a particular configuration file. * daemon/gdm.h, doc/C/gdm.xml: Updated docs with info about how configuration works nwo. Now sockets protocol info is the same in both documents. * daemon/gdm.c: Fix GET_SERVER_DETAILS to support "ID" and some cleanup. * gui/Makefile.am, daemon/Makefile.am: Support --with-configdir option which got broken. * config/gdm.conf.in: Updated comments to mention that this file is not to be edited. Cleaned up the file so it is more readible. * config/Makefile.am: Install gdm.conf-custom and move gdm.conf to gdm.conf-custom if it is modified and gdm.conf-custom is not already installed. If it is changed and gdm.conf-custom already exists, move it to gdm.conf.org. * gui/gdmchooser.c, gui/gdmflexiserver.c: Remove unused getting of the configuration file. * gui/gdmconfig.[ch]: Add function to tell config to never_cache, which is needed by gdmsetup. * config/gdm.conf-custom: Added template file. 2005-12-13 Brian Cameron * gui/gdmsetup.c: Fix bug I introduced into gdmsetup when I made it use the new gdmconfig functions. Still need to use ve_config functions when accessing the server-foo sections. Patch provided by Jani Monoses on gdm-list@gnome.org. 2005-12-13 Brian Cameron * gui/Makefile.am: Fix Makefile so that libviciousui.a is used instead of libviciousui-gnome.a. This allows all GDM GUI programs to not require libgnome anymore. Only gdmsetup still requires libgnomeui. 2005-12-13 Brian Cameron * daemon/gdm.c, daemon/slave.c, daemon/verify-pam.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmsetup.glade, gui/greeter/greeter.c: Now consistantly use "GDM" in strings instead of "gdm". Fixes bug #323221. Thanks to Adam Weinberger for pointing this out. 2005-12-12 Brian Cameron * gui/gdmsetup.glade: Correct two typos. "Backgroud" to "Background" and "WIndow" to "Window". Thanks to Asmund Skjaeveland for pointing this out on gdm-list@gnome.org. 2005-12-12 Brian Cameron * daemon/gdm.[ch], daemongdmconfig.[ch]: Add GET_SERVER_LIST and GET_SERVER_DETAILS sockets functions so that gdmflexiserver and gdmconfig do not need to access the config file for these, instead using the sockets protocol. * docs/C/gdm.xml: Add docs for new sockets commands. * configure.ac, gui/Makefile.am: Remove some libgnome/libgnomeui dependencies. * gui/gdmcomm.c: Now close sockets connection after 20 messages since the daemon gets mad if you send more. * gui/gdmconfig.[ch]: New client functions for getting server information via sockets. * gui/gdmflexiserver.c: Remove libgnome dependencies and now use new config mechanism for getting server info. * gui/gdmsetup.c: Now use new config mechanism for reading from config file and remove libgnome dependencies. Cleaned up the code a bit. Now we don't call ve_config_get all over the place, which seems to speed up the start time.