2006-01-02  Brian Cameron  <brian.cameron@sun.com>

	* 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  <brian.cameron@sun.com>

	* 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  <brian.cameron@sun.com>

	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  <brian.cameron@sun.com>

	* 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  <brian.cameron@sun.com>

	* 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  <brian.cameron@sun.com>

	Patch by Padraig O'Briain <Padraig.OBriain@sun.com>, 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  <brian.cameron@sun.com>

	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  <brian.cameron@sun.com>

	* 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  <brian.cameron@sun.com>

	* 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  <brian.cameron@sun.com>

	* 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
	  <adamw@gnome.org> for pointing this out.

2005-12-12  Brian Cameron  <brian.cameron@sun.com>

	* gui/gdmsetup.glade: Correct two typos.  "Backgroud" to "Background"
	  and "WIndow" to "Window".  Thanks to Asmund Skjaeveland
	  <aasmunds@fys.uio.no> for pointing this out on gdm-list@gnome.org.

2005-12-12  Brian Cameron  <brian.cameron@sun.com>

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