2008-05-12 Brian Cameron * Release 2.20.6: * configure.ac: Updated to new release version * NEWS: Updated. 2008-05-09 Brian Cameron * daemon/gdm.c: Fix crash on logout caused by trying to read configuration values in the mainloop_sig_callback function. Redesigned so we only read configuration values when it is appropriate (when dealing with SHUTDOWN, REBOOT, etc.). Fixes another issue raised in bug #517526. 2008-05-03 Brian Cameron * daemon/gdm-xdmcp-manager.c: Move reading of configuration from gdm_xdmcp_manager_init to gdm_xdmcp_manager_start Otherwise the configuration values get over-ridden by the deafult values set via properties. Fixes bug #515148. 2008-05-02 Brian Cameron * daemon/gdm-daemon-config.c: A better fix for the problem. While investigating the crashing problem on exit, I noticed that gdm_daemon_config_update_key was similarly crashing when calling gdm_config_load and freeing the daemon_config global. This crash would only happen occasionally, but I was able to recreate it a few times. This indicates that this function needs to be thread-safe, since if the deamon recieves multiple UPDATE_KEY requests quickly, two requests could be processed at the same time. This change fixes the code so it doesn't reload the configuration, but instead loads it into a temporary variable, and then updates just the key requested. Thus avoiding the freeing of the global and this should fix the crashing. This is more sensible anyway, because some places in the code resets configuration values to different values (e.g. resetting CONSOLE_NOTIFY to false in gdm_config_parse if no displays were defined in the configuration), so we lose such values if we reload the entire configuration file. It's better to just reload the specified key. * daemon/gdm-daemon-config.c: I noticed that the key "xservers/PARAMETERS" was not being processed in the gdm_daemon_config_update_key, so that if you change Xserver variables in gdmsetup, they weren't getting recognized by the daemon. I fixed this, and thus fixed bug #450357. 2008-05-02 Brian Cameron * daemon/gdm-daemon-config.c: Reverse last change. It seemed to work when I first tested it, but I must have tested it wrong. 2008-05-02 Brian Cameron * daemon/gdm-daemon-config.c: Remove call to gdm_config_load from gdm_daemon_config_update_key. This function is only called when the UPDATE_KEY message is passed to the daemon, which is typically sent from gdmsetup when a specific configuration value has changed. Calling gdm_config_load before processing the key will cause the entire configuration to get reloaded since the datestamp on the file will, of course, be newer than the last read. It is more efficient to simply re-process the single key value requested via the UPDATE_KEY command. This makes GDM behave more like it did in GDM 2.18 and earlier. 2008-05-01 Brian Cameron * gui/gdmsession.c: If a GDM session desktop file is marked as "Hidden=true" then do not show it in the session dialog. 2008-05-01 Brian Cameron * common/gdm-config.c: Similar fix to ensure that we do not free the data structure twice when reloading. Similar issues as with bug #517526. 2008-04-30 Brian Cameron * common/gdm-config.c: A new fix to address the crashing issue bug #517526. 2008-04-30 Brian Cameron * common/gdm-config.c: Back-out the last change, it did not work as I thought it did. 2008-04-30 Brian Cameron * common/gdm-config.c: Fix bug that was causing GDM to crash when freeing memory in the keyfile code when exiting (such as when shutting down the system). Fixes bug #517526. 2008-04-24 Brian Cameron * gui/gdmsetup.c: Fix the 24HourClock setting so that we do not save translated strings as the configuration option. 2008-04-24 Brian Cameron * daemon/gdm-daemon-config.c: Fix reading of user's .dmrc file so that if it does not exist, we avoid calling gkeyfile functions. This avoids useless gkeyfile warning messages about the file being NULL. The fix on 2007-09-20 mostly fixed this issue by making sure the file is created before trying to read it. However, in some cases, such as when the user's $HOME directory is not writable, the read can happen when the file does not exist. 2008-04-24 Brian Cameron * configure.ac: Add openbsd section to configure file. to specify default halt, reboot, suspend commands. Fixes bug #529686. Patch by Jasper Lievisse Adriaanse . 2008-04-22 Brian Cameron * configure.ac: Remove the broken logic which was trying to append ${prefix}/bin to the DefaultPath and RootPath. Users will need to use --with-post-path configure option if they want to add their own directories to the DefaultPath and RootPath. Fixes bug #510469. 2008-04-22 Brian Cameron * configure.ac, config/Xsession.in, config/Xsession.solaris, config/Xsession.common, config/Makefile.am: Fix the way Xsession is built so that distros can more easily add their own logic to the Xsession script. Move Solaris specific Xsession logic to the Xsession.solaris file. Get rid of logic to normalize LC_ variables since this was causing problems for some users, fixes bug #509141. Patch by Takao Fujiwara . 2008-04-11 Ray Strode * gui/slave.c: (gdm_slave_session_start): Sync to catch any XIO errors after session exits (fixes bug 419301) 2008-04-07 Brian Cameron * Release 2.20.5: * configure.ac: Updated to new release version * NEWS: Updated. 2008-03-27 Brian Cameron * gui/gdmdynamic.c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c, daemon/slave.c, daemon/gdm-daemon-config.[ch]: Correct copyright information for Sun contributions to the code. 2008-03-19 Brian Cameron * gui/gdmwm.c: Use GDK functions to get the proper screen resolution. Fixes bug #523403. Patch provided by Vincent Untz . 2008-03-11 Brian Cameron * daemon/gdm.h, daemon/gdm-daemon-config-keys.h, po/POTFILES.in: Move the default Welcome/RemoteWelcome strings from gdm.h to gdm-daemon-config-keys.h. I noticed that we were defining the #defines in two places. So now we just define them once. 2008-03-10 Brian Cameron * Release 2.20.4: * configure.ac: Updated to new release version * NEWS: Updated. 2008-03-10 Brian Cameron * daemon/gdm.h, po/POTFILES.in: Mark the default local and remote welcome message for translation more clearly. Fixes bug #519528. Thanks to Wouter Bolsterlee and Frederic Crozat for help with this patch. 2008-03-07 Brian Cameron * daemon/gdm.c: Get default locale from LC_MESSAGES rather than from g_get_language_names. Fixes bug #517670. Patch by Ray Strode . 2008-03-05 Brian Cameron * gui/gdmcommon.c: If the user uses the default remote welcome string for local displays or vice-versa, then translate the string. * gui/gdmflexiserver.c: Need to call gdk_init when running in --command mode or the -a option fails when trying to call the gdk function to get the display value. Patch by Frederic Crozat and myself. 2008-03-01 Brian Cameron I got approval from the GNOME release team for these 3 changes. * gui/gdmlogin.c, gui/gdmsetup.glade, gui/greeter/greeter_canvas_item.c, gui/gdmsetup.c, config/gdm.conf.in: Honor default password character rather than hardcoding to '*'. Fixes bug #477881. Note this same fix was committed and reverted on 2007-11-14 because I did not obtain string freeze breakage approval at that time. Patch by Alexander "weej" Jones . * docs/C/gdm.xml: Modify docs relating to above change, and modify the Custom Widgetry section to explain the recent fixes (in last commit). * gui/greeter/greeter_canvas_item.c: Note the change on 2007-11-14 also fixed bug #389734. I intended to back this change out, but I obviously forgot to revert it with the other changes. At any rate there is now approval to break string freeze for this string, so leaving this fix in. Patch provided by Roberto Sarrionandia . 2008-02-28 Brian Cameron * gui/gdmcommon.c: Fix code so that saving custom widgetry values works again. Now the files are saved in INI format with the [GreeterInfo] group. 2008-02-18 Brian Cameron * daemon/slave.c: Get the environment value for XDG_DATA_DIRS before calling ve_clearenv. This issue was noticed while discussing bug #510358. 2008-01-23 Brian Cameron * gui/gdmsetup.c: Fix bug that was causing the Welcome message to not get saved properly. Fixes bug #511018. Also removed the bad code to delete translated strings if the user changes the value. If user wants to change the translated strings, they should do it manually. 2008-01-10 Brian Cameron * daemon/gdm-daemon-config.c: Fix the setting of the custom command NOTIFY key to avoid crashing problem when changing the label values of a custom command in gdmsetup. 2008-01-09 Brian Cameron * daemon/verify-crypt.c, daemon/verify-shadow.c: Add include of gdm-log.h to fix compile issues. Fixes bug #508275. Thanks to Simon Munton for the patch. 2008-01-07 Brian Cameron * Release 2.20.3: * configure.ac: Updated to new release version * NEWS: Updated. 2008-01-04 Brian Cameron * daemon/gdm-daemon-config.c: Fix memory management for code change I made on 2008-01-02. Thanks to Martin Weinberg for pointing out the problem, though I wrote the fix. 2008-01-04 Brian Cameron * daemon/verify-pam.c: I think I finally got the casting cleaned up so it should compile on Linux and Solaris with no further warnings. 2008-01-03 Brian Cameron * daemon/verify-pam.c: Fix some more casting issues pointed out by Larry Doolittle via email. 2008-01-03 Brian Cameron * daemon/verify-pam.c: Remove unnecessary casting pointed out by Larry Doolittle via email. 2008-01-02 Brian Cameron * common/gdm-config.h, common/gdm-config.c: Add function for getting a list of server-foo sections from the configuration files. Also fix bug that was causing the comparison of STRING_ARRAY keys to not work. This was causing gdmsetup to behave badly when changing the value of the Halt/Shutdown/Reboot commands. Fixes bug #502074. * daemon/gdm-daemon-config.c: Now use the above functions to get the server-foo section names rather than just parsing the ones used in the [server] section. This makes gdmsetup work better and fixes bug #462613. * daemon/gdm.c, daemon/gdm-daemon-config.c: Set debug as soon as the configuration value is read, not after the configuration file parsing is done. This is useful for debugging problems while parsing. 2007-12-21 Brian Cameron * daemon/gdm.c, daemon/slave.c: Fix some casting issues pointed out by Larry Doolittle via email. 2007-12-10 Brian Cameron * gui/gdmflexiserver.c: Revert to the old logic for handling options. This uses g_option_context* rather than gtk_init. Now we only call gtk_init when not handling the "--command" argument. This fixes bug #438939. The problem here is that you should be able to run gdmflexiserver with the --command option even if running setuid or setgid, but the gtk_init function doesn't allow this. So we need to use the g_option functions instead. 2007-12-10 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c: Now "Esc" key acts like the "Start Again" button. Fixes enhancement request #482642. Patch by Ray Strode . 2007-12-03 Brian Cameron * gui/gdmsetup.c: In gdm_load_displays, just return if keys is NULL rather than crashing. Fixes bug #501010. * gui/gdmXnestchooser.c, gui/gdmsetup.c: Include "gdm-log.h" to find needed prototypes. 2007-11-30 Brian Cameron Thanks to George Lebl for noticing these issues. * daemon/errorgui.c, daemon/gdmconsolekit.c, daemon/display.c, daemon/gdm.c, daemon/filecheck.c, daemon/verify-shadow.c, daemon/gdm-xdmcp-manager.c, daemon/verify-crypt.c, daemon/server.c, daemon/slave.c, daemon/gdm-daemon-config.c, daemon/choose.c, daemon/misc.c: Use gdm_debug instead of g_warning and g_debug. * daemon/gdm-xdmcp-manager.c: Fix bug where WILLING script was being read from the configuration file as an int rather than a string. 2007-11-30 Brian Cameron * daemon/gdm.c, daemon/slave.c: Fix Suspend configuration option so it works. Fixes bug #500362. Patch by Philippe Troin . 2007-11-27 Brian Cameron * daemon/gdm-xdmcp-manager.[ch]: Fix counting of number of open sessions. Close the XDMCP socket in the finalize function. Otherwise gdm-restart does not allow XDMCP connections. Remove unused function gdm_xdmcp_manager_stop. Fixes bug #495623. Patch by Andrew Ziem 2007-11-26 Brian Cameron * Release 2.20.2: * configure.ac: Updated to new release version * NEWS: Updated. 2007-11-26 Brian Cameron * daemon/gdm-xdmcp-manager.c: Fix so that the XDMCP configuration options are read from the configuration file again. Fixes bug #498277. Patch by Andrew Ziem 2007-11-26 Brian Cameron * daemon/gdm.c, daemon/server.c, daemon/gdm-daemon-config.[ch], common/gdm-config.c, common/test-config.c, gui/gdmwm.c, gui/gdmphotosetup.c, gui/gdmXnestchooser.c, gui/gdmcommon.c, gui/gdmflexiserver.c: Fix leaks. Fixes bug #499445. Patch by Andrew Ziem 2007-11-26 Brian Cameron * gui/gdmXnestchooser.c: Set execvec by calling make_us_an_exec_vector after setting indirect_host, since the function uses this variable. Fixes bug #499389. Patch by Andrew Ziem 2007-11-21 Brian Cameron * daemon/gdm.c, daemon/slave.c: Fix so that we allow setting of LC_CTYPE without setting LANG. Cleanup of how we set the system locale. Fixes bug #485852. Patch by Sjoerd Simons and Takao Fujiwara . 2007-11-16 Brian Cameron * daemon/misc.c: Add back hinting, with a preference towards IPv6. Patch by Ely Levy . 2007-11-14 Brian Cameron * Reversing last commit since it broke string freeze. 2007-11-14 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_canvas_item.c, gui/gdmsetup.glade, gui/gdmsetup.c, config/gdm.conf.in, docs/C/gdm.xml: No longer hardcode the password field to '*'. Instead use the GTK+ default character for password fields. No longer support the UseCirclesInEntry configuration option. Addresses enhancement request #477881. Patch by Alex "weej" Jones . 2007-11-13 Brian Cameron * daemon/getvt.c: If gdm_get_current_vtnum is called with a NULL display, just return -1. 2007-11-07 Brian Cameron * common/gdm-common.[ch], daemon/misc.c, daemon/gdm-xdmcp-manager.c: Fix to better calculate sockaddr length. No longer set hints, since the way we were doing it was broken. hints_ai_family is not a bitmask. Patch by Robert Nelson . Fixes bug #494817. 2007-10-31 Luca Ferretti * data/icons/README: Added, with the list of currently installed icons and some info if you need to provide new named icons. 2007-10-31 Luca Ferretti * gui/gdmflexiserver.desktop.in: "flexiserver", not "flexyiserver" 2007-10-31 Luca Ferretti * data/icons/32x32/apps/gdm-setup.png: This should never be there, sorry. Deleted from svn. 2007-10-31 Luca Ferretti * pixmaps/16x16/Makefile.am: * pixmaps/32x32/Makefile.am: * pixmaps/48x48/Makefile.am: * pixmaps/Makefile.am: Update the icon cache only when exiting from pixmaps/ dir, plus remove old "gdm-setup" icon from build. * pixmaps/48x48/gdm-setup.png * pixmaps/32x32/gdm-setup.png * pixmaps/24x24/gdm-setup.png Deleted from svn; note that the 24x24 one wasn't used in build. 2007-10-31 Luca Ferretti * gui/gdmflexiserver.desktop.in: Use new "gdmflexiserver" icon in launcher * gui/gdmsetup.desktop.in.in: Use new "gdmsetup" icon in launcher * gui/gdmsetup.c: (main): USe new "gdmsetup" icon as default window icon (gtk_window_set_default_icon_name) * gui/greeter/greeter_system.c: Use "gdmsetup" icon for Configure Login Manager menu entry. 2007-10-31 Luca Ferretti * Makefile.am: Added new data/ directory to SUBDIRS. * configure.ac: Added new data/* directories to AC_OUTPUT. 2007-10-31 Luca Ferretti * data/*: Added new data/ directory to svn, storing by now icons/ directory with new named icons for gdm: "gdmsetup" and "gdmflexiserver". See bugs #477799 and #477983. 2007-10-15 Brian Cameron * Release 2.20.1: * configure.ac: Updated to new release version * NEWS: Updated. 2007-10-15 Brian Cameron * gui/gdmlogin.c, gui/greeter/gdmgreter_item_pam.c: Change behavior of Tab so it acts like enter if the focus is on the entry field. Ctrl-Tab can be used for changing focus. This fixes bug #433495. Patch by Lo\357c Minier . 2007-10-09 Brian Cameron * daemon/verify-crypt.c, daemon/verify-shadow.c, daemon/filecheck.c, daemon/gdm-xdmcp-manager.c: No longer translate messages in debug. 2007-10-09 Brian Cameron * daemon/verify-crypt.c, daemon/verify-shadow.c: No longer print username in error messages in case the user accidently types their password in the username entry. We should avoid logging any passwords to syslog. Addresses some problems in bug #484750. 2007-10-03 Brian Cameron * Decrease num_sessions when appropriate. Otherwise GDM incorrectly thinks the maximum number of XDMCP connections has been reached. Fixes bug #478441. Patch by Francis Giraldeau . 2007-09-28 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c: Send a response before exiting to avoid a hang. Fixes bug #473480. Patch by Ray Strode . 2007-09-21 Brian Cameron * gui/gdmXnestchooser.c, gui/gdmsetup.c: Turn off debug message logging. Fixes bug #478318. 2007-09-21 Dave Fincher Fixes bug #478805. * gui/greeter/themes/happygnome/happygnome-list.xml: Updated happygnome-list.xml so that all elements display on 800x600 and larger screen resolutions and elements dynamically adjust size and position based on the screen resolution. * gui/greeter/themes/happygnome-list: Removed the options.png files which is not used in the happygnome-list theme * gui/greeter/themes/happygnome-list/Makefile.am: Removed session.png file entry which is not used in the happygnome-list theme. 2007-09-21 Dave Fincher Fixes bug #478800. * gui/greeter/themes/happygnome/happygnome.xml: Updated happygnome.xml so that the bottom buttons and bar to display on 800x600 and larger screen resolutions. * gui/greeter/themes/happygnome: Removed the options.png files which is not used in the happygnome theme * gui/greeter/themes/circles/Makefile.am: Removed session.png file entry which is not used in the circles theme. 2007-09-20 Brian Cameron * configure.ac: Bump glib dependency to 2.12 since we now use g_hash_table_remove_all. 2007-09-20 Dave Fincher * gui/greeter/themes/circles/circles.xml: Updated circle.xml so that the bottom buttons and bar to display on 800x600 and larger screen resolutions. * gui/greeter/themes/circles: Removed the options.png and help.png files which are not used in the circles theme * gui/greeter/themes/circles/Makefile.am: Removed session.png and help.png file entries which were not used in the circles theme. * AUTHORS: Added self to authors file. 2007-09-20 Brian Cameron * daemon/gdm-daemon-config.c: Fix so that if the .dmrc file does not exist, it is created. Fixes bug #453916. Patch by Brady Anderson . 2007-09-19 Brian Cameron * configure.ac, gui/Makefile.am: I discovered that GDM was getting -lsocket and -lnsl from a different pc file, which is not appropriate. Fix gdm so we list these explicitely. This is needed on Solaris where we need to specify dependant libraries. 2007-09-18 Brian Cameron * gui/gdmcommon.c: Set stdout/stderr to DEV_NULL when spawning at_spi_registryd and the prefetch program. This fixes a hanging problem reported in bug #473480. Patch by Huang Peng 2007-09-17 Brian Cameron * Release 2.20.0: * configure.ac: Updated to new release version * NEWS: Updated. * gui/gdmcommon.c, gui/Makefile.am: Properly propegate the new atspidir to the c-file. This fixes bug #471978. 2007-09-17 Brian Cameron * configure.ac, gui/gdmcommon.c: Now allow users to specify the location of at-spi-registryd via the --with-atspi-dir configure argument. 2007-09-12 Brian Cameron * gui/modules/dwellmouselistener.c: Fix casting so that it doesn't generate warnings when you enter/leave various widgets. Fixes bug #440948. Patch by Gerd Kohlberger . 2007-09-12 Brian Cameron * gui/gdmlanguages.c: Fix Macedonian language so that the language appears in the local language. Fixes bug #474530. Patch by Arangel Angov . 2007-09-12 Brian Cameron * gui/modules/keymouselistener.c: Improve checking for input devices so it doesn't fail on Ubuntu, and we free memory relating to the devices. Fixes bug #440948. Patch by Gerd Kohlberger . 2007-09-12 Brian Cameron * daemon/auth.c, common/gdm-common.c: Fix bug with IPv6 logic. Fixes bug reported in bug #376010. Patch by Jacob Berkman . 2007-09-06 Brian Cameron * Release 2.19.8: * configure.ac: Updated to new release version * NEWS: Updated. 2007-09-06 Brian Cameron * configure.ac: Add support for /usr/X11/bin/Xorg when setting X_PATH, etc. Patch by Laszlo Peter . 2007-09-01 Brian Cameron * daemon/gdm-daemon-config.c: Fix bug #470390 where GDM was not properly executing a custom start script. This relates to my previous fix for bug #462613, which didn't fix this part. 2007-08-31 Brian Cameron * MAINTAINERS: Update so it is in the right format. * configure.ac: Fix bug from the last commit that caused the HALT_COMMAND to no longer get set. 2007-08-29 Brian Cameron * configure.ac: Make it possible to configure system dependant options by setting environment variables before running configure. Patch by Laszlo Peter 2007-08-29 Brian Cameron * daemon/slave.c: Fix bug with ConsoleKit that occurs when the session is going to migrate. Previous code was failing to send the notification when the greeter is not TYPE_FLEXI. Fixes bug #461056. Patch by Ian Jackson 2007-08-28 Brian Cameron * gui/greeter/greeter_canvas_item.c: Set invisible character to '*' if the configuration file does not specify to use invisible or circles. This change was already fixed for gdmlogin, refer to 2007-06-04 entry. Fixes bug #439089 for gdmgreeter. Patch by Sebastien Bacher . 2007-08-27 Brian Cameron * daemon/verify-pam.c: When using gdm_verify_standalone_pam_conv we need to send echo to FALSE when PAM_PROMPT_ECHO_OFF is handled. Fixes bug #470728. 2007-08-27 Brian Cameron * Release 2.19.7: * configure.ac: Updated to new release version * NEWS: Updated. 2007-08-25 Brian Cameron * gui/greeter/greeter.dtd: Fix bug #469759. Patch by Dave Fincher . 1. CDATA #IMPLIED" properties 2. Added "background (true | false) #IMPLIED to item ATTLIST properties 3. Added "everywhere" and "nowhere" to list of modes for the show ATTLIST * gui/greeter/themes/happygnome-list/Makefile.am, gui/greeter/themes/happygnome-list/happygnome-list.xml: Removed an error where max-width was used as a property for a box element. The max-width property is a property of the pos element specifically dealing with a label item type: Rename happygnome.xml to happygnome-list.xml. Fixes bug #469741. Patch by Dave Fincher . * gui/greeter/themes/happygnome-list/happygnome-xml: Deleted. * gui/greeter/themes/happygnome-list/happygnome-list.xml: Added. 2007-08-21 Brian Cameron * gui/greeter/greeter.dtd: This was badly out of date, the new DTD file is more accurate and contains a lot of changes to the DTD format since the last time this file was updated. Changes provided by Dave Fincher . 2007-08-21 Brian Cameron * daemon/gdm.h: Fix "#ifdef sun" to "#ifdef __sun". 2007-08-16 Brian Cameron * daemon/slave.c: Fix some warnings and avoid using #ifdef's in gdm_debug calls since some compilers do not like #ifdef's in macros. Some code cleanup. Fixes bug #467401. Patch by Jens Granseuer . 2007-08-16 Brian Cameron * gui/gdmlogin.c, * gui/greeter/greeter_item_ulist.c: Disable autocompletion in the face browser. Fixes bug #467335. Patch by Ray Strode . 2007-08-15 Brian Cameron * gui/greeter/themes/*xml: Fix comment to have correct timed login message. 2007-08-15 Brian Cameron * Release 2.19.6: * configure.ac: Updated to new release version * NEWS: Updated. 2007-08-15 Brian Cameron * gui/modules/dwellmouselistener.c: Remove XInput code from dwellmouselistener.c since it doesn't seem to work properly. Now this module assumes that X be configured to send core events for extended input devices. This fixes bug #457998 where a tablet was not working with dwellmouselistener.c. Patch by Ray Strode . 2007-08-09 Brian Cameron * gui/gdmflexiserver.c: We do not want to pop up the dialog showing other flexiservers running when you run with xnest, so call check_for_users only in the non-xnest case. 2007-08-09 Brian Cameron * daemon/misc.c: Fix has_ipv6 check so that if the IPv6 network is unreachable, GDM will fallback to IPv4. This can happen if IPv6 is available but the administrator has disabled it. 2007-08-09 Brian Cameron * common/gdm-log.h, daemon/misc.h, daemon/misc.c: Revert to previous gdm_fail function since we really want this function to cleanup and exit, not just log a message. This was broken in the 2.19 cleanup. Fixes bug #461822. * daemon/gdm.c: Fixes to support gdm_fail and also better string error handling for GET_XSERVER_DETAILS command. * daemon/gdm-config.c, daemon/server.h: Revert code to the way the 2.18 code managed the xserver and display lists. This also got broken in the cleanup. It is not appropriate to save the display in the server array because more than one display can share the same server name. There is one change in behavior still. In 2.18 GDM would load all [server-foo] sections even if they weren't actually being used. Now it only loads the ones that are used by a display in the [servers] section. This means gdmsetup is a bit broken for editing the server-foo sections, so probably need to fix this later. Still at least now it should manage the displays properly if you have multiple displays defined to use the same [server-foo]. Partial fix for bug #462613. 2007-08-08 Brian Cameron * gui/gdmsetup.c: Now properly set "Use 24 Hour Clock" to "yes" when this is its value. It was previously changing it to "auto" for no reason. Fixes bug #464756. Patch by Sebastien Bacher . 2007-08-06 Brian Cameron * configure.ac: Now check for utmp/utmpx functions so that utmp processing is actually enabled. * daemon/verify-pam.c: Fix bug in if-statement for checking for logindevperm when VT is enabled. 2007-08-06 Brian Cameron * daemon/gdm.c: Fix compile problem with last commit. 2007-08-06 Brian Cameron * daemon/gdm.c: Fix error handling of try_command so it generates more reasonable debug messages. These messages are not translated so it's okay to commit this after string freeze. Fixes bug #460407. Patch by Lukasz Zalewski . 2007-07-31 Brian Cameron * configure.ac, acinclude.m4, daemon/slave.c: Now support utmp in addition to utmpx. Patch provided by Joe Marcus Clarke . Fixes bug #456697. 2007-07-31 Brian Cameron * README: Some improvements. 2007-07-31 Lukasz Zalewski * gui/gdmsetup.glade: Further fix for sting translation issues for bug #460407. 2007-07-30 Brian Cameron * Release 2.19.5: * configure.ac: Updated to new release version * NEWS: Updated. 2007-07-30 Brian Cameron More work to fix CVE-2007-3381. * common/gdm-common.c: Now use g_strv_length to calculate the array size. * gui/gdmsetup.c: Use an assert to check that the array is not NULL before the loop rather than in the loop. 2007-07-30 Brian Cameron * daemon/slave.c: Rename login to login_user to avoid problem on FreeBSD with symbol conflict since their utmp code needs to call a function called login. Partially fixes #456697. 2007-07-30 Lukasz Zalewski * daemon/gdm.c, gui/gdmsetup.glade: Fixed some sting translation issues for bug #460407. 2007-07-30 Lo\357c Minier * configure.ac: * daemon/slave.c: (session_child_run): * daemon/verify-crypt.c: (gdm_verify_user): * daemon/verify-shadow.c: (gdm_verify_user): * gui/gdmuser.c: (gdm_check_shell): Autodetect the path to the nologin binary. Fixes bug #457958. 2007-07-30 Lukasz Zalewski * daemon/display.h, daemon/gdm.c: Fixes bug #457098. Range check in gdm_do_logout_action for custom commands was only allowing index 0. Now the whole range of commands is allowed. 2007-07-18 Brian Cameron * daemon/getvt.c, daemon/gdm-common.c, daemon/display.h: Fix compile issues for FreeBSD. Fixes bug #456697. Patch by Joe Marcus Clarke 2007-07-18 Brian Cameron * pixmaps/24x24/Makefile.am, gui/gdmlogin.c, gui/gdmcommon.[ch], gui/gdmchooser.c, gui/greeter/greeter.c: Fix some issues with icons not showing up properly in gdmgreeter menu. Fixes enhancement request #360984 so it really works. Patch by Michael Terry. Now use built-in icons. 2007-07-11 Brian Cameron This fixes CVE-2007-3381 - a denial of service attack where the user can crash the GDM daemon with a carefully crafted GDM sockets command and cause GDM to stop managing future displays. * daemon/gdm.c, daemon/server.c, common/gdm-common.[ch], common/gdm-common-config.c, gui/gdmlogin.c, gui/gdmcommon.[ch], gui/gdmflexiserver.c, gui/gdmsetup.c, gui/gdmconfig.c, gui/greeter/greeter_system.c, gui/greeter/greeter_item_ulist.c: Fix g_strsplit calls so that NULL return codes are better handled. * gui/Makefile.am, gui/greeter/Makefile.am, gui/gdmgreeter.[ch], Create new gdmgreeter.a library that is only linked by gdmlogin and gdmgreeter. This was needed because I wanted to make the gdm_common_is_action_available function a common function and the chkauthattr function requires linking additional libraries. This made this change easier and also makes GDM a bit cleaner. It is better, I think, to separate the code only used by the greeters since these two programs have more common shared code than the other GDM gui programs. 2007-07-09 Brian Cameron * gui/gdmlanguages.c: Fix memory handling of dialog_selected_language so it isn't freed when it shouldn't be. Fix for bug #108820. Patch by Takao Fujiwara . 2007-07-09 Brian Cameron * Release 2.19.4: * configure.ac: Updated to new release version * NEWS: Updated. * Makefile.am: Add icon-theme.cache file to distuninstallcheck_listfiles so "make distcheck" works. 2007-07-09 Brian Cameron * daemon/slave.c: Fix MAXPATHLEN check so it works when MAXPATHLEN is defined. 2007-07-09 Brian Cameron * gui/greeter/Makefile.am, gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_system.c: Add icons to the gdmgreeter menu. * configure.ac, pixmaps/Makefile.am: Add new 24x24 directory. * pixmaps/24x24/*: New directory with pixmaps to show in the gdmgreeter menu. This addresses enhancement request #360984. Patch by myself and Michael Terry. 2007-07-09 Brian Cameron * daemon/slave.c: Define MAXPATHLEN to PATH_MAX if MAXPATHLEN does not exist on the system. Fixes bug #454777. Patch by Laurent Goujon . 2007-07-05 Brian Cameron * daemon/verify-pam.c: Add logindevperm debug messages, so it is easier to tell when it is working. * config/Makefile.am: Fix typo that was causing the UtmpLineAttached and UtmpLineRemote values to not get filled with proper defaults. 2007-07-02 Brian Cameron * acconfig.h, configure.ac, config/Makefile.am, config/gdm.conf.in, daemon/gdm-daemon-config-entries.h, daemon/gdm-daemon-config-keys.c, daemon/gdm-daemon-config.c, daemon/slave.c: Set UtmpLineAttached, UtmpLineRemote, and UtmpPseudoDevice based on OS. On Solaris set to dtlocal, dtremote, and true. On Linux set to "/dev/console", NULL, and false. * daemon/verify-pam.c: Fix logindevperm logic so that we only call logindevperm for VT devices and for the "/dev/console" device. 2007-07-02 Brian Cameron * daemon/gdm.c daemon/display.[ch], daemon/verify-pam.c, daemon/slave.[ch], daemon/gdm-daemon-config-entries.h, daemon/gdm-daemon-config-keys.h, daemon/gdm-daemon-config.c daemon/server.h, config/gdm.conf.in: Improve configurability of how ut_line is set when doing utmp/wtmp processing. Now GDM supports the ability to specify the device in the [servers] section and also to define default local/remote values via the new UtmpLineAttached and UtmpLineRemote configuration options. The new UtmpPseudoDevice configuration option allows you to specify if pseudo devices should be created. * daemon/slave.c: Now support a new gdm_slave_parse_enriched_string function used by new device logic. 2007-07-01 Lukasz Zalewski * gui/greeter/greeter.c: when getting the theme file added a check if the file is readable (the check was only for the file existance previously) + some error messages. Fixes issues raised in bug #451989 2007-06-28 Lo\357c Minier * gui/gdmlanguages.c, gui/gdmcommon,c, gui/gdmchooser,c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c, daemon/gdm-xdmcp-manager.c, daemon/auth.c, daemon/slave.c, daemon/gdm-daemon-config.c: Fix warnings. Patch by Lo\357c Minier . 2007-06-28 Lo\357c Minier * gui/gdmlanguages.c: (gdm_lang_read_locale_file): Remove the default locale selection logic and let the system default to C. Fixes bug #436811. 2007-06-28 Brian Cameron * gui/gdmlogin.c: Now allow focus to move into the OK and Cancel buttons. Fix the sensitivity of the OK button so it is insensitive when gdmlogin first starts (since it should only be sensitive when there is some string entered in the entry field). This addresses the security issue raised in bug #433495. 2007-06-26 Michael Terry * gui/login-photo.png, pixmaps/48x48/gdm-login-photo.png, gui/Makefile.am, pixmaps/48x48/Makefile.am: Rename and move login-photo.png to be properly namespaced and with the rest of the installed icons. Followup to #450786. 2007-06-25 Brian Cameron * gui/gdmchooser.c: Call gdm_common_atspi_launch so that users can launch AT programs when gdmchooser is running. * acconfig.h, configure.ac, daemon/display.[ch], daemon/verify-pam.c, daemon/gdm-xdmcp-manager.c, daemon/getvt.[ch], daemon/slave.[ch]: Fix utmp logic so it works on Linux and improved the logic a bit, fixing bug #450453. Patch by Ray Strode. . Also, I changed the way the XFree86_VT atom is accessed so it is only checked once after X starts and before the gdmgreeter starts, and then the value is cached. This is better because the Atom can be changed by the user, so we do not want to access the Atom after the user session starts. * daemon/slave.c: Fix calls to setfacl so they work in Solaris specific block of code. 2007-06-25 Brian Cameron * pixmaps/48x48/Makefile.am, pixmaps/32x32/Makefile.am, pixmaps/16x16/Makefile.am, gui/gdmphotosetup.desktop.in, gui/gdmsetup.c, gui/Makefile.am, gui/gdmchooser.c: Install 48x48 icons to the hicolor theme and uses the correct GTK call to grab application icons from the theme, not pixmaps. Fixes enhancement request #450786. Patch by Michael Terry 2007-06-25 Brian Cameron * daemon/slave.c: Fix some warnings. 2007-06-21 Brian Cameron * daemon/slave.[ch]: Add functions to support utmp and wtmp processing. Modified the gdm_window_path function to use the new gdm_get_current_vtnum funtion. This fixes enhancement request #347871. I did modify the patch provided by Ray Strode quite a bit. Biggest changes were to make it use utmpx rather than utmp functions, add utmp handling in addition to wtmp/btmp which was in his original patch, move function from verify-pam.c to slave.c so it also works when PAM isn't being used. Other changes include using the device name for ut_line on Solaris instead of DISPLAY, setting ut_type to DEAD_PROCESS on logout, and adding better error handling and debugging messages. * daemon/getvt.[ch]: Add function gdm_get_current_vtnum which checks the XFree86_VT atom and returns the VT number used by current display. This function used to be a part of the windowpath code. Also added the gdm_get_vt_device and gdm_get_current_vt_device access functions to get the right VT device name. * daemon/verify-pam.[ch]: Now Solaris audit, PAM_TTY, and di_devperm functions pass proper VT device names, not just hardcoded to /dev/console. * daemon/verify-pam.c, daemon/verify-crypt.c, daemon-verify-shadow.c: Cleaned up the gdm_verify_user and gdm_verify_setup_user functions so they do not take the display and local arguments. Since these values are already in the GdmDisplay structure that is passed in, the code is cleaner just to access the values directly from the GdmDisplay structure. * daemon/gdm.c: If gdm_get_current_vt returns -1, return error message, not OK. * daemon/gdm.c, daemon/slave.c: No longer use di_devperm functions to set device ownership to the gdm user. Instead use setfacl to do the same with ACL. This is cleaner and now that VT's are working on Solaris, the di_devperm functions are not an appropriate way to get this behavior. 2007-06-18 Juerg Billeter * daemon/gdm-daemon-config.c: Initialize lang variable to avoid accessing a random chunk of memory. Fixes bug #448689. 2007-06-17 Brian Cameron * Release 2.19.3: * configure.ac: Updated to new release version * NEWS: Updated. * README.install: Some updates for Solaris and to make things a bit more clear. 2007-06-17 Brian Cameron * acconfig.h, configure.ac, daemon/gdm.c, daemon/getvt.[ch], utils/gdmopen.c: Now support VT on Solaris (at the moment only available in Nevada development builds). I cleaned up the code to better use #defines so we set whether we support VT in daemon/getvt.h rather than using complicated #ifdefs in many places. Also now detect if sys/vt.h is available in configure.ac and only enable VT if it is present. This ensures GDM builds okay on older versions of Solaris without this interface. 2007-06-17 Brian Cameron * daemon/gdm-xdmcp-manager.c: Change string to say XDMCP instead of XMCP or XMDCP. Fixes bugs #448547 and #448548. 2007-06-11 Brian Cameron * daemon/verify-pam.c: Do not call logindevperm logic when logging into XNEST sessions since we don't want to change device permissions for xnest sessions, only for the real console session. 2007-06-08 Frederic Crozat + gui/greeter/greeter_parser.c: (parse_label): Ensure a non null size is set by default for pango font description. 2007-06-05 Brian Cameron * daemon/display.[ch], daemon/gdm-xdmcp-manager.c, daemon/slave.c: Now GDM sets WINDOWPATH so that AT programs such as braille displays can work better with Xnest and sessions started via VT. Fixes enhancement request #443557. Patch by Samuel Thibault 2007-06-04 Brian Cameron * Release 2.19.2: * configure.ac: Updated to new version number. * NEWS: Updated. * gui/gdmflexiserver-xnest-desktop.in.in: Change Name and Comment from "New Login in a Nested Window" to "New Login in a Window" since the usability team determined that most users do not understand what "nested" means. The new string is more easy to understand to most non-technical users. 2007-06-04 Brian Cameron * gui/Makefile.am, gui/greeter/Makefile.am: Add -lfontconfig to programs that link against gui/libgdmcommon.a since it now contains FontConfig code, due to fix for bug #426653. On Solaris it is necessary to not link libraries implicitely. 2007-06-04 Lukasz Zalewski * gui/greeter/greeter_item.c: (greeter_item_is_visible): Changed the way CustomCommandX are handled. Fixes bug #442355 * gui/greeter/greeter_parser.c: (parse_stock): Code cleanup regarding CustomCommands. * gui/greeter/greeter.c: * gui/gdmlogin.c: * daemon/gdm.c: More code cleanup regarding CustomCommands 2007-06-04 Brian Cameron * gui/gdmlogin.c: Set invisible character to '*' if the configuration file does not specify to use invisible or circles. Fixes bug #439089. Patch by Sebastien Bacher . 2007-06-04 Brian Cameron * gui/gdmuser.c: Prune users out of the user list if their shell is /sbin/nologin, /bin/true, or /bin/false. Patch by Ray Strode . Fixes bug #438682. 2007-06-04 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: No longer accept Tab as Enter, backing out fix for bug #127339. For a11y purposes, it is better to be able to let users navigate to other widgets via the Tab key. Patch by Patrick Wade and by myself. This fixes bug #433495. 2007-06-04 Brian Cameron * gui/gdmlanguages.c, gui/gdmcommon.[ch]: Now only display languages where the locale is actually installed on the machine. Fixes bug #426653. Patch by Ray Strode . 2007-06-04 Brian Cameron * configure.ac, daemon/verify-pam.c: Add Linux auditing support. Patch by Ray Strode . Fixes bug #349835. * daemon/gdm-daemon-config.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/verify-crypt.c: Remove gdm_verify_check call since it creates spurious audit entries and the check doesn't add significant value. 2007-06-04 Brian Cameron * daemon/gdm.c, daemon/slave.c: Rework system locale setting so it is done in the main daemon rather than in the slave. * daemon/auth.c: If local server, add loopback properly. Patch for these issues by Takao Fujiwara . Fixes bug #108820. * gui/gdmlanguages.c: Minor cleanup. 2007-05-14 Brian Cameron * config/gettextfoo.h: Removed some strings that are no longer used. 2007-05-14 Brian Cameron * configure.ac: Do not build docs/*/Makefile. These are not needed. * Makefile.am: Do not distribute xmldocs.make or omf.make. * omf.make, xmldocs.make: Delete these files. They are not needed. 2007-05-14 Brian Cameron * omf.make, xmldocs.make: Bump to the latest versions from gnome-common 2.18.0. 2007-05-14 Brian Cameron * daemon/gdm-socket-protocol.h: Change location of .gdm_socket file from /tmp to /var/run. Fixes bug #331059. This interface change also required changing gnome-session, gnome-panel, and the Fast-User-Switch Applet (FUSA). I understand all these programs have been updated already in the unstable branch. Patch by Lo\357c Minier. 2007-05-14 Brian Cameron * daemon/slave.c, gui/Makefile.am: Now install GDM desktop files to /usr/share/gdm/applications and append this directory to XDG_DATA_DIR before starting the user session, so that these desktop files are only visible if using the GDM program as the display manager. This will ensure these menu options do not appear when using other display managers such as KDM or CDE login. Fixes bug #434813. 2007-05-14 Brian Cameron * Release 2.19.1: * configure.ac: Updated to new version number. * NEWS: Updated. * README.install: Minor update to Solaris recommended configuration. 2007-05-11 Brian Cameron * config/Xsession.in: Remove failsafe logic since it is no longer used. The gnome-session-start function in slave.c starts the xterm directly. But when that change was made, this cruft was not removed. 2007-05-11 Brian Cameron * acconfig.h, configure.ac, daemon/slave.c, gui/modules/keymouselistener.c, gui/modules/dwellmouselistener.c: Add ctrun support which can be enabled via --with-ctrun. This is a Solaris only feature that is required because GDM is started via svcadm(1M) service. Child processes (such as the session, scripts, and AT programs) need to separate themselves from the service so that if any subprocess core-dumps it doesn't cause a GDM restart. I also cleaned up the logic in gnome-session-start a lot by using a GString and appending the command to it. This makes things cleaner since the command is affected by ctrun and Trusted Solaris. The previous approach of setting argv directly was a mess. This makes this function far more maintainable. 2007-05-11 Brian Cameron * daemon/gdm-daemon-config.c: Fix gdm_daemon_check_permissions so it updates the permissions for the SERV_AUTHDIR directory not the LOGDIR directory. This bug was introduced when the config logic was rewritten. 2007-05-10 Brian Cameron * daemon/slave.c: Fix handling of AlwaysLoginCurrentSession and DoubleLoginWarning so it works for the non-migratable case (for Xnest, XDMCP, etc.). Fixes bug #435552. 2007-05-10 Brian Cameron * daemon/gdm.c: In debug message handle when display is NULL to avoid core dump on Solaris. 2007-05-09 Brian Cameron * configure.ac: Fix check for Xserver to work on Solaris also. 2007-05-09 Brian Cameron * configure.ac: Fix check for Xserver to work for Debian and Ubuntu. Fixes bug #436879. Patch by Lo\357c Minier 2007-05-09 Brian Cameron * daemon/misc.c: In gdm_fdgetc must used an unsigned char buffer here because the GUI sends username/password data as utf8 and the daemon will interpret any character sent with its high bit set as EOF unless we used unsigned here. Fixes bug #436808. Patch by Lo\357c Minier 2007-05-09 Brian Cameron * daemon/slave.c: No longer unset MAIL when starting a user session. Now set PWD before starting a user session which fixes problems when the user's $HOME directory is a symlink. Fixes bug #436803. Patch by Lo\357c Minier 2007-05-08 Loïc Minier * config/gdm.conf.in: Fix misc typos. Fixes bug #436814. 2007-05-08 Brian Cameron * daemon/verify-pam.c: When we receive PAM_AUTHINFO_UNAVAIL just display the default "authentication failed" message. This ensures that the error message is the same for invalid user and incorrect password, making it harder to tell whether an account is a valid one or not. Fixes bug #436812. Patch by Lo\357c Minier 2007-05-08 Brian Cameron * config/PostLogin: Change reference from $LOGIN to $LOGNAME in documentation comment. Fixes bug 436805. Patch by Lo\357c Minier 2007-05-08 Brian Cameron * gui/greeter/greeter.c: Check for existance of a theme before selecting a random theme. Fixes bug #436800. Patch by Lo\357c Minier 2007-05-08 Brian Cameron * daemon/verify-pam.c: Avoid starting timed login if a username is already entered. Fixes bug #436797. Patch by Lo\357c Minier 2007-05-02 Brian Cameron * daemon/gdm.c: Fix problem causing SET_LOGOUT_ACTION and SET_SAFE_LOGOUT_ACTION to not work. 2007-05-01 Brian Cameron * daemon/gdm-daemon-config.c: Fix return of gdm_daemon_config_update_key so that it returns TRUE when the key is valid and FALSE when the key is not valid. This fixes the UPDATE_CONFIG command so it doesn't return an error message saying it didn't recognize the key, when it fact it is a valid key. Also fixed "xdmcp/PARAMETERS" so we check return codes more nicely. Fixes bug #428657. 2007-05-01 Brian Cameron * daemon/display.[ch], daemon/server.[ch], daemon/gdm.c, daemon/gdm-daemon-config.c: Rename gdm_server_alloc to gdm_display_alloc since this function really initializes this display structure and belonds in display.c rather than in server.c. 2007-05-01 Brian Cameron * daemon/display.[ch], daemon/server.c, daemon/slave.c, daemon/gdm-daemon-config.[ch]: Add optional X-Gdm-XserverArgs key to the GDM desktop files. If this is set in the desktop file, then GDM will restart the Xserver with the additional arguments specified. This allows people to create sessions that require special Xserver flags (e.g. for accessibility or to use a session that requires special Xserver extensions to be turned on, etc.) This implements enhancement request #326771. Patch by Ron Yorston . I had to rework the patch quite a bit to get it to compile against the latest code. Also added a test so that any such extra arguments are *not* used when using Xnest since this "restarting" feature does not work with Xnest. * daemon/gdm.c: Minor cleanup. 2007-05-01 Changwoo Ryu * configure.ac: Remove docs/ko/Makefile output for gnome-doc-utils migration. 2007-04-30 Frederic Crozat * gui/gdmcommon.c: (gdm_common_set_root_background): * gui/gdmcommon.h: * gui/gdmlogin.c: (setup_background): * gui/greeter/greeter.c: (process_operation), (key_press_event), (main): * gui/greeter/greeter.dtd: * gui/greeter/greeter_canvas_item.c: (greeter_item_create_canvas_item): * gui/greeter/greeter_item.c: (greeter_item_info_new): * gui/greeter/greeter_item.h: * gui/greeter/greeter_parser.c: (parse_items), (hide_item), (greeter_show_only_background): * gui/greeter/greeter_parser.h: * gui/greeter/themes/circles/circles.xml: * gui/greeter/themes/happygnome-list/happygnome.xml: * gui/greeter/themes/happygnome/happygnome.xml: Add support for root background when login is accepted (bug #322056). * gui/greeter/greeter_item_pam.c: (greeter_item_pam_error_set): Code cleanup. 2007-04-30 Brian Cameron * daemon/gdm-xdmcp-manager.c: Add include of sys/ioctl.h to fix building problem on Gentoo. Fixes bug #434458. Patch by Ed Catmur . 2007-04-24 William Jon McCann * common/test-config.c: (load_servers_group): Cast gsize to int for printf. Patch by Saleem Abdulrasool . Fixes bug #432830. 2007-04-24 Brian Cameron * daemon/misc.[ch], daemon/auth.c, daemon/misc.c: Be more clever about setting umask. Now gdm_safe_fopen_w and gdm_safe_fopen_ap takes a perm argument so that the open can specify the mode rather than having to use umask to cause the mode to be set properly. In daemon/auth.c, no longer set umask to 022 immediately before calling "goto try_user_add_again" since the umask is reset to 077 right after the goto label. Patch by Peter Baumann . Partially fixes bug #305931. 2007-04-24 Brian Cameron * common/Makefile.am: Fix so libgdmcommon.a is referenced without full path. Fixes bug #432831. Patch by Saleem Abdulrasool . 2007-04-24 Brian Cameron * daemon/filecheck.c, gui/gdmuser.c: Fix include order to correct compile issues on some platforms where uid_t isn't found. Patch by Jens Granseuer . Fixes bug #432686. 2007-04-23 Brian Cameron * Release 2.19.0: * configure.ac: Updated to new version number. * NEWS: Updated. * gui/gdmflexiserver.c: Fix compile errors from 04/20 change. * daemon/Makefile.am: Add daemon/gdm-daemon-config-keys.h and daemon/socket-protocol.h to gdm_binary_SOURCES. * utils/Makefile.am: Remove generated files gdm-stop, gdm-restart, and gdm-safe-restart in DISTCLEANFILES. 2007-04-20 William Jon McCann * daemon/gdm.c: (handle_flexi_server), (handle_dynamic_server), (sup_handle_flexi_xserver), (sup_handle_flexi_xnest), (sup_handle_set_logout_action), (sup_handle_set_safe_logout_action), (sup_handle_query_vt), (sup_handle_set_vt): Fix detection of user specified in flexi command. * gui/gdmflexiserver.c: (get_cur_vt), (change_vt), (maybe_lock_screen): Fix a double free. 2007-04-20 William Jon McCann * gui/gdmflexiserver.c: (maybe_lock_screen), (main): Properly initialize gtk. Fixes #431044 2007-04-20 William Jon McCann * Makefile.am: * configure.ac: * gdm-restart.in: * gdm-safe-restart.in: * gdm-stop.in: * gdm.spec.in: * gdmsetup-pam: * gdmsetup-security.in: * utils/Makefile.am: * utils/gdm-restart.in: * utils/gdm-safe-restart.in: * utils/gdm-stop.in: Fixes the pid file handling in the gdm-restart/stop/safe-restart scripts. Moves the scripts to the utils subdir. Moves the gdmsetup stuff from toplevel to utils subdir. Removes gdm.spec. Fixes #431462 2007-04-19 Brian Cameron * configure.ac, acconfig.h, daemon/gdm.c, daemon/gdm-daemon-config-entries.h, daemon/gdm-daemon-config-keys.h, gui/Makefile.am, gui/gdmlogin.c, gui/greeter/Makefile.am, gui/greeter/greeter.c, gui/greeter/greeter_system.c, config/Makefile.am, config/gdm.conf.in: Add RBAC support and allow more configuration on how the System Commands are handled. This includes adding the SystemCommandsInMenu option to specify which commands show up in the greeter menu and the AllowLogoutActions to specify which system commands are supported via the QUERY_LOGOUT_ACTION, SET_LOGOUT_ACTION, and SET_SAFE_LOGOUT_ACTION gdmflexiserver commands. Also add the RBACSystemCommandKeys option so that RBAC can be configured in a generic way for each system command. The configure.ac script sets up this key properly for Solaris. This fixes bug #372738. Note that the gdmflexiserver QUERY_LOGOUT_ACTION, SET_LOGOUT_ACTION, and SET_SAFE_LOGOUT_ACTION were broken after William Jon McCann's config cleanup, so I fixed this. * daemon/gdm-net.c: Fix includes so glib includes are after system includes. 2007-04-17 William Jon McCann * daemon/gdm-xdmcp-manager.c: * daemon/gdm-xdmcp-manager.h: Fix some includes issues from bug #376010. 2007-04-17 William Jon McCann * daemon/verify-crypt.c: (gdm_verify_user), (gdm_verify_setup_user), (gdm_verify_setup_env): * daemon/verify-pam.c: (audit_fail_login), (gdm_verify_user), (gdm_verify_setup_user), (gdm_verify_setup_env): * daemon/verify-shadow.c: (gdm_verify_user), (gdm_verify_setup_user): Fix verify backends for VE patch from bug #355425. 2007-04-16 William Jon McCann * common/gdm-common-config.c: (gdm_common_config_parse_key_string), (gdm_common_config_get_int), (gdm_common_config_get_translated_string), (gdm_common_config_get_string), (gdm_common_config_get_boolean): * common/gdm-common-config.h: Return FALSE if no default is given in the key and key doesn't exist in the file. * daemon/gdm-daemon-config.c: (gdm_daemon_config_get_value_int_per_display), (gdm_daemon_config_get_value_bool_per_display), (gdm_daemon_config_get_value_string_per_display), (gdm_daemon_config_key_to_string_per_display), (gdm_daemon_config_key_to_string), (gdm_daemon_config_to_string): * daemon/gdm-daemon-config.h: Fix handling of per display keys. * daemon/gdm-xdmcp-manager.c: (gdm_xdmcp_manager_set_willing_script), (gdm_xdmcp_manager_set_property), (gdm_xdmcp_manager_get_property): Fix missing property. * daemon/gdm.c: (gdm_start_first_unborn_local), (gdm_final_cleanup), (custom_cmd_no_restart), (gdm_cleanup_children), (mainloop_sig_callback), (main), (gdm_handle_message), (handle_flexi_server), (sup_handle_auth_local), (sup_handle_attached_servers), (sup_handle_get_server_details), (sup_handle_flexi_xserver), (sup_handle_flexi_xnest), (sup_handle_get_config), (sup_handle_query_logout_action), (sup_handle_query_custom_cmd_labels), (sup_handle_all_servers), (sup_handle_get_server_list), (sup_handle_get_custom_config_file), (sup_handle_greeterpids), (sup_handle_query_custom_cmd_no_restart_status), (sup_handle_set_logout_action), (sup_handle_set_safe_logout_action), (sup_handle_query_vt), (sup_handle_set_vt), (gdm_handle_user_message): Break up the monolithic gdm_handle_user_message function so it can be read more easily. * daemon/slave.c: (check_for_interruption): * daemon/verify-pam.c: (gdm_verify_user), (gdm_verify_setup_user): Update for changed daemon_config arguments. 2007-04-16 William Jon McCann * daemon/Makefile.am: * daemon/auth.c: (gdm_auth_secure_display): * daemon/choose.c: * daemon/choose.h: * daemon/cookie.c: (gdm_cookie_generate): * daemon/cookie.h: * daemon/display.c: (gdm_display_manage), (count_session_limits): * daemon/gdm-daemon-config-entries.h: * daemon/gdm-xdmcp-manager.c: * daemon/gdm-xdmcp-manager.h: * daemon/gdm.c: (gdm_make_global_cookie), (main): * daemon/server.c: * daemon/slave.c: * daemon/xdmcp.c: (gdm_xdmcp_init), (gdm_xdmcp_run), (gdm_xdmcp_close), (gdm_xdmcp_migrate): * daemon/xdmcp.h: Turn XDMCP handling into an object. From bug #376010. 2007-04-13 Brian Cameron * configure.ac, config/Makefile.am: Set LogDir by default to /var/log/gdm and add configure --with-log-dir option so this can be easily configured. * gui/modules/AccessDwellMouseEvents.in, gui/modules/AccessKeyMouseEvents.in: Improve comments and make GOK key binding a bit less painful to enter. 2007-04-12 Brian Cameron * daemon/verify-pam.c, daemon/verify-shadow.c, daemon/verify-crypt.c, daemon/verify.h, daemon/slave.c: Fix for bug #428630. This was introduced by Ludwig Nussel when he rewrote the way the PAM logic works. If you call gdm_verify_user with a userid, then it will allow you to retry 3 times without asking for password again to better support the Face Browser. However, when we ask for root password for the configurator, we don't want this behavior. This patch fixes this. * slave.c: Fix for bug #427022. The greeter was hanging when the Face Browser was turned on because we must use the socket to send face browser information before using the sockets for other purposes. * daemon/gdm-daemon-config.c, common/gdm-config.c: Fix g_debug call so we don't pass in a NULL string, which causes a SEGV on Solaris. * gui/gdmlangugaes.[ch]: Fix so that functions that don't return any useful information are now void, and remove meaningless debug from gdm_lang_op_always_restart. 2007-04-11 Lukasz Zalewski * gui/gdmsetup.c: Added missing handler for AlwaysLoginCurrentSession in General tab. 2007-04-11 Brian Cameron * configure.ac: Minor change to ensure that XnestUnscaledFontPath is always set even if no Xnest command is found. 2007-04-10 William Jon McCann * common/gdm-config.c: (gdm_config_value_get_string_array): * common/gdm-config.h: * daemon/gdm-daemon-config.c: (gdm_daemon_config_get_value_string_array): * daemon/gdm-daemon-config.h: * daemon/gdm.c: (deal_with_x_crashes), (try_command), (try_commands), (suspend_machine), (halt_machine), (restart_machine), (custom_cmd_restart), (custom_cmd_no_restart), (gdm_cleanup_children), (create_connections), (gdm_handle_user_message): Fix reboot and halt command handling. Add ability to get string array values from config. 2007-04-10 William Jon McCann * gui/gdmchooser.c (gdm_chooser_gui_init): Add missing '/' between path and filename. 2007-04-10 William Jon McCann * common/gdm-common-config.c: (gdm_common_config_parse_key_string), (gdm_common_config_get_int), (gdm_common_config_get_translated_string), (gdm_common_config_get_string), (gdm_common_config_get_string_list), (gdm_common_config_get_boolean), (gdm_common_config_set_string), (gdm_common_config_set_boolean), (gdm_common_config_set_int), (gdm_common_config_remove_key): * common/gdm-common-config.h: * common/gdm-config.c: (gdm_config_value_free), (gdm_config_value_copy), (gdm_config_value_get_locale_string), (safe_strcmp), (gdm_config_value_compare), (gdm_config_value_new_from_string), (gdm_config_value_set_locale_string_array), (gdm_config_value_set_locale_string), (gdm_config_value_to_string), (key_file_get_value), (internal_set_value): * common/gdm-config.h: * common/test-config.c: (type_to_name), (test_config): * daemon/gdm-daemon-config-entries.h: * daemon/gdm-daemon-config.c: (gdm_daemon_config_get_value_int), (gdm_daemon_config_get_value_string), (gdm_daemon_config_get_value_bool), (gdm_daemon_config_key_to_string), (gdm_daemon_config_to_string), (gdm_daemon_config_set_value_string), (gdm_daemon_config_set_value_bool), (gdm_daemon_config_set_value_int), (gdm_daemon_config_update_key), (gdm_daemon_config_is_valid_key): * gui/gdmsetup.c: (greeter_entry_untranslate_timeout): Handle locale strings a bit better. 2007-04-06 Brian Cameron * gui/gdmsetup.glade: Fix some additional spelling issues raised in bug #423158. 2007-04-06 Lukasz Zalewski * daemon/gdm.c, daemon/slave.c: * gui/gdmlogin.c, gui/gdmsetup.c: * gui/greeter/greeter.c, gui/greeter/greeter_item.c: * gui/greeter/greeter_parser.c, gui/greeter/greeter_system.c: Changes to some strings related to custom commands stuff such that they are not marked for translation. Fixes some issues raised in bug #423158 2007-04-09 Brian Cameron * gui/gdmlanguages.[ch], gui/greeter/greeter_item_customlist.c: Fix language restart dialog so it works properly with the gdmgreeter language combo/list style selection, not just with the language dialog that pops up from the menu. 2007-04-09 Brian Cameron * gui/gdmlanguages.c: When the user changes language, GDM pops up a dialog asking if the user wants to restart GDM. If the user picks "No", the new language should still be applied for when the session starts. This patch fixes this. 2007-04-09 Brian Cameron * gui/gdmflexiserver.c: Mark error strings for translation. 2007-04-09 Brian Cameron * gui/gdmflexiserver.c: Slightly better fix that causes gdmflexiserver to display the dialog GUI when not using --command, and display a text error when using --command. 2007-04-09 Brian Cameron * gui/gdmflexiserver.c: Report an error message when the gdmcomm_check test fails. 2007-04-06 William Jon McCann * daemon/slave.c: (gdm_slave_greeter): Remove duplicate code from bad svn merge. From #427022 2007-04-06 Brian Cameron * daemon/gdm.in: Fix script so it works with Solaris /bin/sh. 2007-04-06 Brian Cameron * config/CDE.desktop.in: Change name of CDE to "Common Desktop Environment (CDE)". 2007-04-06 Brian Cameron * gui/gdmcomm.c: Fix messages so that they don't imply that Xnest is the nested X server program, since it may be Xephyr, or another program. 2007-04-06 Brian Cameron * gui/gdmcommon.[ch], gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: Usernames with non-utf8 characters were causing GDM GUI to crash when it tried to display in the face browser. This patch fixes so non-utf8 characters display as '?'. Fixes bug #426647. Patch by Ray Strode . 2007-04-05 Brian Cameron * daemon/gdm.c: Return correct value when GET_CONFIG_FILE is asked for. Previously the value was NULL when using the compiled in default. * gui/gdmcomm.c: Make the message a bit nicer when GDM slave notices GDM daemon isn't running. 2007-04-05 Lukasz Zalewski * gui/gdmsetup.glade, gui/gdmsetup.c: Added a "Themed with face browser" option to the Local/Remote Style ComboBox and updated the documentation. Fixes bug #423300 * gui/gdmsetup.glade: Changed the spacing between elements in the General tab as an aftermath of bug #403242. Also fixes some of the issues found in bug #423158. 2007-04-05 Brian Cameron * daemon/xdmcp.c: Fix compile for Solaris. 2007-04-04 William Jon McCann * common/test-log.c: (test_log), (main): Add file. 2007-04-04 William Jon McCann * common/gdm-log.c: (gdm_log_init): * daemon/misc.h: Fix building on Solaris. 2007-04-04 William Jon McCann * daemon/gdm-socket-protocol.h: Oops add file missing from last commit. 2007-04-02 William Jon McCann * common/Makefile.am: * common/gdm-common.c: (v4_v4_equal), (v6_v6_equal), (gdm_address_equal), (gdm_address_is_loopback), (gdm_address_get_info): * common/gdm-common.h: * common/gdm-config.c: (gdm_config_peek_value), (gdm_config_get_value), (gdm_config_peek_value_for_id), (gdm_config_peek_string_for_id), (gdm_config_get_string_for_id), (gdm_config_get_int_for_id), (gdm_config_set_int_for_id): * common/gdm-config.h: * common/gdm-log.c: (log_level_to_priority_and_prefix), (gdm_log_default_handler), (gdm_log_set_debug), (gdm_log_init), (gdm_log_shutdown): * common/gdm-log.h: * configure.ac: * daemon/Makefile.am: * daemon/auth.c: (add_auth_entry), (add_auth_entry_for_addr), (get_local_auths), (gdm_auth_user_add), (gdm_auth_set_local_auth), (gdm_auth_free_auth_list): * daemon/choose.c: (get_first_address_for_node), (gdm_choose_data), (gdm_choose_indirect_alloc), (gdm_choose_indirect_dispose_empty_id), (gdm_choose_indirect_lookup_by_chosen), (gdm_choose_indirect_lookup), (gdm_choose_indirect_dispose): * daemon/choose.h: * daemon/cookie.c: * daemon/cookie.h: * daemon/display.c: (gdm_display_manage), (count_session_limits), (gdm_display_dispose), (gdm_display_lookup): * daemon/display.h: * daemon/errorgui.c: (setup_dialog), (gdm_errorgui_error_box_full), (gdm_errorgui_error_box), (gdm_errorgui_failsafe_question), (gdm_errorgui_failsafe_yesno), (gdm_errorgui_failsafe_ask_buttons): * daemon/errorgui.h: * daemon/filecheck.c: (gdm_file_check), (gdm_auth_file_check): * daemon/gdm-daemon-config.c: (gdm_daemon_config_get_display_list), (gdm_daemon_config_display_list_append), (gdm_daemon_config_display_list_insert), (gdm_daemon_config_display_list_remove), (gdm_daemon_config_get_bool_for_id), (gdm_daemon_config_get_int_for_id), (gdm_daemon_config_get_string_for_id), (handle_no_displays), (gdm_daemon_config_parse): * daemon/gdm-daemon-config.h: * daemon/gdm-net.c: * daemon/gdm-net.h: * daemon/gdm.c: (mark_display_exists), (gdm_daemonify), (gdm_start_first_unborn_local), (gdm_final_cleanup), (deal_with_x_crashes), (gdm_safe_restart), (gdm_try_logout_action), (main), (order_exists), (get_new_order), (gdm_handle_message), (find_display), (handle_flexi_server), (handle_dynamic_server), (gdm_handle_user_message): * daemon/gdm.h: * daemon/gdmconsolekit.c: (get_path_array_from_iter): * daemon/gdmconsolekit.h: * daemon/md5.h: * daemon/misc.c: (gdm_clearenv_no_lang), (gdm_get_free_display), (gdm_exec_wait), (gdm_fork_extra), (gdm_wait_for_extra), (gdm_address_peek_local_list), (gdm_address_is_local), (fillout_addrinfo), (gdm_gethostbyname), (gdm_gethostbyaddr), (gdm_hostent_copy): * daemon/misc.h: * daemon/server.c: (gdm_exec_fbconsole), (gdm_server_spawn): * daemon/server.h: * daemon/slave.c: (get_runlevel), (gdm_slave_start), (focus_first_x_window), (run_config), (play_login_sound), (gdm_slave_greeter), (send_chosen_host), (gdm_slave_chooser), (session_child_run), (gdm_slave_session_start), (gdm_slave_session_stop), (check_for_interruption), (gdm_child_exit), (gdm_slave_exec_script), (gdm_parse_enriched_login), (gdm_is_user_valid): * daemon/slave.h: * daemon/verify-crypt.c: (gdm_verify_user), (gdm_verify_setup_user): * daemon/verify-pam.c: (gdm_verify_pam_conv), (gdm_verify_standalone_pam_conv), (gdm_verify_user), (gdm_verify_setup_user), (gdm_verify_cleanup), (gdm_verify_check): * daemon/verify-shadow.c: (gdm_verify_user), (gdm_verify_setup_user): * daemon/verify.h: * daemon/xdmcp.c: (gdm_xdmcp_displays_from_host), (gdm_xdmcp_display_lookup_by_host), (ai_family_str), (ai_type_str), (ai_protocol_str), (ai_flags_str), (debug_addrinfo), (gdm_xdmcp_create_socket), (gdm_xdmcp_bind), (gdm_xdmcp_init), (gdm_xdmcp_run), (gdm_xdmcp_close), (gdm_xdmcp_decode_packet), (gdm_xdmcp_handle_query), (set_port_for_request), (set_address_for_request), (gdm_xdmcp_send_forward_query), (gdm_forward_query_alloc), (gdm_forward_query_lookup), (gdm_forward_query_dispose), (create_sa_from_request), (gdm_xdmcp_handle_forward_query), (gdm_xdmcp_send_willing), (gdm_xdmcp_send_unwilling), (gdm_xdmcp_really_send_managed_forward), (managed_forward_handler), (gdm_xdmcp_send_managed_forward), (gdm_xdmcp_send_got_managed_forward), (gdm_xdmcp_handle_request), (gdm_xdmcp_send_accept), (gdm_xdmcp_send_decline), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward), (gdm_xdmcp_whack_queued_managed_forwards), (gdm_xdmcp_handle_got_managed_forward), (gdm_xdmcp_send_refuse), (gdm_xdmcp_send_failed), (gdm_xdmcp_handle_keepalive), (gdm_xdmcp_send_alive), (gdm_xdmcp_host_allow), (gdm_xdmcp_display_alloc), (gdm_xdmcp_display_lookup), (gdm_xdmcp_display_dispose_check), (gdm_xdmcp_displays_check), (gdm_xdmcp_recount_sessions): * daemon/xdmcp.h: * gui/Makefile.am: * gui/gdmXnestchooser.c: * gui/gdmchooser.c: (gdm_chooser_host_alloc), (gdm_chooser_cancel), (gdm_chooser_manage), (gdm_read_config), (gdm_reread_config), (main): * gui/gdmcomm.c: (do_command), (gdmcomm_call_gdm_real): * gui/gdmcommon.c: (gdm_common_log_init), (gdm_common_log_set_debug), (gdm_common_fail_exit), (gdm_common_fail_greeter), (gdm_common_info), (gdm_common_error), (gdm_common_warning), (gdm_common_debug), (gdm_common_expand_text): * gui/gdmcommon.h: * gui/gdmconfig.c: * gui/gdmdynamic.c: (main): * gui/gdmflexiserver.c: (main): * gui/gdmlanguages.c: * gui/gdmlogin.c: (gdm_login_restart_handler), (gdm_login_halt_handler), (gdm_login_use_chooser_handler), (gdm_read_config), (gdm_reread_config), (main): * gui/gdmsession.c: * gui/gdmsetup.c: * gui/gdmuser.c: * gui/gdmwm.c: * gui/greeter/greeter.c: (gdm_read_config), (greeter_reread_config), (main): * gui/greeter/greeter_item_customlist.c: * gui/greeter/greeter_item_pam.c: * gui/greeter/greeter_item_timed.c: * gui/greeter/greeter_item_ulist.c: * gui/greeter/greeter_parser.c: (parse_show): * gui/greeter/greeter_system.c: (query_greeter_restart_handler), (query_greeter_halt_handler), (greeter_restart_handler), (greeter_halt_handler), (greeter_chooser_handler): Use fewer global variables. Separate monolithic gdm.h into component parts. Use the Glib message logging API to write to syslog. Cleans up the ipv4/6 handling in the daemon to use a common code patch and be mostly AF- independent. Add a few convenience functions to gdm-config for get/set by ID. Patch from bug #376010 2007-04-02 Brian Cameron * configure.ac, gui/Makefile.am, gui/gdmflexiserver-xnest.desktop.in.in: Now specify TryExec based on actual Nested Xserver command used. * gui/gdmflexiserver-xnest.desktop.in: Remove, now generated from in.in file. 2007-04-02 Brian Cameron * gui/gdmsetup.c: Only show tar and compressed tar files in file chooser for selecting gdmgreeter themes to install. Fixes bug #422297. Patch by Kristof Vansant . 2007-04-02 Brian Cameron * gui/gdmlanguages.c: Remove needless include. 2007-04-02 Brian Cameron * gui/gdmchooser.glade, gui/gdmsetup.glade, gui/gdmsetup.c: Remove gnome glade, since it is not used anymore. Fixes bug #424696. Patch by Kristof Vansant . 2007-04-02 Brian Cameron * gui/gdmlanguages.c: Fix strcpy so source and destination do not overlap. Fixes bug #424299. Patch by Ray Strode . 2007-04-02 Brian Cameron * daemon/gdm.h, daemon/slave.c, daemon/misc.c, gui/gdmlogin.c, gui/gdmlanguages.[ch], gui/greeter/Makefile.am, gui/greeter/greeter_item_customlist.[ch], gui/greeter/greeter_parser.c: Now support the ability to change the language on the fly. Enhancement request #108820. Patch by Takao Fujiwara . * gui/greeter/greeter_action_language.[ch]: Deleted - code now merged into gui/gdmlanguages.[ch]. * AUTHORS: Updated. 2007-03-27 William Jon McCann * acinclude.m4: * configure.ac: Make sure that we expand the LOCALSTATEDIR before using it to find the PID file location. For #162849. 2007-03-27 Brian Cameron * gui/greeter_greeter_item_ulist.c: In greeter_generate_userlist pass in the value for info rather than getting the value again. 2007-03-27 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_item.c, gui/greeter/greeter.c gui/greeter_greeter_item_ulist.c, gui/greeter/greeter_system.c: Fix gdmlogin and gdmgreeter so the "Configure GDM" menu choice is not available when accessibility is turned on since running it causes the system to hang. Also fix gdmgreeter so the Face Browser is not displayed when Browser=false. 2007-03-27 Brian Cameron * daemon/verify-pam.c: Fix some Solaris specific code to call the new gdm_daemon_config_get_gdmuid and gdm_daemon_config_get_gdmgid functions. 2007-03-27 Brian Cameron * gui/greeter/greeter_item_pam.c: Partially fix #412576 by adding ATK label for the entry field. Patch provided by David Zeuthen . 2007-03-27 Brian Cameron * gui/gdmsetup.glade, daemon/gdm.c: Fix some messages. Partially fixes bug #423158. 2007-03-r7 Brian Cameron * gui/greeter/greeter_item_customlist.c: Fix check so the language combo style works. Fixes bug #423063. Patch provided by Simon . 2007-03-26 William Jon McCann * configure.ac: * daemon/gdm-daemon-config-entries.h: * daemon/gdm-daemon-config-keys.h: * daemon/gdm-daemon-config.c: (gdm_daemon_config_to_string): * daemon/slave.c: (gdm_slave_start): * gui/gdmsetup.c: (setup_general_tab): * gui/gdmsetup.glade: Remove the AlwaysRestartServer configuration option. Fixes part of #326771 2007-03-26 William Jon McCann * config/gdm.conf.in: * configure.ac: * daemon/gdm-daemon-config-entries.h: * daemon/gdm-daemon-config-keys.h: * daemon/gdm-daemon-config.c: (gdm_daemon_config_to_string), (check_servauthdir), (handle_no_displays), (gdm_daemon_change_user), (gdm_daemon_check_permissions): * daemon/gdm.c: (gdm_daemonify), (gdm_final_cleanup), (main): * gui/gdmXnestchooser.c: (main): * gui/gdmcomm.c: (gdmcomm_check): * gui/gdmlogin.c: (gdm_read_config): * gui/greeter/greeter.c: (gdm_read_config): Remove the PidFile configuration option. Fixes #162849 2007-03-26 William Jon McCann * daemon/gdm-daemon-config.c: Update some docs. * vicious-extensions/: remove external dependency 2007-03-26 William Jon McCann * common/Makefile.am: * common/gdm-common-config.c: (gdm_common_config_load_from_dirs), (gdm_common_config_get_string), (gdm_common_config_get_string_list): * common/gdm-common-config.h: * common/gdm-common.c: (ve_locale_to_utf8), (ve_locale_from_utf8), (ve_locale_exists): * common/gdm-common.h: * common/gdm-config.c: (gdm_config_error_quark), (gdm_config_entry_copy), (gdm_config_entry_free), (gdm_config_value_new), (gdm_config_value_free), (set_string), (set_string_array), (gdm_config_value_copy), (gdm_config_value_get_string), (gdm_config_value_get_bool), (gdm_config_value_get_int), (gdm_config_value_compare), (gdm_config_value_new_from_string), (gdm_config_value_set_string_array), (gdm_config_value_set_int), (gdm_config_value_set_bool), (gdm_config_value_set_string), (gdm_config_value_to_string), (gdm_config_init), (gdm_config_new), (gdm_config_free), (gdm_config_lookup_entry), (gdm_config_lookup_entry_for_id), (gdm_config_add_entry), (gdm_config_add_static_entries), (gdm_config_set_validate_func), (gdm_config_set_mandatory_file), (gdm_config_set_default_file), (gdm_config_set_custom_file), (gdm_config_set_notify_func), (key_file_get_value), (entry_get_default_value), (load_value_entry), (lookup_id_for_key), (internal_set_value), (store_entry_value), (load_entry), (add_keys_to_hash), (collect_hash_keys), (gdm_config_get_keys_for_group), (load_backend), (gdm_config_load), (process_entries), (gdm_config_process_entry), (gdm_config_process_entries), (gdm_config_process_all), (gdm_config_get_value), (gdm_config_set_value), (gdm_config_get_value_for_id), (gdm_config_set_value_for_id), (gdm_config_get_string_for_id), (gdm_config_get_bool_for_id), (gdm_config_set_string_for_id), (gdm_config_set_bool_for_id): * common/gdm-config.h: * common/test-config.c: (source_to_name), (type_to_name), (notify_cb), (validate_cb), (load_servers_group), (test_config), (main): * daemon/Makefile.am: * daemon/auth.c: (gdm_auth_secure_display), (get_local_auths), (gdm_auth_user_add), (gdm_auth_user_remove): * daemon/choose.c: (gdm_choose_data), (gdm_choose_indirect_lookup): * daemon/cookie.c: * daemon/display.c: (whack_old_slave), (gdm_display_manage): * daemon/errorgui.c: (setup_dialog): * daemon/filecheck.c: (gdm_file_check), (gdm_auth_file_check): * daemon/gdm-daemon-config-entries.h: * daemon/gdm-daemon-config-keys.h: * daemon/gdm-daemon-config.c: (gdm_daemon_config_get_per_display_custom_config_file), (gdm_daemon_config_get_custom_config_file), (gdm_daemon_config_get_value_int), (gdm_daemon_config_get_value_string), (gdm_daemon_config_get_value_bool), (gdm_daemon_config_get_value_int_per_display), (gdm_daemon_config_get_value_bool_per_display), (gdm_daemon_config_get_value_string_per_display), (gdm_daemon_config_key_to_string_per_display), (gdm_daemon_config_key_to_string), (gdm_daemon_config_to_string), (gdm_daemon_config_compare_displays), (lookup_notify_key), (notify_displays_value), (gdm_daemon_config_set_value_string), (gdm_daemon_config_set_value_bool), (gdm_daemon_config_set_value_int), (gdm_daemon_config_find_xserver), (gdm_daemon_config_get_xservers), (gdm_daemon_config_load_xserver), (gdm_daemon_config_unload_xservers), (gdm_daemon_config_ensure_one_xserver), (load_xservers_group), (gdm_daemon_config_load_xservers), (gdm_daemon_config_update_key), (check_logdir), (check_servauthdir), (have_display_for_number), (gdm_daemon_config_load_displays), (validate_path), (validate_root_path), (validate_base_xsession), (validate_power_action), (validate_standard_xserver), (validate_graphical_theme_dir), (validate_graphical_theme), (validate_greeter), (validate_remote_greeter), (validate_session_desktop_dir), (validate_password_required), (validate_allow_remote_root), (validate_xdmcp), (validate_at_least_int), (validate_cb), (source_to_name), (notify_cb), (handle_no_displays), (gdm_daemon_change_user), (gdm_daemon_check_permissions), (gdm_daemon_config_parse), (gdm_daemon_config_get_gdmuid), (gdm_daemon_config_get_gdmgid), (gdm_daemon_config_get_high_display_num), (gdm_daemon_config_set_high_display_num), (gdm_daemon_config_is_valid_key), (gdm_daemon_config_signal_terminthup_was_notified), (check_user_file), (gdm_daemon_config_get_facefile_from_home), (gdm_daemon_config_get_facefile_from_global), (is_prog_in_path), (gdm_daemon_config_get_session_exec), (gdm_daemon_config_set_user_session_lang), (gdm_daemon_config_get_user_session_lang): * daemon/gdm-daemon-config.h: * daemon/gdm-net.c: * daemon/gdm.c: (gdm_daemonify), (gdm_final_cleanup), (deal_with_x_crashes), (suspend_machine), (halt_machine), (restart_machine), (custom_cmd), (custom_cmd_restart), (custom_cmd_no_restart), (gdm_cleanup_children), (create_connections), (gdm_make_global_cookie), (main), (write_x_servers), (gdm_handle_message), (handle_flexi_server), (handle_dynamic_server), (gdm_handle_user_message): * daemon/gdm.h: * daemon/gdmconfig.c: * daemon/gdmconfig.h: * daemon/getvt.c: (get_free_vt_linux), (get_free_vt_freebsd_dragonfly), (gdm_get_empty_vt_argument): * daemon/misc.c: (gdm_debug), (gdm_text_message_dialog), (gdm_text_yesno_dialog), (gdm_fork_extra): * daemon/server.c: (display_parent_no_connect), (display_busy), (display_vt), (do_server_wait), (gdm_server_start), (rotate_logs), (gdm_server_resolve), (gdm_server_resolve_command_line), (gdm_server_spawn), (get_font_path): * daemon/slave.c: (gdm_slave_start), (setup_automatic_session), (gdm_screen_init), (gdm_slave_check_user_wants_to_log_in), (gdm_slave_run), (run_config), (play_login_sound), (gdm_slave_wait_for_login), (run_pictures), (copy_auth_file), (gdm_slave_greeter), (gdm_slave_send), (gdm_slave_send_string), (gdm_slave_chooser), (is_session_ok), (find_a_session), (session_child_run), (gdm_slave_session_start), (gdm_slave_session_stop), (gdm_slave_alrm_handler), (check_for_interruption), (create_temp_auth_file), (gdm_slave_exec_script), (gdm_parse_enriched_login), (gdm_slave_handle_notify): * daemon/verify-pam.c: (gdm_verify_user), (gdm_verify_setup_user), (gdm_verify_check): * daemon/xdmcp.c: (gdm_xdmcp_init), (gdm_xdmcp_handle_query), (gdm_xdmcp_handle_forward_query), (gdm_xdmcp_send_willing), (gdm_xdmcp_handle_request), (gdm_xdmcp_handle_manage), (gdm_xdmcp_display_alloc), (gdm_xdmcp_displays_check), (reconnect_to_parent): * gui/Makefile.am: * gui/gdmXnestchooser.c: * gui/gdmchooser.c: * gui/gdmcomm.c: * gui/gdmcommon.c: (ve_strftime): * gui/gdmcommon.h: * gui/gdmdynamic.c: * gui/gdmflexiserver.c: * gui/gdmlogin.c: * gui/gdmphotosetup.c: * gui/gdmsession.c: * gui/gdmsetup.c: (bool_equal), (toggle_timeout), (ve_rest), (combobox_timeout), (greeter_toggle_timeout), (get_archive_dir), (xserver_toggle_timeout): * gui/gdmuser.c: * gui/greeter/greeter.c: * gui/greeter/greeter_action_language.c: * gui/greeter/greeter_canvas_item.c: * gui/greeter/greeter_item.c: * gui/greeter/greeter_item_customlist.c: * gui/greeter/greeter_item_timed.c: * gui/greeter/greeter_item_ulist.c: * gui/greeter/greeter_parser.c: * gui/greeter/greeter_session.c: * gui/greeter/greeter_system.c: * gui/misc.c: (gdm_working_command_exists): Redesign the internal configuration system. Fixes #355425 2007-03-26 William Jon McCann * configure.ac: Enable more warnings when possible. 2007-03-23 Brian Cameron * daemon/gdm.c, daemon/verify-pam.c, daemon/misc.c: Use "#ifdef __sun" instead of "#ifdef sun". 2007-03-23 Brian Cameron * daemon/gdm.[ch], daemon/auth.c, daemon/server.c, daemon/slave.c: Change wording from Xnest to "nested Xserver" or "nested display". 2007-03-21 Brian Cameron * daemon/slave.c: Remove the logic to call whack_clients when closing the session. This code was written to address bug 126071, to ensure that all clients are killed on session exit. However, this approach doesn't work well and causes GDM to fail badly when you kill the Xserver via control-alt-backspace on some environements. It would be better to kill all clients by looping through the slave daemons process tree and killing them rather than using XKillClient, which only kills client programs that are attached to the Xserver. This fixes bug #419301. Patch provided by Cesare Tirabassi . 2007-03-21 Brian Cameron * gui/gdmphotosetup.desktop.in: Change Category to GNOME;GTK;Settings. Fixes bug #417350. 2007-03-21 William Jon McCann * common/Makefile.am: * common/gdm-common-config.c: (gdm_common_config_parse_key_string), (gdm_common_config_load), (gdm_common_config_save), (gdm_common_config_get_int), (gdm_common_config_get_translated_string), (gdm_common_config_get_string), (gdm_common_config_get_boolean), (gdm_common_config_set_string), (gdm_common_config_set_boolean), (gdm_common_config_set_int), (gdm_common_config_remove_key): * common/gdm-common-config.h: * common/gdm-common.c: (ve_clearenv), (ve_first_word), (ve_first_word_executable), (ve_get_first_working_command), (ve_rest), (ve_bool_equal), (ve_is_string_in_list), (ve_is_string_in_list_case_no_locale), (ve_find_file_simple), (ve_locale_to_utf8), (ve_locale_from_utf8), (ve_filename_to_utf8), (ve_filename_from_utf8), (ve_strftime), (ve_waitpid_no_signal), (ve_locale_exists), (ve_find_prog_in_path), (ve_is_prog_in_path), (ve_shell_quote_filename): * common/gdm-common.h: * common/ve-signal.c: (ve_signal_prepare), (ve_signal_check), (ve_signal_dispatch), (ve_signal_add), (ve_signal_add_full), (ve_signal_notify), (ve_signal_was_notified), (ve_signal_unnotify): * common/ve-signal.h: Added new files missed from commit for #355425 2007-03-20 Brian Cameron * gui/gdmsetup.desktop.in.in, gui/gdmphotoseutp.desktop.in: Change to category "GNOME;GTK;Settings;System;". Fixes bug #417350. 2007-03-20 Brian Cameron * configure.ac: Bump to 2.19.0. 2007-03-20 Brian Cameron * configure.ac, gui/greeter/greeter_item.[ch], gui/greeter/greeter_parser.c: Add min-screen-height tag to parser so that certain elements in the theme will only display if the screen is large enough. Patch by Ray Strode. . Enhancement #420610. 2007-03-20 Brian Cameron * gui/gdmphotosetup.desktop.in: Add NotShowIn=GNOME; to gdmphotosetup.desktop.in since the About-Me capplet is used for configuring the user's face image in GNOME. 2007-03-20 Brian Cameron * configure.ac, autogen.sh, gui/gdmlanguages.c, gui/gdmconfig.h gui/gdmuser.c, gui/gdmwm.c, gui/gdmdynamic.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsession.c, gui/gdmXnestchooser.c, gui/greeter/greeter.c, gui/gdmcommon.c, gui/gdmcomm.c, gui/gdmflexiserver.c, gui/gdmsetup.c, gui/gdmchooser.c, gui/misc.c, gui/gdmmconfig.c, gui/Makefile.am gui/greeter/greeter_item_customlist.c, gui/greeter/greeter_canvas_item.c gui/greeter/greeter_parser.c, gui/greeter/greeter_item.c, gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_item_timed.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c, gui/greeter/greeter_item_pam.c, gui/greeter/Makefile.am, gui/greeter/themes/Makefile.am, common/gdm-common.[ch], common/gdm-common-config.[ch], common/ve-signal.[ch], common/Makefile.am, daemon/errorgui.c, daemon/gdmconfig.h, daemon/display.c, daemon/gdm.c, daemon/xdmcp.c, daemon/filecheck.c, daemon/verify-pam.c, daemon/getvt.c, daemon/auth.c, daemon/server.c, daemon/cookie.c, daemon/slave.c, daemon/server.h, daemon/misc.c, daemon/gdm-net.c, daemon/gdmconfig.c, daemon/Makefile.am: Phase 1 of removing vicious-extensions and replacing with a rewrite. Changes include: - Create a common directory to build libgdmcommon, used by the daemon and the GUI's. - Add a convenience layer over GKeyFile for dealing with compound keys. - Replace selected ve functions like ve_split - Remove glade_helper - Code improvements and leaks. Fix by William Jon McCann . Refer to bug #355425. 2007-03-20 Brian Cameron * config/Xsession.in, daemon/gdm.c, daemon/slave.c, gui/gdmlanguages.c: Normalize all LC_* settings to LANG and starts input methods (IIIM->XIM) and starts up XIM if available. Avoid calling setlocale() in gdmlanguages and sets locale in the daemon instead. Fixes bug #412997. Patches originally written by Hidetoshi Tajima aside from the gui/gdmlanguages.c modification by Chookij Vanatham . 2007-03-20 Brian Cameron * config/Init.in: Call xrdb -merge /etc/X11/Xresources in the Init script so that the GDM GUI is properly configured with xft resources. Fixes bug #301826. Patch by Ray Strode . * config/Xsession.in: Minor cleanup. 2007-03-13 Brian Cameron * acconfig.h, daemon/gdm.h: Remove X_XNEST_DISPLAY_ARG here also. * daemon/gdmconfig.c: Remove duplicate line. 2007-03-13 Brian Cameron * configure.ac, daemon/server.c, daemon/gdmconfig.c, config/gdm.conf.in, config/Makefile.am: Remove XnestDisplayArg configuration choice. In discussion with Alan Coopersmith from the Xserver team it should be fine to avoid using -display when calling Xnest/Xephyr all the time and just use the DISPLAY environment variable. Better to not add a configuration choice if it is not needed. 2007-03-13 Brian Cameron * config/gdm.conf.in: Update comment to show some example Xnest commands. 2007-03-13 Brian Cameron * configure.ac, daemon/Makefile.am: No longer link with dbus unless ConsoleKit is enabled. Patch by William Jon McCann . 2007-03-13 Brian Cameron * configure.ac, acconfig.h, daemon/Makefile.am, daemon/gdm.h daemon/server.c, daemon/gdmconfig.c, config/gdm.conf.in, config/Makefile.am: Add Xephyr support and fix problem with using Xsun Xnest with Xorg 7.2. Xsun doesn't like font path values that have the ":unscaled" suffix. This required adding two new configuration options XnestDisplayArg and XnestUnscaledFontPath so that the user can configure whether the Xnest command uses the -display argument or the DISPLAY environment variable, and to specify whether to strip the ":unscaled" bits from the fontpath. Modified configure so that if Xephyr is on the system, it is used as the Xnest program since it works better than Xnest. * daemon/gdmconfig.h: No longer set default values for the configuration choices here since default are set in daemon/gdm.h. * config/gdm.conf.in: Comment now says "true" for ConfigAvailable since this value has been defaulting to true for some time in daemon/gdm.h. So the comment was wrong. * acconfig.h, configure.ac, daemon/gdm.h, daemon/gdmconfig.c: Rework how ALWAYS_RESTART_SERVER is set to avoid using #ifdef. Also use AC_DEFINE for GDM_USER_PATH rather than passing it in as a -D argument to the compiler, so it works like the other config choices. 2007-03-12 Brian Cameron * Release 2.18.0: * configure.ac: Update to new release version. * NEWS: Updated. 2007-03-12 Brian Cameron * gui/gdmsetup.c: Fix definition of gdm_chooser_cancel so it is not static. With it being static, it caused the button to be non-functional so users could never exit the chooser window and return to the login screen without restarting X. Fixes bug #415513. 2007-03-12 Brian Cameron * gui/gdmsetup.desktop.in.in, gui/gdmphotoseutp.desktop.in, gui/gdmflexiserver.desktop.in, gui/gdmflexiserver-xnest.desktop.in: Remove "Application" and add "GNOME" and "GTK". In gdmsetup.desktop.in.in, the Exec line now also calls gdmsetup with the full path since this ensures the desktop file works if if /usr/sbin is not in the PATH. This fixes bug #417350. 2007-03-09 Brian Cameron * daemon/slave.c, gui/gdmsetup.c: Free leaked memory when calling g_strconcat. 2007-03-07 William Jon McCann * daemon/gdmconsolekit.c (open_ck_session): Update the CK parameter names. Fixes #415181. 2007-03-05 Brian Cameron * config/Makefile.am, config/gdm.conf-custom.in, config/gdm.conf.in: Now expand the GDM configuration files so that they point to the correct location of the file (if a non-default location is used). This required renaming gdm.conf-custom to gdm-conf-custom.in. I also reworded the comment secction so that the filenames are only mentioned once and further references are to "GDM System Defaults" and "GDM Custom Configuration" file since the filenames are configurable. Also fix the fact that @gdmlocaledir@ is not being expanded. Fixes bugs #414155 and #414175. Patches provided by Andreas Hanke . I also made the comments a bit more clear. Note these configuration files are not translated so modifying the comments in it does not break the freeze. * config/gdm.conf-custom: Removed. 2007-02-27 Brian Cameron * gui/modules/keymouselisttener.c, gui/modules/dwellmouselistener.c: Fix typo in comments. 2007-02-26 Brian Cameron * Release 2.17.8: * configure.ac: Update to new release version. * NEWS: Updated. * configure.ac: Add needed docs/en_GB/Makefile.am. 2007-02-26 Brian Cameron * gui/gdmchooser.c: Fix setting of PIPE_BUF to fix buf #409801 to fix Hurd support. 2007-02-26 Brian Cameron * gui/gdmlogin.c: Change Session mnemonic to "e" instead of "s" so it doesn't conflict with "Start Again" button. Fixes bug #409693. 2007-02-26 Brian Cameron * daemon/gdm.h: Change AlwaysLoginCurrentSession to true by default. Fixes bug #406226. 2007-02-26 Lukasz Zalewski * gdmsetup.glade: Changed vertical spacing between groups of checkboxes/radiobuttons in gdmsetup interface. Affected were: Local/Background checkboxes (spacing 3) Local/Behaviour checkboxes (spacing 3) Local/Menu checkboxes (spacing 0) Local/Welcome Message (spacing 3) Similar changes were made to the Remote tab to keep both greeter tabs in sync. Security/Security checkboxes (spacing 2) Security/Security Permissions (spacing 0) This fixes bug #403242 (keeps the gdmsetup interface contained within desktop space in 1024x768 with two 24 pixels panels) Also moved groups of checkboxes/radiobuttons to their own vbox containers such that changes in spacing between them does not affect overall alignment of different elements in the main vbox container 2007-02-20 Kjartan Maraas * Makefile.am: Dist MAINTAINERS 2007-02-15 Brian Cameron * config/PostSession.in: Remove call to sessionexit script since I need to do further research to make sure this is needed. 2007-02-14 Brian Cameron * gui/gdmdynamic.c: Fix comparison with string literal. Fix by Hans Petter Jansson . Fixes bug #407687. 2007-02-13 Brian Cameron * config/PostSession.in: Call sessionexit script if running on Solaris. * configure.ac, config/gnome.desktop.in.in: Now set Exec/TryExec to /usr/dt/config/Xsession.jds for Solaris. 2007-02-12 Brian Cameron * Release 2.17.7: * configure.ac: Update to new release version. * NEWS: Updated. 2007-02-09 Brian Cameron * daemon/display.c, dameon/gdm.[ch], daemon/server.c, daemon/slave.c: Add sockets command to start login procedure, to be used by gnome-screensaver and Fast User Switch applet. Fixes enhancement request #335786. Patch by Matthias Clasen . 2007-02-08 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c: Rework how the "Start Again" button is made sensitive/insensitive so it better works with PAM modules. Better to not make assumptions about whether PAM is asking for username/password. Patch by Ludwig Nussel . 2007-02-08 Brian Cameron * gdm-build.sh: Remove this old script for building GDM. Not used anymore. * autogen.sh: Change CVS references to SVN. 2007-02-06 Brian Cameron Fixes by Ludwig Nussel . * gui/gdmlogin.c: Do not set size request for Message and error label widgets so they grow if the message is too big. Do not initialize message label to "Please enter your username" since there is no reason to assume that the first PAM request will ask for username. Do not reselect user if chosen from face browser because now we manage this in daemon/verify-pam.c. * gui/greeter/greeter_item_ulist.[ch], gui/greeter/greeter.c: Do not reselect user if chosen from face browser because we now manage this in daemon/verify-pam.c * daemon/verify-pam.c: Fixes to support if there are multiple PAM modules with conversations. Remove the tmp_PAM_USER hack. Now display lastlog information after successful login. If a user in the face browser is selected, manage not asking for username again here (if 3 password failures in a row then unselect face browser). If a user is selected in the face browser, cancel all conversations in a pam_authenticate run. No longer try to be smart about the username prompt - if PAM asks for a username then also ask the username about it. 2007-02-05 Brian Cameron * gui/gdmlogin.c: Better fix for not showing the face browser if the userlist is empty. Now we add the model to the treeview and add entries to the model rather than building the model first. For some reason building the model first and adding it to the treeview was causing a selection "changed" signal to get sent which caused the interruption message to the slave process. Fix by Ludwig Nussel . 2007-02-05 William Jon McCann * daemon/gdmconsolekit.c: (add_param_int), (add_param_boolean), (add_param_string), (session_get_x11_display), (session_unlock), (get_path_array_from_iter), (get_sessions_for_user), (unlock_ck_session), (open_ck_session), (close_ck_session): Switch from using the dbus-glib bindings to the lower level API. It just wasn't working out... Fixes #400793 * daemon/slave.c: (gdm_slave_session_start): Move CK session close before post session scripts * gui/greeter/Makefile.am: Build fix 2007-01-31 Brian Cameron * gui/greeter/greeter_item_customlist.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_canvas_text.c, gui/greeter/greeter_session.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmconfig.[ch], daemon/xdmcp.c, daemon/verify-pam.c, daemon/server.c, daemon/gdmconfig.c, daemon/errorgui.c, daemon/misc.c: Fix warnings and fix an assertion in gdm because it called gdm_xdmcp_send_forward_query also for IPv6. Patch by Ludwig Nussel . : 2007-01-26 Brian Cameron * gui/gdmsetup.d, daemon/slave.c: Fix some trivial spelling errors. Patch by ash@contact.bg. Fixes bug #401656. 2007-01-26 Brian Cameron * gui/gdmsetup.c: Fix spelling of minimal. Fixes bug #400698. 2007-01-22 Brian Cameron * daemon/slave.c: Avoid catching sigchld when trying to call XOpenDisplay. This corrects an issue where GDM catches a second SIGCHLD when trying to restart. In this situation the slave freezes even though the Xserver and the session are killed. This causes the display to no longer manage itself. Patch by Roberto Tam . 2007-01-22 Brian Cameron * gui/gdmsetup.diff: Patch to fix c99 compiling. Patch by Jens Granseuer . Fixes bug #399486. 2007-01-21 Brian Cameron * Release 2.17.6: * configure.ac: Update to new release version. * NEWS: Updated. 2007-01-21 Lukasz Zalewski Fix for bug #352263 * gui/gdmsetup.c: Created more verbose warnings when defaults.conf or custom.conf are missing before terminating. Also all the error messages are displayed using dialogs rather than stdout. This is especially useful when gdmsetup is run from within login mamaner as it doesn't leave users wondering why it didnt start-up. Also check if gdm daemon is running is made before check for config files. In such setup appropriate message is displayed rather than config file not found. * daemon/gdmconfig.c: Daemon will not start if main configuration file (defaults.conf) is missing * daemon/slave.c: gdmsetup will not be launched if coustom.conf config file is missing 2007-01-22 Brian Cameron * gui/gdmsetup.desktop.in.in: Remove GenericName since the value is redundant with the Name value. Fixes bug #395790. 2007-01-08 Brian Cameron * gui/gdmsetup.c: Fixes so code will compile with c99 compilers. Fixes bug #394421. Patch provided by Jens Granseuer . 2007-01-07 Brian Cameron * Release 2.17.5: * configure.ac: Update to new release version. * NEWS: Updated. 2007-01-07 Brian Cameron * gui/gdmchooser.glade, gui/gdmsetup.glade: No longer hardcode invisible_char property in glade files, instead rely on GTK+ default. Patch by Vitaliy Ischenko . Fixes bug #393904. 2007-01-07 Brian Cameron * gui/gdmcommon.c: Remove filter_watch after it is called for the first time. This filter is used to start at_spi_registryd but after it is started there is no need to listen to the propery any more. Patch by Li Yuan . Fixes bug #393013. 2006-12-29 Lukasz Zalewski * gui/gdmsetup.c: Fixed minor bug which allowed users with uid lower than minimalUID to be added to the include list, by adding them to the include list (not applying the changes yet), changing the value of the minmalUID and then applying changes. Fixes bug #390147. * gui/gdmsetup.c: Fix some memory leaks. 2006-12-29 Brian Cameron * configure.ac, daemon/Makefile.am, daemon/misc.[ch], daemon/slave.c, daemon/verify-pam.c: Now GDM will recognize when the system language has changed and when new GUI's are displayed they will be in the new system language without neeting to restart GDM. By default the /var/sysconfig/i18n file is assumed to have the language defined in LANG=foo format. The --with-lang-file configure option may be needed to specify a different system language configuration file. On Solaris it would be /etc/default/init, for example. Note the change to verify-pam is done to flush the hash table of pam messages to useful translations. This change implements enhancement request #384603. Patch by Ray Strode and Takao Fujiwara . 2006-12-21 Lukasz Zalewski * More fixes/changes for bug/feature request #334186. * gui/gdmsetup.c: Fixed minor bug which resulted in a warning related to the incorrect config value being displayed when one of the custom command fields was toggled gui/gdmsetup.glade: Minor changes in the commands dialog. for each of the entry widgets added text explaining briefly its purpose (that is besides the tooltip) 2006-12-16 Brian Cameron * gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_system.c: Backout changes I didn't mean to apply with last change. This added icons to the Options menu, but some of the icons aren't showing up because gnome-settings-daemon isn't running. Want to figure this out before I commit. 2006-12-16 Lukasz Zalewski * gui/gdmsetup.c, gui/gdmsetup.glade: More fixes/changes for bug/feature request #334186. 2006-12-15 Brian Cameron * gui/greeter/greeter_item_ulist.c: Fix so we only hide userlist if there are no users and the userlist is actually turned on. 2006-12-15 Brian Cameron * daemon/errorgui.c: No longer close descriptors when starting dialog boxes because this causes the GUI to not display any text. 2006-12-15 Lukasz Zalewski * gui/gdmsetup.c, gui/gdmsetup.glade: More fixes/changes for bug/feature request #334186. 2006-12-14 Brian Cameron * daemon/gdm.c, daemon/gdmconfig.c, gui/gdmsetup.c, gui/gdmlogin.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_system.c: Fixes for compiling with gcc 2.95. Fixes bugs #385644 and #385650. Patch provided by Jens Granseuer . 2006-12-13 Brian Cameron * Release 2.17.4: * configure.ac: Update to new release version. * NEWS: Updated. 2006-12-10 Lukasz Zalewski * vicious-extension/ve-nongnome.c, gui/gdmsetup.c, gui/gdmsetup.glade, gui/greeter/greeter.c, gui/gdmlogin.c, gui/gdmchooser.c, gui/gdmsession.[ch], gui/gdmcommon.c, gui/greeter/greeter_canvas_item.c, gui/greeter_item_customlist.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_geometry.c: Additional fixes for bug/feature request #334186. Fixed some of the compiler warnings. 2006-12-08 Brian Cameron * gui/modules/AccessDwellMouseEvents.in, gui/modules/AccessKeyMouseEvents.in: Update the default commands so that they start orca instead of Gnopernicus. Note that you need Orca v2.17.4 or later to support running it with GDM. 2006-12-08 William Jon McCann * daemon/gdmconsolekit.c: (close_ck_session): * daemon/slave.c: (session_child_run), (gdm_slave_session_start): Don't set XDG_SESSION_COOKIE if we don't have a cookie. Fixes #383866 2006-12-08 Lukasz Zalewski * gui/gdmsetup.c, gui/gdmsetup.glade: Additional fixes for bug/feature request #334186 2006-12-07 Lukasz Zalewski Fixes bug/feature request #334186. Fixes bug #343206 Fixes bug #347101 * gui/gdmsession. [ch] (_gdm_session_list_init): Replaces functionality of gdm_session_list_init * gui/gdmsession. [ch] (gdm_session_list_init): Becomes a wrapper for _gdm_session_list_init, such that the old functionality within the code is still preserved but session data can be available through _gdm_session_list_init * gui/gdmsession.c : Removed gdmwm.h include * gui/gdmsession. [ch] (gdm_session_lookup): Removed all the gdm_wm_query_dialog calls making the function accessible without need for gdmwm libraries * gui/gdmsession. [ch] (gdm_set_save_session): Sets save session variable * gui/gdmsession. [ch] (gdm_get_default_session): Returns default session * gui/gdmlogin.c (process_operation): Added gdm_wm_query_dialog calls for processing lookup session results * gui/greeter/greeter.c (process_operation): Added gdm_wm_query_dialog calls for processing lookup session results * gui/gdmuser. [ch] (gdm_user_uid): Returns uid of a user, or -1 if user does not exist * gui/gdmuser. [ch] (get_root_user): Moved from gdmsetup.c * gui/gdmsetup.glade: New widgets and tooltips added * gui/gdmsetup.c: Numerous functions added/modifed to make way for new functionality * gui/gdmsetup.c (combobox_changed): Additional fix for bug #358114 2006-12-05 Brian Cameron * vicious-extensions/ve-miscui.c: Same fix for primary message. 2006-12-05 Brian Cameron * vicious-extensions/ve-miscui.c, gui/gdmchooser.c: Cleaner fix for same problem fixed in last commit. 2006-12-05 Brian Cameron * vicious-extensions/ve-miscui.c, gui/gdmchooser.c: Fix so that if the "%" key is entered in the input field in gdmchooser, the secondary message in the error dialog displays properly. Also fix ve-miscui.c so that if "%" exists in the secondary message, to not display it. Message must have "%%" to display the "%" character. This fixes CVE-2006-6105. 2006-12-04 Brian Cameron * Release 2.17.3: * configure.ac: Update to new release version. * NEWS: Updated. 2006-12-04 Brian Cameron * daemon/errorgui.c, daemon/gdm.[ch], daemon/slave.c, daemon/verify-pam.c: Patch that makes the GDM daemon (rather than the forked slave) cause all dialogs to be displayed. This improves accessibility for GDM because any AT programs (such as GOK, Gnopernicus or Orca) which are launched from GDM will now better work with such dialogs. This is needed because dialogs will show up running as the user if they appear after authentication and at this point the at-spi-registryd is running as the gdm user. We want all GDM dialogs to run as the gdm user. Patch by Leena Gunda and Srirama Sharma . Note that there have been some reports that this change triggers GDK bug #376315 on Linux when a11y is turned off. This will probably need to be fixed before the next stable release. I think this a11y fix is important enough to introduce this bug in the development cycle. Workaround for now is to turn on a11y. 2006-12-01 Brian Cameron * gui/gdmsetup.desktop.in.in. Implement the tooltip suggestion for gdmsetup suggested by Calum Benson. Fixes bug #375634. 2006-11-28 Brian Cameron * config/Xsession.in config/default.desktop.in: Since the default.desktop file really just runs the Xclients script it should have a better name that specifies this is what it does. Modify the default fallback program if no Xclients file exists to xterm since xsm isn't on all systems. This is a safer fallback. Patch by Padraig O'Briain , modified by myself. 2006-11-28 Brian Cameron * gui/gdmsession.c: Fix for TryExec check in gdmsession.c so that it does not pass arguments into g_find_program_in_path since it causes it to say it is not executable if arguments are passed in. 2006-11-27 Brian Cameron * gui/gdmlanguages.c, config/locale.alias: Rename Panjabi to Punjabi. Fixes bug #378724. 2006-11-22 Brian Cameron * NEWS: Add 2.16.3 info. 2006-11-08 Lukasz Zalewski More changes related to bug #352924. * gui/gdmsetup.c: Made warnings more self-explanatory when no themes are selected in "Random from selected" mode. Enabled back the delete button on the "Random from selected" view for the currently selected theme in the single theme view with a slight modification - users can click on it but get told that they need to first deselect it from "Single theme" mode first in order to delete it. Also upon closure if users have activeted "Random form selected" but have not selected any themes for it, they will be informed that the greeter will default to single theme mode. 2006-11-06 Brian Cameron * gui/gdmlanguages.c, config/locale.alias: Add Serbian and Montenegro languages. Patch provided by Peter Nugent 2006-11-06 Brian Cameron * daemon/verify-pam.c: Update to make casting more clear. This fixes a problem noticed with the Kerberos PAM module. Kerberos was sending the proper error message but gdm was not accessing it properly. This message comes as "struct pam_message" and is accesed using a double pointer "**msg".GDM was treating msg as a pointer to an array of "num_msg"s of "struct pam_message" whereas it actually is pointer to a pointer to an array of "num_msg"s of "struct pam_message". 2006-11-06 Brian Cameron * Release 2.17.2: * configure.ac: Update to new release version. * NEWS: Updated. * utils/Makefile.am: Add back X_EXTRA_LIBS and X_LIBS to gdm-dmx-reconnect-proxy to fix bug #368808. 2006-11-04 Lukasz Zalewski Fixes bug #352924. * gui/gdmsetup.c: Added warnings when no themes are selected in Random from selected mode. Random from selected option can only be enabled only and only if one or more themes are selected. Also disabled the delete button on the Random from selected view for the currently selected theme in the single theme view mode. 2006-11-02 Brian Cameron * gui/gdmlanguages.c, config/locale.alias: Add several new languages. Patch provided by Peter Nugent 2006-11-01 Brian Cameron * gui/greeter/greeter_item_customlist.c: Fix casting. 2006-11-01 William Jon McCann * Makefile.am: * daemon/Makefile.am: Fix make distcheck. 2006-10-31 William Jon McCann * configure.ac: * daemon/Makefile.am: * daemon/gdm.c: (main): * daemon/gdmconsolekit.c: (add_param_int), (add_param_boolean), (add_param_string), (get_string), (unlock_ck_session), (open_ck_session), (close_ck_session): * daemon/gdmconsolekit.h: * daemon/slave.c: (gdm_slave_check_user_wants_to_log_in), (session_child_run), (gdm_slave_session_start): Add ConsoleKit support. Fixes #365375. 2006-10-31 Brian Cameron * gui/greeter/greeter_item_customlist.c: Fix custom lists so that focus does not leave the username/password entry field. * gui/greeter/greeter_item_pam.c: Minor cleanup. 2006-10-30 Brian Cameron * Release 2.17.1: * NEWS: Updated. * configure.ac: Update to new release version. * gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_system.c: Back out patch from 10/17 from Sebastien Bacher since we don't have icons yet. 2006-10-30 Brian Cameron * gui/greeter/greeter_item_ulist.c: Minor fix to last patch. * gui/greeter/themes/circles/circles.xml * gui/greeter/themes/happygnome/happygnome.xml: Add userlist now that it will disappear if there are no users to display. 2006-10-30 Brian Cameron * gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.[ch], gui/greeter_item_pam.c: Similar usability fixes for gdmgreeter. OK/Cancel buttons are now sensitive/insensitive (but only if using GTK style buttons), and the userlist now is not shown if there are no users. Added a new item id "userlist-rect" which can be used to specify the rectangle containing the userlist, so it can also disappear when the userlist is empty. * gui/greeter/themes/happygnome-list/happygnome.xml: Now use "userlist-rect" so the alpha rectangle goes away when the list is empty. 2006-10-30 Brian Cameron * gui/gdmlogin.c: Number of usability fixes for gdmlogin.c. Now do not bother showing browser userlist widget if there are no users to display. Now OK and Cancel buttons are set sensitive or insensitive based on context (OK only if something is in the entry field and Cancel if not on "Username" request). Fixed bug causing face browser to autoselect first user. I changed the behavior of how key events are listened to. Now respond on release instead of press for accepting Tab key as Enter, back_prog delay, timed_login reset, and flexiserver reaping. This made setting the buttons sensitive/insensitive easier. 2006-10-30 Brian Cameron * config/gdm.conf.in, daemon/gdm.c, daemon/gdm.h, daemon/gdmconfig.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_system.c: Add new QUERY_CUSTOM_CMD_LABELS and QUERY_CUSTOM_CMD_NO_RESTART_STATUS commands and the new CustomCommandIsPersistent[0-9] 2006-10-29 Lukasz Zalewski Fixes enhancement request #358114. * daemon/gdmconfig.c: Added variables & functions used to read/store CustomCommands related values * daemon/gdm.c (custom_cmd): New function that handles execution of CustomCommands. * daemon/gdm.c (custom_cmd_restart): New function that handles execution of CustomCommand if NoRestart option is set to false * daemon/gdm.c (custom_cmd_no_restart): New function that handles execution of CustomCommand if NoRestart option is set to true * daemon/gdm. [ch]: Updated macros and several functions to accomodate new CustomCommands functionality * daemon/slave.c: Added Custom command interrupt handler to handle the CustomCommands execution. * gui/gdmlogin.c (gdm_custom_cmd_handler): New function that handles execution of CustomCommands * gui/gdmlogin.c: Added variables and updated several functions to accomodate new CustomCommand functionality * gui/greeter/greeter_configuration.h: Added variables used to store CustomCommand related values * gui/greeter/greeter.c: Added variables that use/store CustomCommand related values * gui/greeter/greeter_item.c: Added visibility check for custom_cmd related widgets * gui/greeter/greeter_parser.c: Added code for parsing custom_cmd stock items * gui/greeter/greeter_system.c (greeter_custom_cmd_handler): New function that handles execution of CustomCommand * gui/greeter/greeter_system.c (query_greeter_custom_cmd_handler): New function that handles execution of CustomCommand (with warn message query beforehand) * gui/greeter/greeter_system.c: Updated macros and several functions to accomodate new CustomCommand functionality 2006-10-26 Brian Cameron * gui/gdmcommon.c, gui/greeter/greeter.c: Never die if at-spi-registryd can not be started. Fixes bug #345434. Patch by Ariel Rios . 2006-10-26 Erwann Chenede - * gui/greeter/greeter_parser.c: introduced altfile[n] property to cater for alternate image file definition. 2006-10-23 Dwayne Bailey * gui/gdmlanguages.c: Add Xhosa and fix native name for Zulu 2006-10-23 Brian Cameron * utils/Makefile.am: Remove X_EXTRA_LIBS and X_LIBS from building of dm_dmx_reconnect_proxy since these libraries are not needed for building this program. 2006-10-20 Brian Cameron * gui/gdmsession.[ch], gui/greeter/greeter.c, gui/greeter/greeter_action_language.[ch], gui/greeter/greeter_canvas_item.[ch], gui/greeter/greeter_parser.c, gui/greeter/greeter_item_customlist.[ch], gui/greeter/greeter_session.[ch], gui/greeter/themes/*/*xml: Now support "combo" style lists and support "language" and "session" lists which can be used directly in the theme rather than having to use the session/language pop-ups. Suggestion from Boston GNOME Summit. The default themes now support these combo boxes. * gui/greeter_item_ulist.c: Cleanup * gui/gdmconfig.[ch]: Renamed function to gdm_save_customlist_data, so it is more clear what the function does. 2006-10-17 Brian Cameron * gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_system.c: Add icons to the F10/Options menu. Fixes RFE #360984. Patch by Sebastien Bacher . 2006-10-17 Brian Cameron * gui/gdmphotosetup.c: Enable help button. Fixes bug #362853. Patch by Matthias Clasen . 2006-10-16 Brian Cameron * Release 2.17.0: * NEWS: Updated. * configure.ac: Update to new release version. 2006-10-16 Brian Cameron * NEWS, daemon/auth.c, daemon/gdm.c, daemon/slave.c: Clean up comments. 2006-10-09 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_parser.c: Fix new at-spi code so that if DOING_GDM_DEVELOPMENT is set it does not try to launch the AT registry daemon. Also fix broken string. * gui/greeter/greeter_item_ulist.c: Fix code to avoid printing out warnings when DOING_GDM_DEVELOPMENT is set. Do not process face browser code when user_list is NULL. 2006-10-08 Brian Cameron * gui/Makefile.am: Add -lX11 to link statements so that the new code from Ariel that uses X atoms will build on Solaris. 2006-10-08 Brian Cameron * daemon/auth.c: Fix comment. 2006-10-08 Brian Cameron * gui/gdmcommon.c: Add missing break statement to case 't' in the function gdm_common_expand_text. 2006-10-05 Brian Cameron * daemon/auth.c: Set authdir to NULL after freeing to avoid accessing an invalid pointer. Fixes bug #359831. Patch provided by Amnon Aaronsohn . 2006-10-04 Ariel Rios Fixes bug #345434. * gui/gdmcommon.h (gdm_common_atspi_launch) Header for launching the registry. * gui/gdmcommon.c (pre_atspi_launch): Execute the registry that is supposed to be located on LIBEXECDIR. (filter_watch): Called whenever we get the PropertyNotify event and the we exit the gtk_main loop we are on and remove the event from the queue. (filter_timeout): Function launched if after 1 second the registry is not found. (error_dialog): Display message saying no at-spi-registryd was found. (gdm_common_atspi_launch): Launchs the registry, starts checking for property changes on the X root window. If the registry is found we continue executing the GUI. * gui/gdmlogin.c (main): Launch gdk_init and then lunch the at-spi-registry if GTK_ADD_MODULES is set on. * gui/greeter/greeter.c (main): Ditto. 2006-10-02 Brian Cameron * NEWS: Add info about 2.16.1 release. 2006-09-27 Brian Cameron * gui/gdmsetup.c: Fix so the wm close works as the Close button in the dialog. Fixes bug #358002. Patch by Matthias Clasen . 2006-09-27 Brian Cameron * gui/gdmsetup.c: Use g_markup_printf_escaped so gdmsetup better handles description strings that contains things similar to a tag like an email address. Fix bug #357998. Patch by Matthias Clasen . * gui/gdmsession.c: Add comment about valgrind complaining that session is leaked. 2006-09-27 Brian Cameron * gui/gdmconfig.c, gui/greeter/greeter_parser.c: Fix more memory leaks. Fixes bug #357879. Patch provided by Kjartan Maraas. . 2006-09-26 Brian Cameron * gui/gdmconfig.c, gui/greeter/greeter.c, gui/greeter/greeter_parser.c: Fix memory leaks. Fixes bug #357879. Patch provided by Kjartan Maraas. . 2006-09-26 Brian Cameron * daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, gui/gdmcommon.c: Fix so that if timed login script returns an invalid user, timed login is not turned on. Fixes bug #340148. Patch by Andrew (andrewz@springsrescuemission.org). * gui/gdmuser.c: Fix gdm_is_user_valid so it is more simple, like implemented in daemon/slave.c by Andrew. 2006-09-23 Brian Cameron * gui/gdmflexiserver.c: Add g_type_init() since this is needed for -a (authentication) code to work. 2006-09-22 Brian Cameron * config/gdm.conf.in, daemon/filecheck.c, daemon/gdm.h daemon/gdmconfig.c: Now gdm.conf has SupportAutomount option which, when turned on, changes the way that GDM accessess the user's $HOME/.dmrc file so that automounted $HOME directories can be configured to work even with the automounter is not started with the --ghost option. This feature is off by default. This addresses RFE bug #356869. Patch by Jerzy Borkowski . 2006-09-11 Brian Cameron * daemon/gdm.c: Move call to get GDM_KEY_SYSTEM_MENU until after authentication check. Fixes bug #352838. Patch by Frederic Crozat . 2006-09-04 Brian Cameron * Release 2.16.0: * NEWS: Updated. * configure.ac: Update to new release version. 2006-08-23 Brian Cameron * daemon/gdm.c: Make the SDTLOGIN logic a bit smarter and use g_unlink() instead of unlink(). 2006-08-23 Brian Cameron * daemon/gdm.h: Corrections to comments. 2006-08-21 Brian Cameron * Release 2.15.10: * NEWS: Updated. * configure.ac: Update to new release version. 2006-08-15 Kjartan Maraas * configure.ac: Fix intltool req. 2006-08-08 Ray Strode * gui/gdmwm.[ch] (gdm_wm_center_cursor): new function that centers mouse pointer on one head * gui/greeter/greeter.c (main): center cursor on main xinerama head on startup (looks nicer and as a side effect should fix bug 327530) 2006-08-07 Brian Cameron * Release 2.15.9: * NEWS: Updated. * configure.ac: Update to new release version. 2006-08-03 Brian Cameron * daemon/slave.c: Remove calls to syslog/malloc that are called from inside signal handlers, since they are not safe. Patch provided by Ray Strode . 2006-08-03 Ray Strode * configure.ac: look for /usr/bin/Xorg when searching for X servers (bug 349836). 2006-08-03 Brian Cameron * config/gdm.conf.in, config/gdm.conf-custom: Improved comments to make gdm.conf/custom.conf more clear. 2006-08-03 Brian Cameron * gui/greeter/greeter.c: Fix the setup of the iochannel so that it happens after the face browser is set up. The recent changes Ray Strode made to make the message input nonblocking seemed to break the Face Browser logic. This patch makes sure that the face browser is setup before setting up the iochannel. The face data is sent from the daemon to the slave along the same channel, but these messages are not formatted like the other messages. Patch provided by Ray Strode . 2006-08-02 Brian Cameron * daemon/gdm.c: Fix error message that gets printed when you try to run GDM as non-root user. * gui/greeter/greeter_action_language.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: I think this time I finally fixed the focus management in gdmgreeter so that when using the Options button the focus remains in the entry. * gui/greeter/greeter_parser.c: Only free the hash table if it is not-NULL. 2006-07-31 Brian Cameron * NEWS: Updated with 2.14.9 and 2.14.10 info. 2006-07-31 Brian Cameron * Release 2.15.8: * NEWS: Updated. * configure.ac: Update to new release version. 2006-07-31 Brian Cameron * gui/gdmcommon.c: Fix gdm_common_setup_blinking so it doesn't try to call g_signal_add_emission_hook if sid is 0. This fixes a crash in gdmchooser because we were trying to set the emission hook for a type that was not used or initialized in the gdmchooser GUI. This fixes bug #349221. * gui/gdmcommon.c: Set hosts_opt to NULL, otherwise processing of hosts from the command line would not get done if the compiler put a non-NULL value into its initial value, as it does on Solaris. 2006-07-24 Brian Cameron * Release 2.15.7: * NEWS: Updated. * configure.ac: Update to new release version. Removing docs/sv/Makefile from files to create, since it seems to have build problems. 2006-07-21 Ray Strode * gui/gdmlogin.c, gui/greeter/greeter.c: fix off by one error in previous patch. 2006-07-18 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c: This patch attempts to fix the problem by turning on io channel's internal buffering feature, searching for the start of the next message in the read in bytes and seeking backward to the byte before the start of the next message. We then process only one message and return, picking up the next message next iteration of the main loop. Patch provided by Ray Strode . 2006-07-18 Brian Cameron * gui/gdmlogin.c, gui/gdmsession.[ch], gui/greeter/greeter.c, gui/greeter/greeter_session.[ch]: Fix for bug #341619. Now GDM does not save the Failsafe GNOME or Xterm session as the user's default. Cleaned up the code and moved duplicate functions from gdmlogin/gdmgreeter code to gdmsession common code. 2006-07-17 Brian Cameron * gui/gdmsetup.c: Fix for bug causing gdmsetup to have performance issues starting up. Fixes bug #345118. Patch by Ray Strode . 2006-07-17 Brian Cameron * daemon/gdmconfig.c: Fix for compiling with GCC 2.95. Fix for bug #347625. Patch by Jens Granseuer . 2006-07-10 Brian Cameron * Release 2.15.6: * NEWS: Updated. * configure.ac: Update to new release version. 2006-06-30 Brian Cameron * gui/gdmcommon.c: Fix timed login message so it works when TimedLogin is set to use a piped script. * gui/gdmwm.c: Make comment nicer. 2006-06-25 Brian Cameron * gui/gdmsetup.diff: Now User scrolling regions are only scrollable vertically. Fix for bug #345881. Patch by Philippe Troin . 2006-06-25 Brian Cameron * daemon/gdm.c: Fix decoding of suspend message in the daemon so the suspend command works. Fixes bug #345829. Patch provided by Philippe Troin . 2006-06-19 Brian Cameron * gui/gdmsetup.c: Fix bug that causes gdmsetup to not fail properly when there is no custom config file. 2006-06-16 Brian Cameron * gui/greeter/greeter_action_language.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Make sure focus is returned to entry after dialogs are launched from the options button. 2006-06-16 Brian Cameron * pixmaps/nobody.png: Updated so it uses official GNOME logo. Fixes bug #343571. Image provided by Diana Fong . 2006-06-16 Brian Cameron * pixmaps/nohost.png: Updated so it uses official GNOME logo. Fixes bug #343571. Image provided by Diana Fong . 2006-06-12 Brian Cameron * Release 2.15.5: * NEWS: Updated. * configure.ac: Update to new release version. 2006-06-09 Brian Cameron * daemon/gdmconfig.c, gui/gdmconfig.c, gui/gdmsetup.c: Fix more warnings. 2006-06-09 Brian Cameron * daemon/verify-pam.c: Fix autologin Pam service name. Fixes bug #344191. * daemon/gdmconfig.c, gui/gdmconfig.c, gui/gdmdynamic.c, gui/gdmsetup.c, gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_geometry.c gui/greeter/greeter_item_pam.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_system.c, utils/prefetch.c: Fix warnings. 2006-06-07 Brian Cameron * Release 2.15.4: * NEWS: Updated. * configure.ac: Update to new release version. 2006-06-06 Brian Cameron * gui/gdmflexiserver.c: Call gdmcomm_check with FALSE so that ti doesn't try to pop-up a GUI. Sometimes gdmflexiserver is called by processes that do not have access to the display so this causes a crash, and gdmflexiserver prints out errors anyway. * gui/modules/AccessDwellMouseEvents.in: Added gestures so you can run the same commands as in AccessKeyMouseEvents.in with dwell gestures. * gui/modules/AccessKeyMouseEvents.in: Cleanup * gui/modules/keymouselisttener.c, gui/modules/dwellmouselistener.c: Added debug. 2006-05-31 Brian Cameron * gui/greeter/greeter_item_ulist.c: Correction to previous fix. 2006-05-31 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_system.c: Correct serious issue where user can enter the configure screen with their user password instead of the root password. Fixes bug #343476. 2006-05-30 Brian Cameron * vicious-extensions/ve-config.c: Now save in UTF-8 format to avoid putting non-ASCII values in the config file, such as with the "Welcome" string. Fixes bug #335713. Patch provided by Frederic Peters 2006-05-30 Brian Cameron * daemon/gdm.c: Remove some unused code. * gui/gdmsetup.c: Fix so when you click on the include_all button, the Automatic/Timed login values update properly. Fixes bug #343203. 2006-05-24 Brian Cameron * daemon/gdm.c: Put back support for -nodaemon argument, lost in the 2006-05-12 patch by Christian Kirbach. This fixes bug #324831. Patch provided by Ray Strode . 2006-05-23 Brian Cameron * NEWS: Add 2.14.7 info. 2006-05-22 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.[ch]: Now when a user is selected and a bad password is entered, GDM remembers the username and just asks for the password again. You now must hit the Cancel/Start Again button to unselect the user from the userlist. Fixes bug #342574. * gui/greeter/greeter_action_language.[ch]: Fix prototype warning. 2006-05-22 Brian Cameron * gui/greeter/greeter_events.c: Fix so that the entry field always has focus after a button press, which wasn't working if the buttons were GTK+ style. 2006-05-19 Brian Cameron * daemon/gdm.c, daemon/gdmconfig.[ch], daemon/slave.c, daemon/verify-pam.c: Fix per-display configuration so it also works for greeter/SystemMenu and greeter/ChooserButton keys. Add new gdmconfig.c interfaces for getting keys in a per-display fashion so they are easier to use. 2006-05-18 Brian Cameron * config/Makefile.am: Do not cause make install to fail if chown fails. 2006-05-17 Brian Cameron * daemon/auth.c: Check if authdir is the fallback dir. If not, and GDM cannot access the user's $HOME directory, then try and use the fallback directory. Fixes bug #342116. Patch provided by Arjan Timmerman . 2006-05-15 Brian Cameron * Release 2.15.3: * NEWS: Updated. Also include 2.14.6 NEWS. * configure.ac: Update to new release version. 2006-05-15 Brian Cameron * configure.ac: Clean up the code a bit so that we don't figure out the real prefix twice. 2006-05-15 Brian Cameron * configure.ac: Fix configure so it builds the path to use for gdm-ssh-session desktop file properly if --libexecdir isn't passed to configure. 2006-05-15 Brian Cameron * gui/gdmcommon.c: Use ngettext. Patch provided by Benoit Dejean . Fixes bug #341680. 2006-05-12 Brian Cameron * utils/Makefile.am: Add gdm-ssh-session to EXTRA_DIST. 2006-05-12 Brian Cameron * gui/gdmsession.c: Fix bug that was causing the ShowGnomeFailsafeSession and ShowGnomeXtermSession configuration values not to work right. 2006-05-12 Christian Kirbach * daemon/gdm.c, gui/gdmXnestchosser.c, gui/gdmchooser.c, gui/gdmflexiserver.c: stop using popt in favour of glib's GOption command line parsing. * daemon/gdm.c (gdm_handle_user_message): Fix compiler warning (too few arguments). * gui/gdmconfig.c (gdm_config_get_xservers): Remove two obsolete variable declarations. 2006-05-12 Brian Cameron * Release 2.15.2: * NEWS: Updated. * configure.ac: Update to new release version. 2006-05-12 Brian Cameron * gui/greeter/greeter_geometry.c: Fix layout of buttons. Patch provided by Erwann Chenede . 2006-05-12 Brian Cameron * Release 2.15.1: * NEWS: Updated. * configure.ac: Update to new release version. 2006-05-12 Brian Cameron * gui/greeter/greeter_parser.c: Fix spacing. 2006-05-10 Brian Cameron * daemon/gdm.c: Fix reference to SystemMenu key as a boolean, not a string, so that SuspendCommand works right. Fixes bug #341312. 2006-05-09 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_parser.c, gui/greeter/themes/circles/circles.xml, gui/greeter/themes/happygnome/happygnome.xml, gui/greeter/themes/happygnome-list/happygnome-list.xml: Change "Start Over" to "Start Again" since discussion with Calum Benson determined that "Start Over" is not good English. 2006-05-09 Brian Cameron * config/ssh.desktop.in.in, utils/Makefile.am: Finally fix bug #340960 2006-05-09 Brian Cameron * configure.ac, gui/greeter/greeter_geometry.c: Fix configure so it puts the right string into ssh.desktop.in, * gui/greeter/greeter_geometry.c: Backout change made on 05/08, since it was broken. 2006-05-09 Brian Cameron * config/ssh.desktop.in.in: Added new file. * config/ssh.desktop.in: Remove old file. * config/.cvsignore: Added generated ssh.desktop.in file. 2006-05-09 Brian Cameron * config/Makefile.am: Do chown after chmod. 2006-05-09 Brian Cameron * configure.ac, config/Makefile.am, utils/Makefile.am: Fix the installation of ssh.desktop and gdm-ssh-session so that the desktop file is translated and gdm-ssh-session is installed to libexecdir. Fixes bugs #340958 and #340960. 2006-05-08 Brian Cameron * gui/greeter/greeter_geometry.c: Now be smarter about child allocation width when working with fixed. 2006-05-08 Brian Cameron * daemon/slave.c: Fix reference to the security/AllowRemoteAutoLogin so it is accessed as a boolean, not a string. Fixes remote autologin so it works again. 2006-05-04 Brian Cameron * daemon/misc.c: Fix syntax. 2006-05-04 Brian Cameron * daemon/display.c, daemon/slave.c, daemon/misc.c: Improvements to signal handling, fixing problem where GDM slave can hang on read. Fixes bug #336549. Patch provided by Ed Catmur . * AUTHORS: Added Ed. 2006-05-04 Brian Cameron * configure.ac: Fix invokation of PreFetch list. 2006-05-04 Brian Cameron * configure.ac, daemon/gdmconfig.c, daemon/server.c: Fixes to better support FreeBSD. Fixes bug #340668. Patch provided by Joe Marcus Clark . 2006-05-04 Brian Cameron * gui/greeter/greeter_parser.c: Remove double-free. Fixes bug #340668. Patch provided by Joe Marcus Clark . 2006-05-03 Brian Cameron * daemon/gdmconfig.h: Remove gdm_config_init from header since it is a static function in the c file. 2006-05-02 Brian Cameron * Release 2.15.0: * NEWS: Updated. * configure.ac: Update to new release version. * gui/gdmlogin.c: Now use "Start Over" instead of Cancel. 2006-05-02 Brian Cameron * Release 2.14.5: * NEWS: Updated. * configure.ac: Update to new release version. 2006-05-02 Brian Cameron * config/gdm.conf-custom: Added comment before [servers] section to address bug #340333. 2006-05-01 Julio M. Merino Vidal * daemon/slave.c: Explicitly adjust the effective GID before running the child session program. Otherwise it remains with high privileges. The problem was exposed under NetBSD. Fixes bug #340347. 2006-05-01 Brian Cameron * config/gettextfoo.h, config/XKeepsCrashing: Updated by running 'cd config && cat XKeepsCrashing Xsession.in|./extract-shell.sh > gettextfoo.h', so the file is regenerated to have the latest strings. Fixes bug #340017. 2006-04-27 Brian Cameron * config/gdm.conf.in: Updated documentation. 2006-04-26 Brian Cameron * daemon/verify-pam.c: Fix pam stack so that for autologin the GDM PAM stack is "GDM_KEY_PAM_STACK-autogen" so it works like before. 2006-04-26 Brian Cameron * gui/greeter_item_pam.c: Add pam-error-logo item type. * gui/greeter/greeter_item.h, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_geometry, gui/greeter/greeter_parser.c: Add item type button to use a real GTK+ button, this better supports accessibility. Add "startover" string to stock, this better name for the "Cancel" button was recommended. * gui/greeter/themes/happygnome/happygnome.xml, gui/greeter/themes/happygnome/happygnome-list.xml, gui/greeter/themes/circles/circles.xml: Updated theme to use real GTK+ buttons. Now says "Start Over" instead of "Cancel" on the button. * gui/greeter/greeter_events.c, gui/greeter/greeter_item.c: Code cleanup. 2006-04-26 Brian Cameron Adding per-display configuration support to GDM. Now if user has a file named /etc/gdm/custom.conf:, the settings in this file will override the /usr/share/gdm/defaults.conf and /etc/X11/gdm/custom.conf settings. Only keys that affect the GUI behavior are supported. These include those in the "gui" and "greeter" sections and the security/PamStack key. * daemon/gdm.c: Update GET_CONFIG command so it accepts a display argument. It is backwards compatible and will return the per-display setting if this is passed in, or the non-display value if not passed in. Fix bug that caused PreFetch key to not just return the once as it is supposed to. * daemon/gdmconfig.[ch], jui/gdmconfig.c: Updated to support per-display configuration. * daemon/gdm.h: Updated documentation for new command. Corrected some errors. * daemon/verify-pam.c, daemon/gdmconfig.c config/gdm.conf.in: Add security/PamStack configuration variable as a per-display setting. This allows the sysadmin to specify a different PAM stack, if desired and also allows customization per display. Also added key info for some BackgroundProgram keys that were missing. * config/PreSession.in: now requests configuration data per-display. Will use normal configuration if no per-display config files. * gui/.cvsignore: Add gdmsetup.desktop.in * gui/gdmdynamic.: Improve usage warning. * gui/gdmlogin.c: Add some debug 2006-04-25 Brian Cameron * configure.ac: Updating 2.15 branch with the new po/LINGUAS. 2006-04-25 Brian Cameron * Release 2.14.4: * NEWS: Updated. * configure.ac: Update to new release version. 2006-04-24 Brian Cameron * Release 2.14.3: * NEWS: Updated. * configure.ac: Update to new release version. * gui/Makefile.am: Fix gdmsetup.desktop.in.in stuff. 2006-04-20 Brian Cameron * configure.ac: Fix to configure.ac to conform to po/LINGUAS standard. Fixes bug #339153. Patch by Przemyslaw Grzegorczyk . 2006-04-17 Brian Cameron * gui/gdmsetup.c: Fix for C89 compilers. Patch by Jens Granseuer . 2006-04-17 Brian Cameron * gui/gdmlogin.c, gui/gdmsetup.glade, gui/greeter/greeter.c: Fixed strings so that they are marked as translatable. Fixes bug #338765. Patch provided by Vincent Fretin . 2006-04-17 Brian Cameron * gui/gdmchooser.c: Fix setting of GdmHosts so it should use the hosts from the config file when when BROADCAST/MULTICAST is set to false. Partial fix for #338274. Thanks to Tiago Vignatti for noticing this. 2006-04-17 Brian Cameron * gui/gdmsetup.desktop.in.in: Added. This makes gdmsetup.desktop get properly translated. Fixes bug #334647. Patch by Vincent Fretin * gui/gdmsetup.desktop.in: Removed * gui/Makefile.am: Updated to reflect change. * configure.ac: Updated to reflect latest po/LINGUAS patch. Fixes bug #33769. Patch provided by Przemyslaw Grzegorczyk . 2006-04-14 Brian Cameron * Release 2.14.2: * NEWS: Updated. * configure.ac: Update to new release version. 2006-04-14 Brian Cameron * daemon/slave.c: Further clean up access to ICEAuthority file. Fixes bug #338358. Patch provided by Ray Strode . 2006-04-13 Brian Cameron * NEWS: Updated NEWS. * gui/gdmchooser.c: Fix references to the BROADCAST key so it is correctly listed as a bool, not a string. Kudos to Tiago Vignatti . * configure.ac: Fix check for adding /usr/bin to the GDM_USER_PATH so it doesn't add it twice. This used to work, but got broken on the 03-28-2006 patch by Julio M. Merino Vidal to get rid of the EXPANDED variables. Working again now. 2006-04-11 Brian Cameron * gui/greeter/Makefile.am: Now include gdmthemetester.in in EXTRA_DIST instead of gdmthemetester. 2006-04-10 Brian Cameron * Release 2.14.1: * NEWS: Updated. * configure.ac: Update to 2.14.1. 2006-04-10 Brian Cameron * configure.ac: Now use LINGUAS procedure as stated in http://live.gnome.org/GnomeGoals/PoLinguas: Fixes bug #337858, patch provided by Michiel Sikkes . 2006-04-10 Brian Cameron * daemon/slave.c: Better fix for resolving CVE-2006-1057 provided by Hans Petter Jansson 2006-04-07 Brian Cameron * configure.ac, config/Xsession.in, daemon/slave.c: Add Trusted Solaris support to GDM. Patch provided by Niall Power . 2006-04-07 Brian Cameron * daemon/slave.c: Now logic unlinks .ICEauthority file if it looks fishy rather than trying to chown/chmod it. This is to resolve CVE-2006-1057. 2006-04-07 Brian Cameron * config/gdm.conf.in, daemon/gdm.h, daemon/gdmconfig.c,s daemon/server.c: Add new GdmXserverTimeout configuration variable so the length of time that GDM waits for the Xserver to start can be tuned. This makes it easier to get GDM working with some Xservers (Xgl). Fixes bug #337670. Patch provided by Emilie (girlblossom@gmail.com). 2006-04-05 Brian Cameron * .cvsignore, gui/.cvsignore, m4/.cvsignore: Update .cvsignore files to include generated files not currently listed. 2006-03-30 Dennis Cranston * gui/gdmsetup.glade: HIG fix for spacing between the menu bar and welcome message categories. 2006-03-29 Brian Cameron * gui/gdmsetup.glade: Fix "Show Actions Menu" section so it appears when both "plain" and "themed" is chosen. Fixes bug #335550. 2006-03-28 Brian Cameron * gui/gdmcomm.h: Fix warning. 2006-03-28 Brian Cameron * config/Xsession.in: Modify command to be "$@" instead of "$1" so it is possible to pass arguments with the command. 2006-03-28 Julio M. Merino Vidal * daemon/xdmcp.c: Removed a C99 local variable definition that breaks the build with gcc 2.95 (e.g. under NetBSD 1.6). Fixes bug #336368. 2006-03-28 Julio M. Merino Vidal * daemon/gdmconfig.c, daemon/server.c: Include sys/resource.h, needed to use setpriority(2) and its associated definitions. Fixes the build under NetBSD, closing bug #336369. 2006-03-28 Julio M. Merino Vidal * Makefile.am, README.install, acconfig.h, configure.ac, gdmsetup-security.in, config/Makefile.am, config/Xsession.in, config/gdm.conf.in, daemon/Makefile.am, daemon/gdm.c, daemon/gdm.h, daemon/gdm.in, daemon/gdmconfig.c, daemon/misc.c, daemon/server.c, daemon/slave.c, gui/Makefile.am, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/gdmsetup.desktop.in, gui/greeter/Makefile.am, gui/greeter/gdmthemetester.in, gui/greeter/greeter.c, gui/modules/Makefile.am: Get rid of all EXPANDED_* variables from the build procedure. Directory-related variables must only be expanded from the Makefiles so that they can be easily overriden during the installation phase. Fixes bug #336364. 2006-03-28 Brian Cameron * configure.ac: One line change to reflect comment #7 in bug #335957. 2006-03-27 Brian Cameron * acconfig.h, configure.ac, config/Makefile.am, config/PostLogin, config/gdm.conf.in, daemon/Makefile.am, daemon/gdm.[ch], daemon/gdmconfig.c, gui/Makefile.am, gui/greeter/Makefile.am, gui/modules/Makefile.am, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c, utils/Makefile.am: Now support --with-sysconfsubdir so that GDM can be configured to have the config files in a directory that isn't hardcoded to have "/gdm" at the end. Fixes bug #335957. Patch provided by Julio M Merino Vidal with minor changes by me to fix some usage of EXPANDED_GDMCONFDIR that caused breakage on Solaris. * gui/gdmXnestchooser, gui/gdmchooser.c, gui/gdmcomm.[ch], gui/gdmdynamic.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/greeter/greeter.c: Now use gdmcomm_comm_bulk_start and gdmcomm_comm_bulk_stop to wrap areas of the code where we want to keep the sockets connection open for performance. This makes gdmsetup start faster and better ensures that sockets are not left open. Now gdmcomm_call_gdm will always close the socket unless inside such a block, ensuring that if distros add patches to read new config values at random points in the code, the socket won't be left open. * daemon/gdm.c: Fix gdm_debug message. 2006-03-22 Tommi Vainikainen * configure.ac (ALL_LINGUAS): Added Dzongkha (dz). 2006-03-20 Brian Cameron * gui/greeter/themes/happygnome/gnome-logo.svg, gui/greeter/themes/happygnome/happygnome.xml gui/greeter/themes/happygnome-list/gnome-logo.svg, gui/greeter/themes/happygnome-list/happygnome.xml: Added new SVG official logos and now theme uses the new logo. * gui/greeter/themes/happygnome/gnome-logo.png, gui/greeter/themes/happygnome-list/gnome-logo.png: Removed old logo. * gui/greeter/themes/happygnome/Makefile.am gui/greeter/themes/happygnome-list/Makefile.am: Updated to have new logo file. This fixes bug #335121. 2006-03-20 Brian Cameron * vicious-extensions/Makefile.am: Patch to fix Makefile.am so it builds test-ve-config even if the dependent glib, etc. libraries are built statically on the system. Fixes bug #334934. Patch provided by Dmitry V. Levin 2006-03-19 Brian Cameron * gui/greeter/greeter_events.c: Fix error that causes a core dump when you click on fields that have an id. This should fix bug #332679. 2006-03-15 Brian Cameron * gui/gdmlogin.c: Mark string "Welcome" as to be translated. This doesn't break the string freeze but with this change translators can hopefully get this translated. * gui/gdmsetup.desktop.in: Fix TryExec to use EXPANDED_SBINDIR, so that the program will run even if sbin isn't in the user's PATH. 2006-03-13 Brian Cameron * daemon/verify-pam.c: One-line fix to Solaris auditing logic to correct a problem that causes GDM to always fail to authenticate when auditing is turned on. * vicious-extensions/Makefile.am: Fix reference to libvicious.a so it is consistant with the other places it is referenced. 2006-03-13 Brian Cameron * gui/gdmcomm.h: Correct definition of gdmcomm_set_allow_sleep to avoid compile warning. 2006-03-13 Brian Cameron * Release 2.14.0: * NEWS: Updated. * configure.ac: Update to 2.14.0. 2006-03-13 Brian Cameron * daemon/gdm.[ch], daemon/gdmconfig.[ch], gui/gdmcommon.[ch], gui/gdmsetup.c: Add new GET_CUSTOM_CONFIG_FILE gdmflexiserver command so gdmsetup can edit the actual custom config file being used by the daemon. 2006-03-05 Brian Cameron * gui/greeter/greeter_canvas_item: Now open Options menu below the button if possible, and above if there is no room below. Previously it always showed above, which would break if the button was placed on the top of the screen. * daemon/slave.c: Fix sound-on-login-success and failure to only play if they are turned on. Previously they were playing if they were defined to have soundfiles, but not turned on. Fixes bug #333435. 2006-03-03 Brian Cameron * Release 2.13.0.10: * NEWS: Updated. * configure.ac, acconfig.h: Update to 2.13.0.9. Added code to support the change in gdmconfig.c below. * gui/gdmconfig.c: Fix so that if gdm.conf file exists on the system this is used instead of custom.conf. This makes GDM more backwards compatible and won't break user configuration if the user has an old config file. 2006-02-28 Brian Cameron * Release 2.13.0.9: * NEWS: Updated. * configure.ac: Update to 2.13.0.9. 2006-02-27 Brian Cameron * gui/greeter/greeter_events.c: Small patch that I think will fix core dumping problem reported in bug #332426. 2006-02-24 Brian Cameron * gui/gdmconfig.c: Fix error message that is printed when ServAuthDir isn't owned by root:gid so it says "root:gid" instead of "gdm:gdm", which is wrong. Cleaned up the code a bit. 2006-02-24 Brian Cameron * gui/gdmconfig.c, gui/gdmsetup.c: Clean up memory handling. 2006-02-21 Brian Cameron * gui/greeter/greeter_parser.c: Add new "gtk-theme" property to tag theme xml format, so the theme can specify a GtkTheme to be used for gdmgreeter. This allows theming of the "Options" menu and the entry field, and any other GTK+ widgets used by gdmgreeter. This also makes it possible to create a11y themes (HighContrast, LowContrast, etc.) themes for gdmgreeter. 2006-02-16 Brian Cameron * gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.c: Fix face browser so it works better. Sometimes we get PROMPT calls for displaying username so we want to enable the face browser in this case. We only want to disable it when the cancel button is pressed (until the next time the daemon prompts us for username/password entry). Also fix "theme broken" message so it doesn't display the message when the pam-message label is in the theme. 2006-02-16 Brian Cameron * daemon/gdmconfig.c, daemon/gdm-net.c, gui/gdmsetup.c: Fix some GCC C-99 compile issues. Fixes bug #331450. Patch provided by Jens Granseur . 2006-02-15 Brian Cameron * gui/gdmconfig.c: Fixes to make config work better. 2006-02-15 Brian Cameron * gui/gdmconfig.c: Use g_hash_table_replace instead of freeing the string value in the hash. This corrects a core dumping problem with gdmsetup. * gui/gdmsetup.c: Fix issue with gdmsetup freeing theme_dir when it shouldn't. Patch provided by Matthias Clasen. . * config/Xsession.in: Back out launching of dbus-launch after discussion that is really most appropriate for this to be launched by init.d scripting. 2006-02-15 Brian Cameron * Makefile.am, gui/Makefile.am, gui/greeter/Makefile.am, utils/gdm-dmx-reconnect-proxy.c: Reorganize libraries so that it is easier to build GDM against a test Xserver. Fixes bug #331226. Patch provided by Sylvain Bertrand . * daemon/slave.c: Remove some cruft accidently added. 2006-02-15 Brian Cameron * config/Xsession.in: Now start dbus-launch in GDM's Xsession script if dbus-launch is available on the system. Fixes bug #331104. Patch provided by delgarde@ihug.co.nz. 2006-02-13 Brian Cameron * Makefile.am: Distribute the README file. 2006-02-13 Brian Cameron * 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: 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 * acconfig.h, configure.ac, daemon/Makefile.am, daemon/gdmconfig.c: 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 * config/Xsession.in: Fix calls to zenity so they work. Fixes bug #330892. * README, README.install: Last minute updates before string freeze. 2006-02-10 Brian Cameron * 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 * README: Few more updates worth adding. 2006-02-10 Brian Cameron * 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. 2006-02-09 Brian Cameron 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. * config/gdm.conf: Better description of how debug works, perhaps I just didn't like the word "spew". 2006-02-07 Brian Cameron * 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 * 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 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 * daemon/gdmconfig.c: Fix glib.h include so it compiles under LFS. Fixes bug #329801. 2006-01-30 Brian Cameron * Release 2.13.0.7: * NEWS, configure.ac: Updated * config/gdmprefetchlist.in: Change libgstreamer-0.8 to libgstreamer-0.10 in the prefetch list. 2006-01-30 Brian Cameron * config/PreSession.in: Fix so it no longer tries to access the config file via grep/sed. Now it calls 'gdmflexiserver --command="GET_CONFIG"', which is a much cleaner way to get the info in needs to set the background color. 2006-01-30 Brian Cameron * gui/greeter/themes/happygnome/options.png, gui/greeter/themes/happygnome-list/options.png: Adding back the previous sessions.png as options.png since it is the best icon for the new menu. 2006-01-30 Brian Cameron * gui/greeter/themes/happygnome/disconnect.png, gui/greeter/themes/happygnome/options.png, gui/greeter/themes/happygnome/sessions.png, gui/greeter/themes/happygnome/system.png, gui/greeter/themes/happygnome/happygnome.xml, gui/greeter/themes/happygnome-list/disconnect.png, gui/greeter/themes/happygnome-list/options.png, gui/greeter/themes/happygnome-list/sessions.png, gui/greeter/themes/happygnome-list/system.png, gui/greeter/themes/happygnome-list/happygnome.xml, gui/greeter/themes/circles/Makefile.am, gui/greeter/themes/circles/circles.xml, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_parser.c, gui/gdmlogin.c: Added new "options_button" which pops up the F10 menu. Modified themes to now use the new options button for a cleaner one-button look. Patch provied by Sebastien Bacher . Modifications to existing themes made by myself. Also modified string "Remote login via XDMCP" to "Remote Login via XDMCP". 2006-01-27 Brian Cameron * configure.in: Make sure /usr/openwin/bin is in the PATH on Solaris so that GDM's PreSession/PostSession scripts can find sessreg and other needed X programs. Also this makes sure that users have xterm and other such programs in their PATH. Before we were only adding it if the Xserver was Xsun, but it is also needed if using the Xorg Xserver on Solaris. 2006-01-27 Brian Cameron * daemon/gdm.h, daemon/gdmconfig.c, gui/gdmcommon.c: Add better logic for grabbing the time for the user's locale if Use24HourClock is set to auto. No longer depend on translaters providing a hacky translation of "24-hour" to determine this. Instead just rely on localtime. Fixes bug #328904. Patch provided by Christopher Aillon . * config/gdm.conf.in: Add better comments for certain keys and group them so that similar keys are closer together. * gui/gdmsetup.c, gui/greeter/greeter.c: rename GDM_KEY_GRAPHICAL_THEME_COLOR to GDM_KEY_GRAPHICAL_THEMED_COLOR to match the key. 2006-01-27 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_system.c: Change "XDMCP Chooser" to "Remote login via XDMCP". Fixing bug #328857. 2006-01-24 Brian Cameron * config/gdmprefetchlist.in: Updated with version provided by Padraig O'Briain. Remove libnautilus-private as it no longer exists in GNOME 2.13. 2006-01-20 Brian Cameron * daemon/fstype.c: Really fix bug #326819. 2006-01-19 Brian Cameron * Release 2.13.0.6: * NEWS, configure.ac: Updated 2006-01-18 Brian Cameron * MAINTAINERS: Updated. 2006-01-18 Brian Cameron * daemon/auth.c, daemon/choose.c, daemon/cookie.c, daemon/display.c, daemon/errorgui.c, daemon/filecheck.c, daemon/fstype.c, daemon/gdm.c, daemon/gdmconfig.c, daemon/server.c, daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/xdmcp.c, gui/gdmchooser.c, gui/gdmlogin.c, gui/gdmsession.c, gui/gdmsetup.c, gui/misc.c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c, utils/gdm-dmx-reconnect-proxy.c, vicious-extensions/glade-helper.c, vicious-extensions/test-ve-config.c, vicious-extensions/ve-config.c, vicious-extensions/ve-gnome.c, vicious-extensions/ve-misc.c, vicious-extensions/ve-miscui.c, vicious-extensions/ve-nongnome.c, vicious-extensions/ve-signal.c: Add needed glib/gstdio.h include to daemon/fstype.c which fixes a wierd core dumping problem on Ubuntu. Fixes bug #326819. Patch provided by Sebastien Bacher . Also fixed all the source so that the includes are more consistant with config.h in quotes instead of in "<>" and glib/gtk includes are always listed after system includes. 2006-01-18 Brian Cameron * daemon/gdm.c, daemon/slave.c, gui/greeter/greeter.c, gui/greeter/greeter_system.c: Use "reboot" instead of "restart". Fixes bug #327583. 2006-01-15 Brian Cameron * Release 2.13.0.5: * NEWS, configure.ac: Updated * utils/Makefile.am: Fix Makefile so "make clean" doesn't delete gdm-ssh-session. 2006-01-15 Brian Cameron * gui/gdmsetup.c: Fix the logo and background file choosers so that they no longer generate assert warnings. This problem seemed to be related to the fact that gdmsetup was sometimes setting the logo or background to NULL without the user actually changing the values. Now the "selection-changed" handler is smart enough to never reset these value to NULL. Also cleaned up some memory management (e.g. we were not freeing values returned from gtk_file_chooser_get_filename, etc.) * gui/gdmconfig.c: Use the newkey instead of key when calling GET_CONFIG. 2006-01-14 Chao-Hsiung Liao * configure.in: Add "zh_HK" to ALL_LINGUAS. 2006-01-13 Brian Cameron * daemon/slave.c: Patch provided by Dan Walsh to fix SELinux logic so that GDM doesn't setexeccon if is_selinux_enabled returns -1. In this case, the issue is logged to syslog. 2006-01-13 Brian Cameron Enhancement patch provided by Dominique Hazael-Massieux with some help from me getting the configure/Makefile stuff working. * configure.ac, config/Makefile.am, utils/Makefile.am: Add support for --enable-secureremote * config/ssh.desktop.in, utils/gdm-ssh-session: Added desktop file and gdm-ssh-session script to support secure remote login. 2006-01-11 Brian Cameron * daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, gui/greeter/greeter_parser.c: Change the "Please make sure the Caps Lock key is not enabled." message to the more informational "Caps Lock is on.". Some users may want to use Caps Lock when logging in. 2006-01-11 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_system.c: Use "Shut Down" instead of "Shut down" or "shut down". 2006-01-11 Brian Cameron * daemon/slave.c, gui/greeter/greeter_parser.c: Rename "shutdown" to "shut down" or "halt" and rename "capslock" to "Caps Lock" since these are the recommended wordings suggested by Calum Benson. Also corrected a few errors in the stock labels. 2006-01-11 Brian Cameron * daemon/errorgui.c: Now use GDK_DISPLAY_XDISPLAY instead of GDK_DISPLAY since the GDK_DISPLAY macro causes the GDM daemon to require the gdk_display extern global variable from the libgdk-x11 library and always causes this library to get loaded into memory even though normally the GDM daemon does not make calls to GDK. Using GDK_DISPLAY_XDISPLAY makes lazy loading work better. Thanks to Padraig O'Briain for noticing this issue. 2006-01-09 Dennis Cranston * gui/gdmsetup.c: (theme_list_equal_func): New function. (setup_local_themed_settings), (setup_remote_themed_settings): Group the preview and markup into one column. Sort list and setup a GTK+ TreeView search function. * gui/gdmsetup.glade: Fix a few broken mnemonics. Enable GTK+ TreeView searches. 2006-01-09 Brian Cameron * config/locale.alias: Correct spelling of "Esperanto". Fixes bug #326350. Patch provided by Saleem Abdulrasool . 2006-01-04 Brian Cameron * config/Makefile.am: Make the Makefile.am file a bit smarter. 2006-01-04 Brian Cameron * daemon/slave.c: Make error message more clear when session file is invalid. Now it says what session file had the problem. This fixes bug #322699. * gui/gdmconfig.c: Now the gdm_config_get_xserver_details function is more robust, and handles NULL return values better and supports PRIORITY. * gui/gdmsetup.c: Now that gdmconfig reads in the priority value, gdmsetup will write it back out if that server is modified. However, gdmsetup still doesn't allow you to modify the priority value. Probably should add a spinbutton to the dialog. 2006-01-04 Brian Cameron * configure.ac, gui/gdmsetup.c, vicious-extensions/Makefile.am: No longer require libgnome or libgnomeui at all in GDM2. Patch provided by Jani Monoses . 2006-01-04 Brian Cameron * configure.ac, config/gdm.conf.in: Fix Prefetch command so that there is a needed "@" before the argument to gdmprefetch. Padraig O'Briain pointed out this oversight. * gui/greeter.c, gui/greeter/greeter_item.c, gui/greeter/greeter_system.c: Now call gdm_working_command_exists for halt/reboot/suspend/configurator once at startup and cache the values in globals so we don't have to keep calling this function over and over while gdmgreeter runs. Padraig noticed that this function causes a large number of calls to stat which are easily avoided by caching. 2006-01-03 Brian Cameron * gui/gdmsetup.c: Fix problem where gdmsetup does not remember that Automatic Login checkbox has been changed. Fixes bug #325910. 2006-01-03 Brian Cameron The PreFetch part of this patch was provided by Padraig O'Briain with some modifications by myself to better integrate into the configure/Makefile build. The rest of this work was done by myself. * gui/gdmcommon.c: Fix problem with client not properly counting the number of connections, and make logic more robust so when it receives an "ERROR 200 Too many messages" it will close and reopen the connection and try again rather than just fail. This fixes bug #325756. * configure.ac, configure/Makefile.am: Add loginpreloadlist * utils/prefetch.c: Now handle comments that start with "#" in the preloadlist file. * daemon/gdm.h, daemon/gdmconfig.c, config/gdm.conf, gui/gdmlogin.c, gui/gdmcommon.[ch], gui/greeter/greeter.c: Now PostDisplayProgram is PreFetchProgram. Fixed some comments in gdm.h. * daemon/gdm.c: Now KEY_PRE_FETCH_PROGRAM is only returned to the first slave that asks for the value, ensuring the prefetch only happens the first time a greeter is displayed. * gui/gdmflexiserver.c: Clean up the code a little. 2006-01-02 Brian Cameron * configure.ac: Update glib required to 2.8 since we now use g_access. 2006-01-02 Brian Cameron * Release 2.13.0.4: * NEWS, configure.ac: Updated * config/Makefile.am: Corrected make distcheck issue. 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. * 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. * 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: Updated comments 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. * 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.c: Fix GET_SERVER_DETAILS to support "ID" and some cleanup. * gui/Makefile.am, daemon/Makefile.am: Support --with-configdir option which got broken. * gdm.h: Updated sockets protocol comments so they are the same as in the docs/C/gdm.xml file. * config/gdm.conf.in: Updated comments to mention that this file is not to be edited. Cleaned up the file so it is more readable. * 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 . 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. * 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. 2005-12-12 Brian Cameron * Release 2.13.0.3: * NEWS, configure.ac: Updated * daemon/gdm.[ch]: Comment out new protocol commands I am adding to get rid of the need to use gnome config. This will be in the next release. 2005-12-12 Brian Cameron * daemon/misc.c, daemon/server.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/xdmcp.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmcommon.[ch], gui/gdmdynamic.c, gui/gdmlanguages.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsession.c, gui/gdmuser.c, gui/gdmwm.[ch], gui/greeter/greeter.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_item.c, gui/greeter/greeter_item_capslock.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_item_timed.c, gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c, gui/misc.c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c, utils/gdm-dmx-reconnect-proxy.c, utils/gdmaskpass.c: Remove libgnome dependencies except in gdmflexiserver.c and gdmsetup.c. Patch provided by Jani Monoses 2005-12-03 Dennis Cranston * gui/gdmsetup.c: (gg_selection_changed), (read_themes), (xserver_button_clicked), (setup_local_themed_settings), (setup_remote_themed_settings), (setup_gui): * gui/gdmsetup.glade: First set of UI changes as recommended by Calum Benson. 2005-12-02 Brian Cameron * README, daemon/gdm.h: More clear stability information about the gdm.conf file. Better comments for ADD_DYNAMIC_DISPLAY socket command. 2005-11-28 Brian Cameron * Release 2.13.0.2: * NEWS, configure.ac: Updated 2005-11-28 Brian Cameron * config/Makefile.am: Ensure gnome.desktop and default.desktop files have 644 perms. Fixes bug #322600. Patch provided by Andrew Benton . * daemon/gdmconfig.c: Correct spelling of GDM_KEY_XDMCP when HAVE_LIBXDMCP is not defined. 2005-11-23 Dennis Cranston * gui/gdmphotosetup.c: (browse_button_cb): Fix a double free. Remove unused function. 2005-11-23 Dennis Cranston * gui/gdmphotosetup.c, gui/gdmphotosetup.glade: Fix bug #317744, "Login photo dialog is awful", by simplifying the dialog. 2005-11-23 Brian Cameron * daemon/verify-crypt.c, daemon/verify-pam.c, Convert to using new gdmconfig interfaces. * daemon/choose.c, daemon/errorgui.c, daemon/gdm.c, daemon/gdmconfig.c, daemon/misc.c, daemon/slave.c, daemon/xdmcp.c, gui/gdmXnestchooser.c, gui/gdmconfig.c, gui/gdmlogin.c, gui/greeter/greeter_canvas_textm.c: Fix compiler warnings. Patch provided by Frederic Crozat on gdm-list@gnome.org. Also make sure that all functions have a space before the "(" to better follow coding style guide. * daemon/cookie.c, daemon/display.c, daemon/gdm-net.c, daemon/getvt.c, daemon/md5.c, daemon/server.c, daemon/verify-pam.c, gui/gdmchooser.c, gui/gdmcommon.c, gui/gdmdynamic.c, gui/gdmlanguages.c, gui/gdmuser.c, gui/greeter/greeter.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_action_canvas_item.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Make sure that all functions have a space before the "(" to better follow coding style guide. 2005-11-22 Brian Cameron * daemon/getvt.c: Fix ifdefs again. 2005-11-22 Brian Cameron * gui/modules/keymouselistener.c, gui/modules/dwellmouselistener.c: Backing out this fix. It is not needed. 2005-11-22 Brian Cameron * gui/modules/keymouselistener.c, gui/modules/dwellmouselistener.c: Fix build on Darwin. Fixes bug #322085. Patch provided by dmacks@netspace.org. 2005-11-22 Brian Cameron * gui/gdmconfig.c: Remove value_set_hash since it isn't really needed. Further cleanup. 2005-11-22 Brian Cameron * daemon/gdmconfig.c, gui/gdmconfig.c: Minor tweaks. Honor doing_update when doing translations and don't translate Welcome or RemoteWelcome in the daemon since it does not make sense to do this here. 2005-11-22 Brian Cameron * daemon/cookie.c, daemon/gdm.c, daemon/xdmcp.c, gui/gdmchooser.c, gui/greeter/greeter_events.c, gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_parser.[ch], gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Fix compiler warnings. Fixes bug #322053. Patch provided by Frederic Crozat. Patch required some work to apply to CVS head. 2005-11-22 Brian Cameron * gui/gdmlogin.c: Now use GDK_RGB_DITHER_MAX so that GDM always displays a nice background regardless of X configuration (X in 16bpp mode). Fixes bug #322029. Patch provided by Frederic Crozat. 2005-11-22 Brian Cameron * configure.in, vicious-extensions/ve-misc.c: Fix build on Darwin. Fixes bug #322085. Patch provided by dmacks@netspace.org. 2005-11-22 Brian Cameron * NEWS: Updated so it has 2.8.0.6 info. 2005-11-22 Brian Cameron * daemon/getvt.c: Fix get_free_vt_linux so it returns the correct VT. Fixes bug #322137. Patch by Frederic Crozat. 2005-11-21 Brian Cameron This further improves GDM configuration so that now only the GDM daemon parses and manages the configuration file. Most client programs use the GET_CONFIG command to access needed data. This simplifies the configuration logic and puts all configuration parsing in one place and gets rid of a lot of global variables that were making the code look messy. This also gets rid of several places where gnome_config deprecated functions were being used. I have cleaned up the code so that the vicious-extensions code is more localized in gui/gdmconfig.[ch]. Some work is left to do: gdmflexiserver still uses gnome_config functions and gdmconfig should use the new functions for reading from the configuration file. Some compile issues fixed as highlghted by dmacks@netspace.org to fix bug #322083. * NEWS: Fixed comment. * daemon/gdm.h: Further cleanup of #define's so that they better match the names of the config keys. * daemon/gdm.c: Now GET_CONFIG returns "OK" if the key is valid but has no value when it is a string. Now free return value from gdm_config_to_string. * daemon/Makefile.am, gui/greeter/Makefile.am: Now the daemon validates the greeter's theme directory, so pass the default value into the daemon and not the greeter. * daemon/gdmconfig.h: Added gdm_is_valid_key and corrected prototype for gdm_set_user_session_lang. * daemon/slave.c: Fix warning and compile errors. * daemon/gdmconfig.c: Further fleshed out. Now it supports a few additional keys I overlooked. It now validates all keys used by the slaves. Now handles translated string. Further refactored the code. * gui/Makefile.am: Added gdmconfig.[ch] to common library. * gui/gdmconfig.[ch]: New functions for accessing configuration data for slaves. * gui/gdmXnestchooser.c, gui/gdmlanguages.c, gui/gdmsession.h, gui/gdmuser.h, gui/gdmwm.c, gui/misc.c, gui/greeter/greeter_item_capslock.c: gui/greeter/greeter_item_pam.c: No longer include vicious.h/viciousui.h, instead gdmconfig.h. * gui/gdmcomm.c: Fix gdm_check_comm to no longer require passing in the config file name. * gui/gdmcommon.[ch]: Get rid of old gdm_common_*_same functions that are replaced with new gui/gdmconfig logic. Now functions that access config data use the new functions. * gui/gdmflexiserver.c: Now displays the localized string when you use GET_CONFIG to access a translatable string. * gui/gdmconfig.c: Now calls update_key in addition to update_greeters when updating greeter config data, since the daemon needs to update the values now when they change. * gui/gdmchooser.c, gui/gdmdynamic.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsession.c, gui/gdmuser.c, gui/gdm/gdmXnestchooser.c, gui/greeter/greeter.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_item.c, gui/greeter/greeter_item_customlist.c, gui/greeter/greeter_item_timed.c, gui/greeter/greeter_item_list.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Updated to use new configuration functions. * vicious-extensions/glade-helper.c: Now include stdlib.h to avoid compiler warnings. * gui/greeter/greeter.c: Remove unused gdm_kill_thingies function. 2005-11-19 Jürg Billeter * configure.ac: Really check for X server in prefix /usr 2005-11-16 Brian Cameron * daemon/getvt.c: Fix #ifdef's. 2005-11-15 Brian Cameron * daemon/getvt.c: Change made on 11/03 to make GDM use VT_GETSTATE for peeking VT freeness broke BSD builds. Put back code for BSD. Linux will continue to use VT_GETSTATE. Fixes bug #321493. 2005-11-14 Brian Cameron * Release 2.13.0.1: * NEWS, configure.ac: Updated 2005-11-11 Dennis Cranston * gui/gdmsetup.c: (install_theme_file), (theme_install_response), (install_new_theme), (get_file_list_from_uri_list), (theme_list_drag_data_received), (setup_local_themed_settings), (setup_remote_themed_settings): Add drag and drop support for new themes. 2005-11-11 Brian Cameron * configure.ac: Update check for socklen_t so it includes sys/socket.h. Some BSD platforms define socklen_t there. Patch provided by dmacks@netspace.org. Fixes bug #320930. 2005-11-09 Brian Cameron * daemon/getvt.c: Oops, fix again. 2005-11-08 Brian Cameron * daemon/getvt.[ch]: Fix reading of GDM_KEY_FIRST_VT and GDM_KEY_VT_ALLOCATION from config. 2005-11-08 Brian Cameron * daemon/getvt.c daemon/slave.c: Add errno.h and gdmconfig.h to getvt.h. Fix Xinerama key in slave.c so code comiles when Xinerama is enabled. 2005-11-07 Brian Cameron * daemon/gdm.h, gui/gdmchooser.c: No longer #ifdef the reading of the Multicast config data. It's okay if these values are read in even if IPv6 isn't being used. 2005-11-04 Brian Cameron * configure.ac: Fix check for XInput and add a check for libgen.h. Fixes bugs #320580 and #320581. 2005-11-03 Brian Cameron * gui/modules/Makefile.am: No longer link against libvicious since it isn't used by the gestures listeners. 2005-11-03 Brian Cameron * daemon/getvt.c: Patch to make GDM use VT_GETSTATE for peeking VT freeness. Patch provided by Samuel Thibault . Fixes bug #315313. 2005-11-03 Brian Cameron * config/gdm.conf: Updated UPDATE_CONFIG section of docs to reflect changes made to GDM configuration. 2005-11-03 Dennis Cranston * config/gdm.conf.in: Updates for bug #314685. 2005-11-03 Dennis Cranston * gui/gdmsetup.desktop.in: Update Name, GenericName & Comment to "Login Window" preferences. Change the category from Applications->System Tools to Desktop->Administration. Updates bug #314685. 2005-11-03 Dennis Cranston * gui/gdmchooser.c: (main): Set the window icon. * gui/gdmchooser.glade: Use HIG recommended widget spacing. Fixes bug #320425. 2005-11-03 Brian Cameron Redesign of daemon configuraton. Now all vicious-extensions logic is in gdmconfig.[ch]. This greatly simplifies how the UPDATE_CONFIG, and GET_CONFIG commands work and makes it easier to update the way GDM handles configuration. Changed ve_setenv/ve_unsetenv to g_setenv/g_unsetenv since GDM requires a newer version of GLIB than could possibly cause the old ve versions to get used. * daemon/gdmconfig.[ch]: New logic for interacting with vicious-extensions. * daemon/gdm.h: Updated comments and changed the #define for many configuration options so the naming is more consistant. Now the #defines more closely match the keys in gdm.conf and more consistantly use the underscore. * daemon/auth.c, daemon/choose.c, daemon/cookie.c, daemon/display.c, daemon/errorgui.c, daemon/gdm-net.c, daemon/gdm.c, daemon/getvt.c, daemon/misc.c, daemon/server.c, daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/xdmcp.c: Reorganized configuration. * daemon/auth.h, daemon/cookie.h, daemon/display.h, daemon/errorgui.h, daemon/filecheck.h, daemon/gdm-net.h, daemon/getvt.h, daemon/misc.h, daemon/server.h, daemon/slave.h, daemon/verify.h, daemon/xdmcp.h: Now include gdmconfig.h instead of vicious.h and changed "Gnome" to "GNOME" in comment. * daemon/Makefile.am: Added new gdmconfig.[ch] * gui/gdmXnestChooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmdynamic.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/greeter/greeter.c, gui/greeter/greeter_item_capslock.c, utils/gdm-dmx-reconnect-proxy.c: Updated to reflect the new configuration #defines. 2005-10-27 Dennis Cranston Fix bug #314685, "Gdmsetup UI fixes". Based on redesign mockups by Calum Benson from http://www.gnome.org/~calum/usability/specs/gdm/. * gui/gdmsetup.c: (logo_toggle_timeout), (logo_toggle_toggled), (xserver_update_delete_sensitivity), (init_servers_combobox), (update_remote_sensitivity), (refresh_remote_tab), (combobox_timeout), (list_selection_toggled), (combobox_changed), (toggle_toggled_sensitivity_positive), (timedlogin_allow_remote_toggled), (setup_notify_toggle), (setup_xdmcp_notify_toggle), (users_string_compare_func), (setup_user_combobox_list), (setup_xdmcp_intspin), (face_add), (face_del), (browser_move), (browser_apply), (users_add_button_clicked), (setup_face), (greeter_toggle_timeout), (sensitive_entry_toggled), (local_background_type_toggle_timeout), (local_background_type_toggled), (setup_greeter_toggle), (greeter_color_timeout), (setup_greeter_color), (xdmcp_button_clicked), (vt_spinbutton_activate), (setup_greeter_combobox), (setup_xdmcp_support), (acc_modules_toggled), (test_sound), (sound_response), (setup_users_tab), (setup_accessibility_tab), (gg_selection_changed), (read_themes), (selected_toggled), (theme_install_response), (install_new_theme), (delete_theme), (xserver_entry_timeout), (xserver_toggle_timeout), (xserver_init_server_list), (xserver_init_servers), (xserver_row_selected), (xserver_remove), (xserver_add), (xserver_add_button_clicked), (xserver_init_definitions), (xserver_delete), (setup_xserver_support), (xserver_button_clicked), (setup_security_tab), (setup_local_themed_settings), (image_filechooser_response), (logo_filechooser_response), (create_preview_pixbuf), (update_image_preview), (hookup_plain_background), (hookup_plain_logo), (setup_plain_menubar), (setup_local_welcome_message), (setup_remote_welcome_message), (setup_local_plain_settings), (setup_local_tab), (hookup_remote_plain_background), (hookup_remote_plain_logo), (setup_remote_plain_settings), (setup_remote_themed_settings), (setup_remote_tab), (setup_gui), (apply_user_changes), (main): Implement the new UI. Fix various compiler warnings. * gui/gdmsetup.glade: Implement the new UI. * gui/greeter/greeter.c: (main): Get the background color from GDM_KEY_GRAPHICAL_THEME_COLOR, but fallback to GDM_KEY_BACKGROUNDCOLOR if its does not exist. * gui/gdmlogin.c: (gdm_login_parse_config), (setup_background), (gdm_reread_config): Fix bugs found in the parsing of the welcome messages. Add support for a GDM_BACKGROUND_IMAGE background type. Fix the setup of the welcome message string in the greeter. Fix various compiler warnings. * vicious-extensions/glade-helper.c: (glade_helper_tagify_label): Add support for more than one markup tag. * daemon/gdm.h: Define GDM_KEY_GRAPHICAL_THEME_COLOR and GDM_KEY_CHOOSER_BUTTON_LOGO keys. * daemon/gdm.c: (gdm_handle_user_message): Add newly defined keys. * daemon/slave.c: (session_child_run): Pass a GDM_GREETER_TYPE environmental variable to presession script. * config/PreSession.in: Add support for plain and background color. 2005-10-28 Brian Cameron * daemon/display.c: If the slave doesn't respond to a SIGTERM, try SIGKILL the second time. GDM has a problem where it will sometimes stop managing a display because it just keeps waiting for a slave to die after sending it a SIGTERM. Some users have found that this patch works around the problem of a child ignoring SIGTERM. Patch provided by Vaclav Smilauer . Fixes bug #113902. 2005-10-28 Brian Cameron . 2005-10-28 Jürg Billeter * configure.ac: Check for X server in prefix /usr 2005-10-27 Brian Cameron * daemon/slave.c: Fix race condition where the d variable wasn't being set until after the signal handlers, and the signal handlers make use of this variable. Now set it before to ensure it is set whenever a signal might be received. Issue pointed out by Simon Bowden on gdm-list@gnome.org 2005-10-27 Erdal Ronahi * configure.ac: Added ku (Kurdish) to ALL_LINGUAS 2005-10-26 Brian Cameron * Release 2.13.0.0: Bumping minor version to match GNOME release schedule. * NEWS, configure.ac, autogen.sh: Updated. Renamed configure.in to configure.ac. 2005-10-14 Brian Cameron * gui/gdmlogin.c: No longer set tooltips for menu items in gdmlogin. These are distracting, and do not work with accessibility. After talking with Owen Taylor at the GNOME Boston Summit, he said no GNOME programs do this, and it is not recommended. Fix for bug #144869. * gui/gdmchooser.c: Now use gdm_common_setup_cursor instead of its own copy of the same function. * gui/gdmcommon.[ch]: gdmlogin, gdmgreeter and gdmchooser were all using their own functions to set the background color. Now they use a common function in gdmcommon. * gui/gdmlogin.c, gui/gdmchooser.c, gui/greeter/greeter.c: Now sets background color and sets cursor to a watch as soon as GTK is initialized and the configure file read. This shortens the amount of time the background is Xserver default gray. 2005-10-06 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_pam.c: Change the way the "OK" and "Cancel" buttons work so that they are consistant. Now the "Cancel" button in gdmlogin is active when the Username is requested and pressing it just clears the field. This makes gdmlogin work like gdmgreeter. This is easier than changing gdmgreeter because the greeter themes don't support changing buttons sensitivity. Also it is somewhat useful for Cancel to work this way. Now make the buttons insensitive when ok/enter/tab is pressed and make them sensitive again when the greeter wants entry. This fixes bug #318017 where users could corrupt gdmgreeter's memory by hitting cancel after authentication (which would only happen if the PostLogin script caused a long enough delay to allow this (or perhaps on a real slow machine). 2005-10-06 Brian Cameron * daemon/slave.c: Fix problem with PostSession script not always getting executed when user kills the Xserver with ctl-alt-backspace. This is caused because an xioerror is generated by whack clients and this xioerror needs to be ignored for PostSession to be processed. This problem tended not to manifest in GDM 2.6 because the introduction of the whack clients call made the xioerror get generated earlier. However, it was still a race condition and this fix ensures that the xioerror will not cause the slave to ever exit too early. Fixes bug #152906. Patch provided by Jerry G. DeLapp * AUTHORS: Update file. 2005-10-05 Brian Cameron * acconfig.h, configure.in, config/gdm.conf.in, daemon/gdm.h, Define SoundProgram to be /usr/bin/audioplay instead of /usr/bin/play on Solaris. /usr/bin/play doesn't exist on Solaris. 2005-10-04 Brian Cameron * gui/gdmflexiserver.c: Correct reading of config file. Fixes bug #313701. Patch provided by Christiaan Welvaart . 2005-10-03 Brian Cameron * Release 2.8.0.5 * configure.in, NEWS, AUTHORS: Updated. 2005-10-03 Brian Cameron * daemon/slave.c: Remove evil gdm_debug output. 2005-10-03 Brian Cameron * gui/gdmsetup.glade: Fix label to remove unwanted "\n" characters. Fixes bug #317820. 2005-09-30 Brian Cameron * gui/gdmchooser, gui/gdmcomm.c: Fix messages. Thanks to Adam Weinberger for patches. 2005-09-29 Brian Cameron * daemon/verify-pam.c: Remove syslog() test that causes needless syslog message when Solaris auditing is turned off. * gui/gdmflexiserver.c, gui/greeter/greeter_item_ulist.c: Correct grammar. Corrects bug #317479, thanks to adamw@gnome.org (Adam Weinberger). 2005-09-28 William Jon McCann * gui/gdmflexiserver.c (is_program_in_path, maybe_lock_screen) (run_logged_in_dialogue, main): Consolidate screensaver activation code. Don't use deprecated gnome-exec. Fixes #311497. 2005-09-27 Brian Cameron * gui/greeter/greeter_item_ulist.c: Now print syslog warning if GDM theme has ulist but does not have pam-message. 2005-09-26 Brian Cameron * gui/gdmsetup.c, gui/gdmphotosetup.c: Only set right/left mouse buttons to map to button1 when RUNNING_UNDER_GDM and now show hidden files by default in file dialogs. Fixes bug #317152. * gui/gdmflexiserver.c: Cleaned up startnew option. * gui/modules/keymouselistener.c, gui/modules/dwellmouselistener.c: Remove needless include. 2005-09-22 Rodrigo Moya * gui/gdmflexiserver.c (run_again): use gnome-screensaver if available instead of xscreensaver. 2005-09-22 Rodrigo Moya * gui/gdmphotosetup.c: fixed compilation warnings. (add_preview_widget): made it static to avoid 'no previous prototype' warning. (browse_button_cb, fill_model): removed unused variables. 2005-09-20 Brian Cameron * README.install, pam_allow.c: Add documentation regarding how to set up Automatic Login on Solaris. * daemon/Makefile.am, gui/Makefile.am, gui/greeter/Makefile.am, gui/modules/Makefile.am, vicious-extensions/Makefile.am: Remove illegal reference to build directory in installed .la files. Fixes bug #316793, patch provided by Stanislav Brabec . * gui/gdmlogin.c: Fix comment for translators to make it more clear that %l is a strftime option for 12 hour format. Fixes bug #316773. 2005-09-14 Brian Cameron * daemon/slave.c: Made error message about dmrc file being ignored more clear. Fixes bug #316242. 2005-09-14 Bastien Nocera * daemon/xdmcp.c: (gdm_xdmcp_decode_packet): Make XdmcpFill() failure a debug, as it also happens when the client disconnects from the XDMCP server before the session was setup (Closes: #316316) 2005-09-14 Brian Cameron * daemon/gdm.[ch], daemon/slave.c, config/gdm.conf.in: Added debug/gestures key so that you can turn on debugging for the gesture listeners separately from general debug. Gesture listener debug output is too verbose to include in general debug. 2005-09-14 Brian Cameron * gui/gdmsetup.c: Fix gdmsetup so that when user modifies Include/Exclude list, it also updates automatic/timed login dropdown immediately. * gui/modules/keymouselistener.c: Remove incorrect comment. 2005-09-13 Brian Cameron * daemon/slave.c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Now turn on gesture debug when GDM debug is on. Fix bug in dwellmouselistener that was causing gestures to not be recognized. 2005-09-06 Brian Cameron * daemon/auth.c, daemon/gdm.c, daemon/slave.c, daemon/verify-pam.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmdynamic.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_session.c, gui/modules/keymouselistener.c, utils/gdm-dmx-reconnect-proxy.c, vicious-extensions/vc-misc.c: Correct memory leaks. Fixes bug #315388, patch by Steve Grubb with minor tweaks by myself. * gui/gdmphotosetup.c: Corrected definition of void function to avoid compiler warning. 2005-09-06 Brian Cameron * Release 2.8.0.4. * configure.in, NEWS: Updated. 2005-08-30 Brian Cameron * gui/modules/keymouselistener.c, gui/modules/dwellmouselistener.c: Fixed syslog debugging so it works better. 2005-08-20 Dennis Cranston * gui/gdmXnestchooser.c: (main): * gui/gdmchooser.c: (gdm_chooser_decode_packet), (add_check), (gdm_chooser_add_host), (main): * gui/gdmcomm.c: (gdmcomm_check): * gui/gdmcommon.h: * gui/gdmflexiserver.c: (change_vt), (main): * gui/gdmlogin.c: (back_prog_run), (gdm_login_restart_handler), (gdm_login_halt_handler), (gdm_login_suspend_handler), (gdm_login_session_lookup), (gdm_login_language_lookup), (gdm_login_ctrl_handler), (main): * gui/gdmphotosetup.c: (set_face_from_filename): * gui/gdmsetup.c: (update_greeters), (root_not_allowed), (theme_install_response), (delete_theme), (main): * gui/gdmwm.c: (gdm_common_message), (gdm_common_query), (gdm_common_warn): * gui/greeter/greeter.c: (greeter_ctrl_handler), (verify_gdm_version), (main): * gui/greeter/greeter_action_language.c: (greeter_langauge_initialize_model), (greeter_language_get_language), (greeter_action_language): * gui/greeter/greeter_item_pam.c: (greeter_item_pam_leftover_messages): * gui/greeter/greeter_session.c: (greeter_session_lookup), (greeter_session_init): * gui/greeter/greeter_system.c: (query_greeter_restart_handler), (query_greeter_halt_handler), (query_greeter_suspend_handler): * vicious-extensions/glade-helper.c: (glade_helper_bad_interface), (glade_helper_bad_columns), (glade_helper_no_interface): * vicious-extensions/ve-miscui.c: (ve_hig_dialog_new): * vicious-extensions/ve-miscui.h: GNOME HIG fixes for the Language, Session and Message dialogs. Modified the ve_hig_dialog_new() function to use gtk_message_dialog_new() now that it supports both primary and secondary text. Changed the shutdown, reboot, and suspend dialogs to type GTK_MESSAGE_WARNING. 2005-08-22 Rodrigo Moya * gui/gdmwm.c: added missing includes for clean 64 bit compilation. 2005-08-22 Tommi Vainikainen * README: Fixed address of the web site. 2005-08-20 Brian Cameron * Release 2.8.0.3. * configure.in, NEWS: Updated. 2005-08-20 Brian Cameron * daemon/gdm.c, daemon/slave.c: Honor Default Session gdm.conf setting when using autologin. Fixes bug #313996. Patch by HansPetter Jansson 2005-08-18 Brian Cameron * gui/gdmflexiserver.c: Fix reading of configuration file so it works. 2005-08-18 Frederic Crozat * config/locale.alias: Remove spaces in locale name, it causes gdm to discard those locales. No string freeze was broken, these strings are not displayed. Fix bug #313735. 2005-08-17 Rodrigo Moya * gui/greeter/greeter_system.c (greeter_system_handler): added missing tooltips. 2005-08-16 Brian Cameron * README: Add info about the gdm-list@gnome.org and location of archives. 2005-08-15 Brian Cameron * gui/Makefile.am: Change installation location of gdmphotosetup.desktop from /usr/share/gnome/capplets to /usr/share/applications since the older directory is deprecated since GNOME 2.10 and is not menu-spec compliant. Fixes bug #313205. 2005-08-15 Brian Cameron * README.install, config/gdm.conf.in: Updated links to point to the new http://www.gnome.org/projects/gdm/ for the project page. Fixed art.gnome.org link. * gui/gdmflexiserver.c: Fix bug #313197. * gui/gdm.conf.in: Added comments to better explain how AlwaysRestartServer works. 2005-08-12 Brian Cameron * AUTHORS: Updated. 2005-08-11 Brian Cameron * NEWS: updated to be a bit more clear. * daemon/gdm.[ch], daemon/slave.c, daemon/verify-pam.c: Now support Solaris SDTLOGIN mechanism which will cause the Xserver to be started as the user instead of as root for extra security. * gui/gdmflexiserver.c: Add a new option --startnew (or -s) to start a new flexible server without displaying a dialog asking the user if they wish to continue an existing session. This is useful for starting gdmflexiserver from the screensaver where the user cannot respond to a dialog. 2005-08-09 Brian Cameron * gui/gdmsession.c: Correct use-after-free issue with the dynamic session in the sessions list. Patch by Joe Marcus Clarke , fixes bug #312974. 2005-08-08 Brian Cameron * NEWS: Updated for 2.8.0.2 release. * gui/gdmsetup.glade: Fixed strings, refer to bugs #312956, 312959, and 312960. * daemon/gdm.c: Fixed Multicast compile issue when IPv6 is not set. * configure.in, config/Makefile.am: Fixed "make distcheck" issue. 2005-08-04 Brian Cameron * daemon/server.c: Fix malformed string. * daemon/gdm.c, daemon/gdm.h: Fixed GET_CONFIG command so it works. Before it only printed out the value if it had a value defined in the gdm.conf file. Now it prints out the runtime value. For values that are only used by other programs, it prints out the compiled-in default if no value exists in gdm.conf. Added comments to gdm.h to make it clear what work developers should do when adding new configuration options. * gui/gdm.h, config/gdm.conf.in: Fixed default value for GtkRC so it's %datadir%/themes/Default/gtk-2.0/gtkrc instead of Default/gtk/gtkrc. 2005-08-03 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter.c: Now GDM is more backwards compatible. The change to add DefaultWelcome and DefaultRemoteWelcome to the config file would cause old configuration files to ignore the setting. Now if the gdm.conf file is missing the DefaultWelcome or DefaultRemoteWelcome key it goes ahead and uses the message in gdm.conf (unless the message is the same as the default anyway). 2005-08-03 Brian Cameron * configure.in: Correct AT_BINDIR. * daemon/gdm.h: Changed "xdmcp" to "XDMCP" in comments. 2005-08-03 Brian Cameron * daemon/gdm.[ch], gui/gdmsetup.c : Change GDM_KEY_SERVERS to GDM_KEY_SECTION_SERVER and added GDM_KEY_SECTION_GREETER. There already is a GDM_KEY_GREETER, so for section #defines it's better to include "SECTION" in it. * gui/gdmsetup.c, gui/gdmsetup.glade: Made a number of UI improvements. Calum Benson is doing a UI review of gdmsetup and I made the following fixes based on his recommendations. No longer have mnemonics on the tabs since this is against HIG rules, changes "Face Browser" tab to "Users" since the Include/Exclude list really also affects Automatic/Timed login and not just the Face Browser. Added label to the Users tab to explain what the tab does, since it wasn't too clear before. Improved description of "Disallow TCP connections" on the security tab so it is more clear what this does (and highlight it doesn't affect XDMCP). I also fixed the sensitivities when "Include All Users" is checked. Previously it was making both the Include and Exclude list insensitive - it really should just make the Include list and buttons to move between Incude/Exclude insensitive. This is now working. 2005-08-03 Brian Cameron * daemon/gdm.[ch], daemon/misc.[ch], daemon/verify-pam.c, config/gdm.conf.in, config/Makefile.am, daemon/Makefile.am: Provide better support for /etc/default/login. Previously it supported only PASSREQ. Now it supports PATH, SUPATH, and CONSOLE. Added new PasswordRequired gdm.conf setting to control whether NULL_PASSWORDS are allowed when using PAM. * config/gdm.conf.in: Changed default for AllowRemoteRoot to false and ConfigAvailable. This makes GDM more secure by default. Some distros may want to change the default back to true. If people complain about this change, I'll make it possible to set these via the configure script. 2005-08-02 Brian Cameron * acconfig.h, configure.in, daemon/Makefile.am, daemon/gdm.c, Change to the way the patch introduced on 07/22 works. Now GDM continues to install the default gdm.conf file in %sysconfdir%/gdm unless the user runs configure with the --with-configdir option. The daemon will now first look in this location and then look in the %sysconfdir%/gdm directory for the config file. This allows GDM to better support system-wide configuration, but leaves the config file in %sysconfdir% for systems that do not need this feature. * README.install: Updated text to include information about HaltCommand and RebootCommand. 2005-08-01 Ryan Lortie * gui/gdmwm.c (gdm_common_query): Reorder code so that the affirmative response is always the rightmost button in a dialog as per the HIG. (Bug #312188) 2005-07-31 Tommi Vainikainen * m4/.cvsignore: Added. * configure.in, Makefile.am: gnome-doc-utils migration * .cvsignore: Added gnome-doc-utils.make 2005-07-26 Tommi Vainikainen * gui/gdmsetup.c (setup_gui), gui/gdmsetup.glade: Removed special option for 24 hour time format. * gui/gdmcommon.h, gui/gdmcommon.c (gdm_common_select_time_format): Added function to parse between "auto", "true", and "false" in "Use24Clock" setting. * gui/gdmlogin.c (gdm_login_parse_config), gui/greeter/greeter.c (greeter_parse_config): Use gdm_common_select_time_format(...). Fixes bug #145549. 2005-07-25 Brian Cameron * config/Makefile.am: Now installs gdm.conf to /usr/share/gdm. Fixed "make distcheck". 2005-07-25 William Jon McCann * .cvsignore: Added depcomp and stamp-h1 * daemon/slave.c (ask_migrate) (gdm_slave_check_user_wants_to_log_in): * daemon/gdm.[ch] (gdm_config_parse): * config/gdm.conf.in: Add a configuration option AlwaysLoginCurrentSession that will automatically switch the user back to their previous session without asking. This is off by default for now. Fixes bug #311415. 2005-07-25 William Jon McCann * gui/gdmcommon.c (gdm_common_get_config_file): Don't return a pointer into the middle of a string that must be freed. Fixes bug #311499. * gui/gdmphotosetup.c (main): Free config file string again. 2005-07-25 William Jon McCann * daemon/gdm.c: Fix build by only using GDM_KEY_MULTICAST when IPV6 is enabled. 2005-07-25 William Jon McCann * gui/faces/butterfly.png: Somehow missed adding this file. * gui/faces/.cvsignore: Add file. 2005-07-24 William Jon McCann * gui/greeter/greeter_item_ulist.c (check_for_displays) (greeter_generate_userlist, greeter_populate_user_list): A few more tweaks to the face browser. * gui/gdmphotosetup.c (maybe_migrate_old_config): Fix leak. (main): Freeing result of gdm_common_get_config file causes memory corruption. So, don't free it until we find the problem. 2005-07-24 William Jon McCann * gui/faces/Makefile.am: * gui/face/dice.jpg: * gui/face/sky.jpg: Updated images. * gui/face/astronaut.jpg: * gui/face/baseball.png: * gui/face/butterfly.png: * gui/face/cat-eye.jpg: * gui/face/chess.jpg: * gui/face/coffee.jpg: * gui/face/energy-arc.jpg: * gui/face/fish.jpg: * gui/face/flake.jpg: * gui/face/flower.jpg: * gui/face/grapes.jpg: * gui/face/guitar.jpg: * gui/face/launch.jpg: * gui/face/leaf.jpg: * gui/face/lightning.jpg: * gui/face/penguin.jpg: * gui/face/puppy.jpg: * gui/face/soccerball.png: * gui/face/sunflower.jpg: * gui/face/sunset.jpg: * gui/face/tennis-ball.png: * gui/face/yellow-rose.jpg: New images. All derived from images on wikipedia and wikimedia with free licenses. * gui/face/bonfire.jpg: * gui/face/cdrom.jpg: * gui/face/clock.jpg: * gui/face/hollyleaf.jpg: * gui/face/lamas.jpg: * gui/face/seal.jpg: * gui/face/skyline.jpg: * gui/face/daisy.jpg: Removed. 2005-07-22 Brian Cameron * configure.in: Bumped version to 2.8.0.2 since a new interface was added, the gdmflexiserver command, GET_CONFIG_FILE was added. * daemon/Makefile.am, daemon/gdm.[ch], daemon/server.c, daemon/xdmcp.c, gui/Makefile.am, gui/gdmXnestchooser.c, gui/gdmchooser.c, gdm/gdmcomm.[ch], gui/gdmcommon.[ch], gdm/gdmdynamic.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/greeter/greeter.c: If /etc/gdm/gdm.conf does not exist, then GDM will look in /usr/share/gdm/gdm.conf. Since /usr/share can be shared across multiple systems, this makes it easier for sysadmins to configure sitewide settings for GDM2 instead of having to customize /etc/gdm/gdm.conf on all the machines separately. Now GDM installs the gdm.conf and factory-gdm.conf files in the /usr/share/gdm location. The gdm daemon needs to be restarted to use a different configuration file. All applications that use the config file now use the new GET_CONFIG_FILE gdmflexiserver command to get the configuration file to use. This way the applications don't get confused if, say, the sysadmin creates an /etc/gdm/gdm.conf file after the server was started using one in /usr/share/gdm. Both the gdm daemon and gdmsetup now allow a --config option so the sysadmin can specify their own location for the config file. Moved GdmMulticast and GdmMulticastAddr to gdm.c so we don't access the config file a second time in xdmcp.c. Corrected grammar for some messages. Changed g_access() to access() in gdmphotosetup.c since this is a new 2.7 usntable function. I will change it back when 2.8 is released. * config/Makefile.am: Changed install location of gdm.conf and factory-gdm.conf to %datadir%/gdm 2005-07-21 William Jon McCann * gui/gdmphotosetup.glade: New file. * gui/Makefile.am: Add glade file. * gui/gdmphotosetup.c: Rewritten to be more HIG compliant, use GtkIconView, include preview in file selector, and be instant apply. 2005-07-21 Brian Cameron * gui/gdmsetup.c: C89 compliance patch provided by Jens Granseuer. . Fixes bug #311097. 2005-07-21 Brian Cameron * daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c: Remove unused gtkmessagedialog.h header file. * gui/gdmchooser-strings.c, gui/gdmchooser.gladep, gui/gdmsetup-strings.c, gui/gdmsetup.gladep: Removing these files from the module since they are not needed. The *.glade files are now translated directly. This fixes bug #310857. 2005-07-20 William Jon McCann * gui/greeter/themes/happygnome-list/happygnome.xml: Tweak the colors in the user list. Make the background translucent behind the user list. * gui/greeter/greeter_item_ulist.c (greeter_populate_user_list): Make real name bold if it is available. Design for humans. (force_no_tree_separators): Set treeview style so that we don't get strange lines between tree rows when we set a userlist color in the theme. (greeter_item_ulist_setup): Only shrink the size of the user list. Set the default widget style. * gui/greeter/greeter_canvas_item.c (greeter_item_create_canvas_item): Don't set rules hint for userlist treeview. 2005-07-20 Brian Cameron * utils/gdm-dmx-reconnect-proxy.c: Fixed grammar, fixing bug #310958. 2005-07-20 Brian Cameron * configure.in: TCP Wrappers now works on Solaris. 2005-07-20 Brian Cameron * gui/Makefile.am, gui/gdmcommon.c, gdmwm.c: Moved gdm_common_show_info_msg, gdm_common_msg and gdm_common_query from gdmcommon.c to gdmwm.c. Now no longer include gdmwm.[ch] in libgdmcommon.a since these are in libgdmwm.a: This is cleaner since these 3 functions reference gdmwm functions. This fixes a link problem on Solaris caused because the Xinerama functions were getting referenced in gdmsetup even though they are unused. * gui/gdmphotosetup.c: Now use chmod instead of g_chmod. 2005-07-19 Brian Cameron * gui/gdmphotosetup.c: Backed out calls to g_chmod since gdm2 should not depend on glib functions only available in an unstable build (2.7). 2005-07-19 William Jon McCann * gui/greeter/greeter_item_ulist.c (gdm_greeter_users_init): Use common function for loading face images. * gui/greeter/greeter.c (greeter_ctrl_handler): Update for new common code. * gui/gdmuser.c (gdm_user_alloc): Use common function for loading face images. (setup_user): Define as static. * gui/gdmlogin.c (gdm_kill_thingies): Make static. (gdm_login_ctrl_handler): Update for new gdm_common_login_sound. Add gdm_kill_thingies before all abort calls since they are not in gdm_common_abort anymore. (main): Use new common get face function. * gui/Makefile.am: * gui/gdmcommon.c (gdm_common_show_info_msg, gdm_common_login_sound): Make more common by not depending on external variables. (gdm_common_abort): Make more common by not depending on external functions. (gdm_common_get_face): Add a common function for loading face images. * daemon/slave.c (path_is_local, check_user_file) (check_global_file, get_facefile_from_gnome2_dir_config) (get_facefile_from_home, get_facefile_from_global, run_pictures): Don't stat or read from remote home directories. Fixes #310545. * configure.in: * daemon/Makefile.am: * daemon/fstype.c: Add ability to detect filesystem types. * gui/greeter/greeter_item_ulist.c (gdm_greeter_users_init): * gui/gdmlogin.c (main): Try GTK+ themed icon stock_person before falling back to nobody.png. Fixes #310906. 2005-07-19 William Jon McCann * gui/gdmlogin.c (gdm_login_gui_init): Use HIG style button layout. Fixes #310549. 2005-07-19 Tommi Vainikainen * config/XKeepsCrashing, config/Xsession.in, daemon/display.c, daemon/gdm.c, daemon/slave.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/gdmsetup.glade, gui/greeter/greeter.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Cleanup terminology, and fix many strings. See bug #310453. Also fixes bug #308287. List of the most important string changes: machine -> computer program -> application or command superuser -> root gdm, Gdm -> GDM See the Language chapter in GNOME HIG for more information. 2005-07-14 Brian Cameron * daemon/getvt.c, daemon/gdm.c: Support DragonFly VT since it is the same as FreeBSD. Patch provided by Joerg Sonnenberger . Fixes bug #310218. 2005-07-13 William Jon McCann * gui/gdmphotosetup.c (main): Use new gstdio functions and set correct permission on .face. 2005-07-11 Brian Cameron * configure.in: Cleaned up configure file. * gui/gdmsession.c: Changed "Gnome" to "GNOME". 2005-06-30 Brian Cameron * Release 2.8.0.1 * NEWS, configure.in: Updated for new release. 2005-06-30 Brian Cameron * gui/gdmlogin.c, gui/gdmsetup.c: No longer use C99 features that do not work with gcc 2.95, specifically do not declare variables except at the beginning of a block. Fixes bug #309110, patch provied by Jens Granseuer . * autgogen.sh: Add back USE_GNOME_MACROS2=1 It doesn't do anything if using GNOME 2.10 or later, but allows people using older gnome-autogen.sh to build. 2005-06-22 Brian Cameron * configure.in, vicious-extensions/Makefile.am, daemon/Makefile.am, gui/Makefile.am, gui/greeter/Makefile.am: Upgrading to pkgconfig 0.17.2 broke the Solaris build because it no longer allows the linker to pull in libraries that are implicitely included. Now explicitely specify the dependent libraries and ensure they are included in the link statements for each binary. * verify-pam.c: Minor correction to Solaris audit logic provided by Gary Winiger. 2005-06-20 Brian Cameron * autogen.sh: Updated REQUIRED_AUTOMAKE_VERSION from 1.4 to 1.5 since it no longer requires 1.4 and gnome-autogen.sh would complain if you had a newer version of automake. Fixes bug #307543. * daemon/slave.c: On 04/25, a change was made to move seteuid/setegid to before checking the existance of the user's $HOME id to fix bug #301821. That patch added new seteuid/setegid calls before the check, but didn't remove the calls after the check. Calling these functions twice is needless and was causing problems on NetBSD (refer to bug #301821), so now fixing the logic so it doesn't needlessly call the function twice. This fixes bug #301821. Patch provided by Julio M. Merino Vidal. This fixes bug #301821. 2005-06-17 Brian Cameron * gui/gdmsetup.c: Fix Delete button sensitivity. Fixes part of bug #302354. Patch by Andrew Case. 2005-06-15 Brian Cameron * gui/gdmXnestchooser.c, gui/gdmcomm.c, gui/gdmflexiserver.c, gui/gdmphotosetup.c, gui/gdmwm.c: Fix leaks. Addresses bug #307482. Patch provided by Kjartan Maraas. * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Remove needless "\n" from syslog calls. 2005-06-15 Brian Cameron * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Now log messages to syslog since you can't see messages printed to stdout/stderr when running under gdm2. Now only print messages if GDM_DEBUG_GESTURES environment variable is set to TRUE. Cleaned up the code so it is more readible. No longer modify PATH since gdm2 now puts full path to executables in the gesture listener config files. More secure. 2005-06-13 Brian Cameron * vicious-extensions/ve-gnome.c: Remove reference to libgnome. The daemon should not depend on libgnome. Patch provided by Andrew Case. Fix for bug #117889. 2005-06-11 Juerg Billeter * configure.in: Use ksh on solaris only. Fixes bug #307250. 2005-06-10 Brian Cameron * Release 2.8.0.0 * configure.in: Updated version * NEWS: Updated * gui/Makefile.am: Fixed so faces subdir gets distributed. * gui/faces/Makefile.am: Fixed so faces subdir builds with distcheck. 2005-06-10 Brian Cameron * gui/gdmsetup-strings.c, gui/gdmsetup.c, gui/gdmsetup.glade: Removed "No Image" button for setting the background since it is redundant. You can also say "no background" on the radio button list. 2005-06-10 Brian Cameron * config/gdm.conf.in: Updated setting for gdmsetup, gdmlogin, and gdmchooser so they point to the new installation locations. Fixes bug #306464. * configure.in: Fix enable-ipv6 so it works. Fixes bug #306558. Patch provided by foser@gentoo.org. * gui/gdmsetup-strings.c, gui/gdmsetup.c, gui/gdmsetup.glade, config/gdm.h, daemon/gdm.h: Add Xserver configuration tab to gdmsetup. Minor cleanup of gdmsetup.c and better documentation. Fixes bug #89421. * gui/gdmsetup.c, gui/gdmsetup.glade: Now "Turn on Face Browser" is on Security tab, which makes more sense. Face Browser tab is now insensitive if not turned on. Rearranged tabs so they seem a bit more clean. 2005-06-02 Brian Cameron * gui/gdmchooser.c, gui/gdmlogin.c, gui/gdmsetup.glade, gui/greeter/greeter.c, gui/greeter/greeter_system.c: Change "reboot" to "restart". Changed function names and variables from reboot to restart. It's still "reboot_button" in the GDM2 theme XML files since changing this would break backwards compatibility. Fixes bug #305939. Patch for gdmlogin by Nicholas Skehin. I updated the patch so it also applies to gdmgreeter. 2005-06-02 Brian Cameron * gui/gdmdynamic.c: Added new file so build works. 2005-05-25 Brian Cameron * acconfig.h, configure.in, config/gdm.conf.in, config/Xsession.in, README.install: Now allow xevie to be turned on for server-Standard. This is for better a11y support. Now use /bin/ksh for Xsession shell if on Solaris instead of /bin/sh. This is needed to support Solaris users who are using ksh or bash as their $HOME shell. 2005-05-17 Brian Cameron * daemon/gdm.[ch], daemon/misc.c, daemon/verify-pam.c, gui/Makefile.am, gui/gdmdynamic.c, config/gdm.conf.in: Add support for dynamic Xservers. Fixes enhancement request #168219. Patch provided by Bob Terek . 2005-05-16 Brian Cameron * gui/modules/AccessKeyMouseEvents.in: Fixed comments. 2005-05-16 Brian Cameron * Now use gi18n.h instead of libgnome header files to get access to translation code. libgnome is still used in vicious-extensions, so this still needs to be cleaned up before bug #117889 is fully fixed. Patch provided by Christian - Manny Calavera - Neumair. * configure.in: Backed out adding zh_HK to ALL_LINGUAS since it breaks the build. 2005-05-16 Danilo \305\240egan * gui/gdmsetup-strings.c: Removed. * gui/gdmchooser-strings.c: Removed. * gui/Makefile.am: Remove gdmchooser-strings.c and gdmsetup-strings.c, as well as duplicate entries for glade files from EXTRA_DIST. Fixes bug #55635 2005-05-16 Brian Cameron * gui/greeter/greeter.c: Fix broken messages. Fixes bug #304377. Thanks to Leena Gunda. * configure.in: Added zh_HK to ALL_LINGUAS. 2005-05-13 Brian Cameron * daemon/gdm-net.c: Fix gdm2 so it works better on BSD and MacOS. Upon getting EOF on a socket/pipe/etc. G_IO_IN is always set and G_IO_HUP may not be set. Therefore, the 0 return from read() is important. If we get a length <= 0 from read() we force the socket to be closed. This prevents gdm-binary from causing high CPU-load after logout. Fixes bug #172491. Fix posted by Joe Marcus Clarke . 2005-05-13 Brian Cameron * gui/greeter/greeter.c: No longer set default font size. Thanks to Erwann Chenede for catching this. 2005-05-10 Leena Gunda * daemon/server.c (do_server_wait): Check if a host has been selected from XDMCP chooser and change servstat accordingly. Fixes bug where Xnest session quits when a host is selected from XDMCP chooser. 2005-05-06 Brian Cameron * daemon/auth.c, daemon/display.c, daemon/gdm.[ch], daemon/server.c, daemon/slave.c, daemon/verify-pam.c, daemon/xdmcp.c, AUTHORS: Rename console and TYPE_LOCAL in preparation for adding the dynamic Xserver patch. This is part of the fix for bug #168219. Patch provided by Bob Terek. 2005-05-04 Brian Cameron * gui/gdmcommon.[ch], gui/gdmlogin.c, gui/greeter/greeter_session.c: Refactored the code so session menu setup code is no longer duplicated in gdmlogin adn gdmgreeter. 2005-05-03 Brian Cameron * Makefile.am: Correct Makefile so that if CONSOLE_HELPER is set, we don't try to create an /sbin/gdmsetup symlink to gdmsetup. Now gdmsetup is already installed to /sbin always. Fixes #302319. * gui/gdmsetup.c: Fix sensitivity of the "Delete Theme" button. Fixes bug #302342. * daemon/gdm.h, gui/gdmlogin.c, gui/greeter/greeter.c: Now only set user/password entry to PAM_MAX_RESP_SIZE if HAVE_PAM is defined, otherwise set it to GDM_MAX_PASS set to 256 in daemon/gdm.h. This allows gdm to be used on systems that do not have PAM. Fixes #302228. Patch by Ali Akcaagac. * daemon/gdm.h, gui/gdmsetup.c, gui/greeter/greeter.c, gui/gdmsetup.glade, gui/gdmsetup-strings.c, config/gdm.conf.in: Now support random theme. Fixes #302354. Patch by Andrew Case. * gui/gdmcommon.c, gui/gdmlogin.c, gui/greeter/greeter_session.c, gui/Makefile.am, added gui/gdmsession.[ch]: Support better sorting for session names. Fixes #301818. Patch by Ray Strode. 2005-04-26 Brian Cameron * gui/modules/AccessKeyMouseEvents.in: Now use more sensible arguments for starting magnifier, recommended by Bill Haneman. 2005-04-25 Brian Cameron * daemon/gdm.c, daemon/slave.c, daemon-verify-pam.c, gui/gdmcomm.c, gui/gdmlogin.c, gui/gdmsetup.c, vicious-extensions/glade-helper.c: Fix typos in strings. Fixes bug #301694. Patch provided by Kjartan Maraas. * daemon/slave.c: To support when one username can be mapped to another canonical username, we use the loginname that pwent returns instead of the one that was typed in. Fixes bug #301820. Patch provided by Mike Patnode. Now use seteuid before checking existance of user's home directory since root doesn't always have access and fails otherwise. Fixes bug #301821. Patch provided by Ray Strode. * gui/greeter/Makefile.am, gui/greeter/greeter_canvas_item.c: Added: gui/greeter/canvas_text.[ch]: No longer rely on Xserver physical screen geometry which sometimes causes text to be too big or too small. Now use gdk/pango functions to get root window resources. Fixes bug #301824. Patch provided by Ray Strode. * config/gdm.conf.in, daemon/gdm.h, gui/gdmlogin.c: Now support background programs that are started after a timedelay and can be restarted after a delay. Useful for running a screensaver at login time. Fixes bug #301528. Patch provided by Laurent Birtz. 2005-04-22 Brian Cameron * gui/modules/keymouselistner.c: Corrected broken if test pointed out by meissner@suse.de. Fixes bug #301565. 2005-04-22 Mark McLoughlin Add the ability to make GDM spawn XDMCP sessions on a local X proxy server. Experimental support for disconnect/reconnect or "session migration" is also implemented using DMX. More details in bug #301602. * configure.in: require glib 2.6.0 and check for DMX. * config/gdm.conf.in: add xdmpc/EnableProxy, xdmcp/ProxyXServer and xdmcp/ProxyReconnect config keys. * daemon/gdm.h: add TYPE_XDMCP_PROXY server type, add #defines for the new config keys, re-name various xnest related GdmDisplay members to be applicable for all proxy servers, add xdmcp_dispnum GdmDisplay member, modify the format of GDM_SOP_QUERYLOGIN and add GDM_SOP_AUTHFILE and GDM_SOP_MIGRATE. * daemon/gdm.c: read the new config keys, change format of what GDM_SOP_QUERYLOGIN returns, implement GDM_SOP_AUTHFILE and GDM_SOP_MIGRATE. * daemon/xdmcp.h: add gdm_xdmcp_migrate. * daemon/xdmcp.c: when xdmpc/EnableProxy and xdmcp/ProxyXServer, set things up such that a proxy sever (which displays on the requesting X server) is run locally by the slave. Also implement migrating the proxy server from one parent display to another using the xdmcp/ProxyReconnect command. * daemon/server.c: if we're running a proxy server (e.g. Xnest or Xdmx), hold a connection open to the parent display so that it doesn't reset. Run proxy servers with -display rather than setting $DISPLAY. * daemon/slave.c: Once we've successfully logged the user in, send SOP_QUERYLOGIN to the slave - if the result from that indicates that the user is already logged in and that session is migratable (e.g. by reconnecting a proxy server or changing the VT), then migrate to the existing session using SOP_MIGRATE. In the case of an Xdmcp proxy, hold open the connection to the parent display so that it doesn't reset. Exit the slave as soon as that connection closes. * utils/Makefile.am, utils/gdm-dmx-reconnect-proxy.c: implementation of xdmcp/ProxyReconnect for use with Xdmx. 2005-04-21 Mark McLoughlin Don't use gdm_debug() from signal handlers - the message formatting and the syslog() both involve malloc() which isn't safe in signal handlers. Fixes random lockups with debugging enabled. * daemon/server.c: (gdm_server_usr1_handler), (gdm_server_child_handler): don't use gdm_debug() here. * daemon/slave.c: (gdm_slave_usr2_handler), (gdm_slave_child_handler): or here. 2005-04-20 Brian Cameron * gui/gdmlanguages.c: For Danish-English use en_DK instead of en_IE. * gui/gdmsetup: Fix sensitivities of new Login Sounds feature. Further fix for #300136. Provided by Andrew Case. * HACKING: Made less out-of-date. 2005-04-19 Brian Cameron * config/gdm.conf.in, daemon/gdm.[ch], daemon/slave.c, gui/gdmchooser.c, giu/gdmlogin.c: Cleanup for login success/failure sounds. Patch provided by Mark McLoughlin. Refer to bug #300136. * daemon/gdm.c: Fix FlexiServer commands so that all output for a single command is sent as a single call to gdm_connection_write or gdm_connection_printf rather than building commands and sending them out in pieces. Also use gdm_connection_printf rather than building so many temporary strings. Patch provided by for GDM_SUP_QUERY_LOGOUT_ACTION, but I reworked the patch so the same technique is used for all gdmflexiserver commands. Fixes bug #158799. Patch based on one provided by Raffaele Sandrini * gui/greeter/greeter_geometry.c, gui/greeter/greeter_item.h, gui/greeter/greeter_parser.c: Now support ratio scaling of SVG images. Fixes bug 159524. Patch provided by Vincent Untz . * gui/gdmlogin.c: Rearrange how the widgets are organized to make it look a bit better now that the message fields have sizes defined to avoid gdm2 resizing. Bit more of a fix for bug #117779. * README.install: Spell corrections and minor updates, now mention that running configure with the option --with-post-path=/usr/openwin/bin is recommended on Solaris. * MAINTAINERS, AUTHORS, NEWS, daemon/gdm.h: Fixed spelling, added contributors to AUTHORS file for patches made in the past few months. * gui/gdmsetup.glade, gui/gdmsetup-strings.c: Removed strings "sdfg" and "asdf" since they can't be translated. Fixes bug #301211. * gui/gdmchooser.c: Removed needless comment. * config/Init: Removed generated file from CVS. 2005-04-18 Brian Cameron * daemon/gdm.[ch], daemon/slave.c, gui/gdmchooser.c, gui/gdmcommon.c, gui/gdmlogin.c, gui/gdmsetup-strings.c, gui/gdmsetup.c, gui/gdmsetup.glade, gui/greeter/greeter.c, gui/greeter/greeter_configuration.h: Add login success/failure sounds. Patch provided by Andrew Case. Refer to bug #300136. 2005-04-18 Brian Cameron * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: I noticed that double clicking in the Face Browser was causing the focus to be taken away from the username/password entry field. I added a button-release-event listener that returns the focus back to the entry field when the user clicks on the Face Browser. This ensures that the focus is always kept on the entry field where it should be. 2005-04-15 Brian Cameron * daemon/gdm.h, config/gdm.conf.in, gui/gdmlogin.c, gui/gdmsetup.c, gui/gdmsetup.glade, gui/gdmsetup-strings.c, gui/greeter/greeter.c: Added DefaultWelcome and DefaultRemoteWelcome keys to the config file which cause the default strings to be used. This allows us to better translate the string in gdmsetup for display and fixes bug #300304. * gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_parser.c, gui/greeter/themes/happygnome-list/happygnome.xml: Now allow theming of background colors in the Face Browser. Also shrink the FaceBrowser so it is the same size as the treeview, so a big white space is not displayed under the FaceBrowser. I probably did not pick good default colors in the xml file, but perhaps someone with a better design eye can give me a recommendation for better colors. Fixes bug #140312. * gui/gdmlogin.c: Moved auto_timed_msg label after msg label since that looks better. * gui/gdmsetup.c: Moved call to g_signal_lookup so it happens when the call works. 2005-04-12 Brian Cameron * Release 2.6.0.9 * configure.in: Updated version * NEWS: Updated 2005-04-12 Brian Cameron * daemon/slave.c: Display an error dialog if the user's $HOME/.dmrc can't be accessed for permissions reasons. Fixes bug 141126. * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: Now Tab acts like Enter. Fixes bug #127339. * gui/gdmsetup.c: Fixed theme installer so it remembers where the last theme was installed from and opens the file browser in that location. Fixes bug #164785. Also fixed a bug which was causing only *tar.gz files to be installable. Now it works for *.tar files on my system. 2005-04-11 Brian Cameron * config/locale.alias: Patched locale.alias to include missing languages. Patch provided by Ray Dassen. * gui/gdmchooser.c: Make button 3 always act like button1 for the chooser as well, further fixes bug #155142. * gui/gdmlogin.c, gui/greeter/greeter.c: Support Control-U for blanking the username/password entry. Fixes bug #103498. Also removed needless ";" from include lines. * gdm/gdmsetup.c: Now clicking "No Logo" or "No background" image causes gdmlogin to update itself immediately. Also fixed "Timed Login" enable checkbox so it takes effect immediately when changed. 2005-04-08 Brian Cameron * gui/gdmlogin.c, gui/gdmsetup.c, gui/greeter/greeter.c: Now make button3 always act like button 1 for better left-hand support. No longer just set this for the login/setup programs when RUNNING_UNDER_GDM is set since gdmsetup can be run from console and so can gdmlogin (for development). gdmgreet needs this so the Actions and Languages pop-up dialogs work with the left mouse. Aside from such pop-ups the logic in greeter_events was taking care of this. Fixes bug #155142. Also increased the max size of the username password field to PAM_MAX_RESP_SIZE to fix bug #144809. I talked with the PAM expert here at Sun and he recommended using this value. Lastly, fixed a bug I introduced on the 6th so now I really fixed bug #67647. * daemon/gdm.c: Now the GDM daemon recognizes if the user changed the "Enable debug" value in gdmsetup. I added the checkbox to gdmsetup on the 4th. 2005-04-06 Brian Cameron * gui/gdmlogin.c: Set size requests for text labels in gdmlogin so that they are initialized with a big enough size to avoid container resizing. Fixes bug #117779. Also no longer place the "msg" label in the button box, instead placing it above. This label can get too big to really fit in the button box without resizing or otherwise making the GUI look weird. 2005-04-06 Brian Cameron * daemon/auth.c, daemon/choose.c, daemon/cookie.c, daemon/display.c, daemon/errorgui.c, daemon/filecheck.c, daemon/gdm-net.c, daemon/gdm.c, daemon/md5.h, daemon/misc.c, daemon/server.c, daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/xdmcp.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.h, gui/gdmcommon.c, gui/gdmlanguages.c, gui/gdmuser.[ch], gui/gdmwm.c, gui/misc.c, gui/greeter/*.[ch], vicious-extensions/test-ve-config.c, vicious-extensions/ve-i18n.h, vicious-extensions/vicious.h, vicious-extensions/viciousui.h: Changed messages so that I-form isn't used. Fixes bug #118193. Noticed many files didn't have a GPL license as a comment at the top of the file, so added those. Changed "Gnome" to "GNOME" in comments. * gui/gdmlogin.c: Now display timed login message in a separate label, which avoids problems caused because different things (PAM, timed login, etc.) are trying to use the same label for status messages. This fixes bug #67647. 2005-04-05 Adam Weinberger * gui/gdmsetup-strings.c, gui/gdmsetup.glade: Removed space before punctuation. 2005-04-04 Brian Cameron * gui/gdmcommon.c, gui/gdmcommon.h, gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_session.c, gui/greeter/greeter_action_language.[ch], gui/greeter/greeter_system.c: Fixed dialogs that ask user if they want to change their default language/session so they have a Cancel button that returns the user to the login screen without having to login/logout to change their session/language session. Also added mnemonics to the Languages menu in gdmlogin.c. Fixed minor bug where gdmlogin and gdmgreeter were checking Include and Exclude list as booleans rather than strings. Fixes bugs #117776 and #168118. * gui/gdmsetup-strings.c, gui/gdmsetup.c, gui/gdmsetup.glade: Now allow user to turn on/off debug on the Security tab. Minor cleanup. 2005-04-01 Pawan Chitrakar * configure.in: Added ne in ALL_LINGUAS 2005-03-31 Steve Murphy * configure.in: Added "rw" to ALL_LINGUAS. 2005-04-01 Brian Cameron * configure.in: Change Solaris HaltCommand from "init 0" to "init 5" as Sun's ARC has informed me. 2005-04-01 Brian Cameron * gui/gdmlogin.c, gui/gdmsetup.c, gui/gdmsetup-strings.c, gui/gdmsetup.glade: Revamped gdmsetup so that it uses the new file browser everywhere, uses GtkComboBox and GtkComboBoxEntry instead of GtkEntry and GtkOptionMenu since they are deprecated. This fixed bug #171558. Improved Remote Welcome label to fix bug 105156. Now Remote Greeter option in the Greeter tab reads "Disabled" if XDMCP is disabled. It returns to the real choice if XDMCP is enabled again. This fixes bug 117888. Also changed glade widget names for the face browser to have the "fb" prefix rather than "sg". Some other minor cleanup of the glade file. Also added ability to turn on/off Theme menu choice from the Accessibility tab in gdmsetup. * gui/gdmphotosetup.c: On March 10th I fixed gdmphotosetup so it uses the new file browser. I noticed that the code had a bug which was causing an assert, now fixed. Now make the file browser work more like the ones gdmsetup.c * gui/gdmsetup.desktop.in: Make GNOME in all-caps to fix bug #167054. 2005-03-29 Brian Cameron * gui/gdmlanguages.c: Correct inconsistant spacing in languages list. Patch by Seb Wills. Fixes bug 171519. Also corrected the fix made on March 4th to remove span tags properly. 2005-03-25 Abel Cheung * gui/gdmlanguages.c, config/locale.alias: Add Hong Kong and Singapore locale. 2005-03-23 Brian Cameron * gui/gdmsetup.c, gui/gdmsetup.glade, gui/gdmlogin.c gui/gdmuser.[ch], gui/greeter/greeter.c, gui/gdmsetup-strings.c: Add face browser tab for configuring the face browser with the Exclude options and the new Include and IncludeAll configuration options. Cleaned up the gdmsetup glade file a bit. Now tabs have mnemonics. * daemon/slave.c, gui/gdmphotosetup.c, gui/greeter/gdmthemetester.c: Changed name of "Graphical Greeter" to "Themed Greeter" and "Standard Greeter" to "GTK+ Greeter". 2005-03-21 Brian Cameron * gui/gdmlanguages.c: Remove "en" from language list since it causes all English languages to appear with the same "English" tag instead of "English (India)", etc. 2005-03-19 Adam Weinberger * daemon/display.c, daemon/gdm.c, daemon/server.c, daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmsetup.c, gui/greeter/greeter.c, vicious-extensions/glade-helper.c, vicious-extensions/ve-nongnome.c: Fix a number of run-on sentences. Fixes bug 170532. Fri Mar 18 21:45:0000 2005 Brian Cameron * daemon/slave.c, daemon/verify-crypt.c, daemon/verify-shadow.c, gui/gdmcomm.c, gui/gdmphotosetup.c, gui/gdmsetup.c, vicious-extensions/glade-helper.c: Fixed messages - fixes bug 170531. * gui/gdmlogin.c: Now use ve_locale_from_utf in the gdm_login_enter function since it's used everywhere else and in the same logic in the greeter. * gui/greeter/greeter.c, gui/greeter_item_pam.[hc], gui/greeter_greeter_parser.c, gui/greeter/themes/circles/circles.xml, gui/greeter/themes/happygnome/happygnome.xml, gui/greeter/themes/happygnome-list/happygnome.xml: Added OK button to greeter so GDM now properly follows the Sun HCI recommendations. Fixes bug #98470. Thu Mar 17 2:30:00 2005 Brian Cameron * config/extract-shell.sh: Made comment nicer. * gui/gdmlanguages.c: Fix for bug 132629, it disambiguates the otherwise identical entries described in the bug report by showing their encoding. Adding Hong Kong to table. Patch by Seb Wills. Also added Hong Kong to table. * gui/modules/keymouselistener.c: Fix message as per bug #167649. * README.intall: Added more security information and information about installing on Solaris. Thu Mar 17 2:06:00 2005 Brian Cameron * configure.in, gui/greeter/gdmthemetester.in (added), gui/greeter/gdmthemetester (removed): Fixed so it recognizes gdmgreeter is installed to LIBEXEC and now uses gdmwhich instead of which (same logic that the Init, PreSession, etc. scripts) so it works better on Solaris. * daemon/gdm.h, daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_parser.c, gui/greeter/themes/circles/circles.xml, gui/greeter/themes/happygnome/happygnome.xml, gui/greeter/themes/happygnome-list/happygnome.xml: Made face browser much less braindead. The facebrowser is no longer insensitive when entering the password so you can change the selected user without having to enter an invalid password. Also added a cancel button which allows user to reselect a different username without having to enter an invalid password. Removed the stupid double-click requirement to select a user with the face browser. Now just clicking on a user takes you to password entry. Clicking the cancel button unselects all users in the face browser and takes the user back to the Username prompt. Mon Mar 14 12:10:00 2005 Brian Cameron * daemon/gdm.h, gui/Makefile.am, gui/gdmlogin.c, gui/gdmsetup.c, gui/gdmuser.h, gui/gdmuser.c, gui/greeter/greeter.c, gui/greeter/greeter_item_ulist.c: Added Include and IncludeAll gdm config options to better control what users are displayed in the face browser. Consolidated the almost identical logic from gdmlogin.c, gdmsetup.c and greeter_item_ulist.c into gdm_user.[ch]. * daemon/gdm.h: Correct setting of HALT_COMMAND, which got fat-fingered when I moved the setup of this to the configure file. * gui/gdmphotosetup.c: Mark strings for translation. Thu Mar 10 17:50:00 2005 Brian Cameron * daemon/gdm.h, config/gdm.conf.in: Changed default face directory to EXPANDED_DATADIR/pixmaps/faces since putting the faces subdirectory in pixmaps simply makes more sense. * Makefile.am, acconfig.h, configure.in, gdmsetup-security.in, daemon/Makefile.am, daemon/gdm.h, daemon/gdm.in, daemon/slave.c, gui/Makefile.am, gui/gdmsetup.c, gui/greeter/Makefile.am, gui/greeter/greeter.c: Changed the way GDM files are installed. Now all programs intended to be run by root are in EXPANDED_SBINDIR (gdm/gdm-binary/gdmsetup), all programs that are not intended to be run by end-users are in EXPANDED_LIBEXEC (gdmchooser/gdmgreeter/gdmlogin). Removed gdmconfig wrapper script and gdmXnest symlink since they only serve to clutter the filesystem. I announced this change in the 2.6.0.8 release notes and will be bumping the next release to 2.6 because of this change and the change to the default face directory. * configure.in, gui/faces/*: Add default faces. Images provided by Jaap A. Haitsma. Refer to bugzilla bug #149838. * gui/gdmphotosetup.c: Now browser will look in the system face directory first, in EXPANDED_DATADIR/pixmaps if the default face directory does not exist. * config/Makefile.am: Changed name of Default to Init since that follows the naming standard used by the other scripts. Fixes bug #118278. Thu Mar 10 14:35:00 2005 Brian Cameron * daemon/gdm.h, daemon/gdm.c: Added GET_CONFIG gdmflexiserver command, so that other programs can access the GDM configuration data in a stable way. This is useful for progrmas that might want to know what the system suspend command is, or what the max icon size is for creating face images. * gui/gdmphotosetup.c: Fix bugs 126796, 143618, and 159025 since it no longer crashes, uses the new file chooser, and now automatically scales images down to the max icon height/width. Thu Mar 10 14:16:00 2005 Adi Attar * configure.in: Added "xh" to ALL_LINGUAS. Tue Mar 08 14:35:00 2005 Brian Cameron * gui/modules/AccessKeyMouseEvents.in: Added -u when launching magnifier so it is launched in horizontal split mode which works better. * acconfig.h, configure.in, AccessDwellMouseEvents.in, AccessKeyMouseEvents.in: Now use full path to AT programs so gesture listeners do not depend on the PATH environment variable to run. By default gdm with use EXPANDED_BINDIR, but this can be overridden via the --with-at-bindir configure option. Mon Mar 07 14:35:00 2005 Brian Cameron * Release 2.6.0.8 * configure.in: Updated version. * NEWS, ChangeLog, README, README.install, HACKING, TODO, daemon/auth.c daemon/errorgui.c, daemon/gdm.c daemon/slave.c, daemon/verify-pam.c, daemon/xdmcp.c, gui/gdmcomm.c, gui/gdmlogin.c, gui/gdmsetup.c, gui/greeter/greeter_action_language.c: Corrected spelling and use better english. Mon Mar 07 12:20:00 2005 Brian Cameron * gdmlanguages.c: Removed zh_HK since it is not appropriate to make this change in the string freeze. Fri Mar 04 12:50:00 2005 Brian Cameron * gui/greeter/greeter.c: Set default font size to Sans 12. Can make the default configurable if people want. (Patch by Erwann Chenede) * gui/greeter/greeter_greeter_canvas_item: Set name of password entry for more friendly a11y. (Patch by Erwann Chenede) * gui/gdmsetup.c: Mark "Remove Theme" for translation. (Patch by Balamurali Viswanathan). * gui/gdmlanguages.c: Add zh_HK and remove tags in language display since they were causing formatting problems for some users. (Patch by Glynn Foster) * daemon/gdm.in: Ensure LC_MESSAGES is set so the user's default language can be displayed. (Patch by Hidetoshi Tajima). * daemon/misc.c, daemon/xdmcp.c: Fix XDMCP for IPv6. Now properly handle IPv4 requests when received when the code is built with --enable-ipv6=true and fix IPv6 identification on Solaris. (Patch by Leena Gunda and Brian Cameron). * configure.in: Fix --enable-ipv6 help line when you run "configure --help". (Patch by Brian Cameron) Fri Feb 25 14:44:00 2005 Brian Cameron * configure.in: Corrected setting of Xnest command so it works on Linux. Broken by my Feb 02 patch. Wed Feb 16 11:00:00 2005 Brian Cameron * gui/greeter/themes/circles/circles.xml, gui/greeter/themes/happygnome/happygnome.xml, gui/greeter/themes/happygnome-list/happygnome.xml: Specify font for username/password entry field for the gdm2 supplied themes. Fixes bug #164822. Patch provided by Alexander Kirillov. Tue Feb 15 14:42:00 2005 Brian Cameron * gui/greeter/greeter_item_ulist.c (gdm_greeter_users_init): Make the default face obey the MaxIconWidth and MaxIconHeight configuration settings. Fixes bug #151784. Patch provided by Diego Gonzalez. Mon Feb 14 18:15:00 2005 Brian Cameron * daemon/gdm.c: Restart the slave process if XDMCP chooser is selected from flexi server. Patch to fix bug #156420. Patch provided by Leena Gunda. Mon Feb 14 17:37:00 2005 Brian Cameron * gui/gdmlanguages.c: Fix for bug 165880. Adds Armenian to the language selection menu. Patch provided by petrosyan@gmail.com. Mon Feb 14 17:35:00 2005 Brian Cameron * gui/greeter/greeter_geometry.c: Fix for bug 136856. Fixed width of "user name entry" to shrink to fit its parent widget so the text doesn't run out of bounds. Patch provided by Chookij Vanatham. Mon Feb 14 17:10:00 2005 Brian Cameron * daemon/display.c, daemon/gdm.h, daemon/server.c, daemon/slave.c: Fix for bug #160068. Removes some redundant/unused code. Patch provided by Mark McLoughlin. Mon Feb 14 17:00:00 2005 Brian Cameron * config/locale.alias, gui/gdmlanguages.c: Fix for bug #155778. Add Kinyarwanda to language list for gdm2. Patch provided by Steve Murphy. Mon Feb 14 16:52:00 2005 Brian Cameron * daemon/server.c, gui/gdmXnestchooser.c, gui/gdmlogin.c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Cleanup patch by Kjartan Marass, bug #151668. Mon Feb 14 16:42:00 2005 Brian Cameron * config/gdm.conf.in, daemon/gdm.h, gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_configuration.h: Fixes bug #151018. Add configuration option to disallow visible feedback in password entry. Patch provided by John Martinsson. Mon Feb 14 16:25:00 2005 Brian Cameron * gui/gdmwm.c: (add_deco): Add PropertyChangeMask to notify mask. (gdm_wm_update_struts): New, listen for strut changes. (constrain_window): New, make sure a window doesn't overlap struts that it doesn't own. (event_process): Handle PropertyNotify events, and call gdm_wm_update_struts and constrain_all_windows if _NET_WM_STRUT property changes. (constrain_all_windows): New, constrain all windows in the gdmwm list. Fixes bug #143634. Adds STRUTS support to GDM2's light window manager for better a11y support. Makes gdm2 work better with gok. Patch provided by Bill Haneman. Mon Feb 14 16:20:00 2005 Brian Cameron * acconfig.h, gui/modules/Makefile.am, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Updated files to also integrate patch for bug #142834. A second patch to support XInput devices with the gesture listeners. Patch provided by Bill Haneman . Mon Feb 14 15:10:00 2005 Brian Cameron * configure.in, gui/modules/AccessKeyMouseEvents.in, gui/modules/Makefile.am, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Update gesture listeners so that they listen for XInput events. Also adds better default gestures for gok and gnopernicus. Fixes bug #142833. Patch provided by Bill Haneman . Mon Feb 07 21:10:00 2005 Brian Cameron * daemon/verify-pam.c: Support devperm for automatic login. Thu Feb 02 16:40:00 2005 Brian Cameron * config/Default.in, config/PostSession., config/XKeepsCrashing config/Xsession.in: Fixed bug #155154, the Alt and Meta keys are swapped on Solaris. Also fixes the usage of IFS so it works on Solaris. Patch by Leena Gunda. * gui/gdmsetup.desktop.in: Fixed bug 161346. Thu Feb 02 15:35:00 2005 Brian Cameron * daemon/slave.c: Fixed bug 135401. Now support /etc/environment. (Patch by Vincent Berger, vincent.berger@ext.bull.net) Thu Feb 02 14:20:00 2005 Brian Cameron * configure.in, config/gdm.conf.in, daemon/gdm.h: Cleaned up the way the user's default PATH is set and allow it to be configurable. Also allow default Halt, Reboot, and Suspend commands to be different on Solaris. * acconfig.h: Cleanup, added new configure options. * gui/greeter/greeter_parser.c, vicious-extensions/glade-helper.c: Use ngettext for translation. Fixes bug 106696. Patch by Christian Rose. Wed Feb 02 11:20:00 2005 Brian Cameron * Release 2.6.0.7 Tue Jan 28 15:35:00 2005 Brian Cameron * This patch makes gdm2 build with newer versions of the build tools. Previously it was requiring automake-1.4, autoconf-1.4, and aclocal-1.4. Better error checking in the newer version caught the following issues: * Makefile.am: Added distuninstallcheck_listfiles for the files in /var/scrollkeeper, which were causing "makedist" to fail. Removed intltool-modules/XML/Parser/Style/OrigTree.pm from EXTRA_DIST since that file isn't required by newer versions of intltool. * omf.make, xmldocs.make: Fixed errors in "makedist". I found a pointer to the fix here: mail.gnome.org/archives/desktop-devel-list/2003-December/msg00587.html * gui/Makefile.am, gui/greeter/themes/circles/Makefile.am, gui/modules/Makefile.am, gui/greeter/themes/happygnome/Makefile.am, config/Makefile.am, gui/greeter/themes/happygnome-list/Makefile.am: Added clean-local and uninstall-hook to fix errors in "makedist". Made sure all *.desktop files are in EXTRA_DIST. * daemon/slave.c: Not related to above patches. Fixed grammar again since we aren't in a string freeze. Sorry for the confusion. * autogen.sh: Now allow latest vicious-extensions to be included in the release. It was left out of the previous release due to schedule freeze. Tue Jan 25 17:18:00 2005 Brian Cameron * daemon/slave.c: Fixed grammar. Then backed out fix since just realized we are in a string freeze. Tue Jan 25 17:13:00 2005 Brian Cameron * configure.in: Correct Solaris audit configure to include -lbsm when needed. Mon Jan 24 17:15:00 2005 Brian Cameron * gui/gdmsetup.c: Corrected g_strconcat call. Patch provided by meissner@suse.de Thu Jan 19 18:25:00 2005 Brian Cameron * NEWS, MAINTAINERS: Added myself. George has asked me to assist with maintainership duties. Thu Jan 13 17:59:05 2005 George Lebl * gui/gdmwm.c: don't init the wm twice if gdm_wm_init is called twice. Fixes the greeter hanging if something went wrong with loading the theme. * gui/greeter/greeter.c: always destroy the dialog widget because sometimes we don't actually exit. Fixes non-fatal error dialogs hanging around. Tue Dec 14 12:23:35 2004 George Lebl * daemon/verify-pam.c: fix very unlikely possible leak 2004-12-09 Dwayne Bailey * configure.in: Added "zu" to ALL_LINGUAS. 2004-12-03 Dwayne Bailey * gui/gdmlanguages.c, config/locale.alias: add Zulu 2004-11-30 Dwayne Bailey * gui/gdmlanguages.c, config/locale.alias: add Afrikaans, Northern Sotho and South African English 2004-11-27 Dwayne Bailey * configure.in: Added "nso" to ALL_LINGUAS. Tue Oct 26 16:31:05 2004 George Lebl * Release 2.6.0.6 Tue Oct 26 15:51:58 2004 George Lebl * config/gdm.conf.in: update comments to reflect that the vt stuff works on freebsd as well as linux Tue Oct 26 15:24:21 2004 George Lebl * daemon/gdm.[ch]: Add a global cookie in /.cookie which can be used to authenticate if no display is available. * daemon/gdm.[ch]: add a SOP command to launch a new flexiserver by "echo FLEXI_XSERVER >/var/lib/gdm/.gdmfifo" No error detection is possible then of course. Patch from Tuukka Hastrup with some fixup to make it actually work right. Tue Oct 26 14:50:34 2004 George Lebl * daemon/gdm.c, daemon/server.c: Make autologin work on a second display if the first display started is an unhandled or a chooser server. 2004-10-21 Brian Cameron * acconfig.h, configure.in, config/gdm.conf.in: Set up Xnest so it works properly on Solaris. 2004-10-14 Brian Cameron * config/gdm.conf.in: Minor change to wording in comments. 2004-10-05 Kjartan Maraas * config/locale.alias: Prefer nb_NO locale. Fri Oct 01 12:07:18 2004 Ray Strode * gui/greeter/greeter_action_language.c (selection_changed): Ensure that selection iterator is valid before using it. Thu Sep 30 20:49:26 2004 George Lebl * daemon/slave.c: set GDM_XSERVER_LOCATION with the x server type Thu Sep 30 10:50:00 2004 Brian Cameron * daemon/verify-pam.c: Now declare GdmUserId and GdmGroupId as extern to avoid warnigns. Wed Sep 29 17:15:00 2004 Brian Cameron * daemon/gdm.c, daemon/verify-pam.c: Cleaned up code and moved final di_devperm_logout call in gdm.c so it properly resets permissions to root when gdm-stop is run. Tue Sep 22 12:45:00 2004 Brian Cameron * daemon/gdm.c, daemon/verify-pam.c: Modification to logindevperm logic so that device permissions are given to the gdm user while gdm is running. This allows a11y programs like gnopernicus to access the sound device for text-to-speech. Minor correction to the logindevperm logout logic in verify-pam.c so that di_devperm_logout isn't called in situations where di_devperm_login was not called. Tue Sep 15 12:45:00 2004 Brian Cameron * configure.in: Corrected check for Solaris auditing API so it will not set HAVE_ADT when building on Solaris 9 and earlier. The auditing API supported in gdm2 is only supported on the next release of Solaris. Tue Sep 14 15:29:22 2004 George Lebl * Release 2.6.0.5 2004-08-27 Akagic Amila * configure.in: Added 'bs' to ALL_LINGUAS. Tue Aug 24 12:27:00 2004 Brian Cameron * verify-pam.c: No longer call logindevperm if not logging into the console. This corrects problems discovered by testing on Solaris. Wed Aug 18 13:12:29 2004 George Lebl * Release 2.6.0.4 Wed Aug 18 13:00:09 2004 George Lebl * daemon/slave.c: create .dmrc non group/world readable, though that's probably just being overly strict. Wed Aug 18 12:28:52 2004 George Lebl * gui/gdmsetup.c: Fix #143707 by using Exclude= as well for the dropdown lists. Wed Aug 18 12:15:39 2004 George Lebl * gui/gdmlanguages.c: Fix #150293 by adding localized name for Bosnian. Wed Aug 18 11:54:29 2004 George Lebl * gui/gdmlogin.c: don't resize the window after selection for the amount of time it could take to double click, that way a double click does not get lost. Should fix some of the bugs, but it seems they are mostly with the graphical greeter which is not affected by this. 2004-08-16 Kjartan Maraas * configure.in: Added nb to ALL_LINGUAS. Wed Aug 11 03:45:00 2004 Brian Cameron * acconfig.h: Added HAVE_LOGINDEVPERM and HAVE_ADT * configure.in: Added checking for Solaris logindevperm and auditing API's. * Add logic so gdm2 supports Solaris logindevperm and auditing. Tue Aug 10 08:53:32 2004 George Lebl * gui/gdmlanguages.c: I should learn how to spell Denmark Tue Aug 03 16:42:04 2004 George Lebl * gui/gdmlanguages.c, config/locale.alias: add Armenian to fix #139454 Tue Aug 03 16:29:08 2004 George Lebl * gui/gdmlanguages.c: "fix" #148349 by adding French (Belgium), French (Switzerland), German (Austria), German (Switzerland) to the translation matrix applying the patch. Patch from Christian Rose * config/locale.alias: add de_AT, de_CH, fr_BE, fr_CH * gui/gdmlanguages.c: normalize english names, patch mostly from Christian Rose, #148350 * gui/gdmlanguages.c: fix #148356 by including a native version of Azerbaijani language name * gui/gdmlanguages.c: fix #148486 by including native name for Gujarati * gui/gdmlanguages.c: fix #148373 by fixing the greek language string * gui/gdmlanguages.c: add en_DK just to have the translation, but don't add it to config/locale.alias * configure.in: fixing #148042 by settings GETTEXT_PACKAGE to gdm * gui/greeter/greeter_system.c: fix #147800 by changing the shortcut for configure from c to g * gui/greeter/greeter.c, gui/greeter/greeter_configuration.c, gui/greeter/greeter_system.c, gui/greeter/greeter_canvas_item.c: Fix #147940 by actually checking if the command exists and not just for NULLs, then disabling Halt, Suspend or Reboot is really as simple as "RebootCommand=" as it is for gdmlogin * gui/gdmlogin.c, gui/gdmsetup.c, gui/gdmwm.c, gui/gdmcommon.c, gui/gdmchooser.c, gui/greeter/greeter_item.c, gui/greeter/greeter_action_language.c: fix some compiler warnings * daemon/gdm.c: Fix #144076, 144077, the request denied errors that are printed to syslog now just give the request by real name instead of making it look like part of the sentence and so it all makes more sense. * daemon/verify-pam.c: fix some compiler warnings Fri Jul 02 Arvind Samptur * configure.in: Define a macro to set the xserver options based on different xservers. Run Xsun with -nobanner * config/gdm.conf.in: Use the macro Mon Aug 02 15:17:43 2004 George Lebl * config/Xsession.in: fix #144007 by setting $command before sourcing any files which may screw up our argument array Wed Jul 14 09:37:25 2004 George Lebl * Patch from Andreas Schubert * daemon/filecheck.c, daemon/gdm.[ch]: Add a CheckDirOwner key to fix systems which have non-user-owned home dirs. * config/gdm.conf.in: Document the above addition. Tue Jul 13 10:27:35 2004 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_system.c: Use "Shut _Down" instead of "Shut_down" consistently. This string was already being used so it doesn't add any new strings * daemon/gdm.c, daemon/getvt.c: Add FreeBSD support for VTAllocation from Alexander Nedotsukov Fri Jun 11 10:46:46 2004 George Lebl * Release 2.6.0.3 Mon Jun 07 09:17:23 2004 George Lebl * config/XKeepsCrashing: Add system-config-display and also check for system-config-mouse. FC2 is utter crack when it comes to failing X server anyway so on my test machine system-config-display don't work none anyway, but such is life, maybe it'll work for someone (but FC2 of course doesn't run that on X errors anyway). * gui/gdmsetup.c: replace hacks with lesser hacks Tue Jun 01 11:24:46 2004 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_item_canvas.c, gui/greeter/greeter.c, gui/gdmchooser.c, gui/gdmcommon.[ch]: on non-local displays, and on displays other then the primary :0 display, disable cursor blinking after 20 seconds of inactivity as it eats bandwidth and cpu for nothing. Should fix #135764 * gui/gdmwm.c: minor cosmetic cleanup Fri May 28 12:53:42 2004 George Lebl * config/XKeepsCrashing, config/PreSession.in, config/PostSession.in, config/Xsession.in, config/Default.in: Don't use which but our own private shell version since solaris which is broken when there is no TTY. Fixes #133245, partly based on a patch by Brian Cameron Fri May 28 12:35:22 2004 George Lebl * gui/gdmsetup.c, config/Makefile.am: solaris chown doesn't like a dot separator but : is the standard separator and works for gnu chown as well, so switch to that. Thanks to vix@vazka.sk (Ivan Noris). Fixes #142732 Fri May 28 12:01:02 2004 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: Cut after the comma in the gecos field if there is more then one comma as then it's probably ugly arguments and not the name. Fixes #142274 Fri May 28 11:43:41 2004 George Lebl * gui/greeter/greeter_action_language.c: Apply patch from leonard.michlmayr@ap.univie.ac.at (Leonard Michlmayr), to make the language dialog at most 600 pixels tall to make it look prettier. Fixes #142175 Fri May 28 11:36:46 2004 George Lebl * daemon/gdm.c: Fix for #141497, that is the last_x_failed is properly reset, we only restart 3 times and we allow those to happen in a much longer timeframe (5 minutes), which is OK since we reset on successful remanage rather then just based on time. Fri May 28 11:08:51 2004 George Lebl * configure.in: eek, evil we had GETTEXT_PACKAGE set to gdm-2.4, but we want gdm-2.6 nowdays * daemon/gdm.c, daemon/misc.c: fix the ConsoleCannotHandle key and cache it as soon as we can and also set UNSAFE_TO_TRANSLATE=yes when forking something and console can't handle the language * daemon/server.c: fix a minor fd leak and print a C locale (don't want to translate this) error to the X log when the X server cannot be exec'ed. * utils/gdmopen.c, utils/gdmtranslate.c, config/XKeepsCrashing: Listen to UNSAFE_TO_TRANSLATE, since running shells in login mode may modify the locale so we must force it to "C" where we can if it is really unsafe (language in ConsoleCannotHandle) Thu May 27 13:42:39 2004 George Lebl * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: The screen code was broken, it wanted HAVE_GTK_MULTIHEAD to be defined to work properly and otherwise it confused bonobo which is completely moronic (I mean bonobo is moronic) by using slightly different (but perfectly legal) DISPLAY env var. Wed May 26 18:23:14 2004 George Lebl * daemon/auth.c, daemon/display.c, daemon/gdm.[ch], daemon/misc.[ch], daemon/server.c, daemon/slave.c, daemon/verify-pam.c, config/gdm.conf.in: Add a daemon/ConsoleCannotHandle key which lists languages which should not be used on the console because they will not work. Uses "C" locale strings instead then. Should "fix" #135387, but I suppose there's no clean way to do this, just let the distributors ship proper config files and have them test it (yeah right). I've tested the current set on RH9 and I listed all of the ones that didn't work. Wed May 26 17:34:51 2004 George Lebl * daemon/slave.c: Ensure proper .ICEauthority permissions, this may fail on NFS, but who cares, there if it breaks it's beyond our fixage anyway. Should alleviate problems from #137345, though that bug is really in libice usage and gnome-session. libice is incredibly evil. * utils/gdmtranslate.c: fix with the forte compiler, patch from Brian Cameron, fixes #137600 Wed May 26 17:01:16 2004 George Lebl * gui/gdmsetup.c, daemon/misc.c: use shell quoting more properly Wed May 12 20:36:33 2004 James M. Cape * */.cvsignore: Updates. * configure.in, pixmaps/Makefile.am, pixmaps/*/*: Added new icons for gdmflexiserver -xnest and gdmsetup. The old pixmaps stay in pixmaps because they are not "themed-icons" per-se. * pixmaps/gdm.png: Removed the old icon. * gui/gdmsetup.desktop.in, gui/gdmflexiserver*.desktop.in: Use the new icons. Thu May 06 16:06:55 2004 George Lebl * Release 2.6.0.2 Thu May 06 15:56:36 2004 George Lebl * configure.in: raise version, disable IPv6 by default, it's still problematic and most use cases are IPv4 nowdays anyway. Thu May 06 15:33:01 2004 George Lebl * daemon/verify-pam.c, daemon/slave.[ch]: Fix #119853 thanks to investigation by Frederic Crozat. PAM sometimes doesn't go away after we tell it to and keeps asking questions even though we want it to shut up and die. So just keep telling it until we succeed. Also change the name of the _should_complain function to _action_pending since that's more appropriate Thu May 06 15:18:07 2004 George Lebl * daemon/verify-pam.c: attempt to fix #126984 and possibly others where pam asks for the username AGAIN even though we gave it a username. PAM is on crack. Just attempt to detect it and give it the username without asking the user for it. Thu May 06 09:59:48 2004 George Lebl * gui/misc.[ch], gui/gdmlogin.c, gui/gdmsetup.c, gui/gdmchooser.c, gui/greeter/greeter.c: Apply and heavily massage a patch from Muktha to add font setting to the theming and finally fix #125070 hopefully * daemon/misc.c: our gethostent should strip the ::ffff: since it's confusing to rest of gdm and X in particular apparently, so whack it from the hostname so that it doesn't get into the display name. Should fix #133246 * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: fix #123958 by having an empty message clear the message string rather then append an empty string. Evil, but it fixes the bug. PAM is one large bug in fact, and would require a rather large flywatter to fix, based on a patch from Frederic Crozat Tue May 04 09:47:21 2004 George Lebl * daemon/display.c: Don't whack the socket_conn on display_manage since that completely whacks out flexiserver error reporting and breaks flexiserver. Whoops! (I should review innocent looking patches better) 2004-04-09 John C Barstow * configure.in: Added "mi" (Maori) to ALL_LINGUAS. Fri Apr 16 16:00:50 2004 George Lebl * Release 2.6.0.1 Fri Apr 16 15:08:25 2004 George Lebl * daemon/auth.c: ensure clean building even if FamilyInternetV6 is not define (define it ourselves to '6' which is what it is) * configure.in: raise version * NEWS: update Tue Apr 13 11:22:00 2004 George Lebl * config/gdm.conf.in: stop calling 'gdm' 'genius', I'm confusing my projects :) 2004-04-09 Guntupalli Karunakar * configure.in: Added "gu" (Gujarati) to ALL_LINGUAS. 2004-04-08 Vijaykumar Patwari * daemon/auth.c (get_local_auths): Replaced Address Family, FamilyInternet by FamilyInternetV6 for IPv6 while adding addresses for authorization. Fixes "Remote login with IPv6 enabled". Sun Apr 04 11:12:55 2004 George Lebl * daemon/misc.c, daemon/slave.c, daemon/display.c, daemon/gdm.c: The ensure_sanity is now always called only from the main daemon on display_manage (to avoid stepping on ones toes) and also it checks /tmp/.X11-unix to have correct permissions as well. Tue Mar 30 15:47:33 2004 George Lebl Fixes from: Jerry Wall * daemon/display.c: in whack_old_slave, make sure to close any stale pipes/sockets just in case * daemon/gdm.c: ignore SIGPIPE, it is possible that the slave dies in a bad moment and we get a SIGPIPE 2004-03-31 Christian Rose * configure.in: Added "af" to ALL_LINGUAS. 2004-03-23 Guntupalli Karunakar * configure.in: Added "mr" for Marathi in ALL_LINGUAS. 2004-03-18 Gareth Owen * configure.in: Added en_GB to ALL_LINGUAS 2004-03-18 Guntupalli Karunakar * configure.in: Added "mr" for Marathi in ALL_LINGUAS. Mon Mar 15 10:22:30 2004 George Lebl * Release 2.6.0.0 * Makefile.am: did I not commit this build fix? 2004-03-15 Glynn Foster * configure.in: Add localized docs to build. Tue Mar 09 20:51:58 2004 George Lebl * config/gdm.conf.in, daemon/gdm.h: make DisplayLastLogin default to 'false' since 'last' is stupid and non-localized, must make our own version. So this doesn't break 'code' freeze since it doesn't change any code does it? Thu Mar 04 11:08:42 2004 George Lebl * Release 2.5.90.2 * Makefile.am: remove the sun gdmsetup-security fix as it was wrong (probably was part of some other change) Thu Mar 04 10:48:04 2004 George Lebl * daemon/slave.c: Handle out of diskspace on making user authentication better by first trying to wipe old xsession-errors files for this user as that could in fact be the culprit and usually frees up enough to write ~/.Xauthority. We should try more things, this is a crucial point which could render the machine unusable on a simple out of diskspace error. Thu Mar 04 10:18:40 2004 George Lebl * configure.in, daemon/slave.c: Apply patch from vincent.berger@ext.bull.net (Vincent Berger), to make /etc/environment work on AIX using setpenv. Fixes #135401 * daemon/slave.c: cosmetic cleanup * daemon/errorgui.c: fix the reading of the session errors file again. Not critical, but we were showing just the first line. DOH! Mon Mar 01 08:25:45 2004 George Lebl * gui/gdmlanguages.c: remove en_DK, will add after string freeze. Not a string that is actually displayed, I was just adding it to the translation matrix Mon Mar 01 08:21:37 2004 George Lebl * Makefile.am: Patch from Glynn Foster to fix installation of gdmsetup-security Sun Feb 29 10:30:35 2004 George Lebl * gui/greeter/greeter.c, gui/greeter/greeter_action_language.[ch]: While investigating speed issues with language dialog make init lazy and show the dialog before filling it with stuff to make it seem like something is happening. Sun Feb 29 10:02:51 2004 George Lebl * gui/gdmlanguages.c: Make gdm know about en_DK 2004-02-25 Danilo Å egan * gui/gdmlanguages.c (languages): * config/locale.alias: Add Canadian English (fixes #135053) -- patch by Adam Weinberger . 2004-02-25 Danilo Å egan * config/locale.alias: Add Serbian variants (#135232). * gui/gdmlanguages.c (languages): Added Serbian variants (#135232). Tue Feb 24 14:44:29 2004 George Lebl * gui/gdmlanguages.c: lookup if we have code.enc@mod, try code@mod after code.enc@mod and before code.enc and code addresses #135232 2004-02-21 Christian Rose * configure.in: Added "en_CA" to ALL_LINGUAS. Fri Feb 20 10:03:42 2004 George Lebl * display.c, server.[ch], slave.c: When restarting a server by whacking it and starting it again, wait at least one second to allow things to "settle". If local display is busy try again once in 2 secs before resorting to telling the user so. Be much milder in whacking X's lock files / sockets to avoid whacking actual locks / sockets when displays are in fact busy and used, that is, only whack locks / sockets when we in fact successfully started a server. THu Feb 19 Guntupalli Karunakar * gui/gdmlanguages.c: Fixes #134372, Hindi was incorrectly written Bengali script instead of Devanagari script. Thu Feb 12 11:49:20 2004 George Lebl * daemon/display.c, daemon/errorgui.c, daemon/gdm.[ch], daemon/server.c, daemon/slave.c, daemon/xdmcp.c, gui/gdmchooser.c, gui/gdmlogin.c, gui/gdmsetup.c, gui/greeter/greeter.c: Fixup the theme changing. Add keys GtkTheme, AllowGtkThemeChange and GtkThemesToAllow to control this behaviour better. Wed Feb 11 Muktha * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c, gui/gdmchooser.c, gui/gdmsetup.c: Add support for theming. Fixes #125070. Sun Feb 08 14:11:41 2004 George Lebl * Release 2.5.90.1 Sun Feb 08 10:11:41 2004 George Lebl * gui/gdmlogin.c, greeter/greeter_item.c: Fix #133189 by whacking changing the string for 12 hour format from %I to %l Sun Feb 08 09:57:56 2004 George Lebl * gui/gdmflexiserver.c: Apply patch to fix #133191 from msuarezalvarez@arnet.com.ar (Mariano Suárez-Alvarez) 2004-02-04 Tomasz Kloczko * configure.in: Trival cleanup: remove AC_SUBST(CFLAGS), AC_SUBST(CPPFLAGS) and AC_SUBST(LDFLAGS). This variables are substed by default. Tue Jan 29 Brian Cameron * gui/modules/keymouselistener.c: Fixed so that it accepts key gestures with a timeout of <= 0 if n_times is 1. This makes sense since timeout is not used if n_times is less than 2. Sun Jan 25 15:49:53 2004 George Lebl * gui/gdmflexiserver.c: minor cleanup Tue Jan 23 Brian Cameron * gui/modules/keymouselistener.c: Fixed so that the state is checked when KeyRelease events are processed. Previously the code would think that a Control-G gesture was made when only the "G" key was actually pressed. Tue Jan 16 Brian Cameron * daemon/misc.c: Fixed core dumping error that was causing the greeter to crash on Solaris after entering the username. Thu Jan 15 12:45:02 2004 George Lebl * configure.in, daemon/verify-(crypt|shadow).c: Apply patch from Vincent Berger to re-fix #123766 by clearing the ADMCHG token. Thu Jan 15 12:35:45 2004 George Lebl * daemon/gdm.c: Fix #131389 where if the slave crashed the login field was not cleared Tue Jan 13 08:40:29 2004 George Lebl * daemon/auth.c: Add sys/socket.h include to fix compilation on freebsd, fixes #130963, thanks to Joe Marcus Clarke * daemon/verify-crypt.c, daemon/verify-shadow.c: Fix compilation of the crypt and shadow compilation. Fixes #131042 Thu Jan 08 10:23:32 2004 George Lebl * Release 2.5.90.0 Tue Jan 06 17:16:40 2004 George Lebl * confiogure.in: fix INTLTOOL test Tue Jan 06 17:06:42 2004 George Lebl * gui/greeter/themes/*/*: remove the xml.in files and readd the .xml files. There are no translations done anymore. * config/gdm.conf.in, daemon/gdm.[ch], daemon/misc.[ch], daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c: Add support for displaying last login information if daemon/DisplayLastLogin is set (default to true). Fixes #128940 * daemon/verify-crypt.c, daemon/verify-shadow.c: The 'user already logged in' (double login warning) dialog thingie should only be shown AFTER all verification is done (as it does for PAM setups) * config/gdm.conf.in, daemon/gdm.h: the RetryDelay is annoying at 3 now that it works. Set it to 1. Tue Jan 06 16:06:12 2004 George Lebl * gui/gdmflexiserver.c: the console/vt check for check_for_users was completely wrong Tue Jan 06 Brian Cameron * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Moved include of vicious.h before gnome.h because gnome.h causes macros to be defined for dcgettext, dgettext, gettext, textdomain, bindtextdomain. And this causes a conflict with Solaris libintl.h which is included by locale.h which is included by vicious.h. Tue Jan 06 11:49:29 2004 George Lebl * daemon/display.c, daemon/gdm.h, daemon/server.c, daemon/slave.c, daemon/xdmcp.c: Fix #125064 by correctly reading out the chooser output and ignoring all but the last line. * gui/gdmchooser.c: Send a newline BEFORE the chosen host as well as after. Also fix reading the address on hosts that have IPV6, but that don't use it. * gui/greeter/greeter_action_language.c: Get rid of evil 'foo == FALSE' kind of test * gui/modules/Makefile.am, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Link with ve so that we can use it and ensure that our BINDIR is in the PATH. Tue Jan 06 10:17:41 2004 George Lebl * daemon/slave.c: small leak fix * daemon/slave.c: make greeter restarting on notify smarter and also restart the greeter when the modules stuff changed * gui/modules/keymouselistener.c, gui/modules/dwellmouselistener.c: Fix #125153 by changing to busy cursor for 2 seconds after launching something. * daemon/verify-shadow.c, daemon/verify-crypt.c: loginrestrictions doesn't use glib to allocate the message (AIX only) Mon Jan 05 23:35:55 2004 George Lebl * gui/greeter/greeter_action_language.c: apply patch from #123199 to allow double click on language to select it. Patch by Kirk Mitchener Mon Jan 05 23:30:38 2004 George Lebl * daemon/gdm.[ch], daemon/slave.c, daemon/misc.[ch], daemon/getvt.[ch]: Add QUERY_VT and SET_VT commands that handle the VT's on linux. This is because not all console logins will actually own /dev/console. When we change to a VT that we own, also twiddle the cursor to turn off any screensaver or tickle the xscreensaver lock dialog etc... * gui/gdmcomm.c: handle displays with the screen thingie set correctly (that is whack the screen part, GDM is not interested in it). * gui/gdmflexiserver.c: Fix #127038 by presenting a list of already logged in users / open displays (on the console). This code may be useful to steal for other such switchers. * daemon/cookie.c: don't read root's mail to get entropy, that may be evil actually. Fri Jan 02 16:31:34 2004 George Lebl * config/PreSession.in: fix bad color string * config/gdm.conf.in: add full path to the default list of modules comment * daemon/verify-pam.c: don't use the pam_fail_delay but rather the fallback only. The fail delay will block at bad times when we don't want it too. * gui/gdmsetup.c: save the config after flicking the accessibility modules setting and set default path on the sounds thing to /usr/share/sounds, even though it doesn't work because the stupid GnomeFileEntry is broken! Will file a bug/fix it later. 2004-01-03 Robert Sedak * configure.in: Added "hr" in ALL_LINGUAS. Thu Jan 01 11:24:30 2004 Ray Strode * daemon/gdm.c (handle_user_message): Fix bug where REBOOT would get written to the socket before the separator when user queries available logout actions. Thu Jan 01 10:39:00 2004 Ray Strode * gui/gdmcomm.c (gdmcomm_get_display): Plug small leak. Wed Dec 31 09:57:18 2003 George Lebl * Makefile.am: add the OrigTree.pm file here to make intltool happy Tue Dec 30 15:34:59 2003 George Lebl * daemon/gdm.c, daemon/auth.c: Complain on some more errors * gui/gdmlogin.c, gui/gdmcommon.[ch], gui/gdmsetup.(c|glade), gui/greeter/greeter.c, gui/greeter/greeter_configuration.h, daemon/gdm.[ch], daemon/slave.c: Make the login sound thingie configurable and make it possible to play an arbitrary sound with /usr/bin/play (or whatever else is configured). Add accessibility section to gdmsetup which configures the accessibility modules and the sound. Fixes #125487 * gui/gdmsetup.glade: Fix #120639 by indenting the chooser and config toggles * config/gdm.conf.in: Update comments for the accessibility/sound stuff Mon Dec 29 16:52:32 2003 George Lebl * daemon/gdm.[ch]: add SET_SAFE_LOGOUT_ACTION which is like schedule for kdm. Also implement the logout action in a cleaner fashion without resorting to the DIRTY_SERVERS hacky thingie. * configure.in, daemon/gdm.h: set version to 2.5.90.0 since it's really for GNOME 2.5 not 2.4 Thu Dec 04 17:01:21 2003 Leena Gunda * daemon/verify-pam.c: pass the time in microseconds to pam_fail_delay(). Fixes bug #128507 Fri Dec 19 17:04:31 2003 George Lebl * daemon/gdm.h, config/PreSession.in, config/gdm.conf.in: Make default color #76848F to fix #128220. Also in the PreSession script try to grab the color from the gdm.conf file when doing the xsetroot. Fri Dec 19 16:50:12 2003 George Lebl * daemon/slave.c, daemon/gdm.[ch], daemon/auth.c, daemon/misc.c: Lots of general paranoia stemming from fixing #127780. Make sure that the NEVER_FAILS_ eid/uid setting never actually fails by just setting euid root before doing anything and such. Fri Dec 19 15:44:03 2003 George Lebl * configure.in, acconfig.h, daemon/verify-(crypt|shadow).c: Massage and then apply a patch from Vincent Berger to add password expiration and checking in the crypt/shadow code, at least on AIX. Fixes #123766 Fri Dec 19 15:30:31 2003 George Lebl * gui/gdmsetup.c: remove the default size setting on the file chooser to fix bug #129116 Fri Dec 19 12:28:10 2003 George Lebl * daemon/xdmcp.c: protect the sys/sockio.h include with the HAVE_SYS_SOCKIO_H define check to fix compilation on linux Fri Dec 19 12:22:18 2003 George Lebl * daemon/gdm.h, daemon/*.c, gui/*.c: use VE_IGNORE_EINTR instead of IGNORE_EINTR and use this on more calls which can still apparently fail with EINTR on completely braindead systems. EINTR is evil. It is PURE EVIL I tell you! Mon Dec 17 Brian Cameron * configure.in: Now use -lresolv when building on Solaris so that inet_aton can be found. Mon Dec 15 Brian Cameron * daemon/xdmcp.c: Add include of which is needed on Solaris in order to reference SIOCGIFCONF and SIOCGIFFLAGS. Fri Dec 12 17:56:58 2003 George Lebl * daemon/gdm.[ch], daemon/slave.c, daemon/xdmcp.c: add a GO fifo SOP command and a --wait-for-go command line option. This is intended to allow an initialization script to start X early and have that be the GDM display, but not allow users to log in until it's ready. Fri Dec 12 17:14:41 2003 George Lebl * daemon/gdm.h, gui/gdmlogin.c, gui/greeter/greeter.c, config/gdm.conf.in: There's now the ability to reap flexiservers that are inactive for a period of time. The default time is 5 minutes. * gui/gdmcomm.c: add the new error codes (7 and 200) to the error message table Fri Dec 12 09:36:34 2003 George Lebl * gui/gdmcomm.c: check ownership of /tmp/.gdm_socket before using Wed Dec 10 18:40:48 2003 George Lebl * daemon/gdm.[ch]: append a '!' to the action which was previously selected (if one was) Wed Dec 10 15:44:53 2003 George Lebl * configure.in: require gtk 2.3 * Apply following patch from bugzilla to fix #128668 2003-12-06 Jan Arne Petersen * gui/gdmsetup.c: (install_response), (install_new_theme): replace GtkFileSelection with GtkFileChooser. Wed Dec 10 15:36:31 2003 George Lebl * daemon/display.c: Fix #126465 where xdmcp_sessions would not get decremented on normal logout. Doh! Just do a recount of all the limits on display dispose that is just a lot more robust. * daemon/xdmcp.c: minor cosmetic cleanup Wed Dec 10 13:08:13 2003 George Lebl * daemon/gdm.[ch], daemon/display.c, daemon/gdm-net.[ch], daemon/server.c, daemon/xdmcp.c: Add possibility to request logout action to happen when the display dies using the SUP socket protocol. Very loosely based on a patch from Jarno Gassenbauer, but simplified and not having a DoS and/or authentication leak as the original patches do. The commands are named different to avoid naming conflict. * daemon/gdm.h, config/gdm.conf.in, config/Makefile.am, gdm.spec.in: Move the built in sessions to a more appropriate place (datadir) * gui/gdmcommon.[ch], gui/gdmlogin.c, gui/greeter/greeter.[ch], gui/greeter/greeter*.c: move some common utility functions to a common sublibrary (renamed the language lib to libgdmcommon), should cut down a little on the code duplication. Needs more. * gui/gdmcommon.[ch], gui/gdmlogin.c, gui/greeter/greeter.c, daemon/gdm.h, config/gdm.conf.in: Apply a patch from Anton Altaparmakov to add an optional info message to the greeters. Fixes #125219 * gui/gdmsetup.c: fix RH #97716 by putting up a dialog when user tries to input root for the first time * daemon/gdm.c: GdmStandardXServer can now have arguments (we used to parse them, but if there were arguments, sanity checks would fail making it not work), so no real change in how it works, it just accepts more inputs Fri Dec 09 2003 Archana Shah * configure.in : Put check for getaddrinfo, inet_ntop and structure sockaddr_storage. * acconfig.h : Undefine ENABLE_IPV6 * daemon/slave.c: (send_chosen_host): Used getaddrinfo to resolve the hostname. * daemon/choose.c: (gdm_choose_indirect_alloc) (gdm_choose_indirect_lookup): Changed prototype to have sockaddr_storage in place of sockaddr_in if IPv6 is enabled and changed the function accordingly. (gdm_choose indirect_lookup_by_chosen6): Function is added as a replacement of its IPv4 equivalent if IPv6 is enabled. (gdm_choose_direct_dispose)(gdm_choose_data): Changed for IPv6. * daemon/auth.c: (gdm_auth_secure_display): If IPv6 is enabled then we are dealing with IPv6 addresses. Used getaddrinfo for address resolution. * daemon/gdm.h: A field of type struct in6_addr is added to structure _GdmDisplay. In structure _GdmIndirectDisplay a field of type in6_addr is added and an existing field dsp_sa is changed to be of type sockaddr_storage if IPv6 is enabled on the system. _GdmForwardQuery structure will have members of type sockaddr_storage instead of sockaddr_in if IPv6 is enabled. Two new macros are defined for multicasting. * daemon/misc.c: (have_ipv6): Function added to check run-time IPv6 support. (gdm_get_free_display): We will deal with IPv6 address if IPv6 is enabled. (gdm_peek_local_address_list): Using getaddrinfo to generate the address list. (gdm_is_local_addr6)(gdm_is_loopback_addr6): These will be used with IPv6 addresses. For IPv4 addresses, continue to use their IPv4 counter parts. * daemon/xdmcp.c: (gdm_xdmcp_handle_forward_query), (gdm_xdmcp_handle_request), (gdm_xdmcp_handle_query), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward), (gdm_xdmcp_handle_got_managed), (gdm_xdmcp_handle_keepalive), (gdm_xdmcp_send_willing), (gdm_xdmcp_send_unwilling), (gdm_xdmcp_send_accept), (gdm_xdmcp_send_decline), (gdm_xdmcp_send_refuse ), (gdm_xdmcp_send_failed), (gdm_xdmcp_send_alive), gdm_xdmcp_send_managed_forward), (gdm_xdmcp_host_allow), (gdm_forward_query_alloc), (gdm_forward_query_lookup): All these functions will receive sockaddr_storage type argument if IPv6 is enabled on the system. (gdm_xdmcp_whack_queued_managed_forwards6), (gdm_xdmcp_send_got_managed_forward6), (gdm_xdmcp_display_alloc6), (gdm_xdmcp_displays_from_host6), (gdm_xdmcp_displays_from_host6): All these functions are added to deal with IPv6 addresses. Their IPv4 equivalents will remain as it is. structure ManagedForward is changed to have sockaddr_storage field in place of sockaddr_in if IPv6 is enabled. (have_ipv6): Function added to check run-time IPv6 support. (gdm_xdmcp_init), (gdm_xdmcp_decode_packet): These functions are modified to deal with IPv6 addresses as well. * gui/gdmchooser.c: Structure _GdmChooserHost will have an added field of type in6_addr if IPv6 is enabled on the system. A global variable of type in6_addr is added. (gdm_chooser_host_alloc), (gdm_host_known), (is_loopback_addr), (gdm_addr_known), (gdm_chooser_decode_packet), (gdm_chooser_find_bcaddr), (do_ping), (gdm_chooser_xdmcp_discover), (gdm_chooser_add_hosts), (gdm_chbooser_xdmcp_init), (gdm_chooser_choose_host), (add_check), (gdm_chooser_add_host), (gdm_chooser_parse_config): Changed so that they all can deal IPv6 addresses. (gdm_chooser_find_mcaddr): Function added to set the multicast address. * gui/gdmXnestchooser.c: (have_ipv6): Added function to check for run time IPV6 support. (gte_free_display): Changed for IPv6. Thu Nov 06 09:51:45 2003 George Lebl * daemon/gdm.c: whack some stale code, mark some messages for translation * daemon/slave.c: whack all clients inside the session stop. Should "fix" #126071 although I don't see a clean way to fix that. There's always a race as clients could still not be all dead by the time we call close session. But perhaps this helps matters a bit. Fri Oct 17 10:54:12 2003 George Lebl * Release 2.4.4.5 Fri Oct 17 10:40:08 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: Apply patch from Frederic Crozat to make gecos into utf8 before displaying it in the face browser. * daemon/auth.c: make sure that umask 077 before reopening the .Xauthority since apparently it can happen that the file doesn't exist then. Thu Oct 16 09:55:55 2003 George Lebl * Release 2.4.4.4 * config/shell-extract.sh: fix extracting of text from shell scripts. Thu Oct 16 09:13:48 2003 George Lebl * daemon/gdm.[ch], daemon/gdm-net.[ch]: Make the socket connection non-blocking and limit conversations to 20 requests. Also cut lines short at 4096. Fixes CAN-2003-0793 and CAN-2003-0794 respectively. * daemon/slave.c: fix #123958 by clearing the message after authentication is done for the configurator. * daemon/Makefile.am, gui/greeter/Makefile.am, gui/Makefile.am, gui/modules/Makefile.am: The disable_deprecated defines should only be on for conformance testing I suppose. Fixes #124680 Wed Oct 15 14:19:59 2003 George Lebl * gui/greeter/greeter_item.c: the rich string parsing routine was broken if the underline was for the last letter. Fixes bug discussed in rh #106189 Sun Oct 12 05:55:20 2003 Richard Allen * Added is.po Fri Oct 10 13:58:47 2003 George Lebl * config/gdm.conf.in: forgot to add -audit 0 to Xnest Fri Oct 10 13:53:08 2003 George Lebl * config/gdm.conf.in: avoid possible dos by turning off all audit trails in the X server on standard config. (use "-audit 0" command line) Thu Oct 09 11:11:23 2003 George Lebl * gui/greeter/greeter_canvas_item.c: fix the line breaking not to crash, though it is still horrible. It is in fact now an even more horrible hack. Mon Oct 06 15:02:19 2003 George Lebl * daemon/gdm.[ch], daemon/auth.c, daemon/slave.c: touch auth files in /tmp every 12 hours so that they don't get whacked by tmpwatch. Also add an option to short circuit the NFS test option to allow cookies on NFS (NeverPlaceCookiesOnNFS) * gui/greeter/greeter.c: Display dialog about not being able to load the theme even when not running in debug mode. So that missing/bad themes don't just look like greeter crashes (see rh #106189 for people getting confused by bad spec file) * config/gdm.conf.in: add the NeverPlaceCookiesOnNFS key Fri Oct 03 14:03:31 2003 George Lebl * daemon/errorgui.c: include to fix build on solaris Fri Oct 03 13:40:22 2003 George Lebl * daemon/auth.c: when the ~/.Xauthority didn't exist and we tried to create it but failed due to root squashing, whack the file (we created as user, but can't access it as root). Mon Sep 29 14:32:18 2003 George Lebl * config/PreSession.in, config/PostSession.in, config/XKeepsCrashing, config/Xsession.in: Be more careful with shell stuff and quote whatever we can, should fix rh #105858. * daemon/misc.c, config/XKeepsCrashing: Don't use gdialog as it's nowdays just a wrapper on zenity Fri Sep 26 13:38:55 2003 George Lebl * daemon/slave.c: in a further fit of strictness, stat the file even before handing it to the greeter and don't allow other then regular files. Fri Sep 26 10:44:18 2003 George Lebl * daemon/slave.c: to be even more strict about filenames of user pics, first run through realpath first. Thu Sep 25 15:42:20 2003 George Lebl * Release 2.4.4.3 Thu Sep 25 15:38:38 2003 George Lebl * daemon/gdm.c, daemon/getvt.c: add a little color to the logout message, correctly set the fonts here. remove the stupid /bin/clear hack and the /bin/chvt hack and replace it with actual code. Plus a teeny bit of cleanup * utils/gdmopen.c: some minor cleanup * configure.in: raise version Thu Sep 25 11:23:24 2003 George Lebl * daemon/errorgui.c, daemon/slave.c: be even more strict about the setuid stuff here (it can't actually fail, but just in case, we're being paranoid) Also reset the environment and desetuid for the setup program even though that's not really needed. Thu Sep 25 10:37:38 2003 George Lebl * daemon/auth.c, daemon/filecheck.[ch], daemon/gdm.[ch], daemon/misc.c, daemon/slave.c: Auditing the file handling stuff, increase general paranoia and code strictness about these things plus check pretty much every return of the sete[ug]id even though they are pretty much guaranteed to exist. Being paranoid here is good. Allow the authentication cookie be given in upper case hex for the socket protocol. Wed Sep 24 18:01:06 2003 George Lebl * daemon/slave.c: add some extra strictness to the slave when looking at the session name supplied in .dmrc, and also be careful about what we read as the user pic. Wed Sep 24 16:34:02 2003 George Lebl * gui/greeter/greeter_item_pam.c, gui/greeter/greeter_geometry.c, gui/greeter/greeter_canvas_item.[ch]: rework the text wrapping stuff. Now we use pango to figure out where breaks should be and then do a pretty stupid algorithm to break the string at the requested length. This works better it seems and isn't perhaps on as much crack as messing with the canvas text items pango layout. It's still on crack however. Wed Sep 24 13:21:43 2003 George Lebl * daemon/slave.c: don't exec chooser/greeter in shell that's kind of evil and resets too many env vars. Instead reset to the original env first and then setup our env vars and exec the greeter or chooser. * gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.[ch], gui/greeter/greeter_events.c, gui/greeter/greeter_geometry.c, gui/greeter/greeter_item.[ch], gui/greeter/greeter_item_customlist.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_parser.c: Fix bug #123017 with use of evil hacks (as if the original text code was not evil). Check max-width and max-screen-percent-width attributes for label pos elements. Wrap text if it goes over it's width or the max-width (Mental note: the greeter layout stuff is on complete crack and should be rewritten with great prejudice). Also while at it save an extra 112 bytes off every element by using more appropriate types and some unions, adds up to about 5k for Bluecurve so it's not much actually. Also fix the enriched string parsing to understand \n just like gdmlogin does * gui/greeter/themes/circles/circles.xml.in, gui/greeter/themes/happygnome/happygnome.xml.in, gui/greeter/themes/happygnome-list/happygnome.xml.in: For some reason the canvas now gives me larger fonts, so use smaller fonts and tweak the layout a bit. Tue Sep 23 10:16:08 2003 George Lebl * gui/greeter/gdmthemetester: fix shell parse error * gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_parser.c: parse and use font and color info for the entry types. The documentation is unclear but would sort of imply this is possible. Plus it is good for making large font themes. Based on a patch from: Anton Altaparmakov Mon Sep 22 15:37:03 2003 George Lebl * Release 2.4.4.2 Mon Sep 22 15:35:23 2003 George Lebl * daemon/slave.c, daemon/misc.[ch]: add a func to get a specific stored env var. Check in the stored PATH for TryExec and only check TryExec when finding a session when nothing else is given. The greeters really take care of TryExec. Mon Sep 22 15:19:21 2003 George Lebl * config/gnome.desktop.in: add TryExec=gnome-session Mon Sep 22 15:16:05 2003 George Lebl * config/Makefile.am: in the old location where we're not replacing the files, move them rather then just copy them to avoid duplicate copies. Also just append the .orig extension, we handle that now * gui/gdmlogin.c, gui/greeter/greeter_session.c: Fix the extension handling checking and default.desktop.rpmorig and such won't be treated as .desktop files anymore Mon Sep 22 15:01:41 2003 George Lebl * daemon/gdm.h, config/gdm.conf.in: use $datadir/xsessions instead of hardcoding /usr/share/xsessions * config/Makefile.am: install gnome.desktop and CDE.desktop into the datadir location as they're not config and this way we share them with KDM, yay. They should be installed by respective owner packages at some point though ... Mon Sep 22 13:55:50 2003 George Lebl * gui/modules/dwellmouselistener.c: fix error handling / leaks * gui/modules/keymouselistener.c: fix error handling and leaks, fix the stupid and annoying as hell "turn of key-repeat" hack, fix using modifier keys as the gestures themselves (#122944) * gui/modules/AccessKeyMouseEvents.in: fix documentation a bit * daemon/errorgui.c: listen to all events on the dialogs to make the accessibility gestures work Mon Sep 22 12:25:44 2003 George Lebl * daemon/errorgui.c: re-enable the gtk modules stuff, it wasn't linkage issues but in fact not setting stuff like $HOME properly. * daemon/misc.c: unset SIGABRT, SIGXFSZ and SIGXCPU in gdm_unset_signals else bad things happen (as I found out by the modules excersise) * daemon/slave.c: kill unused var warning. Mon Sep 22 11:25:30 2003 George Lebl * daemon/slave.c: catch exit code 1 from greeter as fail error * daemon/errorgui.c: disable the gtk modules loading, this is broken due to bonobo non-linkage here, will need to reevaluate linkage all over wrt a11y. Also catch when the dialog dies and try again first with no themes then with absolutely no modules as well. Mon Sep 22 10:20:56 2003 George Lebl * daemon/errorgui.c: add the gtk modules to error dialogs, so that accessibility works there as well. * daemon/slave.c: Look in ~/.face and ~/.face.icon to get faces set by KDM. Also a bit of cleanup in the face reading routine. Mon Sep 22 10:03:10 2003 George Lebl * daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter_session.c: Fix session masking by path in the greeters and rework the 'Desktop' -> 'desktop' migration code to be correct and simpler (migrate where we read from the ~/.dmrc) Sat Sep 20 09:32:52 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_session.c: test for defsess and savedsess in testing for switchdesk mode default rather then 'default.desktop' Fri Sep 19 18:59:28 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_session.c: fix rh bug #104287, The default session is not 'Xclients.desktop' but 'default.desktop'. Also don't talk of 'switchdesk' if /usr/bin/switchdesk is not around. Fri Sep 19 18:00:37 2003 George Lebl * daemon/slave.c: Launch the greeter from a shell so that we get a nice environment. This is needed for both TryExec in the sessions and for finding things in the path for the accessibility modules * gui/gdmlogin.c: select all events on the login window, this will catch all events so that the modules get them * gui/modules/AccessDwellMouseEvents.in, gui/modules/AccessKeyMouseEvents.in: update the docs here and use the path. Also change to . And make it 4 times 4 seconds. to get gok. 1 time is annoying as hell. Also add the same for as that may be for a left handed person. * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: cleanups to both modules, fix it so that sequences aren't 1 longer in the key mouse listener, also don't kill the events. it does kill a lot of real events, especially if we use the mouse events. We just have to deal with the mouse doing something. We can't decide if it was a gesture until after it was done, which means we're really out of luck. Fixes #122658 Fri Sep 19 15:34:36 2003 George Lebl * gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/greeter/greeter.[ch], gui/greeter/greeter_action_language.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Use the new ve_hig_dialog_new interface to set the markup flag where appropriate fixing #122683 * gui/gdmphotosetup.c, gui/gdmsetup.c: convert filenames to utf8 before displaying them. Fri Sep 19 13:41:37 2003 George Lebl * config/Makefile.am, config/default.desktop.in: Rename 'Default.desktop' to 'default.desktop' for KDM compatibility since default session is now marked by 'default' * config/gdm.conf.in: update the path after discussion with the KDM maintainer * daemon/gdm.h: update the session path. * daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter_session.c: minor cleanup and make sure that 'Default' gets rewritten to 'default' as it should be. 'default' will actually work with the previous version of gdm so it's quite OK. Thu Sep 18 17:41:25 2003 George Lebl * gui/modules/keymouselistener.c: Fix the parser to use strtok and make it buffer overflow safe. * gui/modules/dwellmouselistener.c: skip initial whitespace from service Thu Sep 18 17:23:21 2003 George Lebl * gui/modules/dwellmouselistener.c: fixed underflow with start position. Fix the parser to use strtok and make it buffer overflow safe. Plus various other cleanups and fixes. Fixes #122616 Thu Sep 18 16:20:07 2003 David Bolter * gui/modules/AccessKeyMouseEvents.in: added gok gestures for direct mode * gui/modules/AccessDwellMouseEvents.in: added a gok gesture for dwell mode Thu Sep 18 16:15:38 2003 George Lebl * configure.in, acconfig.h, daemon/slave.c: apply the SELinux patch, taking care not to break the string freeze. Thu Sep 18 13:53:37 2003 George Lebl * configure.in: update version * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter_session.c: treat SessionDesktopDir as a PATH type variable using the first element. This will allow full interoperability with upcoming KDM without sacrificing backcompat for GDM itself. Also it will be easier to change the dir in the future this way. * config/gdm.conf.in: update for the path stuff Thu Sep 18 03:33:44 2003 George Lebl * daemon/gdm.c, daemon/cookie.c: Can't sleep, so re-clean the random stuff. This time really think about what's happening and document the random tick stuff. The random tick is now a lot faster too after browsing the MT pseudorandom thing, what we were doing before was just slow (not that slow, we're talking 'too slow for sopwith'). But it was kind of embarrassing I suppose. I need to think about such code before I use it. Also really get all the entropy we can get from the current time instead of just around 20 lousy bits. So we need less ticks to get better entropy. Wed Sep 17 10:14:27 2003 George Lebl * config/gdm.conf.in: the sessions dir is now commented out so that we take the default rather then what's in the file by default. Fri Sep 12 15:32:07 2003 George Lebl * Release 2.4.4.1 Fri Sep 12 15:29:05 2003 George Lebl * daemon/gdm.c, daemon/cookie.c: a little bit of cleanup in the random number department Fri Sep 12 14:49:30 2003 George Lebl * configure.in: raise version * daemon/gdm-net.c: some cleanup and be utterly strict when creating /tmp/.gdm_socket (note: we were strict before, but now we're really REALLY strict) * daemon/gdm.c: disable substituting 'nobody' for 'gdm', what was I smoking when I wrote that? * daemon/misc.c: some cleanup and make sure gdm_fdprintf writes all the characters it really needs to write. Also the ensure extension doesn't append extensions to empty strings. * daemon/slave.c: use only one pipe for all the waitpids, since we really don't need more then one and this make code simpler. Thu Sep 11 16:11:57 2003 George Lebl * config/gdm.conf.in: add comment about ShowLastSession * daemon/gdm.h, daemon/slave.c, daemon/misc.[ch], gui/gdmlogin.c, gui/greeter/greeter_session.c: Work with the session setup as implemented now in KDM. Doesn't add the built in default, custom, failsafe sessions to the greeters themselves though yet, and doesn't change the default session path (will change to /etc/X11/sessions from /etc/X11/dm/Sessions) * daemon/gdm.c: minor cleanup Tue Sep 02 12:11:39 2003 George Lebl * Release 2.4.4.0 Mon Sep 01 14:01:02 2003 George Lebl * daemon/slave.c: move gdm_verify_cleanup after running of PostSession and touching the home dir. Home dir may be unmounted in pam_close_session leading to failures when trying to touch the home dir in the PostSession script and in the code that closes the session. * daemon/auth.c: fix error output so that bug reports wouldn't point me to the wrong code. Tue Aug 26 17:58:46 2003 George Lebl * configure.in: raise version number * config/Makefile.am: create log dir correctly * README: fixed non-sensical sentence * gdm.spec.in: make this work again Mon Aug 25 16:48:20 2003 George Lebl * Release 2.4.2.102 Mon Aug 25 16:27:09 2003 George Lebl * daemon/slave.c, daemon/errorgui.c, daemon/gdm.h, daemon/display.c: if we can't use the file ~/.xsession-errors, try /tmp/xses-.XXXXXX using mkstemp. * NEWS: update Mon Aug 25 13:55:09 2003 George Lebl * daemon/gdm.h, daemon/auth.[ch], daemon/xdmcp.c, daemon/server.c: Server auth file now uses FamilyWild and we set up the different access stuff for the user auth file. Don't add FamilyInternet stuff to the xauth file if we start the server with "-nolisten tcp". The purging is done right and doesn't mistakenly whack entries we didn't add. * NEWS: update Mon Aug 25 11:13:08 2003 George Lebl * gui/gdmsetup.c: make insensitive the options which make no sense in the security page when actions menu is off. Partly fixes #120639, the other part can be fixed after UI freeze is off. Mon Aug 25 10:47:30 2003 George Lebl * daemon/auth.c: if the .Xauthority would be empty, just unlink the file. That is nicer to systems with quotas. * daemon/slave.c: It appears some people are not letting us redirect the ~/.xsession-errors and close the pipe for us and we weren't handling EOF correctly (and ran into a very tight loop then). This fixes #120580. Also fix select usage, and fix some minor bugs with respect to returns from the read calls. Also catch and handle the XFSZ signal to avoid abrupt logouts when evil limits are set. Fri Aug 22 16:11:15 2003 George Lebl * daemon/misc.[ch], daemon/auth.c, daemon/filecheck.c, daemon/gdm.c, daemon/server.c, daemon/slave.c: construct files properly using g_build_filename, add a utility for this gdm_make_filename if we want to build out of dir, name and extension. Fixes bug #118040 * daemon/gdm.c, daemon/slave.c: remove unused variable Fri Aug 22 13:19:05 2003 George Lebl * AUTHORS: update to be correct UTF-8 Thu Aug 21 14:10:44 2003 George Lebl * daemon/gdm.c: add --version option to fix #120409 Thu Aug 21 14:05:09 2003 George Lebl * gui/gdmsetup.desktop.in: Add System to categories to partly fix #120360. We can't add Settings as that would break the spec as spec says settings are only for desktop settings and not for system setup. Wed Aug 20 18:55:06 2003 George Lebl * AUTHORS: update, haven't done so in a while Wed Aug 20 13:21:48 2003 George Lebl * Release 2.4.2.101 Wed Aug 20 12:13:04 2003 George Lebl * config/gdm.conf.in, daemon/gdm.h: sync some defaults and make lots of keys commented out in the standard config file so that we can change the defaults later without users having to install a new config file. * daemon/xdmcp.c, daemon/cookie.c: Use glib's random functions instead of rand where we need those pesky pseudorandom numbers * daemon/slave.c: cleanup for greeter restarting * daemon/verify-pam.c: a bit of cleanup and set tmp_PAM_USER to login if login is set, just in case pam is weird. * gui/gdmsetup.c: when not running from within gdm itself display "ghelp:gdm" on help Mon Aug 18 17:33:12 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_session.c: cleanup and fix the signal blocking, plus abort when we receive a bad opcode since otherwise we pretty much just hang. * daemon/auth.c: don't add entries twice Mon Aug 18 13:56:14 2003 George Lebl * daemon/cookie.c: add more fallbacks in case of /dev/random and friends not being around, also use the last cookie generated in the checksum and spot check the data we get from the files for randomness (for example /dev/audio might just give us zeros), also read 1024 bytes from the files. Mon Aug 18 11:02:38 2003 George Lebl * daemon/slave.c, daemon/gdm.h, daemon/server.c, daemon/xdmcp.c: To prevent a possible DoS attack where an app might spit out too many warnings on stdout/stderr and thus fill up the users home dir (or when an app is buggy), the output of the session no longer goes directly into .xsession-errors but in fact through an internal pipe. This way we can just cap the file at some size (currently 80*2500 bytes, which should be long enough for actual use in debugging but it's short enough to prevent a DoS attack) * daemon/cookie.c: skip the first 16megs of /dev/mem only on i386 * daemon/xdmcp.c, daemon/gdm.[ch], daemon/server.c, daemon/slave.c, daemon/cookie.c: some cleanup with the IGNORE_EINTR macro Sat Aug 16 08:47:45 2003 George Lebl * daemon/cookie.c: hell we only need 16 bytes of random data from /dev/random, (or /dev/srandom) we don't want to waste kernel entropy. 16 bytes of randomness is all we need. Fri Aug 15 18:32:54 2003 George Lebl * daemon/auth.c: handle NULL addresses, purge by number and name, not by number and address * daemon/auth.c, daemon/gdm.c: Correctly handle out of diskspace errors on auth files and on the PID file * daemon/slave.c, daemon/gdm.c: fix the runlevel checking code. It's popen, not fopen. DOH! * daemon/misc.c: use 16 lines of output for text dialogs, since some of the strings we use are quite long. Fri Aug 15 12:36:30 2003 George Lebl * configure.in: raise version * daemon/cookie.c: use xor instead of + for the seed since it looks more technical and makes it perhaps a little bit more random (depending on how long 'long' is) Fri Aug 15 12:14:58 2003 George Lebl * daemon/cookie.[ch], daemon/slave.c, daemon/xdmcp.c, daemon/gdm.c: Add some semi randomness spinners which are spun on somewhat random occasions. This should add to our entropy a bit especially on systems without /dev/random (20 bytes of semi randomness is added this way). And try /dev/srandom on openbsd. * daemon/cookie.c: don't read the buffer max from /dev/random, but only the required size, the (there's no need to md5 512 bytes of truly random data just to get 16 bytes). Require 32 bytes from /dev/random (this is what openssl does apparently), also from openssl, /dev/random still sometimes blocks, so set up a select loop for it that waits 10ms at most. Also try /dev/mem as one of the files in case we can't get enough entropy from /dev/random. * daemon/slave.c: some G_UNLIKELY/G_LIKELY code from yesterday that was still uncommitted * daemon/auth.c: set egid as well as euid when testing for root squashing * gui/gdmXnestchooser.c: add some IGNORE_EINTR * gui/gdmchooser.c: make sure the ARRAY8's are initialized to zero so that we don't possibly crash on bad return packet. Fri Aug 15 Brian Cameron * daemon/misc.h: Provide a #define for __PRETTY_FUNCTION__ for systems where it is not available. Fri Aug 15 01:59:53 2003 George Lebl * daemon/auth.c: fix possible crash on on purge and redo the purge reopening to be more strict * daemon/slave.c: fix some possible fd leaks * daemon/gdm.c, daemon/misc.[ch], daemon/slave.c, daemon/xdmcp.c: Implement our own asserts that do gdm_fail * daemon/auth.c, daemon/gdm.c, daemon/misc.c, daemon/slave.c, daemon/xdmcp.c, gui/greeter/greeter_events.c, gui/greeter/greeter_parser.c: Go crazy with G_LIKELY and G_UNLIKELY. It's 1:50am, I can't sleep and am bored. Might as well do some optimizations. Thu Aug 14 17:50:30 2003 George Lebl * daemon/auth.c: The UserAuthDir is treated just like /tmp when no tilde expansion is used. Without that it is kind of useless. Also try to detect a nfs home directory by trying to open file for reading in it as root, and if we can't use the fallback directory. * config/gdm.conf.in: add note about UserAuthDir Thu Aug 14 14:45:42 2003 George Lebl * gui/greeter/greeter_item.[ch], gui/greeter/greeter_parser.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_events.c: whack the button lookup, we can just setup a "my_button" pointer when parsing avoiding tree traversal up to root on every event * gui/greeter/greeter_geometry.c, gui/greeter/greeter_item.[ch], gui/greeter/greeter_parser.c: Notice that we never use the orig_pixbufs, so we completely whack them, also we try to avoid hitting the disk all the time for pixmaps, if we have already loaded them elsewhere just use a cached copy. This all won't work right if we would allocate items several times but we never do. The above change seems to save about 6megs of memory for circles (and other themes with larger pixmaps around) * gui/greeter/greeter_item.[ch], gui/greeter/greeter_parser.c, gui/greeter/greeter_canvas_item.c: By clever use of bitfields and reordering the items in the info structure, reduce the size of the info structure by 72 bytes on x86 at least, this saves about 2.5k for the Bluecurve theme. * gui/greeter/greeter_events.c, gui/greeter/greeter_item.h, gui/greeter/greeter_parser.c: don't change state for things that don't have the other states defined, and don't do the state change stuff for items that only have the normal state. Saves quite a bit of CPU grinding that was going on for constant updates. Thu Aug 14 11:36:45 2003 George Lebl * daemon/gdm.h, daemon/slave.c: Save status of the last session process, and use code 66 to mean do not display the "session crashed" error box. Use the 66 error code from the session code when we know the session has not had problems starting, and where we told the user what was wrong. Also move parent_exists to avoid compiler warning and assume "once dead, always dead". Thu Aug 14 09:55:31 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: Limit number of users to display at 500, but also limit the time it takes to get them by 5 seconds. Whatever we can read in 5 seconds we get. * gui/gdmsetup.c: similarly as above but cap the number of users at 100 since more then that is kind of useless in the combo box. Wed Aug 13 11:17:15 2003 George Lebl * daemon/slave.c: when the parent process doesn't exist, we die after session ended. This is a semi decent (not really, but it's simple) way to handle the main daemon crashing. Wed Aug 13 10:56:52 2003 George Lebl * daemon/misc.c: try /dev/fd (FreeBSD equivalent of /proc/self/fd) as well, and also ignore entries starting with '.', just in case. Wed Aug 13 Brian Cameron * acconfig.h, configure.in: add check for fbconsole (fallback (console) * daemon/server.c: add call to start fbconsole (if present) after the Xserver starts. Tue Aug 12 17:48:45 2003 George Lebl * daemon/gdm.c: check operating system on startup Fri Aug 08 17:20:59 2003 George Lebl * gui/greeter/greeter_geometry.c, gui/greeter/greeter_item.h, gui/greeter/greeter_parser.c: respect negative coordinates with "-0", must store the negativity in a flag for that. * gui/greeter/greeter_item_pam.c: break all pam messages at 50 columns, not just pam-error (actually those are not all pam messages we just call them that) * gui/greeter/greeter_parser.c: parse "active" for text items, not just prelight and normal. * gui/greeter/greeter_item.c: fix typo in g_warning Fri Aug 08 09:35:41 2003 George Lebl * Release 2.4.2.100 Thu Aug 07 17:59:25 2003 George Lebl * daemon/gdm.[ch], daemon/slave.c, config/gdm.conf.in: Remove the SessionMaxFile key since it wasn't used anyway (we've killed the GNOME session chooser). Also fixup the comment on XDMCP enabling. Wed Aug 06 17:40:27 2003 George Lebl * gdmsetup-pam: don't use the paths but let pam find modules itself * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: limit number of users at 100 (rather then 50) where it really becomes bad. We need to handle this in a nicer way. * daemon/xdmcp.c: make the globsessid default to rand() so that they really differ from run to run, rather then just time(NULL). check tcp wrappers for managed_forward and got_managed_forward (just to be strict), also check tcp wrappers on forward query, the Alive packet now gets sent with real info rather then just whatever keepalive sent us (and thus follows the spec). Make sure the session id is never zero as that can happen now. Send at most one unwilling packet per second, and try to defer doing any actual work until after we checked with tcp wrappers. Also add some more potential debugging. * daemon/verify-pam.c: translate the lowercase "username:" and "password:", some modules seem to be using those. * daemon/xdmcp.c, gui/gdmchooser.c: if the condition is not new data to be read, don't try to run XdmcpFill Wed Aug 06 12:05:52 2003 George Lebl * configure.in: update version number Wed Aug 06 Brian Cameron * gui/Makefile.am: Remove any existing gdmXnest symbolic link before creating the new symbolic link. Now make install doesn't fail on Solaris when replacing an existing gdm2 install. Mon Aug 04 15:05:26 2003 George Lebl * daemon/choose.c: fix crash when indirect display expires * daemon/gdm.c: call gdm_ensure_sanity on startup as well, seems like a good place to ensure sanity too * daemon/xdmcp.c: fix checking auth string, fix debug messages Mon Aug 04 13:43:29 2003 George Lebl * daemon/misc.c: Fixed #118878 by actually ensuring the /tmp/.ICE-unix permissions. Mon Aug 04 09:20:06 2003 George Lebl * config/gdm, config/gdm-autologin: Don't include the /lib/security dir for the pam modules and just let pam locate things on its own * daemon/errorgui.[ch], daemon/gdm.c, daemon/slave.c: Use the gtk resource file for the greeters in the errorgui to get the same GTK theme going here, instead of gdm run the post session error dialog as the user for whom it is running, and run the post session error dialog before the session stop again since the home dir might not be present after the session stopped. Fri Aug 01 11:19:50 2003 George Lebl * daemon/gdm.c: the SIGABRT handler cannot use the mainloop as it can never return. Fri Aug 01 11:06:37 2003 George Lebl * daemon/misc.[ch]: first get initial rlimits and use those when restoring limits. Should fix errors where root limits are set low and we jack them up uselessly or when someone wants to limit the gdm process. * daemon/gdm.c, daemon/slave.c: ignore SIGPWR, restart on SIGXCPU and SIGXFSZ, and cleanly exit on SIGABRT (which could come from glib). Slave only ignores SIGPWR otherwise since we handle slave crashes properly. Also print error to the log rather then just debug when child actually crashes, that's an error obviously. Fri Aug 1 01:51:50 2003 Jordi Mallach * gui/gdmcomm.c, gui/gdmphotosetup.c: fix typo. Missed the release... Thu Jul 31 14:43:43 2003 George Lebl * Release 2.4.2.99 Thu Jul 31 13:50:38 2003 George Lebl * daemon/misc.c: unset SIGINT as well in gdm_unset_signals * NEWS: update some more Thu Jul 31 12:58:26 2003 George Lebl * XKeepsCrashing, daemon/verify-pam.c: update comments * daemon/misc.c: fix leaks/crashes in the text message dialog stuff * daemon/slave.c: do a chdir as the user id again just for sanity sake * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: don't load more then 50 users into the user listing. This should fix random badness happening on large systems using things like NIS (you shouldn't use face browser here anyway) * gui/greeter/greeter.c: remove the use of redundant _set_has_separator * NEWS: update Wed Jul 30 15:21:08 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter.c: add gdk_beep to the Username prompt, that way you know you can type. Useful for blind people, or people that are not watching their screen to see when the computer finished booting. Tue Jul 29 17:32:35 2003 George Lebl * configure.in: whack the gdk-pixbuf-2.0 req since we're including gtk+ already, this apparently breaks compilation on older systems Also fix the paths and handle case where X installed in /opt/X11R6/bin Tue Jul 29 16:39:51 2003 George Lebl * configure.in: fix the GNOME_COMPILE_WARNINGS and remove GNOME_COMMON_INIT, fixes #118578 Tue Jul 29 14:35:18 2003 George Lebl * daemon/gdm.c: no need to handle server dead condition specifically for the unhandled case. The pause call will exit and we'll notice the servpid being 0 and exit. * NEWS: update Tue Jul 29 12:15:54 2003 George Lebl * daemon/display.c, daemon/gdm.c: killall the xdmcp slaves first and then wait for them en-masse. This should make large xdmcp server much faster when shutting gdm down. Make races with the waitpid stuff harder to happen. In the worst case we wait 10 seconds. * daemon/misc.[ch], daemon/gdm.c, daemon/slave.c, daemon/server.c daemon/verify-*.c: implement a sleep using select which doesn't stop on signals (it restarts self), which is useful in a whole bunch of places, and also avoids the alarm vs. sleep thing which we were completely forgetting about. Tue Jul 29 11:10:20 2003 George Lebl * daemon/misc.c: apparently _SC_OPEN_MAX can be ridiculously high sometimes (1024^2 on Linux 2.4 kernel if I understand it right). closing all those FDs can take quite a bit of time. So 1) use /proc/self/fd/ directory if it exists and 2) limit the maximum fd to 4096 as we really won't be using fds higher then that I don't think. We'll try an open in that case to see if we are really very high in the number of fds * daemon/slave.c: fix xdmcp logins, the servpid will not be set here even if the server is running. DUH! Also send XPID 0 before killing self just in case when we receive that X died. Mon Jul 28 14:10:12 2003 George Lebl * daemon/gdm.h, daemon/*.c: for all functions for which I found in the manpages that EINTR could be returned on at least some systems, use a new IGNORE_EINTR macro which will ignore the EINTR errno. This should fix any bugs with signals coming at the wrong times, though that is quite unlikely I'd say. Apparently SVr4 can return EINTR even for execv which is really strict since EINTR is pretty much useless. Why can't we all be sane like BSD. * daemon/misc.c, daemon/server.c: automatic vars have weird behaviour when using Setjmp, so use static (volatile wouldn't work here if I'm reading the docs right) Mon Jul 28 10:36:52 2003 George Lebl * confiugure.in, acconfig.h, daemon/slave.c, daemon/gdm.c: check for sched_yield in the standard lib and then in -lrt, and don't use it if we can't find it. Also remove its usage from places where we're going to yield the processor very soon anyway. Mon Jul 28 09:19:38 2003 George Lebl * configure.in: Fix #118404, we don't need TCP Wrappers if compiling without XDMCP * gui/gdmlogin.c, gui/greeter/greeter_item_timed.c: Apply patch from Steve Chaplin to fix use of some deprecated functions #118361 * config/Xsession.in: remove the 'no zenity' message and add an echo when starting the failsafe session, even though in that case it's unlikely there is a .xsession-errors unless something went wrong Sat Jul 26 21:04:21 2003 Christophe Merlet * gui/gdmphotosetup.desktop.in: Fixed a little typo. Sat Jul 26 01:47:40 2003 George Lebl * daemon/display.c, daemon/gdm.c: the waitpid function doesn't work as I expected with respect to signals so emulate it with either sleep or pause and then a WNOHANG waitpid. Also kill the XKeepsCrashing thing if we get a SIGTERM, SIGINT or SIGHUP, just like with the slaves. The slaves are now killed at least once in 10 seconds in case they are hanging somewhere. * daemon/gdm.c: set up a TERM/INT handler for the first few moments, which will kill the extra process if any in addition to exiting. * daemon/misc.c: fix the gdm_signal_default to use SIG_DFL and not SIG_IGN, doh! and fix extra_process check a little * daemon/server.c, daemon/slave.c: fix server start race that could result in the USR1 to not set SERVER_RUNNING, and fix slave not to try to open the display again if the server is gone. Fri Jul 25 19:01:11 2003 George Lebl * daemon/gdm.c: minor cleanup of main * daemon/gdm.c, daemon/server.c, daemon/misc.c, daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/gdmchooser.c: unification of some error messages to make translations simpler, plus fixing bug #56654 finally hopefully by removing programmer references from translatable strings * daemon/slave.c, daemon/misc.[ch], daemon/gdm.c: new functions for ignoring or resetting to DFL of signals using sigaction. In the main daemon ignore SIGPIPE and SIGUSR1, in the slave ignore SIGPIPE and SIGUSR1 and set the mask before the setjmp. also we just unmask some signals now instead of masking everything. * daemon/slave.c: accept DISPLAY_GREETERFAILED from a greeter * gui/gdmlogin.c, gui/greeter/greeter.c: return DISPLAY_GREETERFAILED on bad failures. Fri Jul 25 17:46:11 2003 George Lebl * daemon/slave.c: fix C99/C++ism that gcc no longer warns about, anywhere declarations C++ style * daemon/gdm.c: when reading with %02x use unsigned int * daemon/gdm-net.[ch]: the connection close_notify should be of type GDestroyNotify Fri Jul 25 17:09:52 2003 George Lebl * daemon/verify-pam.c: apparently pam can be on crack and so the best and apparently most theoretically portable (to different module configs) way of handling the face browser is by resetting the pam handle after a user has been selected. This works just as well and we dump any possibly dangerous state from the pam handle's previous invocation of pam_authenticate. Fri Jul 25 16:31:24 2003 George Lebl * daemon/gdm.c: Fix updating the gdm_main_pid, which fixes gdm_fail that is done after daemonification. * daemon/gdm.c, daemon/misc.c, daemon/verify-pam.c: Fix debian bug 194613 by adding an option --no-console which ignores the [servers] section. An empty [servers] section implies --no-console. In this mode the console will not be used (so no opening of text dialogs on virtual terminals which just screws up XDMCP only headless servers) * daemon/slave.c: always send XPID after server_stop unless of course we're just about to exit Fri Jul 25 13:06:49 2003 George Lebl * daemon/display.c, daemon/gdm.c: if child crashed (died of a signal) then log the signal if debug is on * daemon/gdm.h, daemon/server.c, daemon/slave.[ch]: The X server quite apparently emits a USR1 on re-init so catch that (apparently I was not seeing this before as USR1 seems to have been blocked during the fun times.) * demon/server.c: on exit from an XDMCP display whack all clients to support broken X terminals * daemon/slave.c: whack the \n's from some of the GUI messages as that's not needed anymore with gtk2 and in fact sometimes can look bad. * daemon/slave.c: run session_stop before the 10 second session warning and don't run the warning if the server is dead * daemon/veriy-pam.c: don't return uninit value if we don't open session or delete secred, return PAM_SUCCESS * daemon/gdmthemetester: add -terminate to command line so that I don't keep getting thousands of Xnest windows on my screen Fri Jul 25 03:32:48 2003 George Lebl * daemon/display.c: whack unneeded block pushes, when killing child rekill if we get a SIGTERM, if the slave crashes during unmanage kill its children. * daemon/gdm.c, daemon/slave.c: use sched_yield at the right places where we expect the other process to do work. * daemon/gdm.c, daemon/slave.c, daemon/server.c, daemon/misc.c: handle interrupts on writes/reads and use PIPE_BUF to limit size of buffer to send in run_pictures and fix a fd leak * daemon/server.c: fix select call usage * daemon/slave.c, daemon/server.c: reset the SIGUSR1 to SIG_IGN rather then to default to avoid a crash when the server sends SIGUSR1 on re-init * daemon/slave.c: avoid XIOErrors when possible by properly closing the display on normal quick exits. Also set session_started much later in the session_start as we don't really need it until quite a bit later * daemon/verify-pam.c: have flags for did_setcred and opened_session so that we only delete credentials and close session if we have set credentials and opened session respectively * gui/greeter/greeter_item_ulist.c: split the doubleclick message onto two lines as it's quite long and looks messy as one line. Thu Jul 24 17:40:09 2003 George Lebl * gui/gdmgreeter.c: fix build on systems without PIPE_BUF but with _PC_PIPE_BUF Thu Jul 24 16:41:25 2003 George Lebl * configure.in: bump version number Thu Jul 24 16:40:07 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter.c: fixed comment so that it shows up for the translators * README: update a bit Thu Jul 24 14:58:23 2003 George Lebl * daemon/gdm.c, daemon/slave.c, daemon/auth.c: change some g_strconcat's to g_build_filename's to address #118040. still more need to be converted * gdm.spec.in, daemon/gdm.h, config/gdm.conf.in, config/Makefile.am, configure.in: By default use logdir of /var/log/gdm just like redhat does it * daemon/gdm.c: check logdir to exist and if not set it to ServAuthDir * gdm.spec.in, daemon/gdm.c, config/Makefile.am: Make the ServAuthDir permissions to be 1770 with ownership root.gdm. That makes it impossible for the gdm user to run DoS attacks against the gdm daemon (though without any process limits set it can still somewhat do that) * daemon/slave.c, daemon/display.c, daemon/gdm.c, daemon/misc.c, daemon/server.c: Hunt more races and hangs. Make sure we really don't do anything bad in signal handlers by making a setjmp at the beginning of the slave_start function and returning there from signal handlers to do final cleanup kind of stuff. Also when we are receiving TERM signals while waiting on stuff to die, be very un-nice to things and SIGKILL them. Also stop using sleep if we might be using alarm at the same time. * daemon/display.c: whack non-useful signal block push on unmanage, and if we get a TERM signal while waiting on the slave, then send a TERM signal to the slave again. * daemon/errorgui.c: set USER, USERNAME and LOGNAME to "gdm" so that they don't end up root by some mistake * daemon/slave.c: Use home of root rather then /root for the home directory of gdmsetup. Also if we can't change to the home directory chdir to / instead of leaving it at servauthdir. Be strict about COOKIEs in the logfile. Also when things go just a bit wrong and not completely whacko, don't ABORT but just REMANAGE, the toplevel loop of death will handle things for us correctly. And setsid a very close to the start of the session to avoid a race ABORTing a display by mistake. * daemon/slave.c: make the PostLogin behave just like PostSession with respect to the return value * daemon/verify-pam.c: avoid races on termination with the verify_cleanup and handle some cases where crashes may (but should not) occur. * daemon/gdm.c: whack unneeded signal blockers (the main daemon is all async with a nice mainloop) * gui/gdmchooser.c: handle HUP gracefully, when one of the config options we care about changes just restart self instead of * gui/gdmlogin.c, gui/greeter/greeter_item_ulist.c: make the username bold Wed Jul 23 15:13:33 2003 George Lebl * Release 2.4.2.98 Wed Jul 23 14:29:53 2003 George Lebl * gui/greeter/greeter.c: whack some debug messages * daemon/display.c, daemon/gdm.[ch], daemon/slave.c: open a pipe for the internal message connection rather then using the fifo. Use the fifo only as backup. This way we 1) reduce damage gdm user can cause 2) make things faster, no need to open and close the fifo on disk 20 times for each login. * daemon/gdm.c: add close notifies for the main connections and NULL the connection pointer when that happens * daemon/display.c, daemon/slave.c, daemon/server.c, daemon/misc.[ch], daemon/errorgui.c: The close_all_descriptors now takes 2 exception arguments, since we need to keep 2 fd's open for slaves now. * daemon/gdm-net.c: fix gdm_connection_open_fd (some copy/paste typos were present) * daemon/slave.c: don't run session_stop unless we already ran session_start, and cleanup send_chosen_host to use gdm_slave_send, also wrap the xioerror in gdm_in_signal as it could be Wed Jul 23 11:41:16 2003 George Lebl * daemon/misc.c: raise the cache time of gethostbyaddr/name to 60 seconds and catch TERM/HUP/INT signals during this time and whack the host resolution when we catch these. This way it is possible to SIGTERM the gdm daemon during a hanging resolution call. Fixes issues from #109331 Tue Jul 22 18:15:51 2003 George Lebl * daemon/slave.c: use pause() instead of select with all zero arguments. Also fix select usage in loop in slave_waitpid * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c gui/greeter/greeter.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_session.[ch]: Remove the commented out gnome session chooser stuff * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_item_timed.[ch], gui/greeter/greeter_session.c: Fix running timed login on empty enter. Tue Jul 22 15:05:41 2003 George Lebl * gui/greeter/greeter_canvas_item.c: set justification according to the anchor. If the anchor centers the text, center it, etc... Tue Jul 22 14:31:25 2003 George Lebl * daemon/auth.c, daemon/slave.c, daemon/server.c: Set XAUTHORITY to GDM_AUTHFILE always for root processes. Also make sure not to set it if it's NULL already. * daemon/auth.[ch], daemon/slave.c, daemon/server.c: use XSetAuthority instead of XAUTHORITY env var as that is more failsafe * daemon/errorgui.c: set the DISPLAY and use XSetAuthority instead of relying on XAUTHORITY/DISPLAY being set right (which they not always are). Also cleanup the dialog startup a bit. * daemon/slave.c, daemon/errorgui.c: chmod the authfile to 640 before a session and back to 644 afterwards. This reduces the risk from gdm user breakage. In case someone breaks the gdm user they can't connect to existing user sessions, only new ones. * daemon/misc.h, daemon/server.c, daemon/slave.c: redo the re-init stuff. Don't close the display before we re-init and then do a nice setjmp hack to notice when the server got re-inited. This avoids races, avoids an extra process for figuring out the re-init and as icing on the cake it is also about 4-5 seconds faster to re-init not (and the server is re-inited just once instead of thrice which might have been causing some X server whackiness) * daemon/server.c: be careful in the log directory as well when opening files and do safer moves there as well for the rotation. * daemon/slave.c: whack the stupid extra XOpenDisplay, this is apparently only a workaround for some whacky streams X server connection which we don't support. And this takes up quite a bit of time on startup it turns out. Also related we'll set the cursor to pointer before we fork so that we don't need to do yet another XOpenDisplay. This speeds up startup yet some more. * daemon/slave.c: when reading the session .desktop file _get it rather then _new it so that we do less reading/parsing on session startup. * daemon/slave.c: some cleanup of session ends Mon Jul 21 12:24:01 2003 George Lebl * config/Xsession.in: eek, it's /dev/null, not dev/null * daemon/misc.[ch], daemon/gdm.c, daemon/slave.c: Fix #117527, get the root user name from the passwd info rather then assuming it's "root". * configure.in: fix #117895, when --with-xinerama=no, don't do the xinerama checks and just don't use xinerama * daemon/slave.c: Fix counting bugs in gdm_in_signal to fix hangs * daemon/slave.c: Fix the waiting for notify when inside the usr2 signal handler. * daemon/gdm.c, daemon/slave.c: Redo the waitpid mess and just use a pipe and select kind of stuff. Also remove the greeter restarts from within signal handlers as we can just do it now by popping out of the select and doing it there. This fixes a bunch of races and hangs related to doing too many things from signal handlers. Also don't do waitpid from the main daemon for slaves children as it won't work anyway and kill the entire process groups. * daemon/slave.c: fix the waiting code in focus_first_x_window * gui/gdmlogin.c: fix the clock sensitivity issues by twiddling the sensitive flags on the clock menuitem directly. Should fix theme ugliness issues with the clock. * config/Xsession.in: Apply patch from Steve Chaplin to fix #117898 to add $0 to all the echo messages in this file to make debugging easier. Sun Jul 20 14:34:42 2003 George Lebl * gui/gdmlogin.c: add mnemonics to _Username: and _Password: by a somewhat of a hack. * gui/gdmlogin.c, config/gdm.conf.in, daemon/gdm.h: The iconification feature was broken, instead of fixing it, I just removed it since it was kind of stupid anyway. * daemon/misc.c: include xdmcp.h Sun Jul 20 12:36:06 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_system.c, gui/greeter/greeter_session.c: Fix some keynav issues from #117776. Add mnemonics where possible, change some strings to be more HIGgy and such. * gui/greeter/greeter_parser.c, gui/greeter/gdmthemetester: Scale fonts when screen with is less then 800 by PANGO_SCALE_SMALL and if they are less then 640 by PANGO_SCALE_X_SMALL. This should make small displays be usable, though this is kind of a hack. There should be some scaling info in the theme rather then this. Also add ability to test different display sizes to theme tester, Sun Jul 20 11:01:01 2003 George Lebl * gui/gdmsetup.c: mention the GDM manual in the help dialog box. Connecting to the manual is a bit harder since this is usually running as root or on the GDM screen * gui/gdmchooser.(c|glade): Fixed most issues from #117784, there is proper keynav, the add button is sensitive only when there is something to add, the messages are shortened a bit to make the interface saner and not have the window change sizes, buttons are reordered, and hostnames in the list are now bold. Also cap status text at max of 256 chars for sanity of display (maybe should be shortened even more). * configure.in: raise version to 2.4.2.98 Sat Jul 19 16:33:19 2003 George Lebl * configure.in, xmldocs.make, omf.make: Update the documentation a lot and install the docs. Yay! We have actual documentation now!!! * daemon/misc.c: add sys/time.h and sys/resource.h includes (from looking at the FreeBSD patches) * daemon/slave.c: pass LOGIN_SETENV as well to setusercontext (from looking at the FreeBSD patches) * gui/gdmsetup.c: fix gccism, and look for the chown/chmod command (from looking at the FreeBSD patches) * gui/gdmphotosetup.c: add signal.h include (from looking at the FreeBSD patches) * configure.in, utils/Makefile.am: When the security/pam_misc.h is available also test for where the misc_conv function is as it seems to be sometimes compiled into the main libpam (FreeBSD for example) (from looking at the FreeBSD patches) * config/Default.in, config/Xsession.in, config/(Pre|Post)Session.in, config/XKeepsCrashing: don't use command -v and use which properly. And avoid stderr from which * utils/gdmaskpass.c: use GETTEXT_PACKAGE here * configure.in, utils/gdmtranslate.c, utils/Makefile.am, config/XKeepsCrashing, config/Xsession.in, config/Makefile.am: Add gdmtranslate libexec proggie since gettext command is not always installed apparently (non-developer machines) so we can't rely on it existing. Also do translations from the Xsession script * gui/gdmlogin.c, gui/greeter/greeter_system.c: Fix #117504 by changing the tooltip to be more informative * gui/greeter/greeter_system.c: Fix warnings when not all system dialog possibilities are present * Makefile.am, greeter.c, greeter.dtd, greeter_configuration.h, greeter_item.[ch], greeter_item_customlist.[ch], greeter_parser.[ch], greeter_system.c: Add listitem (proposed as customitem to the release-team) tags that can be inside a list and thus create custom widgetry. At this point all custom widgetry that can be done is a list to pick from but this should be possible to extend for some future releases. This custom info is then written to a per display file to use from login scripts or elsewhere. While I was there I fixed leaks and crashes when the parser would find parse errors. 2003-07-19 Christian Neumair * gui/gdmchooser-strings.c, gui/gdmsetup-strings.c: Use english Glade comment, non-ASCII characters may cause weird gettext/intltool behavior. Thu Jul 17 10:43:07 2003 George Lebl * configure.in: require libart 2.3.13 which fixes the crash I was seeing Wed Jul 16 15:12:22 2003 George Lebl * Release 2.4.2.97 Wed Jul 16 15:09:43 2003 George Lebl * NEWS, README, README.install: updates * daemon/display.c, daemon/gdm.c, daemon/xdmcp.c: Fix current session counting. Could possibly raise the maximal session count. Also rename the sessions and pending vars to xdmcp_sessions and xdmcp_pending. During shutdown don't close xdmcp stuff if it's not enabled. Close xdmcp if enabled on all possible forks from the main daemon. Don't quit the main loop from the child handling callback as it's not needed * daemon/xdmcp.c: complain to the log file if limits are reached * daemon/slave.c: in the slave child handler, make sure the euid is set to 0 so that we can really kill things we want to kill Tue Jul 15 15:54:14 2003 George Lebl * gui/greeter/Makefile.am, gui/greeter/greeter.dtd, gui/greeter/themes/circles/circles.xml.in, gui/greeter/themes/happygnome/happygnome.xml.in, gui/greeter/themes/happygnome-list/happygnome.xml.in: Remove the translations from the .xml.in files (they are now processed by intltool needlessly). These were not used anyway, we are using stock labels here. Perhaps people will this way stop putting translated labels inside the themes if they can use stock labels. Also this improves loadup speed a bit as it reduces the average theme xml size from about 25k to about 5k. Also whack the id timed-rect as it's not used and kill it from the dtd as it's bogus. Update the theme manual adding the userlist and whacking pam-warning which does not exist and other minor fixes and additions. Tue Jul 15 13:04:26 2003 George Lebl * daemon/verify-pam.c: reset limits in cleanup Tue Jul 15 11:11:01 2003 George Lebl * gui/Makefile.am: add EXTRA_CHOOSER_LIBS to LIBS for gdmchooser Tue Jul 15 11:08:31 2003 George Lebl * configure.in: check for needing to link in libsocket and libnsl Tue Jul 15 11:07:57 2003 George Lebl * configure.in, gui/Makefile.am, gdmchooser.(c|glade): Whack GnomeIconList and replace with GtkTreeView as in the other browsers. Fixes among other things connecting to the wrong host (Why someone has NOT seen this bug before is a mystery to me, but the chooser was definitely not usable for more then a few hosts and then only if they responded in alphabetical order). Thanks to Niall Power for spotting this bug. Also clean up the glade file a bit and don't compile with libgnome/ui anymore. * gui/gdmlogin.c, gui/gdmsetup.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_canvas_item.c: Add the rules hint for lists since it looks cooler and seems easier to browse to me. * NEWS: update Mon Jul 14 16:44:19 2003 George Lebl * daemon/misc.[ch], daemon/slave.c: Fix #97774 by resetting the rlimits back to infinity after we fork the user session. * config/gdm.conf.in, daemon/gdm.h: The default for AlwaysRestartServer is now again false, since it turns out to be a LOT nicer with buggy X servers (and it turns out quite a lot of people have these). * daemon/slave.c: properly guess the failsafeness of a session and don't re-guess it again * daemon/slave.c: when under the influence of rlimits never ABORT a display since it really could just be that we're hitting stupid limits (definitely set way too low). * daemon/slave.c, daemon/server.c, daemon/misc.c: Be extra careful about when to reset signals to avoid races (unlikely though they may be) Mon Jul 14 12:04:13 2003 George Lebl * config/XKeepsCrashing, config/extract-shell.sh: Fix RH #84247 by checking for gettext first. We could perhaps require bash here though and use $"" * daemon/server.[ch], daemon/slave.c: don't twiddle around with the lock files, reading them or whatnot, just whack them and also whack the unix socket, safer and simpler. Mon Jul 14 11:24:06 2003 George Lebl * daemon/server.[ch], daemon/slave.c: XFree86 does not wipe it's lockfile sometimes apparently (well obviously it won't if it crashed or some such), so if we find a stale lock file after we kill the server, whack the lock file. Should address #114003 and redhat #90014 * daemon/misc.c: be very careful when approaching lockfiles in the /tmp directory Fri Jul 11 14:31:20 2003 George Lebl * daemon/errorgui.c, daemon/server.c, daemon/slave.c: using /tmp as failsafe for HOME seems on second thought patently bad for security. Use ServAuthDir for gdm processes and / again for user and server. * daemon/errorgui.c: Use GtkTextView for the details file display. this be much nicer to CPU/network traffic if the details file is big (GtkLabel is BAD for displaying 500 lines of text quite apparently). Also fixup encoding conversion issues, and use checkbox instead of a button. * gui/greeter/greeter.[ch], gui/greeter/greeter_item_pam.c: update the use of login protocol to sync with gdmlogin * daemon/misc.[ch], daemon/auth.c, daemon/gdm.c, daemon/slave.c: be extra careful even in users home dir and in ServAuthDir when opening files. Not a huge deal but prevents some possible damage if someone gains the gdm user access somehow. * daemon/misc.c: fix minor memleak on conversion errors * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: fix compiler warnings. * daemon/server.c: support XFree86 version 4 logfile format * config/XKeepsCrashing: For XFree86 v4 it's possible that X puts its log not on the command line but into a file, so ask if that should be viewed as well. * daemon/gdm.c: whack the stored_path stuff and just restore to the initial env before re execing, also restore env when we launch XKeepsCrashing * utils/gdmopen.c: on linux set TERM=linux otherwise the fonts just may not work right * NEWS: update Thu Jul 10 17:12:40 2003 George Lebl * daemon/auth.c, daemon/errorgui.c, daemon/gdm.c, daemon/misc.c, daemon/server.c, daemon/slave.c: use the ve_ versions of the environment funcs and use ve_config instead of gnome_config, and thus killing the libgnome dependency. The ve-config functions are faster, I trust them more, saner in API and definitely don't leak any memory to children. * gui/gdmchooser.c, gui/gdmlogin.c, gui/greeter/gui/greeter/greeter_canvas_item.c gui/greeter/greeter_item_capslock.c, gui/greeter/greeter_parser.c: Use the ve_ versions of the environment funcs and ve_config instead of gnome_config, also the use the ve version of the language list function and hand implement the LC_NUMERIC locale push. * configure.in, daemon/Makefile.am, gui/Makefile.am, gui/greeter/Makefile.am: Link against the right ve libs and don't link to libgnome(ui) / glade where not needed Thu Jul 10 14:33:59 2003 George Lebl * gui/gdmsetup.desktop.in: This is a system SETUP tool, not a system tool so change System keyword to SystemSetup, also add X-Red-Hat-Base, so that it shows up in the non-others menu (This should have been done the other way around IMO, no keyword means it goes in the main menu) Fixes bug #116977 * daemon/gdm.h, config/gdm.conf.in: sync the defaults for Exclude and add pcap user to excludes Tue Jul 08 01:42:43 2003 George Lebl * gui/gdmsetup.glade: the DisallowTCP checkbox label is now more clear as to what it does Tue Jul 08 01:38:34 2003 George Lebl * daemon/gdm.[ch], daemon/slave.c, daemon/display.c: If a greeter crashes within 10 seconds of the display being managed, we assume it's unusable, pop up a dialog box and run a different greeter, and next time try the old one over again. This is mostly in place to catch gdmgreeter crashing (such as currently on my system with a libart bug). The user can then run the setup and select a different greeter or try to reinstall or upgrade or whatever. Better then a flickering display. Tue Jul 08 01:07:08 2003 George Lebl * daemon/auth.c: minor leak fixes in case auth file writes fail * gui/gdmsetup.c: properly unref the size group * configure.in, NEWS: raise version, add NEWS Mon Jul 07 18:13:34 2003 George Lebl * gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Error dialogs are not warnings, and should have OK and not CLOSE. Not quite HIG, but closer. Mon Jul 07 18:04:21 2003 George Lebl * configure.in, gui/greeter/Makefile.am: compile gdmgreeter with viciousui (adds also libgnomeui, though we don't use it) (ugh!) * gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/greeter/Makefile.am, gui/greeter/greeter.[ch], gui/greeter/greeter_action_language.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: HIGify as many message dialogs as possible. Buttons now make more sense, ordering is HIGgy, and all such good stuff. Mon Jul 07 15:42:44 2003 George Lebl * daemon/misc.c, gui/gdmXnestchooser.c: the display check code was wrong, it only used the tcp connections. Which are the most robust way, but we also really need to check the lock file. Mon Jul 07 12:41:21 2003 George Lebl * gui/gdmsetup.(c|glade), gui/gdmcomm.c, gui/gdmphotosetup.c: Change so that messages in the .po files do not contain unnecessary markup. Fixes #101794 and #101795 * config/Makefile.am: make the /etc/X11/dm dir if it doesn't exist fixes #116836 Thu Jul 03 14:57:38 2003 George Lebl * daemon/errorgui.c: the details file is read first, capped at 500 lines, and so now we can run the errorbox as the gdm user meaning no more gtk code as root. * daemon/gdm.h, daemon/misc.[ch], daemon/xdmcp.c, daemon/slave.c, daemon/auth.c: Apparently gethostbyaddr can return a dot in the name field meaning unknown host which is kind of bad, so handle that. In fact make our own saner gdm_gethostby{addr,name} that handle such cases and cache last result for 5 seconds. This way we do a lot less dns lookups since we used to do 1 or 2 (or even 3) per every xdmcp packet (if tcpwrappers were on). Also instead of resolving ip to name and back to ip, keep the list of addresses of the host in the display structure. This all should speed up XDMCP in general and fix XDMCP for places without proper DNS. * daemon/errorgui.c, daemon/slave.c, daemon/server.c: /tmp is a much better choice for fallback HOME then / and /bin/sh is a much better fallback then /bin/bash. 2003-07-02 Jordi Mallach * gui/*.desktop.in: Fix Terminal entries and add StartupNotify support where appropriate. 2003-06-30 Mohammad DAMT * configure.in: Added "id" to ALL_LINGUAS 2003-06-28 Dafydd Harries * configure.in: Added cy (Welsh) to ALL_LINGUAS. Thu Jun 26 12:01:55 2003 George Lebl * configure.in, Makefile.am: Actually include the docs dir in the tarball and redo the .96 release (doh!) Thu Jun 26 11:43:26 2003 George Lebl * Release 2.4.2.96 Thu Jun 26 08:48:35 2003 George Lebl * gui/gdmlogin.c: after setting the label on select, resize login box Wed Jun 25 18:18:46 2003 George Lebl * NEWS, configure.in: prepare for .96 * daemon/verify-crypt.c: remove unused var Wed Jun 25 15:38:29 2003 George Lebl * configure.in, config/gdm.conf.in: Fix some typos pointed out by Ali Akcaagac * daemon/errorgui.[ch]: fix a bug with yes/no dialog return and add several button dialog type. run the dialogs with gdm privileges and not root. All except the full error with details file. * daemon/display.c: turn some info's back into debugs * daemon/getvt.[ch], daemon/gdm.c: push the vt changing stuff into getvt, though it's still a hack * daemon/slave.c, daemon/gdm.[ch], config/gdm.conf.in, daemon/verify-*.c: add a double login warning question. This asks if the user still wants to log in. If on console and there is another login on a console the user can return to a previous login. Can be turned off by daemon/DoubleLoginWarning=false. For this we needed notify ack response and a QUERYLOGIN SOP protocol entry. * daemon/slave.c: set DESKTOP_SESSION as well as GDMSESSION * daemon/verify-pam.c: don't refer to the /etc/pam.d/ dir since that's linux-pam specific * daemon/gdm.[ch]: add ALL_SERVERS command which returns all the displays on the system similarly to CONSOLE_SERVERS except it does not return any vt information and returns even remote and non-console xnest servers 2003-06-16 Frederic Crozat * gui/greeter/greeter_session.c: (greeter_session_init): don't use file name from session name. Thu Jun 12 16:27:47 2003 George Lebl * gui/gdmflexiserver-xnest.desktop.in, gui/gdmflexiserver.desktop.in, gui/gdmphotosetup.c, gui/gdmphotosetup.desktop.in, gui/gdmsetup.desktop.in, gui/gdmsetup.glade: Fix #85543 by changing the .desktops to call gdm Login Screen and not GDM. Also update corresponding window titles. Thu Jun 12 Diego Gonzalez * gui/greeter/greeter_session.c (greeter_session_init): initialize sessnames hash table to avoid crash upon start. Thu Jun 12 15:51:47 2003 George Lebl * daemon/verify-shadow.c, daemon/verify-crypt.c: fix compilation and face browser for non-pam setups Thu Jun 12 12:28:49 2003 George Lebl * gui/greeter/greeter_parser.c: Allow empty label text Wed Jun 11 16:04:02 2003 George Lebl * configure.in, daemon/gdm.h, config/gdm.conf.in: Sync defaults into with the header file. Add comment about the gtk modules stuff and make it default to what you'd normally have for accessibility (though it doesn't add them by default). The gdm.h defaults to no modules though. Also if we can't find an X server, default to the Linux setup so that the beast at least builds. Wed Jun 11 Brian Cameron * configure.in, config/gdm.conf.in: Fixed setting of DefaultPath and RootPath so it works properly. Properly export X_SERVER_PATH in configure.in. Wed Jun 11 09:13:50 2003 George Lebl * daemon/gdm.c: add ifdefs around the change_to_first_and_clear since that's a linux only function. Fixes compilation on non-linux. Wed Jun 11 Brian Cameron * config/CDE.desktop.in, config/Makefile.am: Add support for logging into CDE sessions. Tue Jun 10 16:54:04 2003 George Lebl * Release 2.4.2.95 * config/Makefile.am: dist fixes Tue Jun 10 16:47:59 2003 George Lebl * daemon/slave.c: Fix the session setup, and get rid of the quoting unquoting badness. Also fix a race in the focus_first_x_window function * daemon/gdm.c: ensure that the GdmXsession is set to something Tue Jun 10 16:04:40 2003 George Lebl * daemon/slave.c: It is silly to have a secret argument. The script can already get the session .desktop from the GDMSESSION environmental variable, so there's no reason to pass it. Tue Jun 10 15:57:39 2003 George Lebl * daemon/slave.c, config/Xsession.in: Change the argument to the Xsession to be the Exec= line of the .desktop and not the .desktop, that was kind of silly in retrospect. We still pass the desktop, but it's kind of secret since I don't want people to depend on this second argument. Also update the comments inside the Xsession to reflect what's really going on. Tue Jun 10 09:59:44 2003 George Lebl * configure.in: remove removed files from the generated files list Tue Jun 10 09:23:16 2003 George Lebl * config/Default.desktop.in, config/Xsession.in, config/Makefile.am: Apparently I can't read. The original discussion actually mentioned what I thought "Xclients" are and named it "default". Also there is the "custom" type, but there is no .desktop for that * daemon/slave.c: actually compile Mon Jun 09 17:12:04 2003 George Lebl * daemon/slave.c: if Exec=failsafe exec the internal xterm failsafe session. Mon Jun 09 17:01:27 2003 George Lebl * daemon/slave.c, gui/gdmphotosetup.c: use $HOME/.face by default * daemon/slave.c: when no home dir, try /tmp as the home and not / * config/*, daemon/gdm.[ch], gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_session.[ch]: Rework the session setup as discussed with Oswald Buddenhagen, the kdm maintainer. Now the sessions are .desktop files and we have one happy Xsession file which parses that .desktop file and runs the appropriate command. Also store preferences such as last session and language in .dmrc. The session desktops are now in /etc/X11/dm/Sessions since they can be shared by kdm as well in the future. The setup needs a bit more tuning I think and it's not all tested. Also remove the GNOME chooser session stuff while I was at it. Mon Jun 09 Brian Cameron * gui/modules/keymouselistener.c: Fixed bug that caused the keymouselistener to get into a broken state that would cause applications to freeze. Sun Jun 08 23:49:28 2003 George Lebl * configure.in, acconfig.h, daemon/verify-pam.c: Add patch from Brian Cameron to fix #106537 (at lest the default/login thing). That is read some solaris preference file when logging in. Fri Jun 06 16:41:47 2003 George Lebl * gui/gdmlogin.c: I should check if things compile, shouldn't I Fri Jun 06 16:39:17 2003 George Lebl * daemon/errorgui.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmcomm.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/gdmsetup.c, gui/greeter/greeter.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_item_pam.c, gui/modules/dwellmouselistener.c, gui/modules/keymouselistener.c: Dialogs have no separators. Makes them look at least a bit closer to HIG Fri Jun 06 13:05:14 2003 George Lebl * daemon/filecheck.[ch], daemon/slave.c, daemon/auth.c: add another argument to the file check to silence warnings about some missing dirs where it is ok for them to be missing (in "run_pictures") * daemon/slave.c, daemon/gdm.c: On Linux detect the runlevel, and if the runlevel is 0 or 6 after session stops (and we weren't started in 0 or 6) then wait 30 seconds after the session stops. This should fix login coming up again when the user selected reboot or halt from the logout menu. Also when we do reboot or shutdown ourselves on linux, change to vt1, clear the screen and print a nice message about it, otherwise the shutdown/reboot looks kind of bad I think. Fri Jun 06 11:21:44 2003 George Lebl * daemon/gdm.h, gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_capslock.[ch]: add a query for the capslock state in the greeter * daemon/verify-*.c: fix #71496 by checking the capslock state before telling the user that he should make sure it's off. Also only say "invalid username or password" if we actually did ask for a password, else the message would be silly indeed (note that the check if we did ask for password is a silly hack, but the verify-pam.c code is a large set of silly hacks and as such it's ok to add yet another one) Fri Jun 06 09:43:39 2003 George Lebl * gui/gdmsetup.(c|glade): attempt at hig-ifying the xdmcp page Thu Jun 05 13:26:09 2003 George Lebl * config/gdm.conf.in, daemon/gdm.h, gui/gdmlogin.c, gui/gdmsetup.(c|glade), gui/greeter/greeter_item.c, gui/greeter/greeter_pareser.c, gui/greeter/greeter.c gui/greeter/greeter_configuration.h: Use the Welcome label in the greeter (as long as the stock welcome string was used), Add RemoteWelcome for XDMCP sessions. Change default of Welcome to just plain "Welcome". Move the welcome string setup to the main property page in the setup since it now affects both greeters. * gui/gdmsetup.(c|glade): the first page of the properties needed some size group love Thu Jun 05 11:37:19 2003 George Lebl * daemon/xdmcp.c, daemon/auth.c, daemon/display.c, daemon/errorgui.c, daemon/gdm.c, daemon/server.c, daemon/slave.c: Fix #56654 by removing programmer references out of translatable strings * gui/gdmsetup.glade, gui/greeter/greeter_session.c gui/greeter/greeter_system.c: An attempt at getting at least a little bit closer to the HIG specification. * gui/gdmlogin.c, gui/greeter/greeter_system.c, gui/gdmsetup.glade, config/gdm.conf.in, gui/greeter/themes/*/*.xml.in: The system menu is renamed to "Actions" since that's a lot more appropriate * gui/greeter/greeter_system.c: Applied patch from Mihael Vrbanec to activate the action if you double click on the radio button. Wed Jun 04 17:34:22 2003 George Lebl * daemon/verify-pam.c: Fix some issues from bug #106537. don't ever set RUSER and only set RHOST if not a console login. Fix leaks in the conversation functions on error. * daemon/verify-pam.c: Translate a bunch of common pam messages (I got some from strings pam_unix.so) * daemon/verify-*.c: change "Password: " to "Password:", that space didn't make sense Wed Jun 04 16:30:38 2003 George Lebl * daemon/gdm.h, daemon/slave.c, daemon/verify-*.c, daemon/verify.h: The pam setup now asks for the username itself. This is accompanied by a set of hacks to make this actually work and make it work with the browsers. Add a select user interrupt, since user selection is now done differently. Also support the username changing during the pam_authenticate as it apparently can. Also fix the authenticate sleep delay to not be done if we have interrupted. * config/gdm.conf.in, daemon/gdm.[ch], daemon/misc.[ch], daemon/verify-*.c: Kill the LocalNoPasswordUsers since it won't work with the new pam setup * gui/gdmlogin.c, gui/greeter/greeter.[ch], gui/greeter/greeter_item_ulist.c, gui/greeter/greeter_item_pam.[ch]: Update to the new protocol for the new pam setup. Also replace the standard greeter browser with a tree view based browser just like in the graphical greeter. Wed Jun 04 10:53:21 2003 George Lebl * gui/gdmchooser.(c|glade), gui/gdmwm.c: after 3 seconds of no response print an error message if a host was just added. If the host sent back an unwilling, print an error message as well saying that. Also fix centering and the initial size of the chooser. Tue Jun 03 13:56:24 2003 George Lebl * config/gdm.conf.in, daemon/gdm.h: change ScanTime default to 4, which really coincides with the fact that we scan 3 times in 2 second intervals. Maybe I should just whack this config thing, it is eminently stupid for this to be configurable. * gui/gdmchooser.c: when we press refresh whack the select_addr, so that it doesn't get selected on refresh since by now that may be irrelevant. Also if an addr is already in the query list, don't readd it. Tue Jun 03 13:37:31 2003 George Lebl * gdm.spec.in, configure.in, utils/Makefile.am, daemon/server.c, daemon/misc.c, daemon/gdm.c, config/XkeepsCrashing: whack gdmmktemp since it wasn't being used, move gdmaskpass and gdmopen to libexec since that's where they really belong * daemon/gdm.h, config/gdm.conf.in, gui/gdmchooser.(c|glade): add an "Add" entry and button so that, we can add random hosts by typing their name. Add chooser/AllowAdd config key (default to true) that controls if this is available. Also fix up the updating of the icon list. it was incredibly evil and rebuilt the list each time a host packet came in, this compounded with the fact that we were pinging 3 times (at least the broadcast to which everyone answers). Also make this run fairly sanely outside of GDM, so that you can really just run it from anywhere if you really wish (mostly for debugging, though I imagine some other uses might pop up). Tue Jun 03 11:11:20 2003 George Lebl * gui/greeter/greeter_item.[ch], gui/greeter/greeter_parser.c: whack subtype, though read it from "legacy" xml files into "type" (as long as type was "system"), also add a "config" stock label if someone really wanted to do a config button. If the type is now config, halt, reboot, suspend or chooser, automatically check if SystemMenu is enabled, which avoids the whole subtype nonsense. * gui/greeter/greeter.dtd: Update for the above and also add the stock labels for config and chooser Tue Jun 03 10:41:03 2003 George Lebl * gui/greeter/greeter.dtd: update the DTD for the chooser stuff. Also the type/subtype stuff was wrong (it is all kinds of wrong really, this should be changed). Fri May 30 12:02:59 2003 George Lebl * gui/gdmchooser.c: just do exit rather then gdm_main_quit, since that might possible have issues and we can really just exit cleanly. * daemon/slave.c: if we can't start the chooser, we could still maybe start the greeter if this was just a temporary thing, so just remanage * daemon/gdm.[ch], daemon/display.c: Rework the loop of death thing. it was really really broken. It wasn't catching 5 sessions in 90 seconds, but 5 consecutive sessions 90secs or less, which is wrong. So this is fixed and raised to 6 sessions in 90 secs, none of them over 30 secs. Also the sleep time is now 8 seconds ONLY after 2 tries which makes the chooser normally pop up faster. Also the DISPLAY_RUN_CHOOSER thing resets the loop of death since we are expecting a short session. Also if the loop of death is caught, no longer abort the display but wait 2 minutes before starting again. This way a malicious local user at an internet cafe can't whack gdm into disabling the local display. Fri May 30 09:40:31 2003 George Lebl * daemon/server.c: when there is a query in the command line, don't add the -nolisten tcp even if DisallowTCP is on, also don't add this when not resolving flags (it would make no sense to query something over tcp and disallow listening tcp at the same time) * config/gdm.conf.in: add note about DisallowTCP not working when the server is in query mode Fri May 30 08:50:28 2003 George Lebl * gui/greeter/greeter_system.[ch], gui/greeter/greeter_canvas_item.c: The F10 menu for the entry is now better, removed the System entry and just whack the system menu in there, that's a lot nicer, also add a tooltip to the entry that tells about the F10 menu. Fri May 30 Brian Cameron * configure.in, config/Default.in, config/PreSession.in, config/PostSession.in: Now Default, PreSession and PostSession are built using .in files so that we can properly set the PATH on Solaris. Thu May 29 17:38:56 2003 George Lebl * config/gdm.conf.in: update the default config for the new chooser server flag by adding another example server setup and add ChooserButton key. Also use @X_SERVER@ for the terminal server setup * daemon/display.c, daemon/gdm.[ch], daemon/server.[ch], daemon/slave.c: Add a server "chooser=true" flag which will make the daemon run a chooser instead of a greeter. Also if the greeter returns with a DISPLAY_RUN_CHOOSER, then run the chooser for one session. Also add notification stuff for the ChooserButton option. Note that this doesn't need XDMCP to be running locally. * daemon/slave.c: if the chooser is closed exit with DISPLAY_REMANAGE * gui/gdmsetup.(c|glade): add the ChooserButton key * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_item.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_system.c: Add the "Run XDMCP chooser" button to the system menus here, and allow a chooser button in the greeter. * gui/greeter/greeter_system.c: Fix the second SUSPEND exit status usage to the suspend interrupt. Add toolips to the system menu radiobuttons (these should not be radiobuttons! but I'm too lazy to change that now), also add mnemonics here Wed May 28 Brian Cameron * config/Makefile.am: Install PostLogin file to the postlogindir directory rather than the postdir. This was causing make install to fail. Tue May 27 08:52:20 2003 George Lebl * gui/gdmlanguages.c: add the utf8 translation for belarussian. Mon May 19 14:42:23 2003 George Lebl * gui/greeter/greeter_system.c, gui/greeter/greeter_session.c, gui/greeter/greeter_action_language.c: make OK the default action to make pressing Enter work as expected * gui/greeter/greeter_session.c: if there are too many sessions to fit on screen add a scrollbox to fix #104120 Mon May 19 13:56:52 2003 George Lebl * gui/gdmsetup.glade: Fix #104757 by adding a scrolled window to the theme preview thingie. This way if the theme description is too big the window doesn't change size. Mon May 19 13:03:57 2003 George Lebl * gui/gdmphotosetup.c: do the face browser warning only if gdmlogin is selected for both greeters * config/gdm.conf.in: add nfsnobody to Exclude * gui/gdmXnestchooser.c: when direct is on and we're looking at the local server don't check indirect key for being on * gui/greeter/Makefile.am, gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_item.h, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_item_ulist.[ch]: Based on a patch from Patrizio Bruno , add face browser support by adding a list item, this list item should have id of "userlist" and it will be populated with the users just like the gdmlogin browser. When a user name is selected (either by typing it in or selecting in the list) it will be always selected in the list as well (which should make some people happy). I think we should use this kind of browser in gtklogin as well, because it is much cooler. * gui/greeter/greeter.dtd: update DTD for the list item * configure.in, gui/greeter/themes/happygnome-list/*, gui/greeter/themes/Makefile.am: Add a happygnome theme with a face browser using the new list item Fri May 16 20:46:43 2003 George Lebl * gui/gdmlanguages.c, config/locale.alias: added Malaylam, Marathi and Oriya languages * gui/gdmlogin.c, gui/greeter/greeter_system.c: fix #105923 by changing the "Configure..." item to "Configure the login manager..." * utils/gdmopen.c: fix the -l option to actually work right * daemon/slave.c: fix Redhat #91031 by prepending the dash to the command rather then replacing the command with a dash when running the shell. This was contributed by mlblandf@sedona.intel.com (Michael Blandford) * config/gdm.conf.in, daemon/gdm.h: change PingInterval to PingIntervalSeconds * daemon/gdm.[ch], daemon/slave.c: update DisallowTCP properly * daemon/slave.c: set GDMSESSION before running PreSession * daemon/misc.c: fixed warnings and an uninitialized var use 2003-05-15 Brian Cameron * configure.in: Updated to add AccessDwellMouseEvents.in reference. * gui/modules/Makefile.in: Updated to add dwell listener references. * gui/modules/AccessDwellMouseEvents.in gui/modules/dwellmouselistener.c: Added a gestures listener for dwell events (cursor motion only). * gui/modules/AccessKeyMouseEvents.in gui/modules/keymouselistener.c: Minor cleanup. Thu May 15 02:17:55 2003 George Lebl * gui/gdmlogin.c, gui/greeter/greeter_system.c, daemon/gdm.[ch], daemon/slave.c: add a suspend interruption and a SOP command. The greeter interrupts, the slave notices and proxies with a SOP command to the master which suspends. perhaps a bit too complex ... Fixes #108700 * daemon/slave.c, daemon/gdm.[ch], config/gdm.conf.in, config/PostLogin, config/Makefile.am: Add a PostLogin script which is run right after login before any user setup is done and allows things like home mounting and stuff. Should address issues from bug #103258 * daemon/gdm.c, daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/gdmphotosetup.c: Fix #106207 by proper use of 'than' rather than 'then' * daemon/gdm.[ch], daemon/server.c, gui/gdmsetup.(c|glade), config/gdm.conf.in: Add a security/DisallowTCP setting which will append -nolisten tcp to X server command line always, and make this the default. Fixes #87291 Tue May 13 17:00:16 2003 George Lebl * daemon/slave.c, daemon/gdm.h, config/gdm.conf.in: PingInterval is now in seconds. It really makes no sense in minutes, I mean who wants to use a connection which hangs for several minutes, that makes no sense. This fixes a whole bunch of bugs, among others #103266 * gui/gdmsetup.glade, gui/gdmsetup.c: add some accessibility stuff, change the ping interval label to say seconds and not minutes, and add "Delete theme" button which fixes #110302 Tue May 13 12:22:45 2003 George Lebl * gui/gdmsetup.c: when more then 50 users don't put them all in the combo boxes, this is a semi-solution to #111830 * daemon/verify-shadow.c: Apply patch from cschelcher@free.fr to fall back to standard password when shadow is not available. Apparently fixes NIS stuff, but I really think people should be using pam, but I digress. Fixes #109765 * daemon/auth.c, daemon/misc.c, daemon/server.c, daemon/slave.c: use strerror instead of g_strerror as that returns always UTF-8 and we want current locale. We already assume strerror is on the system so this is not a portability issue anyway. Fixes #106655 * utils/gdmopen.c: apply patch from Owen Taylor to fix #106656 by not deallocating the vt after we are done as apparently this is what open does and the kernel has a fit otherwise anyway. It's braindead, but oh well, this is the way it apparently works right. * daemon/gdm.c: apply patch from Owen Taylor to fix #106657 by setting TEXTDOMAIN to GETTEXT_PACKAGE rather then PACKAGE before running scripts * utils/gdmopen.c, daemon/misc.c: Apply patch from Owen Taylor to fix #106658, but fix it portably by adding the -l option to gdmopen as suggested by Owen. So all gdmopens we do are now using login shells which makes me wonder if we should just build that into gdmopen, since it's a special purpose utility anyhow. 2003-05-08 Brian Cameron * gui/greeter/greeter.dtd: Updated so it is no longer out of date. Patch provided by Aidan.Butler@Sun.COM. 2003-05-08 Abel Cheung * gui/gdmlanguages.c: Fix traditional Chinese language name. 2003-05-06 Guntupalli Karunakar * configure.in: Added "hi" to ALL_LINGUAS. 2003-05-06 Danilo Å egan * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS. Mon May 05 13:33:28 2003 George Lebl * gdm.spec.in: fixup files list and lang stuff * config/Makefile.am: fixup link creation (don't use absolute name) 2003-05-02 Brian Cameron * gui/modules/keymouselistener.c, gui/modules/AccessKeyMouseEvents.in Now the keymouselistener does not use grabs, so there is less opportunity for conflict with other programs (like the registryd). Now duration and timeout is specified in ms rather than seconds, which allows more flexibility. Duration values of 0 to indicate a keypress of any length is now supported. 2003-04-30 Niall Power * configure.in, config/gdm.conf.in, gui/Makefile.am, gui/gdmlogin.c, Added Files: gui/modules/AccessKeyMouseEvents.in, gui/modules/Makefile.am, gui/modules/keymouselistener.c Added a keyboard/mouse button gesture listener. This is a gtk module that is configurable by editing AccessKeyMouseEvents in ($sysconfdir)/gdm/modules 2003-04-30 Laurent Dhima * configure.in: Added 'sq' to ALL_LINGUAS. 2003-04-10 Niall Power * config/gdm.conf.in, daemon/gdm.c, daemon/gdm.h daemon/slave.c: Add support for launching gdmlogin/gdmgreeter with a configurable list of gtk modules. Needed for accessibility. Adds two new options to gdm.conf: "AddGtkModules" (boolean) and "GtkModulesList" (string). 2003-04-09 Niall Power * acconfig.h, configure.in: Detect Xsun xinerama and Xdmcp on Solaris. Patch by Brian Cameron * config/gdm.conf.in: set Xserver paths correctly for both XFree86 and Xsun. Patch by Brian Cameron (Brian.Cameron@Sun.COM) * daemon/slave.c, gui/Makefile.am gui/gdmwm.c: added Xinerama support for Solaris/Xsun platforms. 2003-03-15 Ross Golder * config/locale.alias, gui/gdmlanguages.c: Sorted into proper alphabetic order. (fixes #106293) 2003-03-13 Christian Rose * configure.in: Added "ml" to ALL_LINGUAS. Wed Mar 05 15:11:49 2003 George Lebl * configure.in, daemon/Makefile.am, gui/Makefile.am, gui/greeter/Makefile.am, utils/Makefile.am, vicious-extensions/Makefile.am, daemon/slave.c, daemon/choose.c: Fix Solaris build, a patch from Niall Power 2003-03-03 Ross Golder * gui/gdmlanguage.c, config/locale.alias: Added language support for these languages - Mongolian, Indonesian, Kannada, Hindi Bengali, Belarusian, Bosnian, Welsh, Persian, Interlingua, Albanian, Serbian, Yiddish and Panjabi. Fri Feb 28 12:32:37 2003 George Lebl * config/gdm.conf.in: hmmm xdmcp/PingInterval was not present here so add Fri Feb 28 12:29:51 2003 George Lebl * config/gdm.conf.in, daemon/gdm.h: raise DisplaysPerHost to default to 2. 2003-02-26 Pablo Saratxaga * configure.in: Added Walloon (wa) to ALL_LINGUAS 2003-02-26 Taneem Ahmed * configure.in: Added "bn" to ALL_LINGUAS. 2003-02-21 Roozbeh Pournader * configure.in: Added "fa" back after fixing the bug. 2003-02-18 Christian Rose * configure.in: Disabled "fa" as it's broken and breaks the build. 2003-02-18 Roozbeh Pournader * configure.in: Added "fa" to ALL_LINGUAS. 2003-02-17 Sanlig Badral * gui/gdmlanguage.c, config/locale.alias: Added Mongolian 2003-02-16 Kjartan Maraas * daemon/verify-crypt.c: Fix typo in comment. * daemon/verify-pam.c: Same. * daemon/verify-shadow: Here too. 2003-02-13 Ross Golder * configure.in, gui/gdmlanguage.c, locale.alias: Added Thai language support. Mon Feb 03 09:18:01 2003 George Lebl * Release 2.4.1.3 Mon Feb 03 09:16:10 2003 George Lebl * daemon/md5.[ch]: Fix redhat bug #83334 by applying a modified patch from Matt Wilson. Basically use guint32 instead of our own type. This fixes cookie generation (and likely crashes) on non-alpha 64bit platforms. Has 0 effect on non-64 bit platforms. Also: My hovercraft is full of eels. Fri Jan 31 16:03:51 2003 George Lebl * configure.in, Makefile.am: do something similar as in the other modules since I have some minor issues with po directory handling. The biggest change is building po first before others, dunno if that makes any difference Sat Jan 25 09:13:32 2003 George Lebl * Release 2.4.1.2 2003-01-22 Christian Rose * configure.in: Added "mn" to ALL_LINGUAS. Wed Jan 22 09:32:46 2003 George Lebl * gui/gdmchooser.c: did I leave debug info around? silly me. Wed Jan 22 09:31:28 2003 George Lebl * gui/gdmchooser.c: Fixing a critical bug in a very non-critical part of gdm, so bugger all whatever the current freeze policy is (don't have time to figure that out). Anyway, this should make the selection work with keyboard and not connect you to the wrong host if you do that. 2003-01-20 Pablo Saratxaga * configure.in: Added Macedonain (mk) to ALL_LINGUAS Fri Jan 17 10:55:58 2003 George Lebl * Makefile.am: don't whack the intltool*.in files on distclean Mon Jan 13 17:06:24 2003 George Lebl * Release 2.4.1.1 Mon Jan 13 09:57:57 2003 George Lebl * gui/greeter/greeter_canvas_item.c: workaround broken librsvg handling of numeric locale by pushing c numeric locale before entering rsvg code. Patch also being sent to librsvg. Mon Jan 13 01:00:23 2003 George Lebl * config/gdm: add pam_env * gui/greeter/greeter_action_language.c: make the language dialog at least 400 pixels wide, should fix #103254 * daemon/verify-pam.c: don't translate stuff that comes from pam, that should already be translated and this fixes #102691 Sun Jan 12 10:46:25 2003 George Lebl * config/gdm.conf.in, daemon/gdm.h: make always restart server default to true, since it's just safer and who cares it flickers. This should "fix" a bunch of issues in bugzillas. I'm now leaning towards just whacking the server HUP code as that will streamline the code ... Thu Jan 09 16:59:21 2003 George Lebl * gui/greeter/greeter_system.c: query the user in case reboot/halt/suspend comes directly from a theme button Wed Jan 08 10:32:18 2003 George Lebl * config/locale.alias: change utf8 to UTF-8 as that's what X expects. A patch from Mike Fabian Mon Jan 06 09:37:21 2003 George Lebl * daemon/xdmcp.c: very minor code cleanup Thu Jan 02 11:15:22 2003 George Lebl * Release 2.4.1.0 Thu Jan 02 10:53:35 2003 George Lebl * gui/greeter/greeter_parser.c: add type tags for stock labels. This will be useful when we are changing those labels * gui/greeter/themes/*/*.xml.in: add the new stock type tags and keep old text tags for compatibility. This way the theme can still be loaded by an older gdmgreeter. * configure.in: prepare for 2.4.1.0 Sat Dec 21 14:30:01 2002 George Lebl * gui/greeter/greeter.c: Fixing #94554, by drawing the BackgroundColor on the background always. This doesn't make any difference on local displays, but should look less bad on Xinerama displays. Sat Dec 21 14:05:40 2002 George Lebl * gui/gdmsetup.glade, gui/gdmsetup-strings.c: Apply patch from bugzilla #101729 to untranslate the Copyright string Sat Dec 21 13:54:18 2002 George Lebl * daemon/slave.c: fix the shell basename check. * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: Fix bug #75939 by allowing passing a Tab to the entry. We're not really using the Tab to tab around anyway. Sat Dec 21 12:09:44 2002 George Lebl * gui/gdmcomm.c: update the message when GDM is not running * gui/gdmphotosetup.c: when not using GDM, then check for this and tell the user and not let him in as it would then make no sense. Fixes RH #70326 and GNOME #101653 * gui/greeter/greeter_item.c: Fix greeter_item_expand_text to be utf8 safe. Fixes GNOME #100738 * gui/greeter/greeter_session.c, gui/gdmlogin.c: Fix symlinks as session files. Fixes GNOME #95380 Fri Dec 20 14:53:26 2002 George Lebl * config/locale.alias, gui/gdmlanguages.c: add Amharic language to the list 2002-12-17 Alex Duggan * gui/gdmflexiserver.desktop.in: fix typo, s/loging/logging/ 2002-11-18 Fernando Herrera * gui/*/*.desktop.in: add X-GNOME-BUGZILLA stuff 2002-11-13 Dmitry G. Mastrukov * configure.in: Added Belarusian to ALL_LINGUAS. Mon Nov 11 Luis Villa * config/gnomerc.in: comment out gnome-volume-control since it no longer has a -i mode and interferes with startup. Wed Sep 11 12:35:37 2002 George Lebl * daemon/errorgui.c, daemon/gdm.c, daemon/misc.[ch]: Store initial environment and use it for the errorgui, use internal routines for converting to/from utf8 and make sure they always return NULL and they never use the internal glib iconv cache crack. This should fix running gdm in non-utf8 non-english locales with respect to the internal error gui stuff. Wed Sep 04 11:29:03 2002 George Lebl * gui/greeter/greeter_item_pam.c: Apply patch from Havoc from bug #91921 to fix word wrap for japanese and such * daemon/misc.[ch]: add a utility to unset signals, also unset signals and do setsid in the extra process. * daemon/slave.c, daemon/misc.c, daemon/display.c, daemon/gdm.c: Use the above function to unset signals in children. Also unlink .xsession-errors before openning it just to be strict (and to work even if the user used some older gdms that made the file have root permissions and such nonsense). Also when killing the extra process kill the whole process group in case the extra process makes children. Fri Aug 30 12:22:19 2002 George Lebl * Release 2.4.0.11 Fri Aug 30 12:20:40 2002 George Lebl * daemon/slave.c, daemon/server.c: Fix test on fork to avoid duplicate slave processes. This makes things actually work on subsequent logins. Also note a timeout of a message in the syslog if we can. Fri Aug 30 10:11:15 2002 George Lebl * configure.in: we no longer need libglade-convert so don't check for it Tue Aug 27 18:41:17 2002 George Lebl * Release 2.4.0.10 Tue Aug 27 18:40:11 2002 George Lebl * gdm-safe-restart.in, gdm-restart.in, gdm-stop.in: use the expanded version of the sysconf prefix to fix installation into weird prefixes Tue Aug 27 18:35:16 2002 George Lebl * daemon/server.c: tiny bit of cleanup Tue Aug 27 18:14:20 2002 George Lebl * daemon/slave.c: when we get the term signal do cleanup but no longer wait for message ackgnoledgement from the daemon since the daemon may no longer be entering mainloop and may not even be processing messages. Sat Aug 24 18:40:25 2002 George Lebl * Release 2.4.0.9 Fri Aug 23 16:45:16 2002 George Lebl * daemon/server.c: redo the SIGCHLD handler to be done in a saner manner. Fri Aug 23 15:27:55 2002 George Lebl * daemon/server.c: do a cool hack to figure out when the server restarts. Fork a process, open the display, HUP the server and have the process wait for an xioerror and die. * daemon/display.c: add some debugging Fri Aug 23 14:12:10 2002 George Lebl * daemon/slave.c: Cleanup the exit stuff * daemon/display.c, daemon/gdm.c: don't do setsid on -nodaemon as that breaks running from init and do it for the slave as that's correct. * daemon/slave.c, daemon/display.c, daemon/gdm.c: Cleanup killing children a bit, and session cleanup stuff. Don't kill pids not greater then 1 to be extra strict and if we can't fork the slave set the pid to 0 and not leave it at -1. * daemon/server.c: kill redundant line Fri Aug 23 11:04:38 2002 George Lebl * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c: Whack DefaultLocale as that setting was on crack to begin with. If the system default is being used just don't set anything. If you want gdm to use some language other then the system default, change the gdm startup script, but that doesn't seem to make much sense. Check for language existence and if it doesn't exist use the system default. Now bsd and non-bsd language setup is not different (And is still bsd-setusercontext-nice). Whack the unaliasing of languages. That was complete nonsense, * daemon/auth.c: when UserAuthDir is ~ make it the home dir, when it starts with ~/, prepend the home dir. This actually makes this setting usable * config/gdm.conf.in: lot more documentation comments. I really REALLY should write docs for gdm at some point. * gui/gdmchooser.c: also accept .png as host images. That's really a lot more sane and nicer. Fri Aug 23 01:56:21 2002 George Lebl * configure.in, NEWS: prepare for 2.4.0.9 Fri Aug 23 01:09:36 2002 George Lebl * gui/gdmlogin.c: fix subtle possible race that could kill another process and simplify code in the meantime. Ignore SIGCHLD, and don't wait for the background process until we want to kill it, that may leave a zombie for a little bit if the process dies early, but who cares. * daemon/display.c, daemon/gdm.c, daemon/misc.c, daemon/server.c, daemon/slave.c: Fix many many very minor races but such that could conceivably take things down (a kill (0,...) "could" very theoretically occur previously). Fix some worse but still not very likely races by using the push/pop of sigchld block in places where we blocked by hand. Ensure all processes are always killed on slave exit (probably doing things redundantly in some cases). Fix some possible cases of syslog from a signal which does bad things to our karma sometimes. When the server dies make sure we don't do anything with the display (we null the d->dsp var) to make sure we don't reenter the xioerror_handler. The extra_process uses 0 and not -1 as the no value everywhere. Make sure kills are never called with -1 (probably just strict, but one never knows). Do setsid and the init in daemonize on -nodaemon as well. Do setsid for greeter/chooser/config. May fix redhat bug #72295 Thu Aug 22 16:04:56 2002 George Lebl * gui/gdmlanguages.c, config/locale.alias: The locale in the locale.alias file can be a comma separated list now and we now test locales to make sure they exist. This way we can use the utf8 locales if they exist rather then plain locales. And we also don't list locales that the C library doesn't support in the first place. This should make things very nice if you're installing gdm over the latest redhat betas (as in, you will get utf8 locales as in the redhat version) Thu Aug 22 12:23:49 2002 George Lebl * daemon/gdm.[ch], daemon/server.[ch], daemon/Makefile.am, daemon/getvt.[ch], daemon/xdmcp.c, config/gdm.conf.in: Make the vt member exist for non-linux systems as well just for kicks. Set up a vt allocation thingie (kind of a hack to get a VT higher then a certain number, but oh well). Currently only for linux. And add vt arguments unless there was such an argument added already. This should fix all the problems with people running gdm as a service since all the VT stuff is so horribly broken. Should fix #62997. Adds two keys FirstVT and VTAllocation to control this behaviour. Tue Aug 20 10:28:45 2002 George Lebl * Release 2.4.0.8 Mon Aug 19 16:50:30 2002 George Lebl * gui/greeter/greeter_system.c: whack the redundant queries for halt, reboot and suspend, we already have a dialog the person answers. Fixes #90971 * gui/greeter/greeter_item_capslock.c: include libgnome.h * gui/gdmsetup.c: Listen for a property on the root window _GDM_SETUP_INSENSITIVE and if non-zero make self insensitive * daemon/slave.c: when restarting the greeter set the above property to make the setup be insensitive for a bit. This makes sure the user doesn't twiddle with the interface which could make things weird looking, especially if the user twiddles greeter settings or opens new windows. Mon Aug 19 12:17:22 2002 George Lebl * pixmaps/gdm.png: my gf didn't like my other icon so of course ... I had to make a different one. Mon Aug 19 11:53:56 2002 George Lebl * gui/gdmXnestchooser.c: bind signals INT/TERM/HUP and send a SIGTERM to the xnest when we get them. Thu Aug 15 12:04:24 2002 George Lebl * daemon/gdm.c, daemon/slave.c: remove some dead code. Ensure euid's in more places. open .xsession-errors even on nfs dirs properly. For the Init/PreSession/PostSession scripts always setup the GDM_PARENT_* stuff for Xnest displays. Don't use temp files, but name the temporary auth file by the display name and whack it on server stop. The Init/PreSession/PostSession scripts now execute /, if not found then /, if not found and XDMCP then /XDMCP, if not found and flexi then /Flexi, and only if none of those are found then /Default. * daemon/errorgui.c: show label and entry in the question dialog, fixes problems when asking for questions during autologin. Also set cursor to pointer. * daemon/slave.c: set cursor to pointer after forking slave. This should fix possible busy cursor stuck after an autologin. * config/PostSession: spelling fix * daemon/verify-pam.c: add extra message for automatic login for standalone conversation thingie. This uses already translated string. * daemon/gdm.c: wait 2 seconds between killing local servers, otherwise things go very very bad on some machines (such as eating my keyboard on mine) * configure.in, Makefile.am, gdm-stop.in: new script to just SIGTERM the gdm binary. Useful for debugging 2002-08-15 jacob berkman * gui/greeter/Makefile.am (EXTRA_DIST): include gdmthemetester Wed Aug 14 19:59:26 2002 George Lebl * config/Default, config/gdm.conf.in, daemon/display.c, daemon/gdm.h, daemon/slave.c, gui/greeter/greeter_item_capslock.c: Set GDM_PARENT_DISPLAY and GDM_PARENT_XAUTHORITY for greeter and the Init script. In the Init script try to migrate the keyboard configuration to the new server. Also kill the -kb option from the Xnest command line. This should fix all the fun problems with keyboard and Xnest. More likely Xnest should get fixed. Wed Aug 14 16:01:41 2002 George Lebl * gui/greeter/Makfile.am, gui/greeter/gdmthemetester: a script to run gdmgreeter in Xnest to test themes in the various environments * gui/greeter/greeter_item_capslock.c: if GDM_PARENT_DISPLAY is set then use it to get capslock state. Currently only used in gdmthemetester as we have to figure out how to do this inside the daemon with the cookies and all that. * gui/gdmXnestchooser.c: close the 0,1,2 descriptors so that we may do things such as `gdmXnest -b` Wed Aug 14 12:16:30 2002 George Lebl * gui/gdmlogin.c: whack old debug printf (it wasn't harmful due to the way we do things, but still it was evil) * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_item_pam.c: Do the focus stuff correctly instead of trapping tab and all that, unset CAN_FOCUS on widgets other then the entry. Make sure that an entry exists in the graphical greeter. Add a fake menubar below the entry in the graphical greeter so that we always can get to all the commands even on a whacked out theme. Plus it may be nicer to use then the mnemonics if you just use F10. Now the whole thing should be more accessibility friendly as well. When 'doing_development' make the entry sensitive. Must make a theme tester. Tue Aug 13 17:05:55 2002 George Lebl * daemon/slave.[ch], daemon/gdm.[ch], daemon/misc.[ch], daemon/server.c, daemon/errorgui.c, daemon/display.c: Sure fire way to open /dev/null and give error when system on crack. Also clean up processes properly on gdm_fail and don't use the buffered stderr. * config/Makefile.am: if the user is using the default config (gdm.conf is the same as the factory-gdm.conf) then just overwrite gdm.conf with the new one in the installation. Tue Aug 13 16:15:08 2002 George Lebl * daemon/gdm.[ch], gui/gdmlogin.c, gui/greeter/greeter_system.c, config/gdm.conf.in: The Shutdown/Halt/Suspend keys can now be a list of commands. If this is the case, the first working one will be used. This way we can find the most appropriate command to use and distros will not have to redo the config as much. * daemon/gdm.[ch], daemon/misc.[ch], daemon/verify-*.c, config/gdm.conf.in: Add a long standing feature request of no password logins for certain users on the local console. Just set LocalNoPasswordUsers to a list of such users. Fixes #51908 * daemon/server.c: on re-init of server do a sleep(1) after the kill (pid, SIGHUP) as an incredible hack to avoid a race. Fun fun fun with the X server. Tue Aug 13 12:49:18 2002 George Lebl * config/gdm.conf.in: update this, add MinimalUID, add a bunch of comments and reorganize a little bit to be more logical * gui/gdmlogin.c: when the gdm.xpm isn't found for icon try gdm.png to make it easier for transition to the new nicer icon * gui/gdmphotosetup.c: Don't use gtk_dialog_run, that makes the main window here modal and we don't want that. Fixes #90613. * pixmaps/Makefile.am: don't install gdm.xpm anymore Tue Aug 13 11:52:28 2002 George Lebl * pixmaps/Makefile.am, pixmaps/gdm.png, pixmaps/gdm-foot-logo.png: Create new icon myself. New large logo thing with the new foot * config/gdm.conf.in, daemon/gdm.h, gui/*.desktop.in: use the new logo and icon everywhere Tue Aug 13 08:27:18 2002 George Lebl * config/gdm.conf.in: update comment on top to be correct (USR1 vs. HUP) redhat bug 71308 Thu Aug 08 09:36:11 2002 George Lebl * Release 2.4.0.7 Thu Aug 08 09:33:50 2002 George Lebl * config/gettextfoo.h, config/XKeepsCrashing: Fix the message bits. Wed Aug 07 21:01:41 2002 George Lebl * daemon/gdm.h, config/gdm.conf.in, gui/gdmlogin.c: Add a new key RunBackgroundProgramAlways. It is now normally false, and if it is false, background program is run ONLY if the BackgroundType is set to 0 (None), setting it to true will revert to previous behaviour. This is to work around the crackladden xsri hack that redhat does and still have nice gui way to config backgrounds. Wed Aug 07 20:23:28 2002 George Lebl * gui/greeter/themes/circles/circles.xml.in, gui/greeter/themes/happygnome/happygnome.xml.in: Use _Language instead of Option for the language_button Wed Aug 07 20:20:17 2002 George Lebl * gui/greeter/*.c: include file fixups * gui/greeter/greeter_events.[ch], gui/greeter/greeter.[ch], gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_item.c: Add an incredible hack for doing mnemonics on the graphical greeter with offscreen buttons and such stuff. * gui/greeter/greeter_system.c: fix window close should do cancel not ok. * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: ignore also left_tab (shift+tab), and the KP versions of up/down/tab, so that we don't lose focus * gui/greeter/themes/circles/circles.xml.in, gui/greeter/themes/happygnome/happygnome.xml.in: use the mnemonic versions of the button labels so that we get some keynav. * gui/greeter/greeter_parser.c: when we can't get any translations, try our own gettext database to find the text. Wed Aug 07 18:38:11 2002 George Lebl * config/gdm.conf.in, daemon/gdm.h: some fixups to the default values, chooser should no longer get arguments, s/gdmconfig/gdmsetup/ * daemon/gdm.h, daemon/slave.c: run the failsafe xterm thing on the lower right hand corner as that's much nicer. 2002-08-07 Havoc Pennington * config/XKeepsCrashing (XCONFIGURATOR): add redhat-config-xfree86 to list of config tools to look for Wed Aug 07 16:23:13 2002 George Lebl * Release 2.4.0.6 Wed Aug 07 16:19:13 2002 George Lebl * gui/greeter/greeter_pam_item.c: ignore up/down/tab just like in the standard greeter Wed Aug 07 15:50:24 2002 George Lebl * gui/gdmsetup.c: fix crasher bug on closing of the window (redhat bug 70861) and related bugs. This also fixes making changes persistent even if the window was closed very quickly after the changes were made (within the change timeout) Wed Aug 07 14:10:57 2002 George Lebl * config/Makefile.am: overwrite gnomerc and create .orig as with the other scripts * daemon/slave.c: don't set GDM_LANG unless the user actually selected something. This should make things nicer on system langauge sensing things. * config/Gnome.in, config/Xsession.in: normalize langauge stuff in case the user selected a language. whack LC_ALL, LANGUAGE and LINGUAS if they differ from GDM_LANG if this was set (if not using 'System default' language setting). Should fix #89970 Wed Aug 07 12:01:06 2002 George Lebl * daemon/gdm.[ch], daemon/slave.c: add a SOFT_RESTART_SERVERS fifo command to force a restart of X servers that no one is logged in on right away, unlike the DIRTY_SERVERS which just marks servers as dirty and to be restarted Wed Aug 07 11:22:16 2002 George Lebl * daemon/gdm.h, daemon/gdm.c, daemon/slave.c: Add a DIRTY_SERVERS command and related slave notification to have the slave remanage instead of regenerating the X server. This is good for upgrading X configuration and all that. This can be done by a simple: (echo;echo DIRTY_SERVERS) > /var/gdm/.gdmfifo This is a possible solution for issues as described in redhat bug 70072 * daemon/verify-(pam|crypt|shadow).c, gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: Clear the initial notice from the daemon rather then on the greeter with the ugly first_return hack. Should fix redhat bug 70991 * daemon/server.c, gui/gdmXnestchooser.c: redo the font path stuff. Now we just get the current font path from the parent and pass -fp argument to Xnest with that path. This should work more generally and besides the last night fix was not 100% correct anyway. Also make this work for gdmXnestchooser. Wed Aug 07 01:23:55 2002 George Lebl * daemon/server.c: when starting up a server as a different uid, add the font paths that the gnome-settings-daemon sets for that user. This fixes #89308. Tue Aug 06 13:35:15 2002 George Lebl * configure.in: prepare for 2.4.0.6 * gui/gdmlanguages.[ch], gui/gdmlogin.c, gui/greeter/greeter_action_language.c: fix some RTL issues with the language list * gui/greeter/greeter.c: read and honor the gtkrc setting, fixes #90003 * gui/Makefile.am: make the gdmXnest link relative and not absolute Mon Aug 05 11:17:20 2002 George Lebl * daemon/slave.c: don't use stdout/stdin for communication with the greeter. This is first a cleanup and second it may just actually fix the freebsd issue. I know I've been promising that in every release, but without a freebsd box I can't actually test this :) Mon Aug 05 10:12:57 2002 George Lebl * config/Gnome.in, config/Xsession.in: whack xdm resource reading, that's only for xdm, doh! Hmm ... where did I copy this from? Tue Jul 30 16:58:50 2002 George Lebl * Release 2.4.0.5 Tue Jul 30 16:56:51 2002 George Lebl * gui/gdmsetup.c: fix setting the welcome string properly * gui/gdmlogin.c: fix resizing of window. Resize when the content doesn't fit. Update logo and background on the fly, this reduces the weirdness when trying to change this stuff from the setup proggie and the wm keeps disappearing since we're restarting the greeter. Need to solve the restart thing nicer. Also when we can't load the background image, set the color at least. Tue Jul 30 14:36:28 2002 George Lebl * gui/gdmlanguages.c: added a few more untranslated strings Tue Jul 30 14:13:53 2002 George Lebl * gui/gdmlanguages.c: add a failsafe en_US language in case there is no en_* language in the locale alias file. This replaces adding failsafe 'C' locale, fixes #89452 Tue Jul 30 13:25:42 2002 George Lebl * daemon/slave.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/greeter/greeter_session.c: s/.gnome/.gnome2/, Applied patch from #89454. But still also read .gnome/photo if we can't find .gnome2/photo Tue Jul 30 12:00:28 2002 George Lebl * daemon/gdm.c: fix the linux-only process detection thing to work on non-linux systems correctly (logic was reversed). Properly cast when printing to the pid file (being strict). Close the pid file before failing. Don't print out the SYSLOG 'handling message' debug thing as it just clutters debug info. Mon Jul 29 17:45:59 2002 George Lebl * daemon/gdm.[ch]: use the ve_signal routines, remove gdm_signal routines * gui/gdmlogin.c, gui/greeter/greeter.c, gui/greeter/greeter_item_clock.[ch]: use the ve_signal routines for the HUP signal to avoid possible crashes/races/hangs if the signal handler comes in a bad time. Also don't reset the graphical on every change, just the ones we care about, and update clock on the fly instead of restarting. * gui/gdmchooser.c: make glade_helper not use the gnome_program thingie, since we never init it here. * gui/Makefile.am, gui/gdmlogin.c, gui/gdmchooser.c, gui/gdmflexiserver.c, gui/gdmXnestchooser.c, gui/gdmcomm.c gui/greeter/Makefile.am, gui/greeter/greeter.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_item_clock.c, gui/greeter/greeter_item_capslock.c, gui/greeter/greeter_item.c, gui/greeter/greeter_canvas_item.c: Compile without deprecated stuff. fix minor bugs found during the process. Also compile everything with warnings and fix those. * gui/gdmlogin.c, gui/gdmcomm.c, gui/gdmsetup.c, gui/greeter/greeter.c: Use the new ve-config routines rather then gnome_config. Fixed config bugs found in the process. This also makes gdmsetup not delete comments and empty lines from the config which makes debugging and hand editing SO MUCH SIMPLER! * gui/gdmsetup.c: recheck for gdm running before every update * gui/gdmlogin.c, gui/greeter/greeter.c: remove the g_io_channel_init call which was resetting the whole setup. So our channels were still buffered and encoded, which manifested itself when the read calls were replaced the read_chars. This could actually solve the FreeBSD issues too. 2002-07-27 Yanko Kaneti * gui/gdmlanguages.c: Added the untranslated Bulgarian string. Wed Jul 24 12:53:40 2002 George Lebl * Release 2.4.0.4 2002-07-24 jacob berkman * config/gnomerc.in: make this valid shell Tue Jul 23 15:15:16 2002 George Lebl * daemon/slave.c: change dir to /root or / when starting the setup proggie. Also set the busy cursor in the main process rather then risk weird things happening from two processes trying to do it at the same time. * gui/gdmsetup.c: support .bz2 archives for theme installing Tue Jul 23 12:20:26 2002 George Lebl * Release 2.4.0.3 Tue Jul 23 11:20:56 2002 George Lebl * config/gnomerc.in, config/Makefile.am, config/Xsesssion.in, config/Gnome.in: prefer the gnome-session in PATH, fix some startup stuff add gnome-volume-control init to gnomerc, whack the redhat specific setup, and copy parts of the redhat's Xsession file to our own and if switchdesk is installed make Xsession the default, so now all the good stuff happens on redhat even if you leave the default session. And this Xsession file should work on other systems just as well. * config/gdm.conf.in, config/PreSession, daemon/gdm.h: My gf doesn't like those ugly green backgrounds so change the color to what ximian uses as I kind of like that, (and did I mention that this way it's not green?). Also set the background in PreSession so that you get it for all sessions as default. * daemon/gdm.c: fix error handling of bad reboot/suspend/halt, add chdir ("/") from the hpux ximain patches, in the signal_notify add a main loop wakeup function which may fix some issues possibly the freebsd issues and should make this work on hpux just like the complicated and mostly weird ximian patch. Tue Jul 23 07:47:11 2002 George Lebl * config/Gnome.in, config/Xsession: read the xdm Xresources file as well since that's where it is in rh nowdays as it seems. Mon Jul 22 16:45:43 2002 George Lebl * daemon/slave.c: add a hack to fix #64662. When the shell is something that we don't really know (we know a few shells) just start the session with bash or sh (whichever we find). * daemon/slave.c, daemon/server.c, daemon/gdm.[ch], config/PreSession, config/PostSession: Write out an fake Xservers file each time before the PreSession script so that we may use the sessreg command nicely. Also look for sessreg in the path and a few extra dirs. And use the utmp file as well. * config/Default: setup the system Xmodmap here, copied from kdm a bit. This should fix #86098, at least it does for me. * config/PreSession, daemon/slave.c: Run the PreSession script from the session pid and in the PreSession script exec sessreg. This fixes the utmp bugs as sessreg will now register the correct pid in utmp. Also move the .xsession-errors before the PreSession script and let through the stdout/stderr descriptors so that we can get errors such as sessreg failing. Also don't error out when PreSession fails if this is a failsafe session. * daemon/slave.c: the pid of the session is not cleared until the session is over. It's not a race as I previously thought and in fact it could leave processes behind maybe. * daemon/errorgui.c: make the errors display wider, recenter the window and do a bit of cleanup 2002-07-22 jacob berkman * gui/Makefile.am (install-data-local): make the link to /foo not $DESTDIR/foo Sun Jul 21 13:04:08 2002 George Lebl * gui/Makefile.am: add -f to the LN_S line Sun Jul 21 12:57:57 2002 George Lebl * daemon/xdmcp.c, daemon/server.c, daemon/auth.c, daemon/misc.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmlogin.c, gui/greeter/greeter_item.c: note that gethostname doesn't neccessairly nul terminate string * gui/Makefile.am, gui/gdmXnestchooser.c: fix background xnest mode, add plain X nest mode by just running gdmXnest. Use gtk dialogs instead of gnomes. Setup a cookie in plain x nest mode. * daemon/slave.c, daemon/server.c, daemon/display.c, gui/gdmlogin.c: use the waitpid version from ve that doesn't break on signals this could fix some possible session being killed bugs unintentionally Sat Jul 20 10:19:25 2002 George Lebl * daemon/slave.c, gui/gdmsetup.c: setup busy cursor when starting config * daemon/gdm.h, daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c: add GDM_SAVEDIE request so that restarts of the greeter from the daemon also work and use this for the restart from the slave on greeter change. #88533 * gui/gdmwm.c: do process_events before a restore_wm_order so that we restore wm order after all our things have been finished so that the wm order is really restored especially on the graphical greeter 2002-07-18 Frederic Crozat * gui/greeter/themes/happygnome/Makefile.am: add disconnect.png to Makefile.am. Fix happygnome theme when using tarball Wed Jul 17 11:17:10 2002 George Lebl * config/locale.alias, gui/gdmlanguages.c: add Swedish (Finland) to the language list, fixes #88423 Tue Jul 16 15:38:46 2002 George Lebl * gui/gdmsetup.(c|glade): move the 24 hour clock to the first page since it affects both greeters now. Also play around with the themebrowser. GtkLabel refuses to wrap text for some reason so for now put in GtkTextView's. This makes it look somewhat more ugly (or pretty depending on your taste), but it actually wraps the description as it needs to. Tue Jul 16 11:37:22 2002 George Lebl * config/locale.alias, gui/gdmlanguages.c: Added a few more languages And fixed the naming for english and brazilian portuguese which fixes #88273 Tue Jul 16 10:49:44 2002 George Lebl * Release 2.4.0.2 Tue Jul 16 10:14:08 2002 George Lebl * daemon/misc.[ch], daemon/display.c, daemon/errorgui.c, daemon/gdm.c daemon/server.c, daemon/slave.c: Make process invocation about 600us faster by making a helper function for closing all descriptors that is somewhat smarter then the inline code was, and on this occasion alsofix the failsafe question dialog to actually work. * daemon/server.c: fix debug output on stopping server Mon Jul 15 16:44:24 2002 George Lebl * config/locale.alias: remove the "English" entry, the other two english ones will suffice. Also do a bit of renaming, although this does not break any user visible strings. We really need some nice way of getting currently installed locales instead of this file. And we need to have the locale translation table understand many many more locales. Oh well. Mon Jul 15 15:47:11 2002 George Lebl * daemon/errorgui.c, daemon/misc.[ch], daemon/server.c, daemon/slave.c: Clean up the comm stuff to only use unbuffered libc functions. This might fix the freebsd issues perhaps, maybe. Also fix some almost impossible to happen races. Mon Jul 15 14:55:27 2002 George Lebl * NEWS, configure.in: prepare for 2.4.0.2 Sat Jul 13 17:03:15 2002 George Lebl * daemon/gdm.in: use "." instead of "source" as I didn't realize that "source" is not on the freebsd /bin/sh Fri Jul 12 14:17:54 2002 George Lebl * daemon/gdm.in: source in /etc/profile if it exists. This way we really do get system wide environment for gdm. Fri Jul 12 10:06:23 2002 George Lebl * **/*.desktop.in: Add "Encoding=UTF-8" Fri Jul 12 09:38:24 2002 George Lebl * daemon/gdm.c: ensure descriptors 0,1 and 2 exist. This may fix an issue running gdm out of /etc/ttys on freebsd. Thu Jul 11 17:50:15 2002 George Lebl * gui/gdmwm.c: unfortunately when we do a reparent on an already mapped window we will get an unmap and a map, so we ignore the next unmap/map. Also fix a crash in moving override redirect windows (windows gdmwm doesn't know) * gui/gdmlogin.c: move the g_atexit to the place where we run the background prog Thu Jul 11 15:15:42 2002 George Lebl * gui/gdmflexiserver.c: corrected yodaspeak and thus #83077 Thu Jul 11 13:33:41 2002 George Lebl * gui/gdmlanguages.c, config/locale.alias: Added Macedonian fixes #84290, added Malay to the language alias list, added some more untranslated names, added Vietnamese Thu Jul 11 13:31:01 2002 George Lebl * gui/greeter/greeter_action_language.c: Fix saving of languages, Add Last and System default language choices. When setting system default just return "" as that's what the daemon expects * gui/gdmlogin.c: add the System default language choice, and for system default just return "" as above * gui/gdmlogin.c, gui/greeter/greeter_action_language.c: Ask before saving a new language if nothing was saved before and we were using the system default * daemon/slave.c: when we get the system default language wipe the user lang setting Thu Jul 11 10:54:28 2002 George Lebl * gui/greeter/greeter.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_item.c: Apply a patch from Terje Rosten to also obey the 24 hour clock setting in the graphical greeter. This makes the setup proggie a little inconsistent as the setting is in the standard greeter tab, so we'll have to figure that one out as well. Thu Jul 11 10:39:18 2002 George Lebl * daemon/gdm-net.c, daemon/xdmcp.c: some indenting foo * gui/gdmlogin.c, gui/gdmchooser.c, gui/greeter/greeter.c: Set the IO channels to be unbuffered just like in the daemon and set their encoding to NULL. We want to be as raw as possible * gui/gdmlogin.c, gui/greeter/greeter_item_pam.c: initially leave the prompt entry insensitive. Also initially set the entry to "..." in the greeter since otherwise it will be a little unresponsive to the first keystroke. Fixes #83187 Thu Jul 11 09:41:55 2002 George Lebl * daemon/gdm-net.c, daemon/xdmcp.c: Apply patch from Kesor to set the io channel encoding to NULL before trying to make it unbuffered to get rid of warning 2002-07-11 Hasbullah Bin Pit * gui/gdmlanguages.c : Added Malay / B.Melayu as language options. Thu Jul 11 2002 Steve Fox * gui/greeter/themes/happygnome/*: Update Happy GNOME theme with new logo, new Disconnect/Quit icon Wed Jul 10 13:36:03 2002 George Lebl * daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/gdmchooser.c: When we first open the X connection, set the cursor to a busy cursor (watch) and also don't set the pointer cursor in the greeters until we are actually ready. Also do cursor voodoo in the chooser. Tue Jul 09 15:29:00 2002 George Lebl * daemon/slave.c: some more sanity from Oswald, but this doesn't fix a real bug, just a theoretical one. Tue Jul 09 15:26:43 2002 George Lebl * Release 2.4.0.1 Tue Jul 09 11:09:53 2002 George Lebl * configure.in, daemon/Makefile.am: Fix #85785 by adding all the extra libs (which includes -lcrypt) to the LDFLAGS of the gdm_binary. This also as a side effect doesn't link all those libs to things that don't need them. Tue Jul 09 10:47:31 2002 George Lebl * daemon/gdm.c: before running gdm_fail in the config parsing set pid file to NULL so that we don't wipe it. Also implement a linux specific hack to check for stale pids, this is largely due to (Jim Bray ). It should just work as before on non-Linux systems. Tue Jul 09 10:27:51 2002 George Lebl * config/gdm.conf.in, daemon/gdm.[ch], daemon/server.c, daemon/slave.c, daemon/xdmcp.c: Fix some errors with server starting, fix alarm/sleep collisions, add a handled flag to servers so that we can setup unhandled X servers (such as for X terminals) Tue Jul 09 09:14:55 2002 George Lebl * daemon/slave.c: do the display init before the user setup for automatic logins Tue Jul 09 09:08:25 2002 George Lebl * daemon/auth.c: handle fails on user auth writing by going to the fallback file to handle things in a saner way. Fixed locking/unlocking to be done properly and fixed leaks in the purge function. Tue Jul 09 08:44:04 2002 George Lebl * daemon/slave.c: Fix a bug with finding the parent process (Oswald Buddenhagen ) * daemon/verify-pam.c: the autologin should do setcred/open_session just like normal login Mon Jul 08 20:42:27 2002 George Lebl * configure.in, NEWS: raise version add some news Mon Jul 08 20:01:23 2002 George Lebl * configure.in, acconfig.h, daemon/misc.c, gui/gdmchooser.c: if available include . Should fix first part of #86679 * gui/Makefile.am: link gdmsetup and gdmflexiserver with -lXau, should fix second part of #86679 * gui/gdmwm.c: Fix #86620, don't set up the wm stuff if the substructureredirect selection fails on the root window. * daemon/slave.c: don't clear the env for chooser, greeter and config. I suppose it was fairly foolish to do so anyway. Should fix #87387 partly * configure.in, daemon/gdm.in, daemon/Makefile.am: rename gdm to gdm-binary and install a new script called gdm which calls gdm-binary. This way the standard env is read in and other good stuff can happen. Should fix #87387 completely * gui/gdmchooser.c, gui/gdmlogin.c: properly center windows * gui/gdmchooser.c: don't die on every minor problem, and fix querying the interfaces * gui/gdmchooser.c, gui/gdmsetup.c: fix crashes and the event fixup function * gui/gdmchooser.glade: fix signal connections so that we can actually select some host 2002-07-08 Frederic Crozat * gui/greeter/themes/happygnome/Makefile.am: add missing files (fixes #86264) Sun Jul 07 06:26:51 2002 George Lebl * gui/gdmsetup.c: some sanity checking before doing a kill Sat Jul 06 19:28:09 2002 George Lebl * daemon/gdm.c: Don't send greeter pids that are 0, fixes #84717 and some others. Whoops! * daemon/xdmcp.c: Fix #85681 by putting the gdm_xdmcpfd outside of the #ifdef so non-xdmcp compiles should work again * configure.in: Hopefully fix #85785 by adding -lcrypt before other libs. Also apply patch from dalgoda@ix.netcom.com (Mike Castle) to fix #86607 by adding proper includes for X before testing for xdmcp libs 2002-06-24 Yanko Kaneti * configure.in: (ALL_LINGUAS) Added Bulgarian (bg). Fri Jun 07 21:21:33 2002 George Lebl * Release 2.4.0.0 2002-06-07 jacob berkman * gui/greeter/themes/happygnome/Makefile.am (EXTRA_DIST): s/circles/happygnome/ Thu Jun 06 15:32:01 2002 George Lebl * NEWS, configure.in: preparation for 2.4.0.0 Thu Jun 06 11:47:26 2002 George Lebl * configure.in, gui/greeter/themes/Makefile.am, gui/greeter/themes/happygnome/*: Add the happygnome theme, so finally the theme browser makes sense since you can now switch between two themes :) If we're in freeze we can at least add themes ... Tue Jun 04 21:45:19 2002 George Lebl * Release 2.3.90.6 * configure.in: raise version * daemon/gdm.c: properly update the first login bool so that not all logins after a slave dies are first logins. * daemon/slave.c: SECURITY FIX! after the automatic login, return from the gdm_slave_run so that the display can be re-inited. Else clients may be left around. Fixes #84055 Mon Jun 03 11:43:25 2002 George Lebl * Release 2.3.90.5 Sun Jun 02 12:51:20 2002 George Lebl * config/locale.alias: rewrite. Use the languages that we know for starters, don't put any duplicates. Don't put any encodings. put a note on the top of file about how broken this is. However this should be less broken then it was so far. * gui/gdmlanguages.c: fix collating languages, when the current locale is not among the languages, add it (it will be put into others section as just the language code). This way users can always select the current system locale. 2002-06-02 Kjartan Maraas * config/locale.alias: Make Norwegian use ISO-8859-15. Sat Jun 01 20:43:33 2002 George Lebl * gui/gdmlanguages.c: We had hebrew in reverse order, so when pango reversed it again, it came out reversed Sat Jun 01 20:31:54 2002 George Lebl * gui/gdmlanguages.[ch], gui/gdmlogin.c, gui/greeter/greeter_action_language.c: surround each langauge with foo markup so that display is done hopefully correctly. Sat Jun 01 17:21:38 2002 George Lebl * gui/greeter/greeter_capslock_item.c: include config.h * gui/greeter/greeter_timed_item.[ch], gui/greeter/greeter_item.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter.c: Implement timed logins so that we're on par with the standard login on this. Implement the timed show type stuff and add %s and %d (named such so that we don't have to add strings) and change the original %d to %o for domain. * gui/greeter/greeter.c: implement disable/enable stuff * gui/greeter/greeter_item.h, gui/greeter/greeter_canvas_item.h: cleanup * gui/greeter/themes/circles/circles.xml.in: some geometry fixes, add a timed item. * gui/greeter/greeter.c, gui/greeter/greeter_item_pam.[ch]: add the support for leftover messages on QUIT. * gui/greeter/greeter_item_timed.c, gui/gdmlogin.c: up the timer on both keypress and button press events on ALL widgets. * daemon/misc.h: fix gdm_test_opt prototype Sun Jun 02 01:35:00 2002 Carlos Perelló Marín * config/locale.alias: The es_ES locale is now ISO-8859-15 to add euro support. Sat Jun 01 14:42:29 2002 George Lebl * gui/Makefile.am: build the gdmlanguages.c as a library * gui/gdmlanguages.[ch], gui/gdmlogin.c: Add untranslated names so that we can do what we do in the graphical greeter, and we have only one place where languages are handled. * gui/greeter/greeter_action_language.c, gui/greeter/greeter_configuration.h, gui/greeter/Makefile.am: use the libgdmlang.a lib and scrap the custom language list. now languages are the same as they are in the standard greeter. Unfortunately there were yet still some strings that weren't marked for translation. Sat Jun 01 09:12:59 2002 George Lebl * config/gdm.conf.in, daemon/gdm.h: Default the -kb argument to Xnest This is because Xnest doesn't seem to want to read the x config file and so you'd have to manually set xkb kind of stuff and this way you'll sort of inherit the layout from the toplevel X server, except you won't have access to xkb, and hopefully that's not a problem. Fixes #66610 Fri May 31 15:55:25 2002 George Lebl * daemon/misc.[ch]: a new function (yet unused) to find out valid arguments of a command * gui/gdmXnestchooser.c: properly get the command, fixes things so that it now really does launch the command from the config file or the one from command line. Fri May 31 10:12:04 2002 George Lebl * gui/greeter/greeter_lang_list.c: add more untranslated language names. Hmmm. The whole language list setup in the greeter is b0rk, this should be merged with the way languages are done in gdmlogin 2002-05-31 Changwoo Ryu * gui/greeter/greeter_lang_list.c: Added Korean untranslated_name to the languages list. Thu May 30 13:30:01 2002 George Lebl * gui/greeter/greeter.c, gui/greeter/greeter_item.c, gui/greeter/greeter_lang_list.c, greeter/greeter_action_language.c, greeter/greeter_item_pam.c, gui/gdmlogin.c: Use the new conversion routines from ve, use the new strftime from ve. Also add the correct includes so that the graphical greeter is now actually translated. This among other things fixes #82548 * gui/greeter/greeter_parser.c: correctly get the language, fixes #82549 * gui/gdmchooser.glade: remove unused dialog * daemon/slave.c, daemon/gdm.c, daemon/errorgui.c, gui/gdmlogin.c, gui/gdmchooser.c, gui/greeter/greeter.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_system.c: We can no longer use g_print as we did before as it now does charset conversions and that can screw us up in a major way. so replace most uses with printf/fflush Wed May 29 14:13:45 2002 George Lebl * Release 2.3.90.4 Mon May 27 13:39:52 2002 George Lebl * daemon/auth.c, daemon/slave.c: remove some dead code, minor fixes * gui/gdmchooser.c: remove gnome init, remove dead code * gui/gdmlogin.c: remove hang on browser image getting * gui/gdmphotosetup.c: remove the trusted dir crack. Now we always copy to ~/.gnome/photo. this removes the need for needing to know gnome's pixmap path, and gets rid of some uglyness. We still support a bit of the trusted dir stuff in the daemon for compatibility. * gui/gdmsetup.c: don't create dirs only when running under gdm 2002-05-27 Kjartan Maraas * daemon/verify-pam.c: Fix typo. Fri May 24 13:48:45 2002 George Lebl * gui/greeter/greeter_parser.c: use the "xml:lang" attribute not "lang" Fri May 24 13:40:35 2002 George Lebl * gui/gdmsetup.c, gui/greeter/greeter.c, gui/greeter/themes/circles/Makefile.am, gui/greeter/themes/circles/circles.xml.in, gui/greeter/themes/circles/GdmGreeterTheme.desktop.in: Start using intltool for the theme stuff. And while doing this rename the GdmGreeterTheme.info to GdmGreeterTheme.desktop since that's more convenient for intltool. But still accept themes with GdmGreeterTheme.info for laughs. This should make the greeter at least translatable * gui/greeter/greeter_system.c, gui/greeter/greeter.c, gui/greeter/greeter_configuration.h: Add configuration option to the system dialog thingie (it's ugly!) and don't add items which we know won't work (such as suspend if GdmSuspend isn't there) * gui/greeter/Makefile.am: link with libvicious at least Tue May 21 19:13:49 2002 George Lebl * daemon/slave.c, gui/gdmlogin.c: Remove the bad hack with sending the temporary files. Just read the file and and send it over via a pipe. Tue May 21 16:47:53 2002 George Lebl * configure.in: raise version to .4 * configure.in, gui/Makefile.am, gui/greeter/Makefile.am: hopefully fix #79374 by add -lX11 to the link lines * gui/greeter/greeter_action_language.c: fix OK/CANCEL order, #80038 * daemon/gdm.[ch], gui/gdmflexiserver.c: change the format of the FLEXI_XNEST request. Now we require version 2.3.90.4 and there is also a uid parameter. We then seteuid to this uid before checking authenticity, this makes things work when the home dir is on nfs. Fixes #82122 Tue May 21 15:44:00 2002 George Lebl * daemon/misc.c: make the interface querying work again * daemon/server.c, daemon/xdmcp.c, daemon/misc.c: don't completely fail when gethostname fails, just assume "localhost.localdomain" in that case. Should fix some of the hostname bugs and make things work on more broken setups. Tue May 22 23:55:00 2002 Carlos Perello Marin * configure.in: Added AC_PREREQ(2.52) to force the 2.52 use if you have autoconf 2.13 && 2.52. Tue May 21 15:12:51 2002 George Lebl * configure.in, accconfig.h: check for setresuid * daemon/errorgui.c, daemon/misc.[ch]: use setresuid to really get rid of setuidiness * gui/gdmlogin.c: fix accelerators. Since now we have nice visible accelerators (mnemonics) we no longer need the Esc one which wasn't working anyway * daemon/gdm.c, daemon/slave.c, gui/gdmphotosetup.c: Don't init gnome. This only breaks the getting of the gnome pixmap dir, so whack the places where this is done. It's not a big deal really. And not initing things really helps a lot in both init speed, random crashes, hangs, and security. * daemon/slave.c, daemon/errorgui.[ch], config/Xsession: Now we open the .xsession-errors file early on, in fact for all non-failsafe sessions. If the session is less then 10 seconds long warn the user of possible errors and let him view the .xsession-errors file. * daemon/slave.c, daemon/auth.c: give error output when we can't setup the authentication file. * daemon/slave.c, daemon/errorgui.c: fix focus issues, fix crash for the error gui boxes * daemon/verify-pam.c: fix typo Mon May 20 17:55:57 2002 George Lebl * daemon/slave.c: don't allow autologin on anything but local servers since it doesn't make sense anywhere else. (timed login yes, just not the autologin). Should fix #68160 Fri May 17 17:05:44 2002 George Lebl * daemon/gdm.c, gui/gdchooser.glade: update some strings to be more consistent Fri May 17 16:10:15 2002 George Lebl * daemon/misc.c, daemon/slave.c, configure.in, acconfig.h: Use BSD's setusercontext if found. If language is unset and there is no saved preference then if we're using setusercontext don't reset LANG so that the users login.conf preference takes over * daemon/gdm.h, gui/gdmlogin.c, gui/gdmsetup.c: Add a new key greeter/MinimalUID which sets the minimal uid which is needed to show up in the browser or the dropdown list in gdmsetup * daemon/gdmlogin.c: whack the "*" checking in the password field, since we may get it normally Wed May 15 22:55:58 2002 Christophe Merlet * Makefile.am, config/Makefile.am: Added $DESTDIR variable. Tue May 14 17:13:33 2002 George Lebl * gui/gdmphotosetup.c: fixed crash, I'm such an idiot, oh well fortunately the crash would happen only after things finished so most users would only notice a new corefile being created on exit :) Tue May 14 15:40:34 2002 George Lebl * gui/Makefile.am: remove all the gdmconfig stuff and add gdmchooser.gladep and gdmsetup.gladep Tue May 14 14:54:20 2002 George Lebl * Release 2.3.90.3 Tue May 14 14:53:51 2002 George Lebl * NEWS, configure.in: increment version, prepare for release * gui/gdmsetup.c: fix initial selection of the current greeter * daemon/display.c, daemon/errorgui.c, daemon/gdm.[ch], daemon/misc.c, daemon/server.c, daemon/slave.c: Fix deadlocks when using the syslog inside a signal handler by sending the message to the main daemon which then syslogs it. Tue May 14 12:08:25 2002 George Lebl * gui/gdmphotosetup.c, daemon/auth.c: Apply some leak fixes from ali.akcaagac@stud.fh-wilhelmshaven.de (Ali Akcaagac) #80888. That is only those that really made sense * gui/gdmphotosetup.c: Port to GtkDialog, should fix #80835 * config/gdm.conf.in, daemon/gdm.c, daemon/slave.c: fix #80829 and add a whole bunch of checks for server paths so that we find servers other then /usr/bin/X11/X, also look for proggies in /opt/X11R6/bin * configure.in: check for socklen_t and define it to be size_t if not found, fixes #79373 * daemon/gdm.[ch], daemon/slave.c, daemon/display.c, daemon/xdmcp.c, daemon/misc.[ch], daemon/server.c: Fix slave notifications. We can't use a mainloop here since slaves are all synchroneous. So we use a variety of signals and hacks to get this to work. Tue May 14 02:26:01 2002 George Lebl * daemon/slave.c, daemon/gdm.c: a bit of debug info for the slave notifications which are utterly broken. Will need a signal or some such. * gui/greeter/greeter.c, gui/greeter/greeter_item_pam.c: do all the right utf8/locale conversions just like gdmlogin Tue May 14 01:25:03 2002 George Lebl * daemon/display.c, daemon/errorgui.c, daemon/misc.[ch], daemon/gdm.c, daemon/server.c, daemon/slave.c, daemon/verify-pam.c, gui/gdmlogin.c: Switch to using the locale specific codeset on the daemon to simplify things. Do all utf8 stuff/translations on the greeter since else the glib gconv cache will get screwed up and we'll have a mess on our hands. This finally makes translations other then ascii using locales work. * daemon/slave.c: fix restarting when waiting on the greeter Mon May 13 22:29:47 2002 George Lebl * daemon/slave.c: fix focus on failsafe xterm session Mon May 13 18:09:30 2002 George Lebl * daemon/gdm.h, daemon/slave.c, gui/gdmlogin.c, gui/greeter/greeter.c, gui/gdmwm.[ch]: Add focus/no focus on the login window when running config, as well as restoring the disabled state after a restart. Fix restarting of greeter. Fix a hang after login. Fix killing of server on all REMANAGE exits. Also create a saving of the window stacking order so that when we restart with a setup window active the stacking order doesn't get screwed up. * daemon/misc.c, daemon/verify-pam.c: convert to correct codeset. This is still not all working and it's quite bad. Must fix this. Maybe run the daemon under normal locale codeset. That will simplify things. * daemon/server.c: doing a syslog in alarm signal handler was hanging * gui/gdmlogin.c: remove some cruft * gui/gdmsetup.c, gui/gdmwm.[ch]: remove the CONFIG_WINDOW crack 2002-05-13 Rosanna Yuen * gui/greeter/greeter.c: include libintl.h and locale.h Sat May 11 23:38:02 2002 George Lebl * daemon/gdm.h, daemon/slave.[ch], daemon/verify-(pam|crypt|shadow).c, gui/gdmlogin.c, gui/greeter/greeter.c: Change the interruption stuff, to remove some races and the restart of greeters is done by return code * gui/gdmsetup.c, gui/gdmwm.[ch], gui/gdmlogin.c, gui/greeter/greeter.c: Add a property on the setup windows so that we can raise the setup windows after a restart of the greeter, this doesn't really work yet well. * gui/gdmsetup.c: add some more error checking and change the ownership/permissions correctly on installed themes Fri May 10 15:52:07 2002 George Lebl * gui/gdmsetup.glade: a bit of work on the accessibility stuff (labefor/labelledby, not really all done yet). Add some mnemonics, etc... Fri May 10 15:21:40 2002 George Lebl * gui/gdmsetup.c: Finish connecting everything to the config file. Don't do updates when nothing has changed. Add a simple temporary help dialog. Warn (and ask what to do) if a theme you are trying to install already exists in the theme dir. Remove the fake testing theme entries. * config/gdm.conf.in: Add a comment to the top of the file Tue May 07 23:01:10 2002 George Lebl * gui/gdmsetup.c: enable the setup of the pixmap entries. Note that this requires a fix to libgnomeui which I just committed. If you get a segv on startup update libgnomeui Wed May 8 01:20:57 2002 Jonathan Blandford * gui/gdmsetup.c (setup_xdmcp_support): clean up the UI a tad. Tue May 07 17:22:37 2002 George Lebl * gui/gdmsetup.c: display an error if install of theme failed Tue May 07 17:16:31 2002 George Lebl * gui/gdmsetup.(c|glade): work on install new theme functionality * gui/greeter/theme/circles/GdmGreeterTheme.info: update Tue May 07 14:39:18 2002 George Lebl * gui/gdmsetup.(c|glade): more theme browser work, selection now works. Though it's not yet propagated to the config. Mon May 06 23:34:54 2002 George Lebl * config/gdm.conf.in: a note to distributors about the welcome string, and add new greeter config thingies * gui/greeter/greeter-configuration.h, gui/greeter/greeter.c, gui/greeter/greeter-canvas-item.c, daemon/gdm.h: use the global gdm header file for defining config keys * gui/greeter/greeter.c: start using the GdmGreeterTheme.info file for figuring out the theme and the GraphicalTheme key now just specifies the subdir in which to find under the GraphicalThemeDir directory. Also fix the gettext stuff a bit. * gui/greeter/themes/circles/screenshot.png, gui/greeter/themes/circles/GdmGreeterTheme.info: gui/greeter/themes/circles/Makefile.am: add circles screenshot * gui/gdmlogin.c: use the circles in entry config key. Also reado how translation is done for the welcome string * gui/gdmsetup.(c|glade): start implementing a cool theme browser and start connecting more widgets. Make the welcome string editing work by just whacking ALL translations and using the current string when it is edited. Mon May 06 10:40:47 2002 George Lebl * gui/gdmlogin.c: Also make this init only gtk since initing gnome came up with weird errors and was a security risk anyway. Mon May 06 10:39:41 2002 George Lebl * gui/gdmlogin.c, daemon/verify-pam.c, config/gdm.conf.in, daemon/gdm.c: Try to solve some of the pending translation issues mainly with utf8 kinds of weirdness. Not yet completely solved though. Fri May 03 16:42:42 2002 George Lebl * daemon/gdm.[ch], daemon/slave.c: add notifies for sysmenu and config available * gui/gdmsetup.glade, gui/gdmsetup.c: glade design pages for both greeters and connect a few of the items to actual config. Also add security sysmenu and config_available items 2002-05-03 jacob berkman * Makefile.am (SUBDIRS): * configure.in (AC_OUTPUT): turn off help for now, until it's ported to xml etc. 2002-05-01 Pablo Saratxaga * configure.in: Added Vietnamese (vi) to ALL_LINGUAS 2002-04-29 jacob berkman * Makefile.am (EXTRA_DIST): add gdmconfig - mailed _v_ asking to fix this completely 2002-04-28 Abel Cheung * gui/gdmchooser-strings.c: Typo. * gui/gdmconfig.c: Rephrased description of Basic setting to reduce ambiguity. * gui/gdmconfig-strings.c, gui/gdmconfig.glade(|2): Added Chinese locales. 2002-04-29 Seth Nickell * gui/Makefile.am: * gui/gdmphotosetup.desktop.in: * gui/login-photo.png: Add a rudimentary icon for the photo chooser "capplet" so it doesn't look weird as the only item without an icon ;-) Fri Apr 26 14:29:07 2002 George Lebl * daemon/gdm.h, daemon/slave.c: a bit of a hack, but create an interruption type for greeter restart. It's easier to do this way then with just an exit since we avoid reentrancy issues and all kinds of other fun stuff. That is we trap the interruption at defined points * gui/gdmlogin.c: minor fixes, and recheck config and if some stuff changed (not the full set we care about, maybe we should do that) just restart. * gui/greeter/greeter.c, gui/greeter/greeter_configuration.h, gui/greeter/greeter_item.[ch], gui/greeter/greeter_parser.c, gui/greeter/greeter_system.c: Implement a config button handling. the timed, system and config showing is handled by show types/subtypes so this is handled cleanly. Request restart on HUP. To allow a name change * gui/greeter/themes/circles/GdmGreeterTheme.info: An idea (not used currently) for the greeter theme information. This is so that we can do a theme browser and also handle theme installation and all that fun sort of stuff. * gui/greeter/themes/circles/circles.xml: add a system show type to the system button Fri Apr 26 10:18:07 2002 George Lebl * gui/gdmsetup.(c|glade): implement the greeter selection option menu * gui/greeter/greeter.c, gui/greeter/greeter_item.c: don't show the system buttons if GdmSystemMenu is FALSE. We really need to extend the show modes for this. Thu Apr 25 22:56:30 2002 George Lebl * gui/greeter/greeter.c: connect the disconnect/quit button Thu Apr 25 17:20:52 2002 George Lebl * Makefile.am, configure.in, gdm.spec.in, gdmsetup-security.in: Whack the gdmconfig again, gdmconfig is now really dead * configure.in: Do not build gdmconfig docs * gui/greeter/greeter.c, gui/greeter/greeter_canvas_item.c, gui/greeter/greeter_events.c, gui/greeter/greeter_geometry.c, gui/greeter/greeter_item.c, gui/greeter/greeter_item.h, gui/greeter/greeter_item_capslock.c, gui/greeter/greeter_parser.c, gui/greeter/greeter_parser.h: Handle multi-item buttons so that we can catch clicks on the labels next to the buttons in the circles theme. Add 'show modes' since some items may not be shown depending on what the daemon tells us. Reformat some code to be in the same style. Fix a bunch of leaks and some other minor fixes. Also the text is now not taken from a "val" property but from the content since text in a property is just on crack. * gui/greeter/greeter.dtd: update a tad but it's still out of date * gui/greeter/themes/circles/circles.xml: update for the above changes 2002-04-25 Jacob Berkman * configure.in (AC_OUTPUT): add gdmsetup-security 2002-04-24 jacob berkman * Makefile.am (EXTRA_DIST): add gdmconfig-security.in * Makefile.am (EXTRA_DIST): add gdmconfig Tue Apr 23 15:25:33 2002 George Lebl * gui/gdmphotosetup.c: destroy dialogs after run which is the gtk+2 semantics Tue Apr 23 15:07:17 2002 George Lebl * Makefile.am, gdmconfig, gdmsetup-security.in, gdmsetup-pam, daemon/gdm.h, config/gdm.conf.in, gui/Makefile.am, gui/gdmsetup.desktop.in: Make the gdmsetup proggie the default configurator and stop building/installing gdmconfig which wasn't working to begin with. * gui/gdmchooser.(c|glade): redo the glade file for gdmchooser to be a dialog and also start using glade-helper * gui/gdmlogin.c: some gdmwm related fixes * gui/greeter/greeter.c, gui/greeter/greeter_action_language.c, gui/greeter/greeter_session.c, gui/greeter/greeter_system.c: Add Xinerama support, init the gdmwm so that we actually do have focus management, do all the cool gdmwm type stuff with all the dialogs/windows. Add all the warnings that gdmlogin can give. This still needs a LOT of love before it's a viable replacement of gdmlogin. Mon Apr 22 19:00:14 2002 George Lebl * daemon/gdm.[ch], daemon/slave.c: support updating the timed login stuff * gui/gdmsetup.(c|glade): implement updating of most things (at least theoretically) except the greeter choosing. * gui/greeter/greeter.c, gui/greeter/greeter_item_pam.c, gui/greeter/greeter_session.c: fix warnings Mon Apr 22 10:27:43 2002 George Lebl * gui/gdmcomm.[ch], gui/gdmflexiserver.c, gui/gdmsetup.c, gui/Makefile.am: split off the comm routines to a separate file, so that we may use this from the setup proggie * gui/greeter/greeter_system.c: include unistd.h Sun Apr 21 23:37:06 2002 George Lebl * Release 2.3.90.2 * configure.in: raise version * gui/Makefile.am: distcheck fixes Sun Apr 21 22:50:49 2002 George Lebl * daemon/gdm-net.[ch]: add a printf style function * daemon/gdm.[ch], daemon/xdmcp.c: add functionality for 1) getting a list of greeter pids for use with the setup proggie 2) implement auto updating of most of the xdmcp stuff * gui/gdmchooser.(c|glade), gui/Makefile.am: minor fixes, use a glade2 instead of converting. * gui/gdmlogin.c: doh kind of warning fixes * gui/gdmsetup.c, gui/Makefile.am: add a beginning of a setup proggie, doesn't yet do much, but it's a start 2002-04-21 Benedikt Roth * gui/gdmphotosetup.c: (main): Changed button ordering to [Cancel] [ok] (#77151). * gui/greeter/greeter_item_pam.c: (greeter_item_pam_prompt): Applied patch from Gaute Lindkvist to give focus to the password-field automatically (#73817). Fri Apr 12 16:00:00 2002 George Lebl * daemon/gdm.c, daemon/slave.c, daemon/server.c: screw the sysmask, just unblock all signals when running a child. This is what xdm does. Should fix #77880 Fri Apr 12 15:34:00 2002 George Lebl * gui/gdmlogin.c, gui/greeter/greeter.c: make sure dialogs are destroyed after being run Fri Apr 12 09:20:34 2002 George Lebl * daemon/gdm.[ch], daemon/slave.c: AllowRemoteAutoLogin and RetryDelay notification support. Fri Apr 12 06:41:36 2002 George Lebl * gui/greeter/greeter.c: properly set up the TERM/INT handlers and when DOING_GDM_DEVELOPMENT try the theme in the local dir first Thu Apr 11 21:02:38 2002 George Lebl * gui/gdmlogin.c, gui/greeter/greeter.c: add a function stub for handling configuration changes * gui/gdmsetup.glade: an unfinished new gui configurator to replace gdmconfig. No it will not have all the options as gdmconfig did since if you want crack you can just use a text editor. * daemon/gdm.[ch], daemon/slave.c: handle greeter changes. and implement local vs. remote greeter distinction. Remove unneeded arguments. * config/gdm.conf.in: remote the extra unnecessary args to the greeters 2002-04-10 Seth Nickell * gui/Makefile.am: * gui/gdmconfig.desktop.in: * gui/gdmflexiserver-xnest.desktop.in: * gui/gdmflexiserver.desktop.in: * gui/gdmphotosetup.desktop.in: Install .desktop files in the appropriate GNOME2 location(s), adding Category keywords as necessary. Change the description of gdmphotosetup to fit better with the other items in the "control center". Tue Apr 09 14:27:59 2002 George Lebl * daemon/misc.[ch]: implement an fdprintf function * daemon/gdm-net.[ch]: implement an fd only connection type * daemon/gdm.[ch], daemon/slave.[ch], daemon/display.c: implement a notification scheme for slaves so that we can handle changes of some config values on the fly to implement a saner configurator for now implement two values as a sort of testing. Mon Mar 25 19:05:14 2002 George Lebl * gui/gdmconfig.glade2: the info label is wrapped so that it doesn't look like so much crack. Still is all kind of nasty 2002-03-25 Tõivo Leedjärv * config/locale.alias, gui/gdmconfig-strings.c, gui/gdmconfig.glade: Added Estonian entries. 2002-03-21 jacob berkman * gui/greeter/greeter.c: include signal.h. i can't find what changed, and can't reproduce it on my 7.2 box, but we do use stuff from that here and tinderbox is failing Fri Mar 15 17:15:25 2002 George Lebl * gui/gdmconfig.(c|h|glade2): A first try at making this actually work. Edit the generated file in glade-2 and while it is ugly it now actually gets done loading the whole thing. Tue Mar 12 16:10:22 2002 George Lebl * Merge in some changes from 2.2 branch Tue Feb 19 17:28:11 2002 George Lebl * gui/gdmconfig.glade: fix typo * gui/gdmlogin.c: increase welcome string limit to 2048 * daemon/verify-pam.c: treat USER_UNKNOWN just like AUTH_ERR 2002-02-04 Karsten Weiss * gui/gdmconfig-strings.c: Fixed a typo. * gui/gdmlanguages.c: s/Azerbaidjani/Azerbaijani/ * config/gettextfoo.h: Fixed a typo. * daemon/verify-pam.c: Ditto. * daemon/gdm.c: Ditto. * gui/gdmconfig-strings.c: Ditto. 2002-02-01 Pablo Saratxaga * gui/gdmlanguages.c: added some more languages for the menu and corrected the Hebrew locale name ('iw' lang code has been superseeded with 'he') 2002-02-01 Kjartan Maraas * daemon/gdm.c: Fix a typo. * daemon/verify-pam.c: Same. 2002-03-05 jacob berkman * gui/Makefile.am (gdmchooser_LDADD): (gdmlogin_LDADD): * gui/greeter/Makefile.am (gdmgreeter_LDADD): add $(X_LIBS) and $(X_EXTRA_LIBS) * configure.in: fix some quoting, and add $(X_LIBS) and $(X_EXTRA_LIBS) to the Xinerama and Xdmcp checks, since GTK doesn't export them any more * daemon/Makefile.am (gdm_LDADD): add $(X_LIBS) and -lXext since GTK doesn't export them any more 2002-03-01 Havoc Pennington * config/locale.alias: remove broken generic "english" entry (created invalid LANG). Only have en_US and en_GB. 2002-02-18 Gediminas Paulauskas * configure.in: remove non-existing GNOME_PLATFORM_GNOME_2 fix GNOME_COMPILE_WARNINGS for latest gnome-common. 2002-02-10 Abel Cheung * daemon/verify-shadow.c (gdm_verify_user): Synced string with that of verify-pam.c, to avoid translating virtually equivalent strings. Fri Feb 8 19:40:07 2002 Jonathan Blandford * gui/greeter/greeter_action_language.c (greeter_langauge_initialize_model): use the right column. Fri Feb 8 17:33:20 2002 Jonathan Blandford * gui/greeter/greeter_action_language.c (greeter_action_language): first cut at language selection. 2002-02-07 Alex Larsson * gui/greeter/Makefile.am (INCLUDES): Fix for building with srcdir != builddir. 2002-02-07 Alex Larsson * gui/gdmlogin.c: Set the cursor on the root window. 2002-02-07 Alex Larsson * configure.in: Remove libgnomeui from greeter libs. * gui/gdmwm.c: Comment out unused bonobo_dock_item_grab_pointer() that forces greeter to pull in libgnomeui. * gui/gdmwm.h: Don't include libgnomeui.h * gui/greeter/greeter.c: Include unistd.h 2002-02-06 Alex Larsson * gui/greeter/Makefile.am: Add greeter_session.[ch]. * gui/greeter/greeter.[ch]: * gui/greeter/greeter_configuration.h: Hook up session code. Read more config settings. Export greeter_message(), greeter_query() and greeter_abort() * gui/greeter/greeter_item_pam.[ch]: New function greeter_item_pam_set_user(). Export greeter_current_user. add is_login argument to greeter_item_pam_prompt(). * gui/greeter/greeter_system.c: Move greeter_query to greeter.c * gui/greeter/themes/circles/circles.xml: Test the session code. 2002-02-06 jacob berkman * gui/greeter/Makefile.am (gdmgreeter_SOURCES): add greeter.h * gui/greeter/themes/circles/Makefile.am (EXTRA_DIST): add $(circles_DATA) 2002-02-05 Alex Larsson * gui/greeter/greeter.c: * gui/greeter/greeter_configuration.h: Add use_circles_in_entry option. * gui/greeter/greeter_canvas_item.c: Call gtk_entry_set_invisible_char() if greeter_use_circles_in_entry is set. * gui/greeter/greeter_item_pam.c: More pam conversation work. * gui/greeter/themes/circles/circles.xml: Change Help to System, because Help didn't do anything, and we want to be able to test system stuff. Move the pam conversation items around to a nicer positioning. 2002-02-05 Karsten Weiss * daemon/gdm.c, daemon/slave.c, gui/gdmconfig.c: Uppercase spelling for "XDMCP" in user-visible strings. 2002-02-05 Abel Cheung * configure.in (ALL_LINGUAS): zh_CN.GB2312 -> zh_CN 2002-02-04 Alex Larsson * gui/greeter/greeter.c: * gui/greeter/greeter_item_pam.[ch]: Implement the messages better. * gui/greeter/themes/circles/circles.xml: Try out the new messages 2002-02-04 Alex Larsson * gui/greeter/greeter_system.c: Add system_button which is a dialog with all shutdown options in it. 2002-02-04 Alex Larsson * gui/greeter/Makefile.am: Add greeter_system.[ch]. * gui/greeter/greeter.c (greeter_setup_items): Call greeter_item_system_setup(). * gui/greeter/greeter_system.[ch]: Add some system-menu item handling. * gui/greeter/themes/circles/circles.xml: Pack the bottom buttons in a box. 2002-02-04 Alex Larsson * gui/greeter/greeter.c: Set the locale. * gui/greeter/greeter_parser.c: Fix translation of strings. * gui/greeter/themes/circles/circles.xml: Fix test translation. 2002-02-04 Karsten Weiss * gui/gdmconfig-strings.c: Fixed a typo. * config/gettextfoo.h: Fixed a typo. * daemon/verify-pam.c: Ditto. * gui/gdmconfig-strings.c: Ditto. 2002-01-30 Alex Larsson * configure.in: Add new makefiles to output. * gui/greeter/Makefile.am: Add themes subdir. Add config file and theme dir defines. Add greeter_configuration.h * gui/greeter/greeter.c: Parse config options. Handle theme data search path. * gui/greeter/greeter_parser.[ch]: Handle theme data search path. * gui/themes/*: * gui/themes/circles/*: Checking in theme data. 2002-01-29 Alex Larsson * gui/greeter/greeter_canvas_item.c: Remove old anchor leftovers. Set font_desc instead of font for text items. * gui/greeter/greeter_geometry.c: Set font_desc instead of font for text items. 2002-01-29 Alex Larsson * gui/greeter/Makefile.am: Add WARN_CFLAGS to INCLUDES. mumble mumble... * gui/greeter/greeter.c: Call greeter_layout() from main(). * gui/greeter/greeter_canvas_item.c: Change anchor handling. Now it's done manually by greeter_geometry.c for everything but labels. * gui/greeter/greeter_geometry.[ch]: Boxes now work. * gui/greeter/greeter_parser.c: * gui/greeter/greeter_item.h: Add expand property to items Build root item. 2002-01-29 Alexander Larsson * gui/greeter/Makefile.am: Added new files. * gui/greeter/greeter.c: Update to get the root GreeterItemInfo. * gui/greeter/greeter_item.[ch]: Make items keep track of their parent. Add orig_pixbufs[]. Add box_min_width/height and size allocation stuff * gui/greeter/greeter_parser.[ch]: Rename homogenous to homogeneous. Parse box min-width/height Load pixmaps to orig_pixbufs[] Keep track of items parents Create root item info * gui/greeter/greeter_canvas_item.[ch]: * gui/greeter/greeter_geometry.[ch]: New files. Not used yet. Mon Jan 21 19:14:28 2002 George Lebl * acconfig.h, configure.in: use GETTEXT_PACKAGE * daemon/gdm.c, daemon/misc.[ch], daemon/verify-pam.c, daemon/server.c, daemon/slave.c, daemon/display.c: When displaying something on a console display it only when the console is UTF-8, which is only true if "gdmopen vt-is-UTF8 -q" returns 0 status. Else don't actually translate anything and just print out the english/ASCII version. * daemon/verify-pam.c: Better check for existence of the pam gdm configuration * daemon/gdm.c, gui/gdmXnestchooser.c, gui/gdmchooser.c, gui/gdmconfig.c, gui/gdmflexiserver.c, gui/gdmlogin.c, gui/gdmphotosetup.c: property bind gettext stuff and make sure we correctly set it up for UTF-8 2002-01-20 Alexander Larsson * gui/greeter/greeter_item.[ch]: Add all fields from the XML file to the GreeterItemInfo structure. * gui/greeter/greeter_parser.[ch]: Huge reorganization. Now builds up the tree of GreeterItemInfos. * gui/greeter/greeter.c: Use new greeter_parse() API. 2002-01-18 Alex Larsson * configure.in: Greeter needs libgnomeui, due to gdmwm!? * gui/Makefile.am: Build gdmwm as a helper library. * gui/greeter/Makefile.am: Link to xinerama and libgdmwm. * gui/greeter/greeter.c: Initial greeter communication. * gui/greeter/greeter_item_pam.c: Just print out anything gotten from the entry. 2002-01-16 Alex Larsson * gui/gdmlogin.c (gdm_event): Correctly read the event, instead of segfaulting. 2002-01-15 Alex Larsson * configure.in: * gui/Makefile.am: * gui/greeter/*: Import greeter into gdm2. 2002-01-15 Alex Larsson * Makefile.am (SUBDIRS): Remove intl from SUBDIRS * configure.in: Remove intl/Makefile from AC_OUTPUT. Sun Jan 13 21:58:36 2002 George Lebl * Release 2.3.90.1 * daemon/md5.c: a bit of cleanup 2002-01-12 Kjartan Maraas * daemon/gdm.c: Fix a typo in a user visible string. Fri Jan 11 15:03:25 2002 George Lebl * gui/gdmlogin.c: make welcome string 3 times bigger. Also fix browser to actually work, and when moving make sure never to go into negative, it's bad form. * gui/Makefile.am, gui/gdmchooser.c, gui/gdmconfig.c: use the libglade-convert thingie to make things somewhat work. Also export symbols to make this somewhat work. the config still doesn't work, but the chooser mostly should. Fri Jan 11 12:44:27 2002 George Lebl * configure.in: raise version * Merge from 2.2 up to MERGE_3 2002-01-04 Pablo Saratxaga * configure,in (ALL_LINGUAS): Added "eu". Mon Dec 31 18:54:25 2001 George Lebl * daemon/slave.c: set egid to the correct value before we do setuid to avoid running the session with gdm group privileges. (Note that all session files run bash and thus drop those, but this is a problem for the failsafes) * gui/gdmlogin.c: Make PositionX and PositionY follow the standard X geometry behaviour where negative values mean position from lower/right edge Thu Dec 27 16:45:04 2001 George Lebl * Release 2.3.90.0 Thu Dec 27 16:43:21 2001 George Lebl * configure.in: don't link libgnomeui and libglade to the daemon any more * daemon/errorgui.[ch], daemon/gdm.c, daemon/slave.c, daemon/verify-*.c: Whack the exec hack for failsafe dialogs, we now yet again do this all just by fork and gtk_init. This seems to work and is truly failsafe * daemon/gdm-net.c: fix hanging caused by some new crack in giochannel, we just do a libc 'read' and that works * daemon/server.c, daemon/gdm.[ch]: again some new crack in glib's mainloop was causing g_main_loop_quit to not work right if called from a signal handler (sometimes). So I just switched to using a simple select call and a dummy pipe. * daemon/Makefile.am, daemon/auth.c, daemon/errorgui.c, daemon/gdm-net.c, daemon/gdm.c, daemon/server.c, daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/xdmcp.c: Compile without any deprecated stuff from glib up Thu Dec 27 14:04:27 2001 George Lebl * gui/Makefile.am: remove gdmchooser.h * Merge from stable up to 2.2.5.3 release tag Wed Dec 26 17:20:28 2001 George Lebl * daemon/veriyfy-crypt.c, daemon/verify-shadow.c: include errorgui.h Fri Dec 21 18:09:03 2001 George Lebl * gui/gdmlogin.c, gui/gdmconfig.c, gui/gdmphotosetup.c, gui/gdmchooser.c, gui/gdmwm.c: Remove more deprecated things and minor fixes that were related. Doesn't actually compile without deprecated things yet, but it's closer now. Thu Dec 20 19:51:02 2001 George Lebl * daemon/errorgui.c, daemon/gdm.c: some s/ve_setenv/gnome_setenv/ * daemon/gdm.c, daemon/misc.[ch], daemon/slave.c: optionally preserve LD_ variables. This is mostly for testing and normally isn't done. Also add the nodaemon option as a popt option so that it actually works, and some cleanup in the main function. * daemon/server.c: some debug output * gui/gdmlogin.c: fix keyboard input bug, fix compile with new libgnomeui, actually use the scrollbar Thu Dec 20 16:49:52 2001 George Lebl * Merge from stable from 2.2.5.2 release tag up Thu Dec 20 16:27:40 2001 George Lebl * daemon/verify-pam.c: apparently the actually correct order (Which actually makes sense) is setcred/open_session. This is apparently the 'official' word from the linux-pam people. Though not everybody agrees. Well screw this, this makes sense, so this is the way it will be. * gui/gdmconfig.c: fix saving of server definitions * gui/gdmlogin.c: add ability to have newlines in the welcome string by just adding \n into the strings Thu Dec 06 22:09:11 2001 George Lebl * daemon/slave.c: Fix TimedLogin I broke on last commit * daemon/verify-pam.c: For autologin, still call authenticate, but use the service gdm-autologin. Also a bit of cleanup. * config/gdm-autologin, config/Makefile.am: A promiscuous service. This will let anyone in, gdm uses this for autologin or timed login when we want to let a user in without a password, this way we can follow all the proper pam doodaah with pam_authenticate and all that so we can safely call setcred Tue Dec 04 20:46:57 2001 George Lebl * daemon/gdm.c, daemon/misc.[ch], daemon/display.c: On events where we fail due to bad configuration, run the text message dialog. Also if we hit the loop of death outside of XFAILED on a local display, run a text message telling the user so instead of just putting this into the syslog. We need more interaction here I think. But this is better then nothing. Tue Dec 04 18:44:10 2001 George Lebl * daemon/Makefile.am, daemon/verify-pam.c, daemon/verify-crypt.c, daemon/verify-shadow.c, daemon/verify.h, daemon/misc.[ch], daemon/slave.c: revamp the PAM support based on a patch from Karsten Petersen . Move the open session and setcred back to verify, implement account checking more properly, especially for auto logins. We assume the pamh existing when needed. And don't do the weird ensure hack. Also setgid and initgroups in the verify/setup function. rename the open_session function to setup_env, since that's what it does. Also implement more checking of errors during login process. * daemon/gdm.c, daemon/errorgui.c: make sure that we're not 'setuid' looking in the failsafes. Also correctly setup "PATH" from stored path. * daemon/slave.c: fix race where USR2 was expected from a non-existent parent. This can happen when you do 'killall gdm' Fri Nov 30 17:38:47 2001 George Lebl * configure.in, gui/Makefile.am, daemon/Makefile.am: fix xinerama compilation * gui/gdmconfig.c: define GTK_ENABLE_BROKEN to be able to use GtkText for now * gui/gdmlogin.c: fix some s/int/gsize/, accelerators bind to "activate" signal, and use GNOME_PARAM_ENABLE_SOUND instead of the argv hack Thu Nov 22 00:47:23 2001 George Lebl * Merge from stable up to 2.2.5.2 release tag Wed Nov 21 21:12:58 2001 George Lebl * daemon/slave.c, daemon/xdmcp.c: Fix minor leaks Wed Nov 21 20:58:24 2001 George Lebl * gui/gdmwm.c: Support the InputHint to support No Input windows, so that we can support things like xscribble and keyboards and other accessibility and such doodaahs. Based on a patch from Crossfire Wed Nov 21 19:46:50 2001 George Lebl * daemon/server.c: keep 4 old x server logs in a logrotate like manner to make debugging X server problems easier 2001-11-17 Carlos Perelló Marín * configure.in (ALL_LINGUAS): Added pt. Fri Nov 16 12:38:30 2001 George Lebl Yay! it like all builds and stuff * gui/gdmlogin.c: fix crash for timed logins * config/gdm.conf.in, daemon/gdm.h, gui/gdmlogin.c, gui/gdmconfig.(c|h|glade): Remove the font option, it can now be done by using the pango markup in the welcome message * gui/gdmchooser.h gui/gdmlogin.h, gui/Makefile.am: remove useless header files. * gui/gdmchooser.c: reorganize the code a bit to remove useless forward declarations * gui/gdmchooser.c, gui/gdmlogin.c, gui/gdmconfig.[ch], gui/gdmflexiserver.c, gui/gdmwm.[ch], gui/misc.h: Port to pixbuf and gnome2. * utils/Makefile.am: remove (includedir) to make it not pickup gnome1 headers Fri Nov 16 02:15:06 2001 George Lebl * daemon/xdmcp.c: include unistd.h * Makefile.am, gui/Makefile.am: update for intltool * configure.in: vicious-extensions doesn't define the envvar functions * daemon/auth.c, daemon/gdm.c, daemon/misc.c, daemon/server.c, daemon/slave.c, gui/gdmXnestchooser.c, gui/gdmconfig.c, gui/gdmlogin.c: Use change to use the glib functions where old ve_* or gnome_* functions were used and also change to use the gnome_(setenv|unsetenv|clearenv) functions. * gui/gdmwm.c: port to gnome2 * gui/gdmchooser.[ch]: port to gnome2 a bit, remove imlib dep, sanitize the interface broadcast stuff * daemon/gdm.c: clean up the signal stuff source thing Thu Nov 15 23:25:41 2001 George Lebl * configure.in: some build fixes * **/*.c: remove RCSid's as they are un-fun for merging * Merge from gdm-2-2: Thu Nov 15 21:18:48 2001 George Lebl * daemon/gdm.[ch], daemon/slave.[ch], daemon/server.c, gui/gdmlogin.c: clean up a bit of the constants mess (though it's still an utter mess). Implement a new SUP opcode so that the daemon knows when the server was started so that it can start local servers in order, so that things like complete machine lockups don't occur (I got one just testing this). Also add a 3 second 'padding' between server starts to really be sure. * config/gdm.conf.in: add some comments, mostly for distributions 2001-11-06 Gregory Leblanc * gdm.spec.in: more minor updates. There's a ChangeLog in the file, if you care that much. Mon Nov 05 21:28:43 2001 George Lebl * configure.in, **/Makefile.am, daemon/*.[ch], utils/*.[ch], gui/*.[ch]: Begin GNOME 2.0 porting. Not complete yet, daemon may 'compile', gui doesn't compile yet Thu Nov 01 01:06:21 2001 George Lebl * Release 2.2.5.1 Sun Oct 28 12:15:50 2001 George Lebl * daemon/slave.c: when the server refuses to be started, some error in the start code. Tell the user that we have no clue what's happening and give up. Sun Oct 28 11:56:33 2001 George Lebl * daemon/auth.c, daemon/misc.[ch], daemon/xdmcp.[ch]: be more thorough in setting up address/cookie pairs for local servers, and make sure to always setup localhost.localdomain and loopback. Don't use hostname based lookup on local servers, but use the same code we use for xdmcp peeking local addresses. This will make it possible to start an X server and login even if the hostname is out of whack. Sun Oct 28 10:46:21 2001 Christophe Merlet * gui/gdmXnestchooser.c: corrected just a little typo. Sat Oct 27 21:44:20 2001 George Lebl * daemon/slave.c, daemon/verify-*.c: put the sleep day in the verify code, and in pam verification use the pam sleep to do the same if available. This means that the error will come after the sleep but that the sleep will be 1) random 2) not doubled with both the gdm and the pam sleep. Second always print the "Please enter your username" message on the verify not just the first time. Sat Oct 27 14:56:47 2001 George Lebl * configure.in: raise version to 2.2.5.1 * daemon/errorgui.[ch], daemon/gdm.c: add yesno error dialog * daemon/auth.[ch], daemon/slave.c: allow logins without a home dir (it will be set to '/') but only after properly warning the user about it, and asking him if he wants to continue. Sat Oct 27 13:22:48 2001 George Lebl * daemon/verify-*.c, daemon/slave.c, daemon/gdm.h, gui/gdmlogin.c: Make pam errors and such pop up in a dialog box to make sure the user notices them. If the login gets a QUIT and it had some informative messages to tell the user but there was no prompt in between (that is, the user hasn't read them), display it in a dialog. * daemon/gdmlogin.c: fix focus after uniconify Fri Oct 26 01:01:53 2001 George Lebl * config/Gnome.in: run ssh-agent if available, also remove some bashisms, patch taken and modified from Ximian SRPM Fri Oct 26 00:30:45 2001 George Lebl * daemon/slave.c: try also appending .png to the face file to support KDE like faces (fixed version of Mandrake SRPM patch) * gui/gdmlogin.c: Accept KP_Enter as return as well (from Mandrake) * daemon/server.c: change perms on open to 0644, those were the perms actually used anyway because of umask, but this makes the code easier to read. * config/XKeepsCrashing: fix some logic, fix for filenames with spaces, test for XFdrake so that this works seamlessly on Mandrake, also add xf86cfg to the list of configurators, also kill some bashism. If we can't find a configurator still offer to display the server output and then disable the server. * gdmconfig-security.in: make FALLBACK false, as it doesn't make sense to have fallback, also make SESSION true as per redhat patches * gdmconfig-pam: apply the redhat patch. It seems to me that is the more correct way to handle it in general. Scream at me if it is wrong. * configure.in: make console helper automatically detected and used if present. Thu Oct 25 20:28:03 2001 George Lebl * daemon/misc.[ch], daemon/display.c, daemon/errorgui.c, daemon/gdm.c, daemon/server.c, daemon/slave.c: Super fork race killing patch, suspend both SIGCHLD and TERM/INT/HUP over forks, suspend CHLD over short waitpids. Fix races where the switch logic after forks may have gotten confused. A tiny bit of unrelated cleanup as well. Thu Oct 25 01:49:57 2001 George Lebl * config/XKeepsCrashing: fix minor issues * daemon/gdm.c: set TEXTDOMAIN and TEXTDOMAINDIR for XKeepsCrashing * utils/gdmopen.c: echo \033(K onto the console to make sure that non lat1 fonts get set up * daemon/gdm.h, daemon/server.c, daemon/slave.c: When starting a server consider loss of connection within 5 seconds a crash no matter what. It seems that for example not being able to open a mouse manifests self AFTER server tells us it's ready and we XOpenDisplay. Actually it's 5 seconds from the USR1, which means 5 seconds after it's ready to accept connections. Wed Oct 24 17:57:03 2001 George Lebl * daemon/gdm.[ch], gui/gdmconfig.(c|glade), config/gdm.conf.in: Don't pass extra arguments to XKeepsCrashing, and whack the X configurators option since that is now changed by editing the XKeepsCrashing script directly. * config/XKeepsCrashing, config/Makefile.am, config/gettextfoo.h, config/extract-shell.sh: Rework the XKeepsCrashing script, configurator is found from a list in the script. If the error is a mouse error try the mouseconfig configurator first. Messages are now gotten by gettext -s directly and extracted by a simple stupid script, that needs a tad of work still I think. Wed Oct 24 11:39:54 2001 George Lebl * utils/gdmmktemp.c, utils/Makefile.am: rename to gdmmktemp, make it build, and install in /bin Wed Oct 24 11:02:55 2001 George Lebl * utils/gdmkstemp.c, utils/Makefile.am: add a small utility for safely making temp files Wed Oct 24 01:26:47 2001 George Lebl * bin/gdm.[ch], bin/verify-*.c, config/gdm.conf.in, gui/gdmconfig.(c|glade): Remove the VerboseAuth conf variable, it provided absolutely zero extra security (since it didn't divulge any info the user cannot get by other means, and making it false just made the whole thing less usable and more confusing) * bin/gdm.c: include locale.h Tue Oct 23 15:17:23 2001 George Lebl * gui/gdmXnestchooser.c: add --broadcast, --direct and --no-gdm-check, rename --no-chooser to --no-query, fix backgrounding vs. gtk and don't do checks when we don't need to (on no-query, broadcast or no-gdm-check) Tue Oct 23 02:32:05 2001 George Lebl * gui/gdmXnestchooser.c: make this more useful, make it possible to specify a custom Xnest/options to run and default to running the one from the config. Also add option to background the process, and an option to run no chooser, just Xnest, and have it print out the DISPLAY setting to use for the display. Sat Oct 20 16:26:34 2001 George Lebl * configure.in, gui/Makefile.am: a bit of makefile cleanup and make sure we REQUIRE libglade in the configure.in Sat Oct 20 14:11:02 2001 George Lebl * daemon/errorgui.c, daemon/server.c: a bit of debug output. * daemon/slave.c: check the home dir, if it doesn't exist (or is not a directory, then tell the user and try again. Maybe we should continue and let the session fail, should we? I don't see any merit in trying to log in with no home dir. Also, clean up verify on auth problems, in term handler don't reset the signal mask, and fix some possible races and whack the chooser, same in xioerror handler. In slave_exit, mask the CHLD signal to avoid races, and other race fixes Sat Oct 20 13:31:07 2001 George Lebl * utils/gdmopen.c: set VT_NUMBER env var * gui/gdmwm.c: Fix a race for MapNotify so that newly created windows are always focused Sat Oct 20 11:57:50 2001 George Lebl Patches from: Heath Nielson * daemon/slave.c: Fix from the FreeBSD bugtracker to fix a crash related to setenv (foo, NULL, 1). * daemon/gdm-net.c: Fix from the FreeBSD bugtracker to fix creation of the local socket Mon Oct 15 23:32:22 2001 George Lebl * Release 2.2.4.3 Mon Oct 15 23:28:45 2001 George Lebl * config/gdm.conf.in: the xdmcp indirect and manage waits were too long, changed to 15 seconds. If you can't finish the xdmcp conversation in 15 seconds, you don't really have a connection you want to use X on. Fri Oct 12 12:52:08 2001 George Lebl * configure.in, daemon/Makefile.am, gui/Makefile.am, utils/Makefile.am: Apply patch from Ali Akcaagac for compatibility with automake 1.5 and autoconf 2.50 * config/locale.alias, gui/languages.c: Make russian use KOI8-R and add ukrainian Mon Oct 08 20:54:33 2001 George Lebl * daemon/auth.c: Fix small leak * daemon/server.[ch], daemon/slave.c: wipe cookies better and safer * daemon/server.c: server killing right after launch race fixed, probably was harmless though, also reset the vt number on linux before starting a new server. * daemon/slave.c: increase the loop of death time for logouts, and always redo parsed automatic/timed login vars after each display start as the display number / hostname might have changed. When we can't open a display, it's XFAILED rather then REMANAGE so that we go into the "your X sucks" dialog. We need better error reporting though. Sun Oct 07 16:55:24 2001 Fatih Demir * configure.in: Added "ta" to the languages list. Fri Oct 05 13:58:41 2001 George Lebl * daemon/verify-pam.c: user PAM_ESTABLISH_CRED for pam_setcred Thu Oct 04 13:19:50 2001 George Lebl * Release 2.2.4.2 Thu Oct 04 13:18:30 2001 George Lebl * daemon/misc.c: the mode for sticky 01777 not 02777. Whoops. Thu Oct 04 00:12:05 2001 George Lebl * daemon/misc.c, gui/gdmXnestserver.c: also check stale lock files when looking for empty display names Wed Oct 03 23:54:49 2001 George Lebl * daemon/xdmcp.c: fix segfault on send_got_manged_forward Wed Oct 03 20:26:27 2001 George Lebl * daemon/misc.[ch], daemon/slave.[ch]: ensure the /tmp/.ICE-unix directory. Hopefully we're correct. * daemon/server.c: when running server as root, unset supplementary groups and set group to 0. So that the files X creates it creates with gid 0 as well rather then with the 'gdm' group name. Wed Sep 26 23:54:11 2001 George Lebl * daemon/gdm-net.c, gui/gdmflexiserver.c: deal with the case where MSG_NOSIGNAL is not defined by temporarily ignoring the SIGPIPE signal. Fixes #60586 Wed Sep 26 21:01:38 2001 George Lebl * daemon/verify.h, daemon/verify-*.c, daemon/slave.c, daemon/errorgui.[ch], daemon/gdm.c: Add a failsafe question dialog similar in operation to the failsafe error box, and use it in the standalone pam conv function. Kill all instances of PAM_SILENT since we can now always converse with the user. * daemon/verify-pam.c: use a global pamh again but this time a bit smarter. Make sure if we use a global one that it has all the right things set. Also set PAM_RHOST to "localhost" or the remote host if not a "console" login. Set PAM_RUSER to "gdm" (or whatever the gdm user is). I'm sure I'm messing something up again but I can't find enough docs to verify that what I'm doing is 100% correct. Not to mention that there seem to be some braindead modules out there to begin with. Mon Sep 17 07:17:32 2001 George Lebl * gui/gdmlogin.c: fix crash when quiver would happen while iconized * daemon/misc.c: include signal.h * gui/gdmlogin.c: don't go nuts on just minor version change, only tell the user to when the greeter protocol version changed. Thu Sep 13 00:20:46 2001 George Lebl * gui/gdmlogin.c: Apply patch from Ali Akcaagac to fix up the 24hr time display to not show the %p Tue Sep 11 02:34:47 2001 George Lebl * daemon/gdm.h, config/gdm.conf.in, gui/gdmconfig.(c|glade), gui/gdmlogin.c: Apply and finish a patch from Terje Rosten to add an option to force 24 hour clock on the greeter. Tue Sep 11 01:37:42 2001 George Lebl * daemon/errorgui.c: use the safe fork function * daemon/gdm.c: a doh kind of error, waitpid returns 0 to mean 'no child', not -1 as I assumed. * gui/gdmflexiserver.c: another doh!, actually whack the screen portion of the display number Mon Sep 10 20:20:59 2001 George Lebl * configure.in: raise version * daemon/gdm.[ch], daemon/auth.c, daemon/misc.[ch], daemon/display.c, daemon/server.c, daemon/slave.c, gui/gdmflexiserver.c: Implement a new scheme for the FLEXI_XNEST command. Old implementations will get ERROR 100 (I doubt there are any). This solves some security issues with the Xnest stuff. The Xnest server is now run as the user who owns the .Xauthority file, but only if that file is readable ONLY by the user and only if the user can access keys inside it. An MIT-MAGIC-COOKIE-1 must exist for the current display on which Xnest will run. This is of course true for gdm created sessions. * daemon/misc.[ch], daemon/gdm.c, daemon/server.c, daemon/slave.c, daemon/display.c: Implement a race safe fork, and improve the signal handlers to handle some more corner cases and avoid some races. Also remove the old last_killed_pid hack since it's now handled nicer. * daemon/gdm.[ch]: add a protocol Sat Sep 08 02:35:51 2001 George Lebl * daemon/verify-pam.c: OK, PAM documentation is officially on crack. Some places (the kernel.org web manual) say order should be set_cred -> open_session, but it seems that the order is open_session -> set_cred. Should fix #59977 Sat Sep 08 02:06:44 2001 George Lebl * daemon/xdmcp.c: use pclose on popen'ed FILE * Thu Sep 06 20:17:31 2001 George Lebl * daemon/gdm.c: handle error from fork when daemonizing well Thu Sep 06 15:55:20 2001 George Lebl * gui/gdmwm.c: "fix" for the toolbar deadlock problem. apparently gnome-dock code is pretty braindead and uses the bulldog technique for grabbing the pointer, grab in a tight loop until we succeed. But the it will fail until the main loop is hit so a deadlock results. Fix this by defining that function again in gdmwm with a more "maybe" correct semantics. Wed Sep 5 03:18:43 2001 Abel Cheung * config/locale.alias: Rename zh_TW.Big5 to zh_TW . Mon Sep 03 00:38:23 2001 George Lebl * gui/gdmflexiserver.c: When we run a new flexi server lock the current screen with xscreensaver. We need a nicer locker though and one that can also run gdmflexiserver. And this even for normal gnome locking. It would be nice if xscreensaver allowed a custom locker dialog. Mon Sep 3 01:34:17 EDT 2001 Trevor Curtis * gdmconfig.sgml: updated the gdmconfig document to reflect the changes in the gui, gdmconfig. Sun Sep 02 16:44:28 2001 George Lebl * daemon/gdm.h, daemon/xdmcp.c: Implement a GOT_MANAGED_FORWARD opcode. Also send MANAGED_FORWARD 3 times (1.5 sec spaced apart) or until we get a GOT_MANAGED_FORWARD. This is a compatible change to the gdm xdmcp protocol so version wasn't raised. Sat Sep 01 14:53:22 2001 George Lebl * AUTHORS: Updated trevors email Sat Sep 01 07:00:52 2001 George Lebl * daemon/xdmcp.c: the decline messages were switched still. I've been up too late Sat Sep 01 05:31:07 2001 George Lebl * Release 2.2.4.1 Sat Sep 01 05:29:31 2001 George Lebl * daemon/xdmcp.[ch], daemon/choose.c: Fix decline strings, and make the MANAGED_FORWARD work if the origin address is local. Sat Sep 01 04:15:38 2001 George Lebl * daemon/gdm.h, daemon/xdmcp.c, daemon/choose.[ch]: Change the gdm extension protocol, the MANAGED_FORWARD passes address of origin rather then hostname of self. And we now handle the message correctly. Also on DECLINE, send a descriptive english string to aid in debugging XDMCP setup. * configure.in: raise version * config/gdm.conf.in: add the DisplaysPerHost default Sat Sep 01 00:47:36 2001 George Lebl * daemon/xdmcp.c, daemon/gdm.[ch], daemon/server.c: Implement DisplaysPerHost which was documented so it should have worked in the first place * daemon/xdmcp.c, daemon/server.c, daemon/auth.c, daemon/gdm.c, daemon/choose.c, daemon/cookie.c, daemon/display.c, daemon/slave.c, gui/gdmlogin.c: fix some memleaks, none really dangerous * daemon/xdmcp.c: messages such as status information shouldn't be translated. Because they go over a wire with no specification of charset or language. * gui/gdmlogin.c: Fix broken "session don't exist wanna save new one" message * daemon/gdm.c: Make sure static display numbers are unique. and fix a possible crash in flexible server code * gui/gdmflexiserver.c: Add -a (--authenticate) command so that when using the --command option we can auth first, useful for testing. Fri Aug 31 18:21:46 2001 George Lebl * daemon/xdmcp.c: run the Willing script at most once every 3 seconds. That way we can prevent some DOS attacks. Fri Aug 31 18:12:05 2001 George Lebl * config/gdm.conf.in, daemon/gdm.[ch], daemon/xdmcp.c: Add an xdmcp/Willing script configuration option. To run a script when the system gets the QUERY command. Original patch by Matt Forrest , but heavily modified. * daemon/gdm.c: Fix checks for the chooser and greeter binaries * gui/gdmconfig.{glade,c}: Add configuration for the Willing thing Fri Aug 31 17:04:02 2001 George Lebl * gui/gdmconfig.c: Fix reading and changing servers with respect to server numbers. All server numbers are now normalized and they equal the actual row (such assumptions were made before, but were not enforced). Also fix some memory leaks. Fri Aug 31 16:34:58 2001 George Lebl * gui/gdmconfig.c: fix writing of servers to config file 2001-08-31 Abel Cheung * configure.in (ALL_LINGUAS): zh_TW.Big5 -> zh_TW Tue Aug 28 23:17:41 2001 George Lebl * gui/gdmlogin.c: s/login/username/ one more time, and in XDMCP mode call it "Disconnect" not "Quit", but in flexi mode, it should still be "Quit". Tue Aug 28 19:23:34 2001 George Lebl * gdm.spec.in: redo restart logic to be a lot smarter and not hang on leftover fifo's Tue Aug 28 17:37:12 2001 George Lebl * Release 2.2.4.0 2001-08-27 Abel Cheung * daemon/filecheck.c (gdm_file_check): make the meaning of a syslog string a bit clearer. (hope not in string freeze now) Sun Aug 26 01:45:33 2001 George Lebl * daemon/auth.c, daemon/cookie.c: Minor cleanup and paranoia * daemon/gdm-net.[ch], daemon/gdm.[ch], daemon/server.c, daemon/slave.[ch]: The daemon now keeps track of the cookies in text form at least so that it can do authentication of it's own. FLEXI_XSERVER now requires an "authenticated" socket connection using AUTH_LOCAL (a new opcode). This way only those users that are logged in from gdm on a console can start new console/fullscreen flexi servers. I mean for remote people it wouldn't work anyway. * gui/gdmflexiserver.c: implement AUTH_LOCAL authentication scheme by reading from the .Xauthority file and looking for FamilyLocal entries from gdm. (or those looking like it). Tests all candidates and find the one that works for gdm. This could cause some gdm_info messages in the log, but I suppose that's ok, vast majority of the time there will only be one that is even tried. Also added a debug flag and get xauth filename from XauFileName rather then my own hand created method. Sat Aug 25 21:35:29 2001 George Lebl * daemon/display.c, daemon/gdm.c: don't use an extra printf, if this was user supplied it could have been a security hole, like this it was just one extra allocation. * gui/gdmXnestchooser.c, gui/gdmchooser.c: cast address argument to connect to avoid a warning. Sat Aug 25 10:06:39 2001 George Lebl * daemon/gdm.c, daemon/misc.c: Fix wiping of pid file on "gdm already exists" message * daemon/gdm.c, daemon/gdm-net.c: Don't unlink files on close. Instead only unlink things on final_cleanup. This fixes the disappearing socket trick. * gui/gdmflexiserver.c: When not local refuse to run. This is still not perfect. But I don't suppose we'll get much better. Unfortunately a new string. The translators will beat me up. Thu Aug 23 12:03:41 2001 George Lebl * configure.in: add gdmopen and gdkaskpass to the summary Thu Aug 23 10:10:33 2001 George Lebl * config/gdm.conf.in: Update for the server stuff * daemon/display.c, daemon/errorgui.c, daemon/misc.c, daemon/slave.c: close fds no longer needed. Close all needed things after forking, Some other related cleanup as well. * gui/gdmlogin.c: A minor UI cleanup, make the entry at least 250 pixels wide, in an attempt t make the window not change size all the time * gui/gdmphotosetup.c: Don't require the browser to be on. Just warn the user that the browser is off, but still let him pick the face. Wed Aug 22 23:23:21 2001 George Lebl * config/XKeepsCrashing, daemon/misc.c: Also test for whiptail if we can't find dialog nor gdialog * daemon/misc.[ch], daemon/gdm.c: Make sure things that run dialog (and could thus run gdialog) don't have DISPLAY set Wed Aug 22 23:01:59 2001 George Lebl * configure.in, Makefile.am, utils/gdmopen.c, utils/gdmaskpass.c: Add two new small sbin utils. gdmopen is like open (based on it) but better suited for gdm. Exitcode is returned so no temp files are needed. Process is cleaned up on a signal, the new vt is deallocated after use. And unlike openvt this thing actually waits for the child. Gdmaskpass just asks for the root password, for use in the XKeepsCrashing script. Both of these things will only run as root as I'm too paranoid and it doesn't make sense for them to run otherwise for gdm anyway. * configure.in: Fix sbin expansion. * daemon/gdm.c, daemon/misc.[ch], daemon/slave.c, daemon/server.c: Use gdmopen to run dialog and add helper functions for doing this. * daemon/gdm.h, daemon/slave.c, daemon/server.[ch]: When a server is busy, ask the user if we want to run it on a new display number or retry. * daemon/gdm.c, daemon/misc.c, daemon/slave.c: Make sure to whack any extra helper processes we launch when we are killed so that we don't leave things like 'dialog' processes around * daemon/gdm.c, config/XKeepsCrashing: Use gdmaskpass, ask if the user wants to view X logs if X is crashing. And use gdmopen in the script and correctly abort with exit 32. Also make it not use the ugly tempfile stuff (Though a tempfile is still given to the script for now) * gdm.spec.in: raise epoch to 1, people abuse this field, and if they do abuse it again and raise it beyond 1, I'll just max it out since it makes package upgrading not work. * daemon/slave.c, daemon/verify-(pam|crypt|shadow).c: add /sbin/nologin as a thing to test for for disabled logins in addition to /bin/false and /bin/true (it worked, but this adds a nicer message) * daemon/xdmcp.c: fix a warning. * gui/gdmflexiserver.desktop.in: kill TryExec here Tue Aug 21 04:42:05 2001 George Lebl * gui/gdmconfig.[ch]: Finish the editing of the server definitions. BTW, this is incredibly evil and ugly code and should be cleaned up one of these days. I feel sort of dirty for doing it :) Tue Aug 21 03:03:49 2001 George Lebl * configure.in: raise version number * daemon/display.c, daemon/gdm.[ch], daemon/server.[ch], daemon/slave.c, daemon/xdmcp.c: Send back info about current user and get the VT number on linux. Implement a command in the control protocol for getting a list of console logins * gui/gdmflexiserver.c: add an option for sending arbitrary commands to gdm for testing, and remove debugging output Mon Aug 20 01:10:24 2001 George Lebl * gui/gdmconfig.c: finish editing of static servers and a bit of work on server definitions editing. Sun Aug 19 14:47:09 2001 George Lebl * gui/gdmconfig.(c|glade): work more on server editing, now fills out the static server edit dialog correctly 2001-08-19 Jesus Bravo Alvarez * config/locale.alias, gui/gdmlanguages.c, gui/gdmconfig.glade, gui/gdmconfig-strings.c: Added Galician (gl_ES) and Brazilian Portuguese (pt_BR) entries. Sat Aug 18 18:17:44 2001 George Lebl * daemon/gdm.[ch]: add some code for choosable servers (not implemented yet * daemon/misc.c: search our own displays for used numbers first * daemon/gdm.c, daemon/server.c, daemon/slave.c: Finish implementing choosing of flexi servers * daemon/slave.c, daemon/verify{,-pam,-crypt,-shadow}.[ch]: Correctly implement credential setting and some pam related fixes * gui/gdmconfig.(c|h|glade): Start on making configuration for all the new stuff including the server definitions, not finished yet. * gui/gdmflexiserver.c: if there are multiple flexible servers, give the user a choice * gui/gdmflexiserver-xnest.desktop.in: only show if Xnest exists Fri Aug 17 23:56:14 2001 George Lebl * config/gdm.conf.in: Add a standard server definition and the Xnest key * daemon/gdm.[ch], daemon/server.c: Add server definition reading and using Fri Aug 17 04:42:34 2001 George Lebl * daemon/auth.c, daemon/display.c, daemon/gdm-net.[ch], daemon/gdm.[ch], daemon/server.[ch], daemon/slave.[ch]: Finish implementation of flexible servers and lots of related cleanup and restructuring that was related. * daemon/server.c: close all fd's when running the X server. * gui/gdmflexiserver.c: implement the updated protocol and implement all the error codes * gui/Makefile.am, gui/gdmflexiserver(|-xnest).desktop.in: Add launchers for new flexi server and new xnest flexiserver. * gui/gdmlogin.c, daemon/slave.c: On flexi servers add the "Quit" menu thingie, since it's just as useful as in xdmcp case here. It should probably be a close button, not a Quit button. I dunno. Thu Aug 16 01:29:05 2001 George Lebl * configure.in, gui/gdmXnestchooser.c, gui/Makefile.am: Add a proggie for starting an Xnest chooser session. * daemon/gdm-net.c, daemon/gdm.[ch], gui/Makefile.am, gui/gdmflexiserver.c: Make the protocol actually work right and add a small proggie for starting new flexi X servers. Wed Aug 15 13:14:11 2001 George Lebl * gui/gdmphotosetup.c: When writing to .gnome/photo, first unlink the file Wed Aug 15 01:54:02 2001 George Lebl * config/gdm.conf.in: Added StandardXServer and FlexibleXServers and font includes a ,*. Also Xservers use the "Standard" definition, which all probably doesn't work * daemon/Makefile.am, daemon/gdm-net.[ch]: Move the fifo stuff here and generalize it and add an interface for unix sockets * daemon/gdm.[ch]: Add support for the user protocol using unix domain sockets * daemon/gdm.[ch], daemon/auth.c, daemon/display.c, daemon/server.c, daemon/slave.c: Do some Standard and Flexible/Xnest servers dance. Mostly doesn't work now still. * daemon/misc.c: implement an incredibly evil function to figure out a free X display number Mon Aug 13 13:13:25 2001 George Lebl * Release 2.2.3.2 Sun Aug 12 11:44:02 2001 George Lebl * gui/gdmlogin.c: use ve_gnome_dialog_grab_focus Fri Aug 10 22:56:21 2001 George Lebl * gui/gdmlogin.c: use selected state for titlebar when window focused, normal when otherwise, get rid of handle crack and the frame to make titlebar slimer. Fri Aug 10 11:51:20 2001 George Lebl * Apply the following patch and massage it a bit to be more sane Mon Jul 30 14:29:00 2001 Heeten Choxi * daemon/gdm.h, gui/gdmlogin.c: created new Opcode for communication between daemon and greeter called GDM_ERRBOX. * daemon/verify-pam.c, daemon/verify-crypt.c, daemon/verify-shadow.c: Use GDM_ERRBOX to send error feedback to greeter when logins fail. (As suggested in GNOME Usability Study Report :: Logging In) * gui/gdmlogin.c: Added an "Ok" button that can be pushed to continue with login. (As suggested in GNOME Usability Report) Sat Aug 04 19:47:31 2001 George Lebl * daemon/slave.c, gui/gdmchooser.c, gui/gdmlogin.c: In the rest of syslog usage use the "%s" format string to print a string Sat Aug 04 19:36:42 2001 George Lebl * config/Gnome.in: run the scripts from /etc/X11/xinit/xinitrc.d which makes some more things work right Fri Aug 3 12:51:58 2001 Owen Taylor * daemon/slave.c (gdm_slave_exec_script): Set RUNNING_UNDER_GDM - we might want to know this when we, for instance, running the display init script. 2001-08-03 Kjartan Maraas * config/gdm.conf.in: Added Norwegian translations. 2001-08-02 Havoc Pennington * gui/gdmlogin.c (gdm_login_session_init): add config option to not show the Last session item, because it's confusing to have in addition to Default, and interacts badly with switchdesk and KDM/xdm. Need a better solution, such as a unified session system across kdm/gdm. Lang-setting is screwed up too (e.g. /etc/sysconfig/i18n overrides it, and does not work for non-GNOME sessions). 2001-08-02 Havoc Pennington * daemon/gdm.c (gdm_config_parse): fix format * daemon/server.c (display_busy): fix format * daemon/verify-crypt.c (gdm_verify_user): don't put login in syslog, because people accidentally type their password in this field. * daemon/verify-shadow.c (gdm_verify_user): same * daemon/verify-pam.c (gdm_verify_user): same * daemon/misc.c: syslog takes a format string, don't pass it data we got from the user. Reported by Cyril Diakhate Thu Aug 2 03:10:23 2001 Abel Cheung * daemon/display.c: GdmDisplay->name should be a %s, not %d (I think) Tue Jul 24 20:25:00 2001 George Lebl * daemon/xdmcp.c, daemon/gdm.h: embrace and extend xdmcp. Add an opcode for a successful forwarded session so that the original manager can discard the indirect easily and fix some relevant bugs. Still not sure about the design, will make it more robust later. Tue Jul 24 05:21:34 2001 George Lebl * gdm.spec.in: Don't link Give/TakeConsole as those are stupid. fixes bad ownership of /dev/console (which is handled by pam anyway!) and fixes sessreg related bugs as well. Mon Jul 23 12:42:29 2001 George Lebl * gui/gdmlogin.c: s/Halt/Shut down/ and don't ask for saving failsafe sessions. Wed Jul 11 12:55:36 2001 George Lebl * daemon/verify-pam.c, daemon/verify-crypt.c: when user doesn't exist ask for a password anyway. Also some sanity fixing all around. Mon Jul 9 09:20:49 2001 Owen Taylor * config/locale.alias: Fix typo - traditional, not traditonal. Mon Jul 09 00:14:02 2001 George Lebl * Makefile.am, autogen.sh, configure.in, daemon/Makefile.am, daemon/auth.c, daemon/gdm.c, daemon/gdm.h, daemon/misc.c, daemon/server.c, daemon/slave.c, daemon/verify-crypt.c, daemon/verify-pam.c, daemon/verify-shadow.c, daemon/xdmcp.c, gui/Makefile.am, gui/gdmchooser.c, gui/gdmconfig.c, gui/gdmlogin.c, gui/gdmphotosetup.c, gui/misc.[ch]: Use vicious-extensions module rather then local routines * gui/icon-entry-hack.[ch]: remove, in vicious-extensions now Sun Jul 08 16:38:02 2001 George Lebl * Release 2.2.3.1 * config/locale.alias, gui/gdmlanguages.c: added simplified and traditional chinese Fri Jul 06 04:25:39 2001 George Lebl * daemon/slave.c: Fix fd leak after dup2 Fri Jul 06 01:55:27 2001 George Lebl * daemon/gdm.c: Correct checks for chooser greeter binaries, and fix Suspend feature * daemon/gdm.[ch], daemon/misc.[ch], gui/misc.[ch], daemon/server.c, daemon/slave.c, gui/gdmconfig.c, gui/gdmlogin.c: Use popt for splitting argv's, this makes things understand quotes which are apparently already used in places (eek). This underlines the need for the vicious-extensions-module, I just cut and paste too much code. Watch for this new cvs module soon. * daemon/slave.c: fix code for sessions with spaces in them Thu Jul 05 23:45:45 2001 George Lebl * daemon/gdm.c: open 0,1,2 with correct rw flag * daemon/slave.c: Ryan Murray pointed me to some of my braindamage which was causing gdm to fail in horrible ways on debian. Get rid of the greeter FILE * which caused us to close fd 0 at one point which then caused us to prematurely close our X connection. We just use stdin now, which makes more sense. Thu Jul 05 18:50:23 2001 George Lebl * gdm.spec.in: remove the connection to RedHat's default init as that just does some background setting but we already set background ourselves in a nicer way and this just resulted in a slowdown and a flash * daemon/server.c, daemon/slave.c: be more thorough in closing displays, never include an empty xioerror handler, and normally xio errors do a DISPLAY_REMANAGE and only on server startup do they do XFAILED. Also before and after whacking clients grab/ungrab the server as xdm does. * daemon/xdmcp.c: fix warnings Thu Jul 05 13:17:53 2001 George Lebl * gui/gdmlogin.c: add kill_thingies to atexit to make sure that the background thing gets killed on X errors Thu Jul 05 03:29:01 2001 George Lebl * configure.in: raise version to 2.2.3.1 * gdm.spec.in: do a "soft restart" in %post * gui/gdmchooser.c, gui/gdmlogin.c: warning fixes * daemon/misc.h, daemon/slave.c, daemon/xdmcp.c, daemon/choose.c, daemon/display.c, daemon/gdm.c,saemon/server.c: fix printf style warnings * daemon/choose.[ch], display/gdm.[ch], daemon/slave.c: change the fifo protocol to be text based so that we can also control from scripts like the .spec file. Also store all the different pids in the daemon so that we can whack all the different processes the slave starts if it crashes. Also add a soft restart opcode. Wed Jul 04 20:58:31 2001 George Lebl * gdm-safe-restart.in, Makefile.am, configure.in, daemon/choose.[ch], daemon/gdm.[ch], daemon/slave.c, daemon/xdmcp.c, gui/gdmconfig.c: The fifo is not only for chooser now, it is a general protocol to control some gdm things, more to come. It's writing direct binary structs, but then again this is only a fifo and you should only be able to write to it from gdm and root account on the same machine. The daemon now knows when a user is logged in on a display and there is a safe restart option with SIGUSR1 to the daemon. Also the daemon knows the x pids now and can whack the X server when the slave crashes, so that we don't get busy hanging server. * daemon/misc.c: fails are LOG_CRIT not LOG_ERR (I hope this is correct) Tue Jul 03 13:18:18 2001 George Lebl * Makefile.am, config/Makefile.am: prepend $DESTDIR to $PAM_PREFIX Tue Jul 03 03:33:13 2001 George Lebl * daemon/gdm.h, config/gdm.conf.in: Made HonorIndirect default to true now Tue Jul 03 02:18:08 2001 George Lebl * Release 2.2.3 Tue Jul 03 02:14:41 2001 George Lebl * daemon/gdm.h: Hosts,Broadcast were in the wrong section * daemon/xdmcp.c: check for current displays BEFORE we check the number of pending and allocate a new display, this way we'll remove it if it itself has been pending, also don't just dispose, the display may be already managed, in which case we want to unmanage it to avoid a process leak. * gdm.spec.in: fix pam prefix stuff and file listing * config/Makefile.am: fix pam installation stuff Mon Jul 02 14:36:57 2001 George Lebl * gui/gdmlogin.c: In remote (xdmcp) mode, allow killing of the login window by a "Quit" on the menubar. I will make this string better when I'm not in string freeze mode again. It needs to be made better on the chooser as well. Mon Jul 02 14:11:38 2001 George Lebl * daemon/choose.c, daemon/gdm.c: do not count chooser as pending indirect displays, they are not. Only count them when the host has been chosen, so this allows as many choosers as login screens. When a new host is chosen and the limit has been reached, whack the oldest pending indirect display. Makes choosers much easier to manage and use, and makes more sense. * gui/gdmchooser.c: set the background color if any background is set Mon Jul 02 12:42:58 2001 George Lebl * daemon/xdmcp.c: remove sources for the watches during xdmcp close * configure.in: raise version to 2.2.3 Sun Jul 01 21:48:30 2001 George Lebl * configure.in: add ja.po and zh_TW.Big5 as those work again apparently Sun Jul 01 15:08:51 2001 George Lebl * daemon/xdmcp.c, daemon/choose.[ch]: use correct prototypes and stop casting watch functions Sun Jul 01 05:25:34 2001 George Lebl * gui/gdmchooser.c: Another example of why we want compile time typesafety. The GIOFunc was casted in the watch adding since it had a different prototype, and I was getting somewhat random return values. Which meant that the chooser would stop working at points completely. Eeeek! So change to correct prototype to make the chooser happy. Sun Jul 01 04:50:39 2001 George Lebl * gui/gdmchooser.c: scan the hosts 3 times in 2 second intervals like xdm chooser (and don't scan already found hosts) also when we get explicit localhost reply get the local hostname so that we get only entry for the local host. Sun Jul 01 03:53:08 2001 George Lebl * gui/gdmlogin.c: actually get the configurator key, allows configuration yet again from the greeter. Fri Jun 29 19:10:48 2001 George Lebl * daemon/verify-pam.c: Apply patch from Nalin Dahyabhai to first zero out the reply array Fri Jun 29 02:32:01 2001 George Lebl * daemon/gdm.c: fixes and cleanups to the error display code. * daemon/server.c: remove O_APPEND from log file openning since it was being overridden by O_TRUNC anyway. On crash see if the logfile looks like display being busy. If it does, tell the user so. This prevents this case from looking like crashes, and is more informative. Perhaps we should try starting on the first free display. That would be good to investigate in the future. Fri Jun 29 01:22:20 2001 George Lebl * gdm.spec.in: Apply cleanup patch from drscott12@hotmail.com (Dean Scott) Thu Jun 28 18:48:56 2001 George Lebl * config/gdm.conf.in, gui/gdmconfig.(c|glade), gui/gdmchooser.c: Add two keys Broadcast and Hosts to the chooser configuration to allow more fine grained control as to what appears in the chooser. And to allow listing of hosts not reachable by broadcast. * daemon/choose.c, daemon/gdm.[ch], daemon/slave.c, daemon/xdmcp.c: Fix a race with the daemon not getting the chooser response in time. Also move the chooser page from system setup to expert * daemon/xdmcp.c: get all local interface addresses and use those for forward query in case we see only loopback as our address. This is useful if you do an indirect query to the local host and choose a remote server. xdm screws this case up, so we have one up on xdm here. * daemon/gdmlogin.c, daemon/gdmchooser.c, daemon/gdmwm.c: Fix some gdmwm issues. In the browser window allow Ctrl-F after selecting a face to finger that user and display the result, useful to check if you have new mail or whatnot. Also strip excluded users before checking to allow spaces in the Exclude list. 2001-06-28 Kjartan Maraas * gui/gdmconfig.glade: Added nn_NO. Thu Jun 28 13:44:40 2001 George Lebl * config/Gnome.in, config/Xsession.in: use /bin/sh and not /bin/bash * gui/gdmconfig.c: fix crash when reading long session files * daemon/slave.c: s/editing/editing/ Mon Jun 25 02:43:19 2001 George Lebl * configure.in: remove the POTFILES sed rule as that makes autogen.sh whack out Mon Jun 25 01:10:04 2001 George Lebl * gui/gdmphotosetup.c, daemon/slave.c: Get a picture from the config file. when the picture is in a known pixmap directory, don't check it since it's a system file. Makes it possible to select larger system files which will be then scaled down, but the user can't point it to a malicious picture. Sun Jun 24 23:53:34 EDT 2001 Trevor Curtis * edited gdmconfig.sgml to make editing it a little easier. Sun Jun 24 14:55:29 2001 George Lebl * config/gdm.conf.in, daemon/gdm.[ch], daemon/slave.c, gui/gdmconfig.(c|glade): Add daemon/AlwaysRestartServer option so that the slave can just kill and restart the server instead of re-initing it. Sun Jun 24 14:07:47 2001 George Lebl * daemon/slave.c: when ping times out, do proper session stopping first rather then just a straight kill Sun Jun 24 13:45:59 2001 George Lebl * config/gdm.conf.in, daemon/gdm.[ch], daemon/slave.c, gui/gdmconfig.(c|glade), gui/gdmlogin.c: Add suspend command support although it is off by default (empty command) Also do checks for commands and don't show their respective menu items if the commands are not present or empty * config/gdm.conf.in, daemon/gdm.[ch], daemon/slave.c, daemon/verify-pam.c, daemon/xdmcp.c, gui/gdmconfig.(c|glade), gui/gdmlogin.c: Apply and massage a patch from Michel Dagenais to add optional support for remote auto (timed) login, and also to use enriched strings for the timed and automatic login names. This is to make the life of sysadmins easier if they're managing a large set of x terminals. Sat Jun 23 03:17:03 2001 George Lebl * gdm.spec.in, Makefile.am: some pam related fixage Fri Jun 22 21:02:21 2001 George Lebl * gui/gdmchooser.c: actually implement ScanTime Fri Jun 22 19:13:05 2001 George Lebl * gui/gdmconfig.(c|glade): add toggling of builtin sessions (failsafes, chooser) Fri Jun 22 18:53:14 2001 George Lebl * daemon/xdmcp.c: fix up the forward query sending/handling, fix some wrong freeing too, and fix the hosts_ctl warning by including a prototype. We finally have chooser stuff all working! Yay! * daemon/xdmcp.c, gui/gdmchooser.c: we want to be very careful in what types we pass xdmcp functions, the header does not include arguments in the prototypes, so usage is snarfed from xdm Fri Jun 22 15:50:00 2001 George Lebl * gui/gdmchooser.c, gui/gdmwm.[ch], gui/gdmlogin.c: unify the xinerama stuff in gdmwm * daemon/xdmcp.c: fix warning Fri Jun 22 15:26:01 2001 George Lebl * daemon/Makefile.am, daemon/choose.[ch], daemon/xdmcp.c, daemon/gdm.h, daemon/display.c: Rework of how choosing works, should theoretically all work and be complete, but it doesn't work currently 2001-06-20 Kjartan Maraas * gui/gdmlanguages.c: Added here too. * config/locale.alias: Added entry for nynorsk. Sat Jun 16 05:24:39 2001 George Lebl * daemon/slave.c: fix warning Sat Jun 16 04:43:33 2001 George Lebl * daemon/choose.c, daemon/slave.c, daemon/xdmcp.c, daemon/gdm.h: Make choosing somewhat work. Now always works if local host is chosen, but otherwise seems to have issues. * gui/gdmchooser.c: do version checking when under gdm, and display a dialog after max indirect wait time Fri Jun 15 17:27:38 2001 George Lebl * gui/gdmchooser.c: minor cleanups and i18n fixes * daemon/slave.c, daemon/gdm.h, daemon/xdmcp.c, daemon/choose.c: a bunch of xdmcp related fixes, and actually run the greeter on indirect queries, though it still doesn't actually choose the host, but oh well. * daemon/slave.c: fix GETFD argument when doing SETFD on the pipe Wed Jun 13 22:22:55 2001 George Lebl * daemon/slave.c: on xterm failsafe session, instead of doing XSetInputFocus, just warp the pointer to the first window's center. That works just as well and allows pointer root focus to still work Tue Jun 12 19:26:19 2001 George Lebl * daemon/slave.c: when running scripts always set the right USER/LOGNAME etc... Thanks to Fernando Pablo Lopez-Lezcano for pointing this out. Tue Jun 12 18:14:32 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c: do version checking and allow restarting gdm if possible, or at least rebooting and telling the user what is happening Sun Jun 10 17:13:47 2001 George Lebl * configure.in: fix CONSOLE_HELPER test * gui/gdmwm.c: follow the motif deco hint a bit, and do better job of placement, and also do a hack to correctly place gkrellm. Wed Jun 06 16:51:34 2001 George Lebl * config/XKeepsCrashing, daemon/gdm.c: try gdialog if we can't find standard dialog, that might work as well. Wed Jun 06 06:03:41 2001 George Lebl * Makefile.am: add -f to mv Wed Jun 06 00:59:33 2001 George Lebl * configure.in, gui/Makefile.am: do the conditional chooser build in a kosher way that actually works Wed Jun 06 00:41:23 2001 George Lebl * configure.in, gui/Makefile.am: when compiling without xdmcp don't compile the chooser * gui/Makefile.am, gui/gdmchooser.c: Use gdmwm for window management and query xinerama as well. Also do manage on doubleclick * daemon/choose.c, daemon/xdmcp.c: Some obvious fixes, note that indirect lookup will NOT return an expired Indirect thingie. Still need to figure out where does the chooser plug in. * gui/gdmlogin.c, gui/gdmchooser.c: run gdmwm only when not debugging * daemon/slave.c, daemon/gdm.c, daemon/errorgui.[ch], daemon/Makefile.am: Deal with the hanging bugs by doing an exec before running the gtk gui. Also make the gui use GNOME to be prettier. I'm less and less sure I like this hack and it might move into a separate binary, though this way it is faster as gdm is already paged in. This also fixes some i18n problems with the error dialog. Tue Jun 05 21:27:52 2001 George Lebl * daemon/slave.c: fix hanging related to centering of dialogs. Mon Jun 04 20:45:54 2001 George Lebl * Makefile.am, configure.in, gdmconfig-security(.in), gdm.spec.in: cleaned up the pam stuff ala gnome-utils * configure.in, accconfig.h, daemon/xdmcp.[ch], daemon/gdm.c, gui/gdmconfig.(c|glade): Detect the xdmcp libs and compile without xdmcp support if not found and allow selecting this option ala the xinerama one. The configurator will disable the xdmcp options if they aren't compiled in * daemon/gdm.c, gui/gdmlogin.c, gui/gdmconfig.(c|glade): Apparently 5 seconds is useful for timed login so lower the minimum from 10 to 5 Sun Jun 03 04:55:49 2001 George Lebl * daemon/gdm.h: remove unused opcode (GDM_STOP) * daemon/slave.c, gui/gdmlogin.c: On GDM_QUIT the login will make sure to quickly quit and in the slave we no longer kill it to avoid a possible race, also try to avoid other races todo with killing things. Also fclose the greeter channel to avoid a leak. * daemon/gdm.h, daemon/slave.c: get the size of the screen from xinerama and center error dialog stuff. Sat Jun 02 03:41:06 2001 George Lebl * Release 2.2.2.1 Sat Jun 02 02:14:37 2001 George Lebl * daemon/gdm.h: use 64 for the code for X failing and not 1 Sat Jun 02 01:58:15 2001 George Lebl * configure.in: bump version * auth.c, xdmcp.c, cookie.c: fix clobering of cookies with zeros, only reget hostname on local displays, correctly setup authentication for local xdmcp case. reset umask to sane gdm value after setting the use auth * gdm.c: cleanup, possible fd leak if there was a stale pid file * server.c: handle memory errors in cookie setup * slave.c: from xdm stole the idea of a bogus first client which apparently fixes some things. Also actually close initial display on xdmcp session end. Also make sure language is at least "C" if we can't find any other language * slave.c: SECURITY! when re-initializing the display for another go, first bake new cookies Fri Jun 01 17:51:52 2001 George Lebl * daemon/slave.c: when sending GDM_QUIT to the greeter, first make sure greet is FALSE to avoid a race, this fixes the bugs where people couldn't log in. Also added a bit of debugging. Also fixed a problem where on a failed execution of a script one would get two slaves. 2001-05-30 Havoc Pennington * daemon/gdm.h: add config keys for show/disable the sessions that are added in addition to those in /etc/X11/gdm/Sessions, so that admins can fully control the session list * config/gdm.conf.in: add abovementioned config keys * gui/gdmlogin.c (gdm_login_parse_config): honor these settings Thu May 31 03:17:32 2001 George Lebl * daemon/gdm.c: set euid/egid to 0 before verify check * daemon/slave.c: set euid/egid to 0 at a bunch of places just to make sure that's how they're set. When children want to exit they shouldn't use the slave_exit function as that's dangerous to the slave's health. Instead use a new function for this which doesn't do slave specific cleanup. Also fix segfaults on startup. * daemon/verify-pam.c: the credential setting is supposed to be done after openning a session. Closing of a session is done silently as well, just for good measure as wel don't have anything to talk to anymore anyway * daemon/slave.c, daemon/server.c: when re-initing ignore X errors and do not reopen the display. When openning the display the first time, don't try so hard for a local display and instead wipe slave and try again. Wed May 30 21:43:21 2001 George Lebl * gui/gdmlogin.c: make iconify button nicer by making it smaller and adding more border around it Wed May 30 19:17:46 2001 George Lebl * gui/gdmphotosetup.c: fix permission setting, and open the source before dest. Though a bit pointless since jrb is apparently rewriting the whole bit :) Wed May 30 16:19:39 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, gui/gdmconfig.(c|glade): Add a PingInterval xdmcp thingie which is a combination of the xdm PingInterval and PingTimeout. 2001-05-30 Havoc Pennington * configure.in (ALL_LINGUAS): remove ja.po and zh_TW.Big5.po. ja.po contains invalid euc-jp. zh_TW.Big5.po causes gettext to get upset but iconv likes it OK, so I don't know. Wed May 30 04:00:33 2001 George Lebl * daemon/gdm.h, daemon/slave.c, gui/gdmlogin.c: Save session in the gdm options file if requested from the chooser. This is done since it's no longer saved in gsm which is the sane behaviour actually. Wed May 30 02:13:53 2001 George Lebl * daemon/slave.c: run gnome-session with --failsafe in failsafe gnome mode Tue May 29 15:47:16 2001 George Lebl * config/locale.alias: Add british/american english language choices * gui/gdmlanguages.c: Add the POSIX/C locale if it doesn't exist * gui/gdmlogin.c: Make the minimize button like an actual minimize button instead of an arrow. It's a black line in the bottom of the button. Also turned on the relief again as it looks better like that now I think. Tue May 29 00:38:18 2001 George Lebl * gui/gdmconfig.c, gui/gdmlogin.c: ignore .rpmorig files as well, and some cosmetic code changes Mon May 28 02:24:43 2001 George Lebl * daemon/gdm.c: Fixed a stupid mistake cased by a missed warning, not really that crucial since the default config has no failsafe X servers, because AFAIK, no such beast exists yet * daemon/gdm.c, daemon/misc.[ch], daemon/slave.c: In case the language doesn't have '_' as the third character it's a communist and must be executed. Or perhaps we should just read the alias file and translate it. This should really only happen if sysadmin and screwed up or the user has a very old setting from pre 2.2 days Sun May 27 23:39:19 2001 George Lebl * config/PostSession, config/PreSession: Don't change utmp since there is no "terminal", debian bug #90981 Thu May 24 16:05:32 2001 George Lebl * Release 2.2.2 Thu May 24 15:32:54 2001 George Lebl * configure.in, gdm-restart.in, Makefile.am: a script to restart the gdm daemon, in sbin for root pleasure only * gdm.spec.in: redo the file list to be hopefully sane * daemon/gdm.c: actually read in GdmConfigurator * gui/gdmconfig.c: show help from the help button * gui/gdmlogin.c, gui/gdmwm.[ch]: add some short-circuit functions for window moving, bypassing the window management foo. This makes quiver nice again. Thu May 24 13:22:49 2001 George Lebl * configure.in: add ms (Bahasa Melayu), the official Microsoft locale, for translations by Khairulanuar Abd Majid Thu May 24 12:55:05 2001 George Lebl * configure.in, omf-install/Makefile.am, Makefile.am: Set up the documentation/omf build stuff. Mon May 21 11:31:35 2001 George Lebl * gui/gdmchooser.c, gui/gdmconfig.c, gui/Makefile.am: Eeek, we were using the gnome_datadir_file function so when gdm was installed in a different prefix we didn't do too well. Make a define for our own installation and first look there. Sun May 20 19:32:52 2001 George Lebl * daemon/slave.c, daemon/gdm.c, gui/gdmphotosetup.c: Fix some spelling errors and gramatical weirdness as pointed out by Christian Rose Fri May 18 04:17:00 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, config/gdm.conf.in, gui/gdmconfig.(c|glade): Add a config option for a failsafe X server which is empty by default Fri May 18 00:16:58 2001 George Lebl * config/Makefile.am: don't overwrite gnomerc on install, that's bad juju Thu May 17 15:44:08 2001 George Lebl * config/Makefile.am: install factory settings, and for most settings files, overwrite the current and save the current in .orig files. this way changes will propagate. Don't do this for gdm.conf however, this is the most likely to be modified by the user. * gui/Makefile.am, gui/gdmphotosetip.desktop.in, gui/gdmphotosetup.c: a small proggie to setup the face for a user. Should at some point become a capplet and include all the gdm user settings * gui/gdmconfig.(c|h|glade): fix some segfaults, include a factory settings reverting, and move the exclude users to the face browser as that's where it belongs Thu May 17 03:38:17 2001 George Lebl * gui/gdmlogin.c: fix segfault in the login entry checking code Thu May 17 02:52:38 2001 George Lebl * Makefile.am, confgiure.in, debian/Default.debian, config/Makefile.am: Don't put the debian stuff into the tarball, and remove it from the config, this is here for people wanting to live off the bleeding edge of 2.0-beta4 and run a stable gdm. Hopefully the gdm 2.2.x packages will show up in mainstream debian soon (they don't seem to be there now). Plus some make distcheck fixes Thu May 17 01:27:15 2001 George Lebl * config/XKeepsCrashing, config/gdm.conf.in, daemon/gdm.[ch], daemon/server.c, config/Makefile.am, daemon/slave.c: Added a script to run when X keeps crashing, this will run an X configuration tool (after asking for root password of course), only works on systems with /usr/bin/open (linux only I suppose) and XFree86 for now. * gui/Makefile,am: fix make dist issues * gui/gdmconfig.(c|glade): fix some issues, move debugging into it's own page and add the keeps crashing options from above Wed May 16 15:10:07 2001 Jonathan Blandford * gui/gdmlogin.c (update_clock): Have clock update only once a minute. * gui/gdmlogin.c (gdm_screen_init): add missing declaration to make it compile. Tue May 15 17:36:49 2001 George Lebl * gui/gdmlogin.c: Apply patch from Remi@Cohen-Scali.com (Rémi Cohen-Scali) to fix #54723. The sessions were not strduped when put into the global list. Bad bad gdm :) * daemon/gdm.c, daemon/slave.c: when xdmcp is disabled and no servers exist and we can find /usr/bin/X11/X, this would mean that the user is an idiot and deleted all servers. So add one for him and give him a warning before letting him log in and fix things. also graphically complain about not being able to start the greeter. * daemon/gdm.c, gui/gdmlogin.c: Don't abort on recoverable errors that wouldn't be security problems. Also allow things to be run without a config file, using the defaults * daemon/gdm.h, gui/gdmlogin.c: fix the default for the welcome string, overcoming gnome-config idiocy * gui/gdmconfig.c: Warn user if he removed all servers. Tue May 15 15:28:57 2001 George Lebl * gui/gdmlogin.c, daemon/slave.c: Don't abort when a binary isn't found, instead try running the default binary and always give graphical errors. Since we allow graphical hosification, we need to allow graphical unhosification as well, and thus gdm must be able to run in some default mode under adverse conditions. It is still possible to utterly hose the system, but less so now. * gui/gdmconfig.c: Interactively check commands, directories and files for existence and display them in red if they don't. This way the user has immediate feedback that he is going to hose stuff without having to actually try the hosing. * configure.in: Fix the standard path defines Tue May 15 02:39:23 2001 George Lebl * gui/gdmwm.c: fix focusing windows on enter notify Tue May 15 02:14:23 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c: gdmlogin cannot fetch user pictures. SO there is now an interface so that the slave can check/fetch the pictures for gdmlogin. Unfortunately imlib is braindead so the way we pass the pictures is to write them to a temp file. So this is even less friendly on large systems. Paranoia is high however so there should not be a way to exploit it. Unless you find a pic that kills imlib in which case you can run a dos, so this is not an option for all systems anyway. Mon May 14 23:54:18 2001 George Lebl * gui/gdmlogin.c: Browser fixes. Do smarter sizing of the browser window, align logo to the right to make it look nicer, fix warning when logo image missing, exclude root from browser if he wouldn't be allowed in anyway, fix reading of users, rewind the pw entry * config/gdm.conf.in: change default locale from english to en_US, since not everything can properly dealias these things unfortunately Mon May 14 22:42:51 2001 George Lebl * daemon/slave.c: setup the environment better for the greeter and setup the actual HOME if it exists etc... This makes it nicer for BackgroundProgram's. so if say the user wants to run a gnome program (which require a writable home dir) he can just create /home/gdm (or whatever it's in /etc/passwd) Mon May 14 21:52:53 2001 George Lebl * config/gdm.conf.in: Run configurator with --disable-sound and --disable-crash-dialog Mon May 14 20:53:16 2001 George Lebl * daemon/gdm.[ch], gui/gdmconfig.(c|h|glade), gui/gdmlogin.c: Add a boolean flag for both timed and automatic login. This makes configuring it nicer and easier to understand * gui/gdmlogin.c: Add a clock, perhaps there should be a config option about this * gui/gdmlogin.c, gui/gdmlanguages.[ch], gui/Makefile.am: Add a somewhat primitive (unfinished) framework for translating language names. Unfortunately names are hardcoded, though available languages are still read from locale.alias. Mon May 14 03:16:50 2001 George Lebl * daemon/slave.c: in the error dialog thing do the button click mapping as well Mon May 14 02:15:06 2001 George Lebl * daemon/slave.c: define RUNNING_UNDER_GDM for gdmlogin and gdmconfig * gui/gdmlogin.c, gui/gdmconfig.c: When RUNNING_UNDER_GDM is defined we treat button click 3 like 1 since the user could be left handed but has not yet logged in. Mon May 14 00:55:17 2001 George Lebl * gui/Makefile.am, gui/gdmwm.[ch], gui/gdmlogin.c: Clean up stuff, move the WM stuff into a separate file, make it run on a separate X connection, add a cool shadow to windows, do more correct window management, and all windows are managed now. Sun May 13 13:09:50 2001 George Lebl * gui/gdmlogin.c: Simplify filters and only use the Substructure mask thing. Handle border correctly (to make xclock look cool) * daemon/server.c: Eeek, HUP and TERM should have been DFL and not IGN though the X server didn't seem to mind. Also set TTIN and TTOU to IGN since that's what happens when I startx apparently, I think this may be responsible for the X server dying on me on unsuspend Sun May 13 04:40:10 2001 George Lebl * gui/gdmlogin.c: Add a tooltip to the iconify arrow Sun May 13 04:36:14 2001 George Lebl * daemon/gdmlogin.c: recenter windows when they resize, add a single black line decoration to make it easy to distinguish windows layered on top of each other (such as in the configurator) Sun May 13 00:59:48 2001 George Lebl * AUTHORS, NEWS, README: updated * Makefile.am, RELEASENOTES: removed, no longer needed and horribly useless and confusing to users Sat May 12 23:44:38 2001 George Lebl * configure.in: add configuration summary, fix libwrap detection and add configuration options to enable/disable xinerama tcpwrappers and choose the authentication scheme * daemon/verify-crypt.c, daemon/verify-shadow.c: don't ask for passwords on passwordless logins, fix a leak, and make crypt support actually compile. Also check password before testing if the account is disabled. * daemon/slave.c: Focus first X window with res_name "xterm" when running the failsafe xterm session Sat May 12 19:32:31 2001 George Lebl * configure.in: when we don't find the wrappers library don't add it to LIBS Sat May 12 19:28:30 2001 George Lebl * gui/gdmlogin.c, gui/gdmconfig.c: Add .dpkg-old to the list of extensions to ignore Sat May 12 16:47:18 2001 George Lebl * config/Xsession: check for freetemp existing Sat May 12 15:23:50 2001 George Lebl * gui/gdmlogin.c: properly check for NULLs on cursess and curlang. Never, NEVER make the default session the last session, the entire point of that would not work, there is no Last session when you use the default (that's the whole idea:). Be more strict on the language stuff as well, avoiding possible cases of crashing and warnings. Thu May 10 00:29:06 2001 George Lebl * gui/gdmlogin.c, daemon/gdm.h, gui/gdmconfig.(c|glade): Add setting (which is default) to only set background color on remote logins. * gdm/gdmlogin.c: Icon has a tooltip now, and a bunch of the menu items as well * config/gdm.conf.in, config/gdm.h, gui/gdmconfig.(c|glade), gui/gdmlogin.c: Allow color to "seep through" transparent images and thus the color selector is on even for images. Add a setting for only allowing color on remote logins. This is useful to avoid net traffic. Wed May 09 18:19:22 2001 George Lebl * gui/gdmlogin.c: Center all mapped windows, also disallow negative positions in centered windows. Also clip size of windows to the screen size. * daemon/gdm.h, acconfig.h, configure.in: Make sure proper defaults are read in. That is, if gdm.conf is missing the result should be same as the supplied gdm.conf. Also make ConfigAvailable=true the default. It will always query for root password so it's safe. * gui/gdmlogin.c, daemon/gdm.h, daemon/slave.c: When resetting after config don't quiver. * gui/gdmlogin.c: properly translate failsafes * daemon/slave.c: properly test for existence/executability of just the path not arguments, and don't test for read on session executions. * daemon/server.c: Properly XSync before popping error handler * daemon/slave.c, daemon/gdm.[ch], daemon/server.c: Check for xinerama and start error dialogs and xterm failsafe at the correct offset. * daemon/slave.c: Properly handle focus on the error dialog Tue May 08 16:38:02 2001 George Lebl * gui/gdmlogin.c: Actually make the xinerama scaling thing work. Also limit the dragging to within xinerama screens and avoid dead space. Allow jumping in between xinerama screens when dragging as well. Mon May 07 17:12:29 2001 George Lebl * gui/icon-entry-hack.c: update from gnome-core to fix selection dialog issues Sun May 06 22:27:31 2001 George Lebl * gui/gdmlogin.c: support xinerama in background scaling and scale image onto each screen rather then onto the entire screen Sun May 06 16:31:07 2001 George Lebl * config/Failsafe*, config/Makefile.am, configure.in, gui/gdmlogin.c, daemon/gdm.h: Use our built in Failsafe thingies since they're more safe from hosage. Also be nicer in translating them and add some tooltippage. * config/Xsession, config/Gnome.in: Load in the xresources and modmap and such magic. Make it work on both rh6 and rh7 and hopefully others. * daemon/slave.c: Add more errors and pass some nice parameters to the failsafe thingies. Sun May 06 05:36:08 2001 George Lebl * gui/gdmlogin.c: use the "Default" script if found as default * config/Gnome.in: Read in ~/.Xresources, we need more magic in this script however. Fri May 04 18:10:08 2001 George Lebl * Release 2.2.1 Thu May 03 18:28:04 2001 George Lebl * gui/Makefile.am, gui/gdmchooser.c, gui/gdmlogin.c, gui/gdmconfig.c, gui/misc.[ch]: Add a misc functions file and add strcasecmp_no_locale and use it. Without this we fail in all kinds of wird locale (like iso -9) Thu May 03 17:13:23 2001 George Lebl * gui/gdmconfig.c, gui/gdmchooser.c: Use DOING_GDM_DEVELOPMENT env var (scrap the old GDMCONFIG one for gdmconfig) and add actual useful messages when glade stuff fails (as it does in ximian packages now, but that makes a nice core file in those which sucks) Thu May 03 13:22:52 2001 George Lebl * gui/Makefile.am, gui/gdmconfig.desktop(.in), configure.in, Makefile.am: Add the usage of xml-i18n-tools for the desktop file. Wed May 02 18:08:17 2001 George Lebl * gui/gdmconfig.glade: fix limits on the spinbuttons * gui/gdmconfig.c: Fix default linking, provide uniqueness checking fix naming races, and generally make the whole session editor actually work right. Wed May 02 03:15:15 2001 George Lebl * daemon/slave.c: fix running of gdmconfig by setuid/gid to 0 and give an error dialog box if the configurator is not found Wed May 02 01:44:36 2001 George Lebl * config/Gnome.in, config/Xsession: don't use bash -login, because we have already ran a login shell which was the users login shell * config/gnomerc.in, daemon/slave.c: use exec to avoid running 2 unneeded shells. Now if you log in there is no extra shell process running. This saves quite a bit of ram in fact since things like bash eat up quite a bit of ram, and if the user doesn't use any shells, none of it is shared. * daemon/slave.c: Fix a doh! error in the last commit where I got confused about which sessions I was talking about (gsm vs. gdm), also a little bit of cleanup Tue May 01 16:28:17 2001 George Lebl * daemon/gdm.c, daemon/gdm.h, daemon/slave.c, gui/gdmconfig.c, gui/gdmlogin.c: Make it possible to log in even if the sessions directory is missing or empty. Of course if that happens the user gets a "you're an idiot and your setup's b0rk" warning dialog (well not in those exact words) Tue May 01 14:41:03 2001 George Lebl * gui/gdmconfig.c: instead of a define, read a DOING_GDMCONFIG_DEVELOPMENT env var. * gui/gdmconfig.c, gui/gdmlogin.c: ignore sessions ending in .deleted and .desc * gui/gdmconfig.c, gui/gdmlogin.c: Session names ARE case sensitive so remove all this case insensitivity crack that could seriously mess things up. The only case insensitive thing is that the default link can be case insensitive, the actual files are sensitive. * gui/gdmconfig.(c|h|glade): fix a bunch of stuff with respect to the Session directory editing. Not all tested though, so still use at your own risk. Though it theoretically has less problems now. Also cleaned up stuff a tiny bit. This file could use a run through indent. Mon Apr 30 17:27:11 2001 George Lebl * gui/gdmlogin.c: fix a couple of possible crashes with invalid images being set. Limit the logo size by just cropping the widget, that way user will still be able to log in if he screws up the config * configure.in, config/gdm.conf.in: Use the sbin path if using console helper for the Configurator setting, else it won't work right Mon Apr 30 16:48:42 2001 George Lebl * gdm/gdm.[ch], gdm/verify-(pam|crypt|shadow).c, gui/gdmconfig.(c|glade): Add an option to toggle logging in of root remotely. So one can allow local root login but disallow remote root logins. * daemon/slave.c: add nicer error messages to all the exec failures Mon Apr 30 02:34:37 2001 George Lebl * config/gdm.conf.in, deamon/gdm.[ch], daemon/slave.c, gui/gdmconfig.(c|glade): Split up the max sizes into normal and another one for session files for which the limit is much higher. This is because session files are never read into memory, but rather just scanned. * daemon/gdm.c, daemon/slave.c: When no session is set browse through a list of possibles in order to find a good session. * daemon/slave.c, daemon/Makefile.am: Link the slave to gtk libs, and in case the session script doesn't exist isn't executable or isn't readable, display an error instead of the session. Sun Apr 29 23:54:34 2001 George Lebl * config/Gnome.in, config/gnomerc, config/Makefile.am: Revert stupid changes, now we rely on a new enough gnome-core where gsm understands GDM_GNOME_SESSION (in a similar way to GDM_LANG) * daemon/verify-*.c: Eeeek Forgot to use the GDM_LOGIN prompter opcode and that made the greeter very unhappy * gui/gdmconfig.c, gui/gdmlogin.c: Ignore .orig files as well when looking at the Sessions dir Sun Apr 29 22:46:12 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c: Add running of the configurator from the slave rather then the login which doesn't work. There is a special session setup for this so that the user gets prompted for the root password first. * daemon/gdm.c, daemon/slave.c, gui/gdmlogin.c, daemon/server.c: Only do the timed logins on the first local display just like autologin. We don't want to do simultaneous logins of the same user on different screens really, that's usually bad. * daemon/gdm.c: Increase general paranoia and don't trust the greeter and only allow reboots/config/halts when they are actually allowed in the config file and only for local. * gui/gdmconfig.glade, gui/gdmconfig.c: Add a bunch of tooltips, and add the configuration stuff for the timed logins Sun Apr 29 18:06:25 2001 George Lebl * gui/gdmlogin.c, daemon/gdm.[ch], daemon/slave.[ch], daemon/verify.h, daemon/verify-(pam|crypt|shadow).c, config/gdm.conf.in: Create the concept of interruptions where the greeter can interrupt a query to have the daemon do something. and use it to do timeout logins, such as would be useful for say a kiosk operation. Only on local displays of course. Originally based on the patch from Jim Bray. * gui/gdmconfig.glade: Raise the maximum allowable max user file size to 2^18 from 2^16 Sun Apr 29 21:40:00 2001 Lee Mallabone * gui/gdmconfig.c, gui/gdmconfig.glade: Add the "run configurator" options and gdmconfig path to gdmconfig itself. (hmmm). * gui/gdmconfig.c, gui/gdmconfig.glade: Add a new notebook tab to the expert panel that allows configuration of the 'Sessions' directory; adding, editing, deleting & setting a new default are currently supported. Sun Apr 29 02:00:29 2001 George Lebl * config/Gnome.in, config/Makefile.am: Always install gnomerc and Gnome even if they already exist, this is because we may want to change these and want these changes to propagate. Not a perfect solution since it's not clear which config files are editable without the install mucking them up, but oh well. * gui/gdmlogin.c, daemon/gdm.[ch], daemon/slave.c, gui/gdmconfig.(glade|c): Parse the session and session options file and pass the sessions to the greeter if Gnome Chooser session is selected. The chooser then allows the picking of one specific gsm session or the creation of a new one. We set an env var GDM_GNOME_SESSION with the session name in it. * daemon/gdm.c: doh! on automatic login actually use the saved language and session * gui/gdmlogin.c: the execution of background prog and config now closes all descriptors and opens /dev/null for stdin/out/err. Also the config program is killed on exit just like the background prog and we don't allow starting multiple config programs. Sat Apr 28 16:01:48 2001 George Lebl * gui/gdmlogin.c: Remove the overlay window crack and write a simple windowmanager. Yeah I feared this would happen one day. Focus now works properly finally, focus shows and GTK+ seems happy. This also makes it possible to have the background clients have sane focus management (with sloppy focus). Though no frames, window movement, nor icons. (the login window still manages it's frame, movement and icon itself) * config/gdm.conf.in, daemon/gdm.h, gui/gdmlogin.c, gui/gdmconfig.c, gui/gdmconfig.glade: Add a setting for disabling the titlebar, apparently some people hate it and I'd rather this be done by configuration then patches. Then the user can easily re-enable it. * gui/gdmlogin.c: a little bit of work on the session chooser dialog still doesn't actually do anything Sat Apr 28 17:50:00 2001 Lee Mallabone * gui/gdmlogin.c, daemon/gdm.h, config/gdm.conf.in: Add the option (and relevant paths in the config) to run gdmconfig from the system menu in gdmlogin. Disabled by default for obvious reasons. This closes bug #53783. Fri Apr 27 16:41:11 2001 George Lebl * gui/gdmlogin.c, daemon/gdm.h, daemon/slave.c, config/Gnome.in: Start on gsm session support. Still doesn't work. Also make gdm session strings translatable. At least some of the standard ones, not perfect but oh well, who cares. Tue Apr 24 18:45:55 2001 George Lebl * config/PostSession, config/PreSession, gui/gdmlogin.c: Apply small bits of the ximian patches. Pre/PostSession scripts only run sessreg if it exists. and gdmlogin selects the Gnome session if no "default" exists. Tue Apr 24 15:04:56 2001 George Lebl * gui/gdmlogin.c: set the menu separators to insensitive to make keyboard navigation nicer Mon Apr 23 22:34:24 2001 George Lebl * gui/gdmlogin.c: always draw the focus correctly and hardset the gtk focus flag. Hmm, I'm beginning not to like all this focus voodoo that gdmlogin does. Mon Apr 23 22:04:24 2001 George Lebl * configure.in, acconfig.h, daemon/auth.c, daemon/misc.[ch], daemon/slave.c, daemon/verify.h, daemon/verify-(pam|crypt|shadow).h: Fixup environment issues. Clear the environment before running a session and before launching the greeter (taking care to save the localisation vars). Also don't set user env on the slave and leave it, if we set it it's only temporary. Also fix one possible crash by strduping the pam env since that will go away and putenv doesn't strdup. Mon Apr 23 20:16:07 2001 George Lebl * configure.in: when we find libwrap.a instead of specifying that filename, use -lwrap which may be better on some systems Mon Apr 23 20:08:19 2001 George Lebl * gui/gdmlogin.c: if no LANG/LC_ALL is set, use the GdmDefaultLocale setting as our locale. Mon Apr 23 18:49:55 2001 George Lebl * gui/gdmlogin.c: fix buffer overrun in making the enriched string Sat Apr 21 11:46:02 2001 George Lebl * gui/icon-entry-hack.[ch]: update hack from panel Thu Apr 19 13:18:59 2001 George Lebl * daemon/verify-crypt.c, daemon/verify-shadow.c, daemon/verify-pam.c: Fix GdmAllowRoot (it only worked in verbose mode), made the verbose mode selection useful without being insecure, and in nonverbose mode you still get "Login incorrect" message as those are safe. In pam mode we now check for root as well. We also now check for shell to be /bin/false as a sign the user was disallowed from logging in. Thu Apr 19 03:48:11 2001 George Lebl * daemon/slave.c: don't search for shells, that's wrong, if the user doesn't have a shell set, we are supposed to use straight /bin/sh. On linux this makes no difference anyway since that was bash. Also detect /bin/false shells and have a better error message in that case in the log file. We should detect those earlier I suppose. Thu Apr 19 02:11:22 2001 George Lebl * daemon/gdm.c: Return to gid 0 after verify check, patch from rmurray+gnome@cyberhqz.com (Ryan Murray) * daemon/auth.c: refetch the hostname each time the cookie is generated to deal with changing hostnames again from Ryan * gui/gdmlogin.c: remove the display mutilating code for enriched string, again from Ryan * daemon/server.c: Move logfile open after fork as it's only really used by the X server process (And that's the purpose of it) Again, from, you guessed it, Ryan * daemon/slave.c: set gid after uid to 0 so that it doesn't fail (from Ryan again) * gui/gdmlogin.c: do a gtk_main_quit in the QUIT handler, hopefully won't cause races, and this is actually by me * gui/gdmlogin.c: another one from ryan, set the password max entry length to 128 to allow for MD5 password things * gui/gdmlogin.c: another one, this one to allow keyboard navigation of the menus * daemon/slave.c: call initgroups to set up the groups correctly, from ryan * daemon/slave.c: fixed problem of NULL lang/session returns, pointed out by ryan Wed Apr 18 22:32:53 2001 George Lebl * Makefile.am, configure.in, debian/Makefile.am: fix make distcheck wrt libintl and make sure we get the debian directory into the tarball Tue Apr 17 17:01:59 2001 George Lebl * daemon/gdm.h, gui/gdmconfig-strings.c, gui/gdmconfig.c, gui/gdmconfig.glade, gui/gdmlogin.c: Add option for not scaling the background to fit, and tiling instead. I think I might just implement more like the original background selection thingie for the desktop. * gui/gdmlogin.c: Apply a patch (and massage it a bit) from rmurray+gnome@cyberhqz.com (Ryan Murray) to make the locale menu just not display if the locale file is missing. 2001-04-17 Ian McKellar * acinclude.m4: Removed this - it contained out of date gettext stuff that was screwing up my build. * config/Default.debian: * config/Makefile.am: * configure.in: * debian/.cvsignore: * debian/README.Debian: * debian/changelog.in: * debian/changelog.old: * debian/control: * debian/copyright: * debian/dirs: * debian/docs: * debian/ex.doc-base.package: * debian/gdm.pod: * debian/gdmchooser.pod: * debian/gdmlogin.pod: * debian/init: * debian/postinst: * debian/postrm: * debian/rules: Added Debian build stuff and default config. It shouldn't break builds on other platforms, but it might. Sun Apr 15 12:58:02 2001 George Lebl * gui/gdmlogin.c: fix misspelling thanks to jrb Fri Mar 30 18:17:00 2001 George Lebl * configure.in: up version to 2.2.1, and check for GdkPixbuf * config/Default, config/gdm.conf.in, daemon/gdm.h, gui/Makefile.am, gui/gdmconfig-strings.c, gui/gdmconfig.c, gui/gdmconfig.glade, gui/gdmconfig.h, gui/gdmlogin.c: Add background image/color setting and remove that setup from the Default init. * gui/Makefile.am, gui/gdmconfig.c, gui/icon-entry-hack.[ch]: Put in the icon entry hack from the panel to make the icon entry behave properly * gui/gdmlogin.c: Make overlay window override redirect, don't proxy keyboard events to entry when window is iconified, raise window when moving, raise window on uniconify, set initial manual position after realize to avoid manual position being an offscreen one properly, only allow one query dialog to be up Mon Mar 12 16:21:47 2001 George Lebl * Release 2.2.0 Mon Mar 12 16:08:34 2001 George Lebl * gui/gdmconfig.c, gui/gdmconfig.glade: Remove the scrolled window and make the window initially not shown so that the size doesn't flicker. Also nuke the hardcoded width and height. Still has some issues with really large fonts, but works good enough for a release now. Also set the side help string again, and comment out the DOING_DEVELOPMENT define :) Mon Mar 12 23:20:15 2001 Lee Mallabone * gui/gdmconfig.c: Use a notebook instead of doing the container voodoo. This should sort out the widget packing. Fri Mar 09 21:00:03 2001 Lee Mallabone * gui/gdmconfig.glade: Be slightly nicer to people with fonts that aren't pretty small. 2001-03-12 Christian Rose * gui/gdmconfig.desktop: Added Swedish strings. Sun Mar 11 20:23:55 2001 George Lebl * gui/gdmlogin.c: follow the xinerama screen size/position for the icon as well. Sat Mar 10 19:36:18 2001 George Lebl * gui/gdmlogin.c: remove the clear message before first prompt hack, and make it, clear after first return hack. Also add a hack to accumulate pam messages rather then replacing them in between queries. This fixes the weird clearing bugs with respect to say expiring passwords. Also clear message on GDM_RESET Thu Mar 08 21:00:03 2001 Lee Mallabone * gui/gdmconfig.c: Change (lack of) help message. * gui/gdmconfig.glade: Set the initial height to be more representative of what it's like when the containers have been packed. Also do a little bit of container voodoo so the main panels are in a viewport, (makes gdmconfig more usable on small screens). Thu Mar 08 00:37:12 2001 George Lebl * gdm.spec.in: Fixups, move the security dir as well and hardwire the sysconfdir to /etc as that seems broke on my 6.2 box otherwise * configure.in: raise version to 2.2.0, no there isn't a release yet, this is just to start rumors of an upcoming one. (Plus I wanted to build myself an rpm for my own use, cuz I'm not 'l33t 'nuff to build on my system from cvs directly) Wed Mar 07 22:50:06 2001 George Lebl * gdm.spec.in: minor fixups from the merge 2001-03-07 Gregory Leblanc * gdm.spec.in: much better macros, and better portability. Please read the %ChangeLog section in the spec file for details. Mon Mar 05 18:17:42 2001 George Lebl * AUTHORS, README, README.install: Do a quick update as it's all horribly out of date. Mon Mar 05 23:41:40 2001 Lee Mallabone * gui/gdmconfig.[ch]: Fix bug that caused only values of 0 and 1 for RelaxPerms to be used/written. * gui/gdmconfig.glade: Change RelaxPerms toggle to 3 radio buttons, and remove some old cruft. Mon Mar 05 22:42:54 2001 Lee Mallabone * gui/Makefile.am: Change shared directory for glade files to allow centralized storage of all gdm .glade files. Link gdmchooser against libglade. * gui/gdmconfig.c: Use new location for glade files. * gui/gdmchooser.c: Gladeify gdmchooser and give it a slightly less sucky GUI. * gui/gdmchooser.glade, gui/gdmchooser-strings.c: Added GUI and translatable strings for updated gdmchooser. * gui/*.glade: Ensure WM_Class is set to be 'gdm' everywhere. * gdm.spec.in: Adjust paths for new glade file and location. Sun Mar 04 16:28:52 2001 George Lebl * daemon/filecheck.[ch]: fix an error message and make const correct * gui/gdmlogin.c: make the photo checking code saner, this assumes we're root and can read anyone's files, really and this is bad, oh well, it is sort of weird. Also a bunch of cleanup and constization. * gui/Makefile.am: don't link to filecheck anymore * daemon/slave.c, gui/gdmlogin.c: cleanup some code, make GDM_QUIT work for doing cleanup. Make it not actually quit but just cleanup to prepare to be killed. Sun Mar 04 12:27:50 2001 George Lebl * config/gdm.conf.in: Added a note to the config file about running X on a specific console. Mostly for packagers, apparently the debian packages were broken in this respect. Wed Feb 28 19:23:42 2001 George Lebl * gui/gdmchooser.c: Apply patch from "Matthias Clasen" , to fix issues with xdm. Web Feb 28 18:47:14 2001 Lee Mallabone * gdmconfig-pam, gdmconfig-security: New files to support privileged non-root users running gdmconfig. * Makefile.am, configure.in, gdm.spec.in: Add option to configure to --enable-console-helper for gdmconfig. Tue Feb 27 16:44:34 2001 George Lebl * config/gdm.conf.in: apply patch from Vlad Harchev to not force the adobe helvetica font and to exclude postgres and pvm users by default Tue Feb 27 13:27:00 2001 Lee Mallabone * gui/gdmconfig.c, gui/gdmconfig-strings.c, gui/gdmconfig.glade: Fix version number and add bugzilla URL to about box. 2001-02-27 Gediminas Paulauskas * gdmconfig/Makefile.am: removed DLOCALEDIR. * gdmconfig/gdmconfig.c/h: include config.h in c file, not h. i18n fixes, gui now translated. Tue Feb 27 00:25:10 2001 George Lebl * Release 2.0.99 Tue Feb 27 00:25:09 2001 George Lebl * daemon/gdm.c, daemon/xdmcp.c: Fixed xdmcp closing routine, and close the xdmcp fd before restarting after a HUP so that xdmcp doesn't fail. If we fail when initing xdmcp don't die, but just disable xdmcp and continue after screaming stuff into syslog. Wed Feb 21 01:46:34 2001 George Lebl * gui/gdmlogin.c, config/Default: Setup cursor in gdmlogin Tue Feb 20 13:57:18 2001 George Lebl * config/Default: Idea from peter winnberg , to set the cursor to left_ptr to be nicer Mon Feb 19 09:01:56 2001 Yukihiro Nakai * gui/gdmconfig.desktop: Add Japanese translation. Mon Feb 19 21:37:07 2001 George Lebl Patch from Tim Jansen * gui/gdmlogin.c, gui/gdmchooser.c: change GdmDebug to gboolean and add some checks for config values 2001-02-19 Christophe Merlet * gui/gdmconfig.desktop: Added French strings. Mon Feb 19 03:42:01 2001 Jonathan Blandford * gui/gdmlogin.c (create_handle): Minor UI cleanup to gdmlogin. Sun Feb 18 15:05:00 2001 Lee Mallabone * gui/gdmconfig.glade: Improve clarity, and make 'automatic login' more noticeable. Sun Feb 18 11:32:00 2001 Lee Mallabone * gui/gdmconfig.(c|glade): GUI fixes for Xserver clist. Sat Feb 17 19:08:00 2001 George Lebl * gui/gdmconfig.(c|glade): Patch from Lee to fix xdmcp options sensitivity, plus make the clist title passive and set it to browse selection mode. Thu Feb 15 03:18:15 2001 George Lebl * Release 2.0.98.1 Thu Feb 15 03:18:12 2001 George Lebl * configure.in, config/Gnome.in, config/Failsafe.in, config/gdm.conf.in, config/gnomerc.in: Fix the autogeneration, by including all the prefixes and by expanding the variables. Idea stolen from GConf configure.in Wed Feb 14 18:53:57 2001 George Lebl * configure.in, config/Makefile.am: Apply patch from peter@ximian.com (Peter Teichman), to generate config files from .in files during configure time, rather then install time * gdm.spec.in: update for the above Tue Feb 13 18:27:03 2001 George Lebl * daemon/display.c: Apply fix from "Matthias Clasen" to make xmdcp work for him. Also massaged that function a bit further. But it doesn't solve my problems. Mon Feb 12 02:18:39 2001 George Lebl * gui/gdmlogin.c: remove a duplicate bindtextdomain foo, and remove the default dialog pos is center thing since we explicitly set this anyway. Sun Feb 11 16:23:01 2001 George Lebl * Release 2.0.98 Sat Feb 10 18:05:39 2001 George Lebl * gui/gdmconfig.(c|h|glade): new update version of the configurator from Lee Mallabone which makes it simpler to do stuff. Tue Feb 06 21:33:10 2001 George Lebl * daemon/slave.c, daemon/verify-pam.c: pam cleanup done when slave exiting. Sun Feb 04 16:23:30 2001 George Lebl * gui/gdmconfig.*: Apply patch from Lee Mallabone To add a development define for debugging, and change a bit of the layout to be more consistent. Sat Feb 03 19:42:01 2001 George Lebl * daemon/display.c, daemon/gdm.c: Fix corruption of GSLists on exit Sat Feb 03 18:24:10 2001 George Lebl * daemon/xmdcp.c: apply some changes found in the gdm debian paches, but they don't make any difference Sat Feb 03 17:58:51 2001 George Lebl * gui/gdmlogin.c: Patch from Tim Jansen to fix a buffer overflow with xinerama support Sat Feb 03 15:39:29 2001 George Lebl * gdm.spec.in: patch from Lee Mallabone , to make gdmconfig actually work. (install the glade and desktop file) Fri Feb 02 23:32:56 2001 George Lebl * Release 2.0.97.1 Fri Feb 02 20:03:49 2001 George Lebl * configure.in, config/Default.redhat, config/Failsafe.redhat, config/Failsafe.in, config/Makefile.am, gdm.spec.in: First attempt at making an rpm. Doesn't break the build, but I doubt it works as I haven't tried it. Will test on my laptop later. Fri Feb 02 18:29:40 2001 George Lebl * gui/gdmlogin.c: the xinerama support might badmach if run under a non xinerama supporting xserver, so trap errors and just assume one screen if we get errors. Thu Feb 01 18:28:33 2001 George Lebl * Release 2.0.97 Thu Feb 01 18:26:17 2001 George Lebl * gui/gdmlogin.c: Add a hack so that if the Welcome string is set to a default, use the gettext translation for added hack value and more translations. Thu Feb 01 17:58:30 2001 George Lebl * gui/gdmconfig.(c|glade): some glade fixes, and add a reset option when applying * daemon/gdm.h: use true/false for booleans in defaults Thu Feb 01 17:05:54 2001 George Lebl * Apply an port a patch from , further modified default config (config/gdm.conf.in) and the configuratior (gui/gdmconfig.c) to include the screen option * gui/gdmlogin.c, configure.in: added support for Xinerama, the new key greeter/XineramaScreen selects on which screen the greeter will be centered Thu Feb 01 04:49:11 2001 George Lebl * config/gdm.conf.in: Add gdm to the list of default excludes * daemon/gdm.c: take HUP signal, which will unmanage all displays and then re-exec itself. This is a poor-mans reset, not integrated with the configurator yet. * daemon/display.c, daemon/gdm.[ch], daemon/server.c, daemon/slave.c, daemon/xdmcp.c: Remove all loop of death catches except for the slave restart one. Move the server loop of death to display.c as it must run in the master process, and it can now catch all the error conditions without races. Move sleeping to slave. Kill many race conditions, some of them quite evil. Kill the greeter segfault detection, loop of death in display.c is enough here. * gui/gdmlogin.c: If LANG is set, use that for a default language, preferring the DefaultLocale setting and use that only as fallback. Instead of setting LANG to the name of the language, set it to the proper unaliased string since our alias file may be different from the system one. And add a way to sort of get from codes to langauge names. Remove tolower ugly hack. 2001-01-31 Gediminas Paulauskas * gui/gdmconfig-strings.c, gui/gdmconfig.glade: fix some mistakes in strings. * config/locale.alias: added lithuanian. Tue Jan 30 20:19:46 2001 George Lebl * gui/gdmlogin.c: Make quiver more visible and cooler looking (/me thinks) * config/gdm.conf.in: Verbose Auth is on by default, since now it doesn't reveal information, Not sure if this option is useful for anything really. We want "Login Incorrect" messages all the time. May need some thought * daemon/verify-(crypt|shadow).c: Don't reveal what went wrong on login, just say "Login incorrect" Tue Jan 30 16:52:39 2001 George Lebl * Pfffffffffffffft! Really apply the patch from ChiDeok Hwang * daemon/slave.c, gui/gdm.c: Some locale stuff fixes. This still feels really wrong as it mostly ignores the systemwide setting and uses it's own default most of the time. And that's bad. Needs some work. Tue Jan 30 19:08:46 2001 George Lebl * gui/gdmlogin.c, gui/gdmconfig.c, gui/gdmconfig.glade: configuration key fixes * gui/Makefile.am: add desktop and glade to extradist * gui/gdmconfig.desktop: start gdmconfig not gdmlogin (doh!) Tue Jan 30 15:16:40 2001 George Lebl * daemon/gdm.c, daemon/server.c, daemon/xdmcp.c, daemon/slave.c, gui/gdmconfig.c, gui/gdmconfig-strings.c, gui/gdmconfig.glade: x18n fixes, add missing configuration options, add warning dialog about when configuration will be applied, fix up gboolean vs. int mess and it's related gnome_config stuff Tue Jan 30 14:25:20 2001 George Lebl Patch from ChiDeok Hwang : * config/locale.alias: remove one of the entries for french as that turns out to be blank on non -1 locales * daemon/gdm.c, daemon/verify-pam.c, daemon/verify-crypt.c, daemon/verify-shadow.c: i18n fixes * daemon/slave.c: made user to see last message when gdm sleeps. * gui/gdmlogin.c: empty other menu is ugly. So remove it when it is empty. gdm_slave_greeter_ctl(GDM_MSGERR, ...) was stalled waiting output from gui. Patch from Lee Mallabone : * configure.in, gui/Makefile.am: make gdmconfig build and depend on libglade * gui/gdmconfig.(c|h|desktop|glade): A working implementation of the configuration. Doesn't yet restart gdm and only works for root (has no pam stuff), but much better then nothing. Still missing the new options for 2.1 2001-01-30 Kjartan Maraas * configure.in: Added "nn" to ALL_LINGUAS. Thu Jan 25 23:49:44 2001 George Lebl * Release 2.0.96 Thu Jan 25 23:04:01 2001 George Lebl * daemon/slave.[ch]: cleanup * daemon/gdm.h, gui/gdmlogin.c, config/gdm.conf.in: Add options for setting the initial position to allow xinerama users to make their login not suck too much. Also added an option to lock the window position and fixed some braindamages. Fixed the label style setting as well to work with non default themes. Thu Jan 25 06:34:13 2001 George Lebl * gui/gdmlogin.c: workaround non-working grabs, add a window title, implement window moving (poor mans support of xinerama) and other cleanup and fixes Tue Jan 23 18:09:01 2001 George Lebl * daemon/slave.c: minor cleanups Tue Jan 23 03:34:29 2001 George Lebl * daemon/xdmcp.c: some cleanup in hunt for a fix of xdmcp Mon Jan 22 21:02:19 2001 George Lebl * daemon/gdm.c, daemon/slave.c, daemon/display.c, daemon/xdmcp.c: fix some xdmcp bugs, crashes, etc... random cleanup, autologin on the first display started only, when killing things make sure kill succeeded before waitpid, otherwise probably the process was already dead and we'd just wait forever. But don't expect XDMCP to actually work now, it doesn't. Mon Jan 22 02:59:22 2001 George Lebl * daemon/misc.c, daemon/server.[ch], daemon/slave.c, daemon/display.c: Race fixes, remove old code, cleanups, leak fixes, use the same X server process and use HUP to reset it Wed Jan 10 19:25:54 2001 George Lebl * configure.in, *: raise version and put in some notes in relevant files Wed Jan 10 13:57:56 2001 George Lebl * daemon/display.c, daemon/gdm.[ch], daemon/server.c, daemon/slave.c: A little bit of cleanup, if the greeter segs 5 times during 40 seconds, unmanage the display so that we don't hog the console. Wed Jan 10 07:22:29 2001 George Lebl * daemon/server.[ch], daemon/slave.c: When slave is exiting we should kill the old X server really. It should be possible to reuse, but currently this was leading to hangs. Also only wait for the server if the kill worked to avoid hanging in waitpid. Wed Jan 10 03:20:48 2001 George Lebl * config/gdm.conf.in: add empty line for automatic login (disabled) * daemon/server.c: If the server aborts during startup try restarting it about 5 times Wed Jan 10 02:32:52 2001 George Lebl * daemon/verify.h, daemon/verify-*.[ch], daemon/slave.c: For autologin we have to do the pam dance to setup stuff nicely. Wed Jan 10 01:13:54 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, gui/gdmlogin.c, config/gdm.conf.in: Move the background stuff to greeter as that makes more sense * daemon/gdm.[ch], daemon/slave.c: Add automatic logging in on the first login (so most likely right after boot). This is off by default of course and will not autologin root. Tue Jan 09 21:55:26 2001 George Lebl * daemon/gdm.[ch], daemon/slave.c, config/gdm.conf.in: Add support for running a background process and have it have the same lifetime as the greeter. This makes it easy to add things like screensavers on the root and make them stop when you actually log in. Tue Jan 09 18:50:51 2001 George Lebl * Many changes, too many to write a changelog for. Applied most of the redhat and helix patches. On the login screen make a window over the entire window and proxy key events back to the entry to get xdm like keyboard grab behaviour without a grab. When starting local displays call gdm_display_manage to actually fork the slave. Try cleaning up after self when messing with signal handlers. When killing clients, ignore x errors. Kill clients on the same display connection since opening a new one won't work. Kill the alarm on the ping since it made no sense, and didn't work in the first place. 2000-12-17 Marius Andreiana * configure.in: Added ro (Romanian) to ALL_LINGUAS 2000-12-12 Mathieu Lacage Make it: 1) compile 2) pass make distcheck. * configure.in: one BAD BAD typo: s/aC/AC/ * daemon/Makefile.am: add server.h 2000-11-28 Stanislav Visnovsky * configure.in (ALL_LINGUAS): Added Slovak translation 2000-10-19 Yukihiro Nakai * configure.in: Add Chinese(GB2312, Big5) to ALL_LINGUAS 2000-08-29 Carlos Perelló Marín * config/gdm.conf.in: Added the Spanish welcome message 2000-08-24 Alastair McKinstry * configure.in (ALL_LINGUAS): Added Irish translation 2000-07-30 Christopher R. Gabriel * configure.in (ALL_LINGUAS): added Italian translation 2000-06-18 Stanislav Brabec * daemon/misc.c, daemon/misc.h, daemon/slave.c, configure.in: Thread-safe wrapper for gdm_setenv, new function gdm_unsetenv. Change required for gdm basic functionality on some systems. On systems without setenv/unsetenv functions, gdm_(un)setenv still remains thread unsafe & POSIX safe! 2000-06-05 Stanislav Brabec * daemon/gdm.c: Typo fix. 2000-05-11 Pablo Saratxaga * configure.in (ALL_LINGUAS): added Catalan file 2000-04-20 Ruben Lopez * configure.in (ALL_LINGUAS): added Galician (gl) translation 2000-04-20 Pablo Saratxaga * configure.in (ALL_LINGUAS): added Lithuanian file 2000-02-29 Stanislav Brabec * daemon/verify-shadow.c: Typo bug fixed. * config/Makefile.am: Allow make install from separate dir. 1999-12-31 * daemon/gdm.c (gdm_child_handler): Major overhaul. * daemon/display.c (gdm_display_lookup): New function. * daemon/server.c: Fixes. 1999-12-29 * Checkin of my devel tree. Some of the new stuff is in. Mostly infrastructure changes, though. Oh, and it doesn't actually work yet. But it will eventually. Promise! 1999-12-26 * daemon/verify-*.c: Move each authentication scheme to a separate file (Sucks to be a translator :). 1999-12-21 * daemon/verify.c (gdm_verify_user): Added fix for expired passwords when using PAM (Philip Spencer ). 1999-11-11 * daemon/misc.c (gdm_setenv): New function to work around POSIX brain damage. 1999-11-10 Yuri Syrota * configure.in (ALL_LINGUAS): Added uk. 1999-11-01 * daemon/verify.c (gdm_verify_user): Error in error message. * daemon/slave.c (gdm_slave_greeter_ctl): Nuke random junk that might have accumulated in the ipc pipe. * gui/gdmlogin.c (gdm_login_ctrl_handler): Same as above. * configure.in: Fixed -lnsl (again) 1999-10-21 Sergey Panov * configure.in (ALL_LINGUAS): Added ru. 1999-10-03 * daemon/slave.c: Misc. hacks to solve #2487. PAM messes with pwent. * daemon/gdm.c (gdm_config_parse): Check that gdmlogin and gdmchooser can be executed by gdm before starting up. 1999-10-02 * daemon/slave.c (gdm_slave_greeter_ctl): Fix NULL string passing bug. 1999-09-30 * config/PreSession, config/PostSession: Example sessreg scripts. * daemon/slave.c (gdm_slave_session_cleanup): Run PostSession script even when display is dead. * daemon/xdmcp.c (gdm_xdmcp_handle_query): Get XDMCP running again. 1999-09-29 * gui/gdmlogin.c, gui/gdmchooser.c: bindtextdomain() + other fixes. * daemon/slave.c (gdm_slave_session_start): Pipe fix from Elliot. 1999-09-28 Rodrigo Stulzer Lopes * configure.in (ALL_LINGUAS): Added pt_BR. 1999-09-27 * daemon/slave.c (gdm_slave_session_start): Let the daemon handle session/language lookups. 1999-09-26 Changwoo Ryu * configure.in (ALL_LINGUAS): Added Korean. * config/locale.alias: Likewise. 1999-09-23 * gui/gdmlogin.c (gdm_login_gui_init): Avoid dumping core when specified font can't be loaded (#2315). * Ripped out some work-in-progress code that didn't make it in time for beta3. Postponed for beta4. * Loads of fixes. Thanks to Elliot. * daemon/filecheck.c (gdm_file_check): Log warning if critical files are missing. 1999-09-21 * daemon/verify.c (gdm_verify_user): Avoid exposing usernames on getpwent() failure. GdmAllowRoot is now used for non-PAM configurations only. 1999-09-13 * daemon/verify.c (gdm_verify_user): Fix root logins. 1999-09-07 * gui/gdmlogin.c (gdm_login_browser_select): Fixed the obscure curuser==NULL on doubleclick bug reported by Nils/Elliot. 1999-09-03 Zbigniew Chyla * configure.in (ALL_LINGUAS): Added pl. 1999-09-01 * gui/gdmlogin.c (gdm_login_gui_init): Only add column for logo if it is readable. * daemon/verify.c (gdm_verify_check): Check that PAM configuration file exists before starting up. 1999-08-31 * daemon/slave.c (gdm_slave_session_start): unset MAIL in the user's environment. I have to POSIXify my environment handling at some point. * gui/gdmlogin.c (gdm_parse_enriched_string): %n is uname.nodename. "Welcome to %n" is new default greeting. (gdm_login_users_init): Ignore duplicate usernames on broken NIS systems (Nils Philippsen ). 1999-08-31 Kjartan Maraas * configure.in: Added "da" to ALL_LINGUAS. 1999-08-16 * configure.in: Check whether crypt.h exists. Gnome bug #1925. 1999-08-15 * daemon/choose.c: New file. Doing INDIRECT choosing the right way. * daemon/auth.c: Purge all instances of current display in user cookie file. (gdm_auth_user_remove): Fix stupid segfault. * daemon/slave.c (gdm_slave_session_start): Avoid saving language and session if ~user/.gnome/gdm isn't kosher instead of bailing out. * daemon/auth.c: Fixed cookie problems for local displays. * daemon/gdm.c (gdm_display_dispose): Free Xauth. 1999-08-14 * gui/gdmlogin.c: Fixed a few gtk_widget_set_sensitive(NULL) occurrences. 1999-08-11 * daemon/auth.c: Nailed down the bug that has been haunting me the past couple of days. gdm no longer corrupts ~user/.Xauthority if it contains ``foreign'' cookies. 1999-08-08 Finally merged the Ottawa megapatch: * daemon/auth.c: Real XAuth implementation. Doesn't rely on /usr/bin/X11/xauth anymore. * gui/gdmlogin.c: Implemented browser functionality. * gui/gdmconfig.c: First shot at a graphical configuration tool. * gui/gdmface.c: Face selector capplet. 1999-08-07 * Replaced gdm_putenv() with calls to setenv() as putenv() is broken by specification. 1999-08-07 Anders Carlsson * configure.in (ALL_LINGUAS): Added sv to ALL_LINGUAS. 1999-08-02 * md5.c, md5.h, cookie.c: Fixed MD5 endianness problem (Reported by , bugzilla 3898). 1999-07-24 Tristan Tarrant * gui/gdmchooser.c (main): center all dialogs * gui/gdmlogin.c (main): the same 1999-07-14 Federico Mena Quintero * gui/gdmchooser.c (gdm_chooser_gui_init): Set the scrollbar adjustment properly. 1999-06-30 * daemon/xdmcp.c (gdm_xdmcp_handle_forward_query): First shot at implementing FORWARD_QUERY. gdm supports being chosen from remote hosts now, but still doesn't provide chooser functionality itself. 1999-06-29 * daemon/verify.c (gdm_verify_user): Transfer PAM environment to user session (Suggested by nalin@thermo.stat.ncsu.edu) 1999-05-14 Jacob Berkman * gui/gdmlogin.c (gdm_parse_enriched_string): added support for processor type for Welcome text 1999-05-09 * daemon/server.c (gdm_server_restart): Workaround for the annoying gnome-name-server bug. * Misc. fixes. 1999-04-19 Martin Kasper Petersen * Created gdm2 branch. Most of the daemon code has been revamped, gdmgreeter development suspended and gdmlogin written from scratch. Face browser functionality will return eventually. * gui/gdmlogin.c (gdm_parse_enriched_string): Applied patch from Jacob Berkman to support sysname and release variable expansion. 1999-03-28 Martin Kasper Petersen * gui/gdmgreeter.c (gdm_greeter_user_alloc): Icon size bug reported by Clifford Wright. 1999-03-07 Martin Kasper Petersen * configure.in, src/Makefile.am: Pass -DGDM_CONFIG_PATH to compiler to avoid ${prefix}/blah bug in Owen's patch. 1999-03-06 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_user_alloc): Fixed a memory corruption bug (Reported by Gregory McLean ). 1999-03-05 Martin Kasper Petersen * gdm.spec: Fix spec file. * Misc fixes. 1999-03-03 Martin Kasper Petersen * config/Makefile.am, configure.in: Patch from Owen. 1999-02-26 Martin Kasper Petersen * src/gdmgreeter.c (main): Force completion mode on for the time being. I'll implement a real PAM conversation function within the next couple of days to take care of the exposed usernames issue. 1999-02-25 Martin Kasper Petersen * src/gdmchooser.c: Done! * src/gdmchooser.c: First shot at reimplementing the code I lost. Doesn't actually work yet. 1999-02-24 Martin Kasper Petersen * src/gdmxdmcp.c: Fix gethostbyaddr() lookups. * src/gdmslave.c: Various fixes. * src/gdm.c (gdm_display_dispose): Call XCloseDisplay to close remote connections. (gdm_child_handler): Fix wrong debug output. * config/Makefile.am: Create Default display init file. 1999-02-23 Martin Kasper Petersen * src/gdmverify.c (gdm_verify_user): Added shadow support (Patch from Timo Sirainen). * src/gdmgreeter.c (main): Added GtkRC support (Patch from Daniel_Burrows@brown.edu). 1999-02-23 Miguel de Icaza * src/gdmgreeter.c (main): Call gnome sound shutdown here. * src/gdm.c (main): Show a descriptive message to let the user locate the stale pid file. * configure.in (LIBWRAP_PATH): Use the same configuration mechanism for detecting a working libwrap library on the system (fixes crash). * src/gdmslave.c (gdm_slave_greeter): Do not use sscanf to get the password, as it might contain spaces, just copy the string. (gdm_slave_get_opts): Use fgets directly on the target buffer. (gdm_slave_get_opts): Make the strings empty at startup. * src/gdmgreeter.c (gdm_greeter_logo_init): Use gnome-pixmap widget instead of gtk-pixmap. Gnome-pixmap correctly uses the right visual and is simpler to use (and does not crash on multidepth visuals). (gdm_greeter_iconify_handler): Use gnome-pixmao here too. 1999-02-16 Martin Kasper Petersen * src/gdm.c: Ignore invalid lines in [servers] section. 1999-02-14 Martin Kasper Petersen * src/gdmserver.c: Changed SA_ONESHOT to SA_RESETHAND. 1999-02-08 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_parse_config): Disable shutdown menu on non-local displays. * src/gdm.c (gdm_config_parse): Default path belongs in [system] (msw). * src/gdmxdmcp.c (gdm_xdmcp_init): Use GIOChannel to monitor fds. * src/gdmmisc.c (gdm_parse_enriched_string): Support %d expansion for display name. 1999-02-06 Martin Kasper Petersen * src/gdmxdmcp.c (gdm_xdmcp_send_accept): MIT cookies work for remote displays now. * src/gdmslave.c: Lots of fixes. Should be stable again. 1999-02-04 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_child_handler): Only xping remote displays to avoid DISPLAY_ABORT for murdered greeters/Xservers. * src/gdmmisc.c (gdm_exec_script): Set default path before executing. 1999-02-03 Martin Kasper Petersen * Makefile.am: Stuff the docs dir back in and add the appropriate Makefile.am. 1999-02-02 Martin Kasper Petersen * src/gdmslave.c: Fixes for XDMCP vs. local display handling. * src/gdmxdmcp.c: Numerous fixes. 1999-01-31 Martin Kasper Petersen * src/gdmxdmcp.c: First shot at XDMCP implementation. 1999-01-28 Martin Kasper Petersen * configure.in/Makefile.am: Generate Makefile in docs. Added README.install to EXTRA_DIST. 1999-01-27 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_info): Fixed the annoying hanging Gtk bug caused by my inability to program user interfaces. Ahem. * configure.in: Stuff GNOME_GETTEXT back in. 1999-01-25 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_session_start): Moved english->C locale here. Ugly, but it became a mess in greeter too. * src/gdmverify.c (gdm_verify_user): Repetetetive pam_setcred spotted by gb. Fixed. 1999-01-22 Martin Kasper Petersen * src/gdmverify.c (gdm_verify_user): syslog ident workaround. * src/gdmgreeter.c (gdm_greeter_session_init): Used widget pointer as session name if no default was found. Fixed. * src/gdm.c (gdm_display_unmanage): Avoid killing master daemon when unmanaging displays. * src/gdmslave.c (gdm_slave_session_start): Added call to initgroups() to set up additional group memberships. * src/gdmverify.c (gdm_verify_user): Fix non-PAM password checking. 1999-01-20 Martin Kasper Petersen * src/gdmverify.c (gdm_verify_user): Updated PAM stuff. 1999-01-19 Miguel de Icaza * src/gdmslave.c (gdm_slave_session_start): Set the umask. 1999-01-19 Martin Kasper Petersen * src/gdmverify.c (gdm_verify_pam_conv): Quick workaround for PAM stuff. Real solution due tomorrow. * src/gdmgreeter.c: Lots of new stuff. Non completion mode deprecated. On demand NFS lookups. Language selection. * src/gdmslave.c (gdm_slave_greeter): New session/language selection support. 1999-01-18 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_session_start): Fixed memleak. 1999-01-15 Miguel de Icaza * src/gdmslave.c (gdm_slave_greeter): Check return values from sscanf. Because "\n" scanned with %s returns -1 and the target buffer has an undefined value. * src/gdm.c (main): Set the umask to 066 to make any default file created indirectly by gnome-config be of mode 066. 1999-01-13 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_sessions_init): Check that Session scripts are executable before adding them to the list. * src/gdmmisc.c (gdm_file_check): Added an option making the function return TRUE if it is ok that a file is absent. I.e. the user has no existing .Xauthority, .gnome/gdm or whatever. * src/gdmslave.c (gdm_slave_session_start): Added default path. Create ~user/.gnome if it doesn't exist. * src/gdmslave.c (gdm_slave_session_stop): More setegid(). * src/gdmslave.c (gdm_slave_session_start): Added setgid(). (gdm_slave_greeter): Fixed sigmask. * src/gdmauth.c (gdm_auth_user_{add|remove}): Added -i to xauth to ignore hanging locks. * src/gdmgreeter.c (main): Resize only when browser is enabled. * src/gdmgreeter.c (gdm_greeter_message_init): Removed debug msg. * src/gdm.c (gdm_config_parse): Bail out if gdm user/group doesn't exist. Root failover made people lazy. * src/gdm.c (gdm_child_handler): Minor fix to make gdm work with more than one local Xserver. 1999-01-12 Martin Kasper Petersen * config/gdm.conf.in ([system]): Added UserIconMax{Width,Height}. * src/gdmgreeter.c (gdm_greeter_user_alloc): Scales user icons to sysadmin specified max size. * src/gdmgreeter.c (gdm_greeter_iconify_handler): Fixed iconification bug. (gdm_greeter_login_key_handler): Cursor/Tab key restriction. * src/gdmslave.c (gdm_slave_greeter): Forgot to setgid() (gdm_slave_greeter): Workaround for getenv("HOME") until miguel fixes gnome_init(). * src/gdmmisc.c (gdm_parse_enriched_string): Fallback if getenv("HOSTNAME")==NULL. 1999-01-11 Martin Kasper Petersen * src/.[ch] Done rewriting the daemon code to avoid the race condition caused by simultaneous greeter/session and Xserver death. 1998-12-30 Jeff Garzik * src/gdmauth.c, src/gdmgreeter.c, src/gdmmisc.c, src/gdmslave.c, src/gdmxdmcp.c: s/g_copy_strings/g_strconcat/ 1998-12-28 Martin Kasper Petersen * src/*.c: Loads of fixes over the past couple of days. * src/gdmgreeter.c (gdm_greeter_parse_config): gdmUserMaxFile tunable. * src/gdmmisc.c (gdm_file_check): Moved gdm_greeter_file_check here. Now a generic function. * src/gdmslave.c (gdm_slave_windows_kill_error_handler): Ok, nailed down the bug which caused gdmslave to exit(1) mysteriously. A race in the windows_recursive_kill function caused the X default error handler to kick in. Blam. You're dead. (gdm_slave_session_init): Run sanity check on ~user/.Xauthority and ~user/.gnome/gdm. (gdm_slave_exec_command): Use the passed pointer instead of gdmSuspend. (gdm_slave_session_init): Added SHELL environment variable so the user's shell is executed. Not just root's.. 1998-12-25 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_user_alloc): Rewritten to use sanity check. (gdm_greeter_file_check): New function. Checks file size, ownership etc. to avoid DoS attacks on greeter. 1998-12-23 Martin Kasper Petersen * src/gdm.c (gdm_abort): New function for error logging and aborting. (gdm_config_parse): luser proof permissions checking on authdir. * src/gdmgreeter.c: Several oddities fixed. * src/gdmgreeter.c (gdm_greeter_buttons_init): Mark login button as default. * src/gdmgreeter.c (gdm_greeter_login_entry_handler): Fixed event handlers to avoid the obscure emit_stop bug. Turns out my ancient event handlers were doing the right thing all along. Only the recent ones were br0ked. *sigh*. Thanks Owen! 1998-12-22 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_greet_init): Removed debug logging of username and password. Ahem. Thanks Sopwith! * src/gdmgreeter.c (gdm_greeter_login_entry_handler): Fixes. gtk_signal_emit_stop_by_name workaround. 1998-12-20 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_invalid_passwd_req): Minor hack to avoid greeter to be reactivated during dialog. * src/(gdm_greeter_entry_init): Limit input length in login and password entry fields. * src/gdmslave.c (gdm_slave_greet_init): Avoid potential buffer overflow, in case something/someone breaks greeter. 1998-12-15 Martin Kasper Petersen * src/gdmverify.c (gdm_verify_user): Two buglets reported by . 1998-12-14 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_browser_unselect): Catch BUTTON_RELEASE. 1998-12-13 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_{reboot,halt}_handler): Use gnome_question_dialog instead of message_box. 1998-12-03 Martin Kasper Petersen * config/Makefile.am: Fixed gnomerc. Both path and INSTALL_SCRIPT were wrong -- No wonder people have been complaining. *sigh* * src/gdm.c (main): Abort with (xdm compliant :) error message if GDM isn't started by root. 1998-12-01 Martin Kasper Petersen * src/gdm.c, config/gdm.conf.in: The PreRoot and PostRoot directories have been renamed PreSession and PostSession to avoid confusion. 1998-11-30 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_message_init): Calls the enriched string function on the message string to support ``Welcome to ''. Need to supply both server and client macros. * src/gdmmisc.c (gdm_parse_enriched_string): New function for %h expansion in strings. * src/gdmgreeter.c: Removed legacy labels and such. gettext takes it from here. * src/gdm.c (gdm_config_parse): Check for correct permissions on vardir. 1998-11-29 Miguel de Icaza * src/gdmgreeter.c (gdm_greeter_browser_init): IconList now starts life in thawed mode. 1998-11-22 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_browser_select): Reverted to the old event types (GDK_BUTTON_PRESS) for gnome-icon-list. * src/gdmslave.c, src/gdmgreeter.c, src/gdm.c: Added support for suspending APM-aware machines from greeter. 1998-11-20 Martin Kasper Petersen * src/gdmslave.c: Fixed X server restart stuff. gdmslave rewrite done. * src/gdmslave.c, src/gdm.c, config/gdm.conf.in: Implemented KillInitClients option (Requested by sct). 1998-11-18 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_display_init): Finally nailed down the bug that has been haunting me for the past week causing gdm_slave_windows_kill to hang on second login. The X server takes a while to recover consciousness after a reset. I take this into account by sleeping for a while if XOpenDisplay fails. Unfortunately, dsp was already initialized in second run (but invalid after the X server reset) causing my retry condition to be ignored. Always check your pointers! *sigh* So, the new gdm should be as fast as xdm (i.e. fewer resets causing garbled displays and momentary flicker. Visual annoyances beyond this point - Go bug the X server people). SANE tutorial coming up in 6 hours. *Thud* 1998-11-09 Martin Kasper Petersen * src/gdmslave.c More or less a rewrite. 1998-11-08 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_init): Add d->name when starting X server. * src/gdm.c (gdm_config_parse): Added intelligent AuthDir searching and gdmLogDir. gdmLogFile deprecated. * src/gdmslave.c (gdm_slave_init): Moved stdout, stderr logging here. Logs are now per-display. 1998-11-08 Martin Kasper Petersen * #include in *.c. 1998-11-02 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_session_init): Reset display instead of restarting the X server every time. 1998-11-01 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_session_init): If PreRoot script returns > 0 abort session. 1998-10-31 Martin Kasper Petersen * src/gdmauth.c (gdm_auth_user_add): New function. (gdm_auth_user_remove): New function. ~/.Xauthority management. 1998-10-30 Martin Kasper Petersen * src/gdmmisc.c (gdm_arg_munch): Zero out the remaining argv-entries. We use the static array several times. * src/gdmslave.c (gdm_slave_session_init): Removed malloc(pwent) - Duh!. * src/gdm.c (gdm_config_parse): Added group lookup. Removed malloc(pwent). 1998-10-26 Martin Kasper Petersen * config/gdm.conf.in: New User and Group keys override NobodyUser 1998-10-21 Martin Kasper Petersen * src/gdm.c (gdm_restart_slave): Implemented reboot and halt. * src/gdmverify.c: #ifdefs to make it compile on non PAM systems. * src/Makefile.am (gdm_SOURCES): Added gdmmisc.c * src/gdmmisc.c: Moved arg_much to a separate file. It is now used by both gdm.c and gdmslave.c. 1998-10-20 Martin Kasper Petersen * src/gdmgreeter.c: Send STX through pipeline before sending a command. * src/gdmslave.c (gdm_slave_display_init): Added STX for greeter communications to avoid problems with Gtk debug errors to stdout. 1998-10-19 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_browser_init): Added background color in browser. * src/gdmgreeter.c (gdm_greeter_browser_select): Change GDK_BUTTON_PRESS to ditto RELEASE due to gil. * src/gdmgreeter.c (main): Removed buggy icon list workaround. (main): Center window before realizing it. (gdm_greeter_browser_init): Added 3D frame to new icon list. 1998-10-18 Miguel de Icaza * src/gdmgreeter.c (gdm_greeter_browser_init): Icon List is born in frozen state, calling freeze and thaw leaves it still in frozen state (as we have a frozen counter instead of a flag these days.). 1998-10-16 Christopher Blizzard * config/Makefile.am (install-data-hook): Make sure that install-data-hook depends on targets gdm.conf gnomerc and Gnome. Otherwise they are never built. Also, if the directories that these files are supposed to go in don't exist, create them with the proper mode. 1998-10-13 Miguel de Icaza * src/gdmgreeter.c (gdm_greeter_login_entry_handler): Fix use of the gnome_icon_list_moveto routine (gdm_greeter_browser_update): ditto. (gdm_greeter_browser_init): Adapt to the new gnome-icon-list api. (gdm_greeter_login_entry_handler): Thaw before attempting to use moveto Martin, is there any reason why you clear() the icon lists contents and then reload them when the user changes from the login field to the password one? 1998-10-13 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_exec_script): New function. (gdm_slave_display_init): Add support for display init script. (gdm_slave_session_init): Add support for root pre-login script. (gdm_slave_session_init): Add support for root post-login script. * src/gdm.c (gdm_config_parse): Added new config options for scripts. * config/gdm.conf.in ([daemon]): Default config options for scripts. 1998-10-11 Martin Kasper Petersen * src/gdm.c (main): Redirect all output to a logfile. * src/gdm.c (main): Moved the pid checking code to main to avoid /sbin/init respawns. Checks whether gdm is started by init and stops forking if this is the case (actually works this time). * config/gdm.conf.in (PidFile): I've been ignoring all bug reports caused by this one. Turns out I made a typo in the config template file. *sigh* 1998-10-11 Carsten Schaar * src/Makefile.am (gdm_LDADD): Added '$(INTLLIBS). (gdmgreeter_LDADD): Likewise. 1998-10-10 Martin Kasper Petersen * config/gdm.conf.in ([servers]): Modified to default X server entry to exclude display depth option. * config/Makefile.am (install-data-hook): Avoid overwriting existing config files. * acconfig.h: Added HAVE_PAM * src/gdmverify.c (gdm_verify_user): Change USE_PAM to HAVE_PAM to follow conventions. * configure.in (have_pam): PAM autodetection. 1998-10-08 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_invalid_passwd_req): Set focus to passwd field when auth fails. * src/gdmslave.c: Finished the rewrite. Should be almost usable again. * config/Makefile.am: TODO: Need to find a way to prevent overwriting gdm.conf when doing a make install. 1998-10-07 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_login): Completely new communication scheme. Easier to parse in gdmslave.c. 1998-10-06 Martin Kasper Petersen * src/gdmverify.c: New file. TODO: PAM detection in autoconf. * src/gdmslave.c: Gave up on merging CVS and my .ch-work. Started major rewrite instead. * src/gdmgreeter.c: Removed `:' in pipe communication protocol. Waste. 1998-10-05 Martin Kasper Petersen * src/gdmslave.c: Fixed the race reported on gnome-list the right way. The posted fix broke X USR1 signalling. * src/gdmgreeter.c (gdm_greeter_about): Bumped version number. Whee. (gdm_greeter_done): New function. Partly replaces parse_results(). (gdm_greeter_login): Former login_button_handler. Now passes password through pipe. Disables input while gdmslave is thinking. (gdm_greeter_passwd_entry_handler): Replaced parse_results with gdm_greeter_login to reflect the auth redesign. (gdm_greeter_invalid_passwd_req): Re-enable input and reset cursor after requester has been acked. (main): Added signal handling for gdmslave communication. 1998-10-04 Martin Kasper Petersen * src/gdm.c: signal->sigaction stuff. (gdm_daemonify): Moved openlog to main. (main): Stop forking when ppid is init. 1998-10-01 Miguel de Icaza * src/gdmslave.c (gdm_slave_init): Setup the signal before forking. FIXME: We need to use sigaction all over the place instead of signal. Thu Sep 24 22:09:39 CEST 1998 Jochen Friedrich * src/gdmgreeter.c: Fixed a memory corruption. 1998-09-15 Martin Kasper Petersen * src/gdmslave.c (gdm_slave_usr1_handler): Added support for setting last session in ~/.gnome/gdm/session/last. I had forgotten all about it after I removed it from greeter. * src/gdm.c Gazillions of fixes * src/gdmslave.c Gazillions of fixes 1998-09-14 Martin Kasper Petersen * src/gdmgreeter.c (gdm_greeter_verify_user): Replaced annoying LOG_AUTH with LOG_ERR. * config/Makefile.am: Changed _DATA to _SCRIPTS for gnomerc et al. 1998-09-10 Miguel de Icaza * src/gdm.c (gdm_config_parse): Simplify as well. * src/gdmgreeter.c (gdm_greeter_user_alloc): Fix my oversimplication from last night. * src/gdmgreeter.c (gdm_greeter_user_alloc): More simplification of the use of gnome-config. I think I really should document it. * src/gdm.h (gdm_slave_init): Add prototype. Remove include to gnome.h. * src/gdmslave.c (gdm_slave_usr1_handler): Log errors when the session can not be launched. Simplify the includes. * src/gdmgreeter.c (gdm_greeter_parse_config): Simplify the code by using gnome_config_push_prefix (gdm_greeter_parse_config): Do not strdup the resulting strings, they are already dupped (gdm_greeter_sessions_init): Removed dependency on static buffer for s. Find correctly the default session. Tue Sep 8 16:11:49 EDT 1998 Gregory McLean * acconfig.h : added this file so one can cvs -z3 co gdm, cd gdm ./autogen.sh; make and have an executable be spit out.