2006-01-02  Brian Cameron  <[email protected]>

       * 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  <[email protected]>

       * 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  <[email protected]>

       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  <[email protected]>

       * 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  <[email protected]>

       * daemon/gdm.[ch], daemon/gdmconfig.c, daemon/server.c:  Add new
         priority configuration option for setting xserver priority.
         Patch provided by Philip Prindeville ([email protected]).
         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  <[email protected]>

       Patch by Padraig O'Briain <[email protected]>, 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  <[email protected]>

       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  <[email protected]>

       * 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 [email protected].

2005-12-13  Brian Cameron  <[email protected]>

       * 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  <[email protected]>

       * 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
         <[email protected]> for pointing this out.

2005-12-12  Brian Cameron  <[email protected]>

       * gui/gdmsetup.glade: Correct two typos.  "Backgroud" to "Background"
         and "WIndow" to "Window".  Thanks to Asmund Skjaeveland
         <[email protected]> for pointing this out on [email protected].

2005-12-12  Brian Cameron  <[email protected]>

       * 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.