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

       * Release 2.13.0.8:
       * NEWS: Updated.
       * configure.ac: Update to 2.13.0.8 and use EXPANDED_DATADIR instead
         of %{datadir} since that makes it work much better.
       * README.install, README, docs/C/gdm.xml:  Update docs so that the
         change from --with-configdir to --with-defaults-conf and renaming of
         default and custom config file is documented.
       * daemon/gdm-net.c, daemon/gdmconfig.c, gui/gdmsetup.c: Update comments
         to no longer mention old name of config file.  Fix gdmsetup to know
         new location of custom config file.
       * config/Makefile.am: Now if upgrading and gdm.conf and
         factory-gdm.conf are different, move the gdm.conf file to
         custom.conf instead of copy.  This is  because we don't want GDM
         to overwrite the custom.conf file every time user upgrades.  Only
         first time, then gdm.conf should go away.

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

       * acconfig.h, configure.ac, daemon/Makefile.am, daemon/gdmconfig.c,
         docs/C/gdm.xml: Change --with-configdir to --with-defaults-conf
         and make it work so that the gdm.conf and gdm.conf-custom file
         can be installed to different subdirectories.  Fixes bug
         #330905.  Patch provided by Ray Strode.

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

       * config/Xsession.in: Fix calls to zenity so they work.  Fixes
         bug #330892.
       * README, README.install, docs/C/gdm.xml: Last minute updates
         before string freeze.

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

       * gui/greeter/greeter.c, gui/greeter/greeter_action_language.[ch],
         gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_events.c,
         gui/greeter/greeter_session.c, gui/greeter/greeter_system.c:
         Fix problem with options button and F10 menu not working if the
         button is not in the theme.  This only affects buttons that can
         be in the F10 button but may not be in the theme (language,
         system, session, halt, reboot, shutdown).  Fixes bug #330343.

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

       * README, docs/C/gdm.xml: Few more updates worth adding.

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

       * gui/gdmflexiserver.c: Fix bug that was causing gdmflexiserver
         to fail.  Because we were calling gtk-init when the --command
         option was being used, and this breaks gdmflexiserver since it
         is sometimes run with the --command option when there is no
         display.
       * README, README.install: Updated with some new features and moved some
         info to docs/C/gdm.xml where the info is more useful.
       * TODO: Updated.
       * configure.ac: Fixed the mess about /usr/opensolaris/bin
       * gui/greeter/greeter_system.c: Do not put tooltips on menus.  They are
         a bad idea and their use is discouraged by the HIG because they break
         a11y.
       * docs/C/gdm.xml: Updated docs with a bunch of information from the
         README and README.install file that really belonged in the docs.

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

       A known issue with gdmdynamic is that when a display connects to
       the server it generates the gdmdynamic "ADD" and "RELEASE" commands.
       On startup, hundreds of displays could send these commands at once
       and cause the server too be flooded with sockets requests.  Hammering
       the socket like this caused me to find and fix a number of problems
       that improve socket reliability for general GDM use.  I also enhanced
       gdmdynamic so it is more sensitive to the socket being busy and no
       longer overloads it, instead sleeping and retrying if necessary.  This
       allows gdmdynamic to work if there are hundreds of displays instead of
       just a dozen or so.

       * daemon/gdm.[ch]: Added new "SERVER_BUSY" sockets command so that
         gdmdynamic can sleep before starting new slaves if the daemon is
         already busy.
       * daemon/gdm-net.[ch]: Bump up MAX_CONNECTIONS from 10 to 15.  I notice
         that this improves performance significantly when hammering the
         daemon with connections.  Added better comments for this logic and
         now debug logs when a subconnection is thrown away.  New
         gdm_connection_is_server_busy function
       * daemon/display.c: Correct DYNAMIC_REMOVE so it works and fixes bug
         #326796.  Before it wasn't really removing the displays.
       * gui/gdmdynamic.c: Quite a bit of work to make gdmdynamic avoid
         flooding the server with sockets requests.  Now it sets sockets
         retries to 1 and manages sleeping and retries itself.
       * gui/gdmconfig.c: Added gdm_config_set_comm_retries so that slaves can
         specify how many retries they want the comm logic to use.
       * gui/gdmcomm.c: Now do_command returns NULL when it gets back "",
         which happens when a subconnection was dropped by the daemon.  This
         lets the slave try the connection again.   Now error messages are
         always logged, not just when debug is turned on.  Added
         gdmcomm_did_connection_fail and gdmcomm_set_allow_sleep so
         gdmdynamic can control the behavior of how the connection works.
       * gui/gdmcommon.c, gui/gdmchooser.c, gui/gdmlogin.c, gui/greeter/greeter.c:
         Fix gdm_common_fail so it doesn't generate compile errors when building
         with GCC.  Fixes bug #330480.
       * docs/C/gdm.xml: Cleaned up section that explains sockets commands so
         that they are in alphabetical order, added info about SERVER_BUSY
         and new gdmdynamic -s and -t options.
       * config/gdm.conf: Better description of how debug works, perhaps
         I just didn't like the word "spew".

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

       * gui/gdmconfig.c: Return compiled in value if slave fails
         to get a value back from the daemon.
       * gui/gdmcomm.c:, gui/gdmconfig.c:  Use gdm_common_error
         instead of gdm_common_info so message really go to log.
       * gui/gdmsession.c: Include needed gdmcommon.h.  Missed this
         in my previous putback earlier today.

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

       * gdm-restart.in, gdm-safe-restart.in, gdm-stop.in, gdm.spec.in:
         Now use gdmflexiserver to get the PidFile instead of grepping the
         config file directly since this is a safer/better way to get
         configuration date.

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

       This patch resolves some performance issues that I noticed when
       testing GDM with the gdmdynamic command.  I notice that waiting for
       the sockets to timeout made gdmdynamic slower so now all the clients
       load all the configuration data in one quick pass and close the
       socket.  Since the gdm_config_get functions cache the data, the slaves
       will not go over the socket to get the data again unless asked to
       reread.  Bump the maximum messages over the socket from 20 to 80
       because gdmlogin pulls about 65 configuration parms over and this
       allows all data to be accessed in one connection (and gives a little
       room for growth).  Improved the way GDM slaves deal with syslog so all
       slaves use the same interfaces.  Added three missing keys to the daemon
       configuration handling code.

       * daemon/gdmconfig.c: Add three keys that were missing for background
         program support.
       * gui/gdmcomm.[ch]: Now if there is a failure connecting to the daemon,
         the slave will sleep 1 second before retry (normally retries 5
         times).  If all retries fail, it will not try sleeping on subsequent
         calls to the daemon.  This greatly improves performance when the
         daemon is flooded with slave requests.  In normal usage, this will
         likely not happen, but it is good for GDM to not fail so easily.
         Added better debug.  Added gdm_comm_close function so that slaves
         can ask to close the socket when done reading config.  Now uses
         common syslog functions.
       * daemon/gdm.h: Add better comments, rename GDM_SUP_MAX_CONNECTIONS
         to GDM_SUP_MAX_MESSAGES which is more accurate, and bump the max
         number to 80.
       * gui/gdmcommon.h, gui/gdmwm.h, gui/gdmsession.h: Added common syslog
         functions to gdmcommon.h and moved some functions that were in
         gdmcommon.h to gdmwm.h and gdmsession.h since the implementations
         were in those c-files.  Renamed functions to make naming consistant.
       * gui/gdmXnestchooser, gui/gdmchooser.c, gui/gdmcommon.c,
         gui/gdmconfig.c, gui/gdmdynamic.c, gui/gdmflexiserver.c,
         gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsession.c, gui/gdmwm.c,
         gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.c,
         gui/greeter/greeter_session.c, gui/greeter/greeter_system.c:  Slaves
         close sockets connection when done reading config.  Now slaves use
         common syslog functions.  Naming changes to reflect renaming of
         functions in gdmcommon.h/gdmwm.h/gdmsession.h.  Better debug.
       * daemon/auth.c, daemon/cookie.c, daemon/display.c, daemon/gdm.c,
         daemon/gdm-net.c, daemon/misc.c, daemon/slave.c, daemon/xdmcp.c,
         gui/gdmlanguages.c, gui/greeter/greeter_canvas_item.c,
         gui/gdmsetup.c, vicious-extensions/ve-config.c: Make spacing around
         "++" more consistant.  Add better debug in some functions

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

       * daemon/gdmconfig.c: Fix glib.h include so it compiles under LFS.
         Fixes bug #329801.

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

       * docs/C/gdm.xml: Add comment to docs that +xkb is needed as an
         Xserver argument for the keyboard gestures to work.

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

       * docs/C/gdm.xml: Change section name for "Security" to
         "security" so the generated html file has a more consistant
         name with the other html files.