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 damn 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 * config/gdm.conf.in, docs/C/gdm.xml: Update docs 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, docs/C/gdm.xml, 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, docs/C/gdm.xml: 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, docs/C/gdm.xml: 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, docs/C/gdm.xml, 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, docs/C/gdm.xml, 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 * docs/C/gdm.xml: minor updates. * 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 Wed Dec 10 2003 Archana Shah * docs/C/gdm.xml: Add documentation for Multicast and Multicast_Addr. Fri Dec 09 2003 Archana Shah * configure.in : Put check for getaddrinfo, inet_ntop and struture 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 recieve 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 * docs/C/gdm.xml: add info about NeverPlaceCookiesOnNFS 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 anality, 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 analer 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 analer (is that a word?) 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 anality 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 anality 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. * docs/C/gdm.xml: update the docs 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 ... * docs/C/gdm.xml: update a bit. 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: reenable 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 guesture 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. * docs/C/gdm.xml: Update the session docs to reflect reality, plus some other minor cleanup * po/POTFILES.in: s/Default/default/ 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 * docs/C/gdm.xml: 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 crap (not that slow, we're talking 'too slow for sopwith'). But it was kind of embarassing 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 anal when creating /tmp/.gdm_socket (note: we were anal before, but now we're really REALLY anal) * 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. * docs/C/gdm.xml: update 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 18:06:51 2003 George Lebl * docs/C/gdm.xml: minor update Tue Aug 26 17:58:46 2003 George Lebl * docs/C/gdm.xml: lots of updates, stylistic and fixing errors, also add ShowLastSession. * 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. * docs/C/gdm.xml: update * 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. * docs/C/gdm.xml: update the SystemMenu (Actions menu) key description. 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. * docs/C/gdm.xml: updates relating to the ~/.xsession-errors stuff and how to handle the Xsession file. 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:35:25 2003 George Lebl * docs/Makefile.am, docs/gdm.1: add a very simple man page 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 * docs/C/gdm.xml: minor updates 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) * docs/C/gdm.xml: note about the above * 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, damnit, 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 * docs/C/gdm.xml: added more notes on the MIT-MAGIC-COOKIE-1 authorization scheme * 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 anal * 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 soptimizations. 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. * docs/C/gdm.xml: Update docs for UserAuthDir and add a note about using this with NFS mounted home directories. * 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 Mon Aug 11 09:38:08 2003 George Lebl * docs/C/gdm.xml: whack a doubled paragraph. Fri Aug 08 17:20:59 2003 George Lebl * docs/C/gdm.xml: fill in missing info in the theme manual * 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. * docs/C/gdm.xml: add more comments on security of XDMCP, fixup the screen sections a bit, whack SessionMaxFile entry 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 anal), 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 * docs/C/gdm.xml: more notes on security of XDMCP and using MIT-MAGIC-COOKIE-1 added, plus a section on the TCP Wrappers, though it kind of sucks. Wed Aug 06 12:05:52 2003 George Lebl * configure.in, docs/C/gdm.xml: update version number Wed Aug 06 11:39:37 2003 George Lebl * docs/C/gdm.xml: some fixes from my mailspool from like a year ago, plus added section about terminal lab example setups 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 damn release... Thu Jul 31 15:26:41 2003 George Lebl * docs/C/gdm.xml: add the release info as the first paragraph of the preface so that it appears in the HTML and PDF versions 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 * docs/C/gdm.xml: fix closing tag 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 crap 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 forgotting about. Tue Jul 29 11:10:20 2003 George Lebl * daemon/misc.c: apparently _SC_OPEN_MAX can be rediculously 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 16:28:28 2003 George Lebl * docs/C/gdm.xml: fix doc of the gdm User/Group and add a section on this to the Overview. 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 realy anal 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 ingoring or reseting 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 reseting 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 * docs/C/gdm.xml: add documentation of command line options 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 reinit 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 like crap. * 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 reinit * 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 * docs/C/gdm.xml: update the version information on top * 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 * docs/C/gdm.xml: fixed the art.gnome.org link added a link to the GDM website, ran through a spellchecker, whacked the last vestiges of iconification feature mentions and added MinimalUID mention next to Exclude in the overview. * 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 owenership 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 anal 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 * docs/C/gdm.xml: update the PostLogin behaviour and the permissions on the ServAuthDir Wed Jul 23 15:13:33 2003 George Lebl * Release 2.4.2.98 * docs/Makefile.am: fix for distcheck 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 reinit stuff. Don't close the display before we reinit and then do a nice setjmp hack to notice when the server got reinited. This avoids races, avoids an extra process for figuring out the reinit and as icing on the cake it is also about 4-5 seconds faster to reinit not (and the server is reinited 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 15:36:48 2003 George Lebl * docs/GdmGreeterThemeManual.txt: removed since this is now in the XML documentation Mon Jul 21 13:45:31 2003 George Lebl * docs/C/gdm-C.omf: add, damnit, I forgot to add this to CVS :) 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 * docs/C/gdm.xml: remove the documentation for the Icon key, and add a better blurb in the [servers] description. 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, * docs/C/gdm.xml: update 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 Sun Jul 20 08:59:19 2003 George Lebl * docs/C/gdm.xml: fix docbook errors Sat Jul 19 16:40:55 2003 George Lebl * docs/C/gdm.xml: update the way the years in the copyright are done Sat Jul 19 16:33:19 2003 George Lebl * docs/C/gdm.xml, configure.in, docs/C/Makefile.am, docs/Makefile.am, 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. * docs/C/gdmconfig/*, docs/C/gdm.sgml, docs/C/gdm-manual.txt: remove everything here as it was old and unused and outdated. 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 * docs/GdmGreeterThemeManual.txt, 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 definately 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 (definately 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 is an wanker and doesn't 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 definately 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 unneccessary 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 crap, 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 * po/id.po: Added Indonesian translation * 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, docs/Makefile.am, 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 privilages 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. * docs/Makefile.am: actually include the theme document, DUH! 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 crap. 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 19:07:22 2003 George Lebl * docs/GdmGreeterThemeManual.txt: Update a bit on theme creation and the .desktop file and add notes about gdmthemetester 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 shtudown/reboot looks kind of crap 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 Brian Cameron * docs/GdmGreeterThemeManual.txt: Added theme docs. 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 cahnged). 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 (damnit 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, docs/C/gdm.(xml|sgml): 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 po/POTFILES.in 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, docs/C/gdm.xml: 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 crappy 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 interal 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 anal (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 anal 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 existance 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 anal, 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 reinit 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 soultion 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 honour 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 wierdness 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 proccess detection thing to work on non-linux systems correctly (logic was reversed). Properly cast when printing to the pid file (being anal). 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 damn 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 editting 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 reseting 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 renameing, 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, po/POTFILES.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 reinitted. 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 handeled. * 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 crap. Now we always copy to ~/.gnome/photo. this removes the need for needing to know gnome's pixmap path, and gets rid of some uglieness. 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, po/POTFILES.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 initting 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, damnit 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 damnit. 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 shite. 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 crap 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 owenership/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/cirlces/screenshot.png, gui/greeter/themes/cirlces/GdmGreeterTheme.info: gui/greeter/themes/cirlces/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 editting work by just whacking ALL translations and using the current string when it is editted. Mon May 06 10:40:47 2002 George Lebl * gui/gdmlogin.c: Also make this init only gtk since initting 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, po/cs.po, 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 handeling. 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, docs/Makefile.am: don't 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-serurity.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. Damn 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 doo 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 handeling 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 arguyments. * 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 crap. 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_widht/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 existance 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 privilages. (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, daeomon/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 'offical' word from the linux-pam people. Though not everybody agrees. Well screw this, this makes sense, so this is the way it will be damnit :) * 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-existant parent. This can happen when you do 'killall gdm' Mon Dec 10 08:23:00 2001 Trevor Curtis * docs/C/gdm.xml: updated the doc to use the FDL, and cleaned up a few things Fri Dec 7 23:02:12 2001 Trevor Curtis * doc/C/gdmconfig/C/gdm.xml: removed Tim Jansen from documentation at his request Fri Dec 7 06:33:13 2001 Trevor Curtis * docs/C/gdmconfig/C/gdm.xml: created xml version of gdmconfig documentation Fri Dec 7 05:05:26 2001 Trevor Curtis * docs/C/gdm.xml: created xml version of gdm documentation 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, just to piss George off. :-) 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 seemlessy 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 editting the XKeepsCrashing script directly. * config/XKeepsCrashing, config/Makefile.am, config/gettextfoo.h, po/POTFILES.in, 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. * docs/C/gdm.sgml: Remove the XKeepsCrashingConfigurators option 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:22:41 2001 George Lebl * docs/C/gdm.sgml: remove documentation of the VerboseAuth option 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 12:03:14 2001 George Lebl * docs/C/Makefile.am: DESTDIR added patch by: frodol@dds.nl (Frodo Looijaard) 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 suplementary 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 temporairly 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 fucking 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 piss of 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, docs/C/gdm.sgml: 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. Tue Sep 4 18:52:10 2001 Trevor Curtis * docs/gdmconfig/C/figures/GDM_xserv_setup.png,GDM_xdmcp.png: Updated the above screenshots to reflect recent changes. 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, docs/gdmconfig/C/gdmconfig.sgml: 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 * docs/C/gdm.sgml: a small update * gui/gdmflexiserver.c: Add -a (--authenticate) command so that when using the --command option we can auth first, useful for testing. Fri Aug 31 20:22:33 2001 George Lebl * docs/C/gdm.sgml: Update for all the server def stuff. 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. * docs/C/gdm.sgml: update 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 * docs/C/gdm.sgml: Document some of the new configuration keys. Not everything is documented yet. 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. Fri Aug 24 19:32:42 2001 George Lebl * docs/sgmldocs.make: update to newest from gnome-core 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 editting 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 editting of static servers and a bit of work on server definitions editting. Sun Aug 19 14:47:09 2001 George Lebl * gui/gdmconfig.(c|glade): work more on server editting, 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 14:47:08 2001 George Lebl * docs/C/Makefile.am: fix rules since the .sgml file changed 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, po/POTFILEs.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. * daaemon/misc.c: implement an incredibly evil function to figure out a free X display number 2001-08-14 Kjartan Maraas * docs/C/gdm.sgml: Fix sgml up a bit. * docs/gdmconfig/C/gdmconfig.sgml: Fix up here too. 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 crap 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 sucessful 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], po/POTFILES.in: 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-extentions-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 overriden 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. * doc/C/gdm.sgml: add docs for the above two keys * daemon/choose.c, daemon/gdm.[ch], daemon/slave.c, daemon/xdmcp.c: Fix a race with the daemon not getting the chooesr 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/editting/editing/ Tue Jun 26 23:00:04 2001 Trevor Curtis * docs/gdmconfig/C: added sections for Miscellaneous, and Login Sessions. Updated XServer-Setup section. * docs/gdmconfig/C/figures/*: updated GDM_xserv_setup.png, and GDM_login_sessions.png. Added GDM_expert_misc.png 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 reinitting it. * docs/C/gdm.sgml: update for all the new options Sun Jun 24 14:07:47 2001 George Lebl * daemon/slave.c: when ping times out, do proper session stoping 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 * docs/C/gdm.sgml: fix indirect wait entry, add entries for the showing of different built in sessions (failsafes, chooser) * gui/gdmconfig.(c|glade): add toggeling of builtin sessions (failsafes, chooser) Fri Jun 22 18:53:14 2001 George Lebl * daemon/xdmcp.c: fix up the forward query sending/handeling, 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 areguments 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 reinitializing 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, jsut for good meassure as wel don't have anything to talk to anymore anyway * daemon/slave.c, daemon/server.c: when reinitting 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 apprently 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 fromt he 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, docs/Makefile.am, omf-install/Makefile.am, docs/sgmldocs.make, docs/gdmconfig/C/Makefile.am, Makefile.am: Set up the documentation/omf build stuff. * docs/gdmconfig/C/gdmconfig.sgml: fix version to say 2.2.2 and this is part of the GDM package not the Gnome-Core package :) Wed May 23 23:31:00 2001 Trevor Curtis * docs/gdmconfig/C/gdmconfig.sgml: Added the expert and system descriptions. * docs/gdmconfig/C/figures: Was created to put the screenshots in for the gdmconfig doc. * docs/gdmconfig/C/figures/*: added the following png's; GDM_auto_login.png, GDM_background.png, GDM_chooser.png, GDM_enviro.png, GDM_face_brow.png, GDM_full.png, GDM_login_appear.png, GDM_login_behav.png, GDM_login_sessions.png, GDM_menubar.png, GDM_misc.png, GDM_paths.png, GDM_security.png, GDM_xdmcp.png, GDM_xserv_setup.png 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, docs/C/gdm.sgml, config/gdm.conf.in, gui/gdmconfig.(c|glade): Add a config option for a failsafe X server which is emtpy by default Fri May 18 00:16:58 2001 George Lebl * config/Makefile.am: don't overwrite gnomerc on install, that's bad juju * docs/C/gdm.sgml: update for the XKeepsCrashing stuff 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 crapplet 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 complaina bout 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 existance 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 isn't 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 22:20:09 2001 George Lebl * docs/C/Makefile.am: install the index.html file correctly on make install. For those weirdos like me that run out of CVS Mon May 14 21:52:53 2001 George Lebl * docs/C/gdm.sgml: Add proper copyrights/authors for me and Tim Jensen and update the configuration section with all the new keys. * 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 dieing 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 extentions 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, shit, 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 anal 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 existance/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), po/POTFILES.in, po/*.po, 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 crap 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 an assload of stuff with respect to the Session directory editting. 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 trhough 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 failiures 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 crap 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 disabeling the titlebar, apaprently some people hate it and I'd rather this be done by configuration then patches. Then the user can easily reenable 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 enviroment 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 17:32:36 2001 George Lebl * docs/C/gdm.sgml: Update the VerboseAuth and AllowRoot sections to reflect what actually happens nowdays. 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, hopefuly 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 mispelling 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 fromt he 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 centralised 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. Sun Mar 4 16:13:55 2001 Lee Mallabone * docs/gdmconfig/*: Added initial directory structure/files for the gdmconfig user guide. Not installed yet. * docs/gdmconfig/C/gdmconfig.sgml: Initial gdmconfig user guide content from Trevor Curtis . 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 priviledged 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 initting 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 * docs/C/gdm.sgml: fixed docs in terms of true/false vs. 1/0 and add new values * 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 exitting. 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 , furhter 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 Paulasukas * 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, po/POTFILES.in: 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 buile 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 wankers 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 exitting 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 * docs/C/Makefile.am: remove images. * docs/C/gdm.sgml: fix sgml. * po/Makefile.in.in: I dunno. 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 funftionallity 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 * docs/C/gdm.sgml: Lots of updates. * 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-18 * docs/C/gdm.sgml: More documentation work. 1999-08-16 * docs/C/gdm.sgml: SGML-ified manual. Only bare bones so far. * configure.in: Check whether crypt.h exists. Gnome bug #1925. 1999-08-15 * docs/gdm-manual.txt: Updated for v2 config file syntax. * 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): centre 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 * docs/gdm-manual.txt: added entry for %m 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. * po/de.po: Added (Patch from Karsten Weiss ). 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 implentation. 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 * docs/gdm-manual.txt: Crude manual draft. * 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 seperate 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 correcly 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.