Ahh news...

2.4.4.5 stuff:

- Brown paper security bag: ~/.Xauthority could be left readable
  after logout

- gecos info (face browser user name) didn't get through if non-utf8
  (Frederic Crozat) (fixes mandrake #5309)

- Translation updates (another brown paper bag, these went in over
  the last month) (Kjartan Maraas, Andras Timar, Danilo Segan,
  Ales Nyakhaychyk, Asmund Skjaeveland, Gustavo Maciel Dias Vieira,
  Augusta Marques da Silva, Richard Allen)

2.4.4.4 stuff:

- SECURITY: Fixed CAN-2003-0793, a local DoS, the socket connection
  is now non-blocking and limitted to the number of commands

- SECURITY: Fixed CAN-2003-0794, a local DoS, the line length is limitted
  to 4096 bytes (note, this was not a buffer overrun).

  (Thanks to Jarno Gassenbauer for pointing out the above two problems)

- Avoid possible DoS by using "-audit 0" for the X server command line

- When cookies are in the fallback dir touch them every
  12 hours to avoid tmpwatch from removing them

- Add config key NeverPlaceCookiesOnNFS to allow
  cookie files on NFS or similar filesystems

- Graphical greeter now graphically complains if it can't
  load a theme rather then plainly failing.

- Go shell quoting crazy (fixes among others rh #105858,
  but none of the issues were actually security problems,
  "annoying" on really weird configs at most)

- Some more anality with touching user owned files

- Fixed the graphical greeter line breaking to not upset
  pango and generally work with marked up strings

- Fix an underlining bug in the graphical greeter when the underlined letter
  is the last letter. (discussed in rh #106189)

- Minor other fixes (among others #123958, #124680)

2.4.4.3 stuff:

- The graphical greeter now wraps text correctly (and
  all text).  Plus you can insert \n in the welcome text
  now too (it worked for gdmlogin before) Fixes #123017

- The entry type in the graphical greeter listens to
  font and color from the normal state (it only has
  the normal state) (Anton Altaparmakov, me)

- Tweak fontsizes in the default themes to be smaller.  For
  some reason they very suddenly very huge.

- Further memory savings in the graphical greeter (though
  it may be offset by the new wrapping code which is quite
  large :)

- Another security audit, but no new security holes found,
  on the other hand lots of code changed to being
  super-anal (which is never bad in something running as
  root)

- Lots of random fixes again

2.4.4.2 stuff:

- Fix the session setup to be both back-compatible and
  fully KDM (kde 3.2) compatible, among others:
  - SessionDesktopDir is now a path
  - Change 'Default' to 'default'
  - Honour TryExec correctly
  - Other then 'default', the gnome and CDE sessions are
    now installed in /usr/share/xsessions (if prefix==/usr)

- Support SELinux

- Fix the 'switchdesk' mode and mention 'switchdesk'
  only if it's actually installed (rh #104287)

- Use the a11y modules for the chooser as well as the
  error dialogs

- Lots of dwellmouselistener and keymouselistener a11y
  modules fixing, as in they actually work now,
  among other fixes are #122944, #122658, #122616

- Default gestures for gok (David Bolter, me)

- Lots of small fixes

- Error dialogs are now crashing theme/module tolerant

- Load ~/.face.icon for kde 3.2 interoperability

- Clean up the random stuff again a bit (we get more entropy
  for less work, yay!)

- Documentation updates

- Translation updates (Alessio Frusciante, Francesco Marletta,
  Changwoo Ryu)

2.4.4.1 stuff:

- Update the manual a bit

- Some internal cleanup

- Be ultra anal with creating the user protocol socket

- Don't fall back to 'nobody' if the gdm user is not found
  (that is a horrible behaviour)

- Support and write KDM style .dmrc (KDM will use this in
  the next version).  Still KDM will use /etc/X11/sessions,
  and we're using /etc/X11/dm/Sessions, oh well, life can't
  be perfect, next time ...

- Translation updates (Andras Timar, Pablo Saratxaga, Vincent van Adrighem,
  Guntupalli Karunakar, Pablo Gonzalo del Campo, Francisco Javier F. Serrador,
  Mugurel Tudor, Misu Moldovan, KAMAGASAKO Masatoshi, Gustavo Noronha Silva,
  Hasbullah Bin Pit, Christian Neumair)

Major changes in 2.4.4.x since 2.4.1.x:

- Full reference documentation!
- Facebrowser support in the graphical greeter
- Better HIG support
- Many security improvements
- Performance and memory usage improvements
- XDMCP much more robust
- Better support for running XDMCP-only servers
- Session setup is reworked into a new common standard
  to be implemented in KDM soon
- "Proper" support for PAM making things like
  smartcard modules possible
- XDMCP chooser may be run directly from the local
  login dialog (or you can have the chooser be default)
- A PostLogin script for finer grained login setup
- Many MANY bugfixes and build fixes
- Lots of new translations
- And lots of other new features, improvements,
  and bugfixes, see individual news entries since
  2.4.1.4

2.4.4.0 stuff (since 2.4.2.102):

- Updated the documentation quite a bit again.

- Make the .spec file work again

- Run pam_close_session and the delete cred AFTER the
  PostSession script and all those places where we touch
  the home dir so that pam_mount works properly

- Fix error output to point to the right places

- Create log file correctly during "make install"

- Translation updates (Dafydd Harries, Alessio Frusciante, Jordi Mallach,
  Vincent van Adrighem, Ole Laursen, Stanislav Visnovsky, Abel Cheung,
  Pablo Gonzalo del Campo, Lucas 'Basurero' Vieites, Danilo Segan, 
  Laurent Dhima, Christian Neumair)

2.4.2.102 stuff:

- Update the manual

- Fix error where GDM would take up 100% cpu in case
  the Xsession file redirect .xsession-errors output
  itself (which is really a bug IMO) (#120580)

- Fallback to an alternative file in the /tmp dir
  if we can't create .xsession-errors (or if the home
  dir is unsafe or it's a failsafe session)

- Fix sensitivity with respect to action menu toggle in
  the security tab in gdmsetup (#120639)

- A whole bunch of fixes to how the xauth files
  are set up

- Remove .Xauthority if it would be empty.

- Added --version command line option (#120409)

- The gdmsetup.desktop now has System in the
  categories (#120360)

- Filenames are built properly without double '/'
  everywhere (#118040)

- There is a simple gdm(1) man page

- Many minor fixes

- The AUTHORS file is updated

- Translation updates (Artur Flinta, Duarte Loreto,
  Metin Amiroff, Tőivo Leedjärv, Changwoo Ryu,
  Kjartan Maraas)

2.4.2.101 stuff:

- Memory profiling of the graphical greeter by not keeping
  around info (pixmaps) which we won't need.  On the circles
  theme this saves about 6megs on the circles theme.
  Also cache pixmaps in the graphical greeter which reduces
  the disk rattling we need to do to start up.  Plus a bit
  of just performance profiling should reduce CPU usage of
  the graphical greeter quite a bit too.

- Update the manual, especially the theme section

- The UserAuthDir now works in a much saner way.  If the
  directory is not tilde expanded, then we treat it just
  like /tmp and use random filenames.

- Prevent a minor DoS attack (apps being coerced to fill
  up the home dir) by intercepting the output from the
  session and only writing to the ~/.xsession-errors
  file a maximum of 80*2500 bytes.

- The user lists in the face browsers and the gdmsetup are
  now capped at a higher number, but we also cap the time
  that is spent gathering the info at 5 seconds.

- Deal with hypothetical main daemon crashes semi decently
  in the slave.

- Try /dev/fd if /proc/self/fd isn't there for checking
  which FDs are open, should make this work on more platforms
  (in particular FreeBSD)

- Run fbconsole on startup if found, this is a solaris
  thing to prevent console output to corrupt your display
  (Brian Cameron)

- Use the 66 code from session to indicate failure that
  need not display the .xsession-errors file

- Actually read the "active" state for text items

- Break all pam messages (not just the error) at 50
  columns.  This is kind of a hack, we need to support
  proper linebreaking in the theme.

- Respect negative coordinates with "-0" in the
  theme

- Display help from the setup program if not running
  from within gdm itself

- The standard config file now has most keys commented out
  so that the internal defaults are used and so that we can
  change those defaults in the future without the user having
  to update the config file.

- Improvements in the cookie generation.  Doesn't use
  up all the system entropy but just uses the 16 bytes it
  actually needs (since we just need a 16 byte cookie).
  Plus improve randomness on systems without /dev/random
  and friends.

- Correctly handle out of diskspace on auth handling and
  on the PID file thing.

- Fix the runlevel reading

- Fix possible crash on auth purge

- Fix possible chooser crash

- Fix lots of minor bugs

- Some soptimization to save a nanosecond or two

- Translation updates (Wang Jian, Funda Wang, Christian Rose, Jordi Mallach,
  Danilo Segan, Artur Flinta, Miloslav Trmac, Duarte Loreto, Kostas Papadimas,
  Ales Nyakhaychyk, Laurent Dhima, Christophe Merlet,
  Evandro Fernandes Giovanini, Metin Amiroff, Pauli Virtanen, Dafydd Harries)

2.4.2.100 SECURITY ADDENDUM:
  Was not part of the original release notes to give distributors a chance
  to update.

- SECURITY: Fixed CAN-2003-0547 which allows any user to read any
  root readable text file on the system by making a symlink from
  ~/.xsession-errors

- SECURITY: Fixed CAN-2003-0548, a crash when chosen host expires.
  DoS only for XDMCP (XDMCP should however be confined to a 'trusted'
  network anyway)

- SECURITY: Fixed CAN-2003-0549, a crash if authorization key name
  is shorter then 18 bytes (that is, not MIT-MAGIC-COOKIE-1)
  DoS only for XDMCP (XDMCP should however be confined to a 'trusted'
  network anyway)

2.4.2.100 stuff:

- Fix #118878 by actually ensuring /tmp/.ICE-unix

- More doc updates

- Fix up rlimit use and handle cases where we ourself
  hit SIGXCPU and SIGXFSZ.  Also handle SIGABRT cleanly
  in the main daemon.

- The error gui uses the same theme as the greeters

- The pam config files don't include the /lib/security
  prefix as apparently it's more kosher to let pam
  find the modules itself

- Fix some crashes in main daemon, fix debug output in places

- A whole pile of minor XDMCP updates

- Fix solaris build (Brian Cameron)

- Limit users in face browsers above 100 not 50

- Remove any mentions of SessionMaxFile as it isn't used anymore

- Some typos fixed (Jordi Mallach)

- Translation updates (Jordi Mallach, Artur Flinta, Christian Rose,
  Miloslav Trmac, Kostas Papadimas, Duarte Loreto, Ole Laursen,
  Danilo Segan, Christian Neumair)

2.4.2.99 stuff:

- Updated docs a bit

- When no local servers are defined we assume we have no console
  and don't use the console to print messages with gdmopen and
  dialog.  Also --no-console now forces this (forces ignoring
  [servers] section).  Fixes debian #194613

- Changed required permissions on ServAuthDir to be: root.gdm 1770.
  These are now enforced and GDM will try to set them if they're
  not that way already.

- Fix PostLogin to behave like PostSession with respect to the return
  value.

- Use /var/log/gdm by default as logdir rather then the ServAuthDir

- The face browsers all display at most 50 users.  This should fix
  very large systems where this may hang for a long time and more
  then 50 users in a facebrowser is useless anyway.

- Reworked the server reinit to use SIGUSR1 as it should, should
  fix some weird crashes which left X behind before.

- A lot of race hunting again.

- No more pam session_close and delete of credits if the user
  has not yet logged in.

- SIGTERM should kill things at any point properly without hanging

- Faster shutdown in case there are lots of XDMCP sessions
  open

- Fix hang on systems where maximum number of open file descriptors
  is very very high.  Use /proc/self/fd/ if available.

- Use sched_yield in places where we know the other process
  really has stuff to do, so that we speed things along.

- Remove some deprecated function use (Steve Chaplin #118361)

- Don't build with tcp wrappers if we don't build XDMCP

- Don't include programmer references in translatable strings,
  this time should really be fixed (#56654)

- Redo the user selector setup in pam.  Now completely restart
  pam when user is selected.

- In the face browsers the username is bold to separate it from
  the user info

- An X bell is sounded when the username prompt comes on.  Useful
  for the blind.

- On exit from an XDMCP display whack all the clients with windows
  to support the more broken displays.

- gdmchooser handles HUP gracefully and rereads config

- gdmthemetester improved

- Some build fixes

- Fix some C99 isms

- Many other fixes

- Translation updates (Christian Neumair, Dafydd Harries, Kostas Papadimas,
  Artur Flinta, Duarte Loreto, Christophe Merlet, Kjartan Maraas, 
  Miloslav Trmac, Gil "Dolfin" Osher, Christian Rose, Kang Jeong-Hee,
  Vincent van Adrighem, Pablo Gonzalo del Campo, Lucas 'Basurero' Vieites,
  Jordi Mallach)

2.4.2.98 stuff:

- DOCUMENTATION!  We have documentation!  I've updated the
  xml docs and they're installed so you can use the GNOME
  help browser to browse them under GNOME|System.  Or you
  can view the HTML versions on the webpage
  (www.jirka.org/gdm.html)

- Whack the GdmGreeterThemeManual.txt as it is now part
  of the xml documentation

- Add mnemonics/keynav to a bunch of things and generally try to
  fix issues from the HIG bugs filed in bugzilla (partially
  fixes #117776, #117784, #117504

- Add "listitem" tag to the graphical themes.  This allows
  custom list widgets in the theme and then you can get
  the info in a PreSession script or whatnot.

- The graphical greeter now scales down fonts on screens
  800x600 and less, and scalles down fonts even more
  on screens 640x480 and less.

- Remove the iconification of Standard greeter feature,
  it was broken and I didn't want to fix it, and it was
  weird anyway.

- Internal messaging is now faster as we use an internal pipe
  instead of the FIFO file.  Also reduces the damage gdm user
  can do

- Don't XOpenDisplay so many times to make things run along
  a lot faster, and use XSetAuthority instead of XAUTHORITY
  env var internaly

- The server reinit is now safer, doesn't fork an extra process
  and it's quite a bit faster

- Justification of text in the graphical greeter is based on
  the anchor of the text

- We're very careful about the log directory as well as the
  ServAuthDir

- Fix a bunch of errors (mostly portability stuff) by looking at the
  FreeBSD cvs repository

- The server authfile is now unreadable by the gdm user during
  a user sessions for security

- Fixed #109331, by catching term/int/hup signals properly when inside
  the hanging gethostbyaddr/name

- The name resolution stuff now caches the last result for 60
  seconds

- Get the name of the root user instead of assuming it's "root"
  (fixes #117527)

- Fix hangs with the signal stuff by fixing the in_signal flag
  undercounts and redoing the waitpid mess in the slave by using
  a select call, and not doing that many things in the signal
  handlers.  Also fixes a long delay when restarting the greeter

- Fix configuration with --with-xinerama=no (#117895)

- The standard greeter clock will now look much better with
  some themes.

- An empty return will once again log you into the timed user
  as it did before I broke it

- The Xsession now displays $0 in output (Steve Chaplin, #117898)

- There is now a gdmtranslate libexec proggie that does what
  the gettext command does, so we get translations from scripts
  even on user systems (ones without developer kind of packages)

- Fix gdmaskpass internationalization

- Lots of random minor fixes

- Translation updates (Artur Flinta, Vincent van Adrighem,
  Duarte Loreto, Pablo Gonzalo del Campo, Francisco Javier Fernandez,
  Hasbullah Bin Pit, Noor Azurah Anuar, Christian Neumair, 
  Miloslav Trmac, Danilo Segan, Serbian team, Kang Jeong-Hee)

2.4.2.97 stuff:

- HIGify almost all the alert boxes.

- Fix install of the sessions setup by creating the /etc/X11/dm
  dir fixes #116836

- Fix DNS lookup stuff in XDMCP for places without DNS.  Also cache
  last result of DNS lookup to cut down traffic during session setup.

- daemon, gdmgreeter, gdmlogin and gdmchooser don't link against
  libgnome and friends (gdmgreeter still uses canvas).  This
  reduces number of libs linked by daemon from 46 to 26, for
  gdmgreeter this goes from 56 to 32 and for gdmlogin this goes
  from 52 to 22, and gdmchooser is down to 27

- If a greeter crashes within 10 seconds of display start, try
  running a different greeter (and telling the user that)

- Fix the chooser so that it actually chooses the host that
  you clicked on and not some random one.  This also changes
  the chooser to use GtkTreeView

- Fix #97774 by resetting the rlimits back after we fork the
  user session.  Also make AlwaysRestartServer default to false
  again since it was a workaround for this bug.

- Checking for free display numbers was only taking into account
  servers listening on tcp.

- The .desktop files include correct Terminal and StartupNotify
  entries (Jordi Mallach)

- Fallback for home is now ServAuthDir for gdm processes
  instead of / and for shell we use /bin/sh consistently
  (rather then /bin/bash)

- The full error dialog is now run as the gdm user for security
  (no more gtk code run as root)  Also uses GtkTextView,
  looks nicer and converts encoding correctly.

- Be very careful when opening files just about everywhere,
  so this prevents some possible damange someone could do if
  they do manage to get the gdm user privs.

- If X server crashes or doesn't otherwise whack its lockfile,
  help it along, should fix #114003 and redhat #90014

- No translatable message contains unneccessary markup now
  (fixes #101794 and #101795)

- gdmsetup .desktop file is now in the SystemSetup category
  and so goes into System Setup in the menu (#116977)

- The bits that parse X output now understand v4 XFree86 output
  correctly

- gdmopen now sets up TERM to "linux" on linux to make sure
  that fonts come out all ok

- Use ve-config (from vicious-extensions) everywhere in the daemon

- Fix RH #84247 by checking for gettext binary before using it

- The standard themes now don't include the translated labels
  since they weren't used anyway and this improves load times
  and memory usage.

- Updated the theme document a bit, and the dtd is now in the
  tarball in gui/greeter/

- Random other minor fixes

- Translation updates (Danilo Segan, Serbian team, Metin Amiroff,
  Christian Rose, Kjartan Maraas, Artur Flinta, Vincent van Adrighem,
  Valek Filippov, Laurent Dhima, Christophe Merlet, Mohammad DAMT,
  Dafydd Harries, Kang Jeong-Hee, Simos Xenitellis, Miloslav Trmac,
  Artur Flinta)

2.4.2.96 stuff:

- When you log in twice on a different server, gdm warns you and if
  both logins are console logins on linux, then you can have gdm switch
  consoles for you instead of logging on.

- Errorgui (failsafe) dialogs now run mostly under the gdm user and not as root

- In the .desktop files we now refer to GDM as Login Screen and not GDM,
  fixes #85543

- Add ALL_SERVERS to the socket protocol which returns all the displays

- DESKTOP_SESSION is set in addition to GDMSESSION.  Also these are unset
  in the standard Xsession file not to pollute the env namespace.

- Add CDE session .desktop (Brian Cameron)

- Remove some debugging output (and make it only output stuff when debug is on)

- Fix the output reading of failsafe yes/no dialog

- Fix some typos in config stuff (Ali Akcaagac, me)

- Graphical greeter should now work again (Frederic Crozat, Diego Gonzalez, me)

- Fix compilation on non-pam setups and non-linux setup

- Fix default paths (Brian Cameron, me)

- Actually include the theme document!

- Minor other fixes

- Translation updates (Christian Rose, Vincent van Adrighem)

2.4.2.95 stuff:

- Completely new session setup, born out of discussions with Oswald
  Buddenhagen, the KDM maintainer, which will bring about common session
  setup for both GDM and KDM.  We now basically have a common
  /etc/X11/dm/Sessions directory where there are .desktop files are stored
  which describe sessions and these will be shared among KDM and GDM.
  Among other things this also makes the face browser default to using
  ~/.face and the per user saved info is in ~/.dmrc

- The greeter.dtd is updated and there is theme creation documentation
  (Brian Cameron, Aidan Butler, me)

- A face browser for the graphical greeter.  This is selecting by selecting
  a theme that implements it.  Add happygnome-list which does.
  (Patrizio Bruno, me)

- The standard greeter has a GtkTreeView based face browser based on the
  new one from the graphical greeter.

- Accesibility work.  Add posibility of adding modules to the greeter through
  AddGtkModules and GtkModulesList.  Add guesture listeners.  Dwell mouse
  events.  (Niall Power, Brian Cameron)

- Attempt at getting things HIG-ified

- Add "Run XDMCP chooser" button to the system menu, which is now called
  the "Actions" menu, also allow a server type that runs a chooser by
  adding a "chooser=true" to a server definition.

- The XDMCP chooser got an overhaul internally.  Also there is an "Add"
  button to add new hosts by typing in the hostname.

- Add a PostLogin script which is run right after login succeeds but before
  any setup is done.  This can be used if the users home directory needs
  to be setup here.

- Add security/DisallowTCP which will append -nolisten tcp to all
  console displays, and this is by default true.  Fixes #87291

- PingInterval is now PingIntervalSeconds and is now in seconds, it makes no
  sense in minutes really since nobody is that patient anymore these days, also
  the comment in the config file said seconds, so I suppose this is a bugfix,
  should "fix" #103266

- Add a "Delete theme" button to gdmsetup, add a scroll window to the
  theme preview, fixes #110302 and #104757

- PAM now asks for username itself.  This made LocalNoPasswordUsers impossible,
  and so that was removed.  This way hopefully we should work with some more
  pam setups, such as smartcard ones.  Fixes issues from #106537

- The GNOME session chooser stuff is removed since it wasn't working all
  right anyway and was kind of icky.

- The F10 menu in the graphical greeter is nicer.

- When you doubleclick on the radiobutton in graphical greeter Actions
  menu, it activates the item (Mihael Vrbanec)

- There is the Welcome label and RemoteWelcome label now.  The local Welcome
  label is now just "Welcome" since "Welcome to localhost" is silly.  Also
  the graphical greeter uses this, as long as you use the stock label text.

- Check for the capslock turned on before warning about it, and also only
  mention "bad username or password" if we actually asked for a password.
  Fixes #71496

- The "subtype" field to the "show" item for the themes is gone, it was stupid
  and I hope no one used it (it wasn't documented anyhow).

- A bunch of standard pam messages are now translated inside gdm

- If there are many sessions available the graphical greeter presents
  a scrolled window, fixes #104120

- Don't set RUSER for PAM and don't set RHOST if this is a console login,
  apparently this is what it should be doing according to the Sun guys,
  fixes issues from #106537

- The loop of death is now working as it should be and is not as sensitive.
  Also the toplevel loop of death does not abort the display, but only
  disables it for 2 minutes.

- Suspend now works much better and doesn't whack the gdm process,
  fixes #108700

- When more then 50 users on the system don't put them all into
  the combobox in gdmsetup, semi-fixes #111830

- When using shadow passwords, fall back to standard if shadow is
  not available, fixes #109765 (cschelcher@free.fr)

- Use strerror and not g_strerror as the latter returns UTF-8,
  fixes #106655

- Set TEXTDOMAIN to GETTEXT_PACKAGE for the x keeps failing script,
  fixes #106657 (Owen Taylor)

- gdmopens are done using login shell, fixes #106658, also gdmopen
  doesn't deallocate the vt which is apparently not kosher and fixes
  #106656 (Owen Taylor, me)

- Fix RedHat #91031, prepend a dash rather then make shell argv[0] a dash
  (Michael Blandford)

- On Linux detect the runlevel and try to detect the user having run shutdown
  (from say gnome-session) and if so suspend the slave operation for 30
  seconds and wait what happens.  Most likely we'll get whacked.

- Fix typos and change some strings, #106207, #105923, #56654 among others

- gdmmktemp is gone as we have not been using it, also gdmaskpass and
  gdmopen are now in libexec

- Many minor fixes

- Build fixes (Brian Cameron, me)

- Solaris fixes (Brian Cameron, Niall Power)

- Translation updates, language additions and such (Danilo Aegan,
  Guntupalli Karunakar, Abel Cheung, me, Christian Rose, Christophe Merlet,
  Jordi Mallach, Christian Neumair, Miroslav Trmac, Pablo Gonzalo del Campo,
  Hasbullah Bin Pit, Vincent van Adrighem, Evandro Fernandes Giovanini,
  David Barzilay, Lucas 'Basurero' Vieites, Duarte Loreto, Kostas Papadimas,
  KAMAGASAKO Masatoshi, Dmitry G. Mastrukov)

2.4.1.4 stuff:

- Raise DisplaysPerHost default to 2 to avoid a FAQ-type-problem

- Add xdmcp/PingInterval key to the default config file

- Fixed up the included spec file

- Fixed some typo's (Kjartan Maraas)

- Fixed Solaris build (Niall Power)

- Added Thai, Mongolian, Indonesian, Kannada, Hindi
  Bengali, Belarusian, Bosnian, Welsh, Persian, Interlingua,
  Albanian, Serbian, Yiddish and Panjabi Language support
  (Ross Golder, Sanlig Badral)

- Sorted languages in alphabetic order (#106293) (Ross Golder)

- Translation updates (Roozbeh Purnader, Christian Rose, Taneem Ahmed,
  Pablo Saratxaga, Danilo Aegan, Jordi Mallach, Dmitry G. Mastrukov,
  Belarusian team, Alessio Frusciante, Lapo Calamandrei, Christophe Merlet,
  Andras Timar, Takeshi AIHANA, Roozbeh Pournader, Artis Trops,
  Kang Jeong-Hee, Stanislav Visnovsky, FSF-India, Abel Cheung, Metin Amiroff,
  Pauli Virtanen, Lauri Nurmi, Kjartan Maraas, Christian Neumar,
  Kostas Papadimas, Vincent van Adrighem, Zbigniew Chyla, GNOME PL Team,
  Evandro Fernandes Giovanini, Duarte Loreto, Pablo Gonzalo del Campo,
  Lucas 'Basurero' Vieites, Ole Laursen, Paul Duffy, Russian team,
  Yuriy Syrota, Miloslav Trmac, Gil "Dolfin" Osher, Progga,
  Christian Neumair, Alexandre Folle de Menezes, Benjamin Greiner,
  Fatih Demir, Arman)

  

2.4.1.3 stuff:

- Fix redhat bug #83334 by fixing md5 code on non-alpha 64bit platforms
  (Matt Wilson)

- Build po directory before others.  Seems to solve an intermittent
  problem with rebuilding .pot file.

- Translation updates (Duarte Loreto, Fatih Demir, Gorkem, Alessio Frusciante,
  Pauli Virtanen, Lauri Nurmi, Kang Jeong-Jee, Christian Rose,
  Alessio Frusciante, Lapo Calamandrei, Christophe Merlet)

2.4.1.2 stuff:

- The chooser works with keyboard and you don't connect to a different
  host if you try to use the keyboard

- intltool*.in files aren't killed on distclean

- Translation updates (Pauli Virtanen, Lauri Nurmi, Dmitry G. Mastrukov,
  Russian team, Christian Rose, Sanlig Badral, Christian Neumair,
  Pablo Saratxaga, Yuriy Syrota, Fatih Demir, Gorkem, Christian Meyer,
  Abel Cheung, Gustavo Noronha Silva)

2.4.1.1 stuff:

- Workaround librsvg (new librsvg should be fixed though) for non-C locales

- Make language dialog in the gdmgreeter at least 400 wide (fixes #103254)

- Don't translate stuff coming from pam (fixes #102691)

- Make AlwaysRestartServer default to true as it's the safer setting

- Use UTF-8 rather then utf8 as apparently X gets weird if it's not "UTF-8"
  (Mike Fabian)

- Query the user in the case the graphical theme includes halt/reboot/suspend
  buttons. (No themes do so far afaik)

- Add pam_env to the pam config

- Some minor cleanup

- Translation updates (Christian Neumair, Daniel Yacob, Kostas Papadimas,
  Stanislav Visnovsky, Andras Timar, Yanko Kaneti, Alexander Shopov,
  Pablo Gonzalo del Campo, Lucas 'Basurero' Vieites)

2.4.1.0 stuff:

- Use background color in the graphical greeter for looking nicer on
  Xinearama displays (#94554)

- Do not translate the copyright string (patch from #101729)

- Fix the shell basename hack

- Allow passing TAB to the login entry (#75939)

- Some string fixes (Alex Duggan, me)

- GDM photo setup now checks for gdm running (RH #70326 and GNOME #101653)

- Be UTF-8 safe on expanding strings (#100738)

- Can use symlinks as session files again (#95380)

- Amharic language added

- Add X-GNOME-BUGZILLA to .desktops (Fernando Herrera)

- Do not run gnome-volume-control since it no longer has the a -i option
  (Luis Villa)

- Store initial environment and use it for starting up the error gui stuff

- Use internal utf8 conversion to avoid glib crack

- Fix japanese wordwrap (Havoc, #91921)

- Unset signals in extra processes and do setsid and all such fun stuff,
  and further fixing of handling processes

- The graphical greeter can use stock tags for labels instead of having the 
  text inside the theme file.

- Translation updates (Dmitry G. Mastrukov, Zbigniew Chyla, GNOME PL Team,
  Hasbullah Bin Pit, Kjartan Maraas, Vincent van Adrighem, Artis Trops,
  Miloslav Trmac, Christophe Merlet, Daniel Yacob, Jordi Mallach,
  Ole Laursen, Christian Rose, Andras Timar, Marius Andreiana, 
  Kostas Papadimas, Yanko Kaneti, Belarusian team, Pablo Saratxaga,
  Gustavo Noronha Silva)

2.4.0.11 stuff:

- No longer require libglade-convert

- Don't create runaway slave processes on server reinit.  Fixes very slow
  subsequent logins.

2.4.0.10 stuff:

- Fix timeout on stopping the daemon, now stops immediately.

- gdm-restart, gdm-soft-restart, gdm-stop find the config file if you haven't
  specified --sysconfdir on the configure command line.

- Minor cleanup

2.4.0.9 stuff:

- Race fixing galore.  Tested many new codepaths, fixed many new races.
  Well not new.  Really old ones but still.  We're now much better
  on handling stuff being killed without us knowing, and stuff dieing
  in different orders.  May fix redhat bug #72295

- Automatic VT management.  This should fix #62997.  Basically on
  linux (only currently) we can find a free vt that is higher then
  a certain number (by default 7) and force the server to use that.
  gdm can now be safely run as service with this on.

- The locale.alias file now can have a list of locales to try for
  each language.  We also don't list locales that don't work.  This
  way by default we can use the .utf8 locales if they exist.

- DefaultLocale no longer exists, the system setup is used.  This
  was really broken.

- We no longer setup locale to a language which doesn't exist.
  We also don't unalias languages as this was broken.  Just pick
  an existing language (I doubt anyone has a setting which requires
  unaliasing anyway)

- More comments in the default config file as a bad excuse for
  documentation

- The chooser can also read <host>.png from the host image
  directory and not just <host>

- The slave now has it's own process group.  Should make things work
  better when started from init.

- Handle waiting for X to restart in a new an inventive way.

- UserAuthDir can now use the ~/ prefix so that this setting can
  now be useful.  But better left empty anyway.

- A bunch of minor fixes and cleanup.

- Translation updates (Christian Neumair)

2.4.0.8 stuff:

- New script to aid in testing graphical greeter themes, gdmthemetester.
  It will run Xnest with gdmgreeter in debug mode with the specified theme
  and under the specified environment.  Run it to get help.

- No longer 'asks twice' in graphical login to halt, reboot or suspend
  Fixes #90971

- When restarting the greeter from the setup dialog the setup dialog will go
  insensitive and force a busy cursor on itself.

- New icon!  And new logo.  The new icon is now girlfriend approved (she said
  it's not as bad as my first attempt to draw one, so I suppose that means
  it's ok).  Not that I did ALL the drawing, I borrowed the gnome-term icon
  and worked on that :)

- The focus stuff in both greeters is done in a nicer way.  Also the graphical
  greeter has a "menubar" (invisible).  You can activate it with F10 like any
  other menubar.  This all should make both greeters even more accessibility
  friendly.

- The Init/PreSession/PostSession directories can now also include Flexi,
  and XDMCP scripts which will be run in case the server is flexi or XDMCP.
  Also you can specify a <hostname> script to run for specific hosts.

- You can now setup the daemon to log in certain local (not logging in
  through xdmcp) users without a password, Just set the
  daemon/LocalNoPasswordUsers to a list of comma separated names.
  Fixes #51908

- The daemon is fixed so that if pam asks questions during autologin, they
  will actually get asked.

- gdmphotosetup no longer hangs on "Browse".  Fixes #90613
  
- Busy cursor will never get stuck on autologin

- Wait 2 seconds beween killing local servers on daemon restart or stop.  This
  prevents a hung keyboard on my box.

- Xnest keyboard stuff solved in a better way.  Remove the -kb fromt he command
  line so that Xnest understands XKB, and then in the Init script migrate
  keyboard configuration.  Also read capslock state from the parent server
  in the greeter.

- Close the 0,1,2 descriptors in the gdmXnestchooser so that things like
  "`gdmXnest -b`" shell things to get the display number work.

- gdmXnestchooser acts more nicely on being killed

- Config file is updated and includes more "documentation" comments

- If you haven't changed the config then if you are using the tarball install,
  the config will be overwritten with the one from the tarball.

- An incredible "sleep(1)" hack to fix race on server reinit

- A whole bunch of random small fixes, and changes.

- Translation updates (He Qiangqiang, Wang Li, Marius Andreiana,
  Yukihiro Nakai)

2.4.0.7 stuff:

- The graphical greeter has mnemonics so that you can use the keyboard to
  log in!

- Don't run BackgroundProgram unless BackgroundType=0.  You can get the
  original behaviour with RunBackgroundProgramAlways=true.  This is to
  fix the redhat setup to be 'saner'

- The Xterm failsafe session runs the xterm in the lower right hand corner.
  I just hope that redhat uses this session as it does cooler things then
  the Xsession failsafe which sucks ass.

- A bunch of scattered minor fixes

- Add redhat-config-xfree86 to the XKeepsCrashing script (Havoc)

2.4.0.6 stuff:

- Stop using stdio in the slave to communicate with the greeter (greeters
  still use stdio).  This "may" fix the FreeBSD /dev/ttys issue.  Plus it's
  a nicer way to do it.

- Read and honour the gtkrc setting in the graphical greeter, fixes #90003

- Add a DIRTY_SERVERS and SOFT_RESTART_SERVERS fifo commands which will
  make gdm restart all the X servers next time it wants to reinit (such as
  when a user logs out) or as soon as possible (in case of SOFT_RESTART_SERVERS)
  (See doc in daemon/gdm.h, look for the GDM_SOP_)
  Useful for changing X configuration.
  You can do "(echo;echo DIRTY_SERVERS) > /var/gdm/.gdmfifo" (Given that
  ServAuthDir is /var/gdm).  This is a possible solution to issues
  such as in redhat bug 70072

- Only set GDM_LANG if a language different from the system default was
  selected 

- In Gnome and Xsession sessions, ensure that the language is set properly
  fixes #89970

- Fix crasher bug on closing the gdmsetup window, and fix applying changes
  that happened before the writing timeout

- Clear the initial message even on further tries to log in, fixes redhat bug
  70991

- When starting Xnest give it the current font path.  Should fix #89308

- make the gdmXnest link relative

- Gnome and Xsession scripts no longer read in the xdm resources, I was
  told this is bad

- Fix some RTL issues with the language lists

- Ignore up/down/tab in the graphical greeter just like in the standard one,
  focus doesn't work right here anyway

- Translation updates (Dmitry G. Mastrukov, Andras Timar, UHU Linux team,
  Manuel Borchers, Christian Neumair, Tőivo Leedjärv, Duarte Loreto,
  Stanislav Brabec, Michal Bukovjan, Gustavo Noronha Silva, Peteris Krisjanis,
  Akira TAGOH)

2.4.0.5 stuff:

- Applied patch from #89454 (Havoc/Owen, me) to change .gnome to .gnome2,
  to fix interaction with gnome2.  This mostly applies to the session
  chooser.  Unfortunately this resets your saved language and session
  type.

- Fix the pid checking routine on non-linux systems

- Use internal routines for writing of the config file so that things
  such as comments are now preserved, and some related problems are
  fixed.

- A whole bunch of minor fixes and cleanups, including some possible races
  and hangs

- Don't use deprecated stuff except for the occasional CList usage

- Fix io channel stuff in the greeters (actually set unbuffered and NULL
  encoding, this may just fix all the FreeBSD issues)

- Recheck for gdm running before sending any update from gdmsetup, this means
  that even if you run gdmsetup before gdm, things will still work.

- Update background and logo on the fly in the standard greeter

- Properly resize window in the standard greeter when we can't fit

- Added several more untranslated strings to the language list
  (Yanko Kaneti, me)

- Remove the failsafe 'C' locale addition and replace it with en_US,
  in case no en_* language is installed.

- Translation updates (Fatih Demir, Pablo Saratxaga, me)

2.4.0.4 stuff:

- Fix George's stupidity to allow people to log in (Jacob)
  The gnomerc was not a correct shell script and I didn't notice
  DAMNIT!

- Fix some weirdness on setup proggie starting (change dir to something
  sane and fix setting the cursor race)

- Support .bz2 archives as theme archives in the gdmsetup

- Translation updates (Stanislav Visnovsky, me)

2.4.0.3 stuff:

- My girlfriend doesn't like that ugly green color that is used as the
  default so use the one that ximian is using since that one is pretty cool.

- Update the session scripts (especially the Xsession) setup and update the Pre
  and Post scripts to be all nice and all that.  This fixes a whole bunch of
  weird problems.

- Run gnome-volume-control -i in gnomerc

- When the users shell is some weird binary name (something that we don't know
  if it is a shell or not) run users session in bash or sh.  should fix #64662

- Make sessreg very happy.  Should fix sessreg issues on BSD, and now
  sessreg registers the correct pid with the utmp/wtmp so it all works
  out nicely

- Run xmodmap with the default Xmodmap in the Init script, this might fix
  #86098

- Fix the error display to be nicer and wider

- In main server wake up the main loop on signals, this may fix some
  non-linux issues on systems where poll is not woken up by signals

- Apply a few ximain patches, or at least do changes inspired by them

- Some cleanups/fixes of places where unix is very weird and could cause
  problems in fringe cases

- The gdmXnestchooser now works much better in the Xnest only mode, that
  is on rh 7.3 it now actually works again.  You can also start it only
  as gdmXnest to get the pure Xnest only mode.  This would be the user
  friendly way of starting Xnest.

- Add busy cursor when starting the configurator, and a busy cursor when
  restarting the greeter

- Fix restoring the window order after we change the greeter, fixes #88533
  (The window was disappearing before)

- Happygnome theme yet again fixed (Frederic Crozat)

- 24 hour clock preference now on the main page in gdmsetup

- gdmsetup greeter themebrowser now wraps test correctly

- Corrected some language names and added a few extra languages, fixes
  among others #88273, #88423

- Translation updates (Christian Rose, Vincent van Adrighem, Zbigniew Chyla,
  Ole Laursen, Hasbullah Bin Pit, Christophe Merlet, Changwoo Ryu,
  Kjartan Maraas, Jarkko Ranta, Jordi Mallach, Yanko Kaneti, me)

2.4.0.2 stuff:

- Add busy cursor when we start X so that the user knows that GDM
  is busy before the greeter/chooser appears.

- Added a 'System default' language choice.  This choice will use
  whatever the system sets up elsewhere.  Also this fixes using the
  system default on *BSD

- Remove the English en locale since 'en' is not a legal locale,
  now you have to pick either american or british english.

- Fix the unresponsive behaviour when first asking for username in the
  graphical greeter, bug #83187

- Added 'Last' language choice to the graphical greeter.

- The graphical greeter follows the 24 hour clock settting (Terje Rosten)

- Update the Happy GNOME theme (Steve Fox)

- Cleanup of the IO channels all over, this fixes some FreeBSD issues
  but not all (Kesor, me)

- Added more languages and more untranslated names, bug #84290 among others,
  (Hasbullah Bin Pit, me)

- Ensure existance of file descriptors 0, 1 and 2 on startup, should fix
  some problems on very esoteric setups.

- Source /etc/profile in the gdm script

- All installed .desktop's have Encoding=UTF-8 as per the standard

- Fix the failsafe question dialog

- Fix crash and login window reparenting in the gdmwm window manager

- Corrected some yodaspeak, bug #83077

- Some more sanity fixes

- Translation updates (Christian Rose, Jordi Mallach, Ole Laursen,
  Peteris Krisjanis, Kjartan Maraas, Zbigniew Chyla, GNOME PL Team, me)

2.4.0.1 stuff:

- Fix killing other processes including the session when greeter settings
  were touched, fixes #84717

- Don't run the gdmwm when there is a windowmanager present, fixes #86620

- Fix some Solaris compilation issues, fixes #86679

- Don't clear env for chooser, greeter and setup and run gdm itself from
  a script, fixes #87387

- Properly center windows

- Fix gdmchooser to actually work

- Install missing files from the happygnome theme, fixes #86264
  (Frederic Crozat)

- Fix non-xdmcp compile, fixes #85681, and properly test for
  xdmcp, fixes #86607 (Mike Castle, me)

- Fix #85785 by linking with -lcrypt as the first thing

- Fix wiping the pid file by mistake on config file errors

- On linux do better checking for stale /var/run/gdm.pid files,
  by checking /proc (Jim Bray, me)

- Many random fixes all around

- If we can't write the user authentication in the home directory
  use the fallback file (say due to out of disk space errors)

- Add a 'handled' flag for servers (see default gdm.conf for some
  notes on how to use it) that makes it possible to run unhandled
  X servers (such as X terminals).

- Fix finding the parent process (Oswald Buddenhagen)

- Translation updates (Yanko Kaneti, Jesus Bravo Alvarez,
  Ole Laursen, Manuel A. Fernandez Montecelo, Christophe Merlet,
  Vincent van Adrighem, Hasbullah Bin Pit, Pablo Saratxaga,
  Tőivo Leedjärv, Changwoo Ryu, Duarte Loreto, Andrew V. Samoilov,
  Dmitry G. Mastrukov, Peteris Krisjanis, Borislav Aleksandrov)

2.4.0.0 stuff:

- New theme, "Happy GNOME" by Steve Fox

- Translation updates (Christophe Merlet, Jarkko Ranta, Mantas Kriauciunas,
  Carlos Perello Marin, Kjartan Maraas, Tőivo Leedjärv, Jordi Mallach,
  Stanislav Visnovsky, Zbigniew Chyla, GNOME PL Team, Christian Rose)

2.3.90.6 stuff:

- SECURITY FIX! After an automatic session the display wasn't reinited
  so clients could be left hanging around.  This is only present in the
  2.3.90.x series and only affects automatic logins.

- Automatic login is actually done on the first login only and Timed
  login is actually done only on the first display (as it all should be)

- Translation updates (Germán Poo Caamańo, Jordi Mallach,
  Hasbullah Bin Pit, Tőivo Leedjärv)

2.3.90.5 stuff:

- Some work on making the language setup more sane and integrating
  the graphical and the standard greeter language setups

- Added more untranslated language names (Changwoo Ryu, me)

- The graphical greeter now actually works with timed login stuff,
  does enable/disable during configuration, and gives closing pam
  comments after login is completed (such as that your pw will expire
  or such)

- The timed login time is now increased on any key or mouse press on
  any widget.

- The shipped locale.alias now lists all the languages we know,
  and doesn't include any encodings or dups or other random garbage

- Xnest is now being passed the -kb argument to disable the xkb
  extension on the Xnest as this just causes problems apparently. (#66610)

- The gdmXnestchooser command now actually uses the command you gave it
  in the config file or on the command line

- The graphical greeter is actually translated, plus a bunch of
  other translation issues are fixed (#82549)

- Possible crashes and random weird errors fixed by not using g_print
  for communication (since that does charset conversions which we don't
  want to do)

- Translation updates (Jarkko Ranta, Stanislav Visnovsky, Kjartan Maraas,
  Ole Laursen, Zbigniew Chyla, GNOME PL Team, Carlos Perelló Marín,
  Christian Rose, Vincent van Adrighem, Duarte Loreto, me)

2.3.90.4 stuff:

- IMPORTANT: Change the behaviour of session scripts.  Now gdm will
  automatically start writing output to ~/.xsession-errors for EVERY
  session file and not just in the Xsession file.  Well every file
  except the failsafe ones (including sessions named 'Failsafe')

- More error checking.  Check if we messed up writing the auth stuff
  and give an error, also check if the session lasted less then 10
  seconds in which case give a warning rather then silently fail.

- Don't init gnome in the daemon, this should fix a whole bunch
  of random issues and crashes.  Also don't init gnome in the
  chooser.

- Use setresuid to fix setuid problem with the failsafe gtk stuff.

- Browser now gets the pictures through a pipe rather then through
  temporary files.  This is much nicer.

- Fix hostname and interface querying.  Should work better on "broken"
  setups now.

- Fix focus issues on the failsafe stuff

- Fix autologin stuff (should fix #68160)

- Use BSDs setusercontext if found.  This is not fully tested as
  I don't have a BSD box.

- Add greeter/MinimalUID which is the minimal UID to show in the
  browser and in the dropdown lists in gdmsetup

- Don't exclude people from the browser that have '*' in the password
  field as that could be legitimate

- Fix xnest flexi server on nfs mounted home dirs with root squashing.
  This required a protocol change to the socket protocol, but I don't
  think anything outside of gdmflexiserver is using it (and it will
  fail gracefully anyway), fixes #82122

- Some random UI issues fixed (#80038, and others)

- The graphical greeter is now translatable (and thus translated into
  more languages)

- I bet no one reads these long NEWS sections anyway.

- Photosetup now always copies to .gnome/photo, even if the picture
  is in the pixmaps directory

- Few crashes fixed

- Build fixes, among others #79374 (Christophe Merlet, Carlos Perello
  Marin, me)

- Translation updates (Vincent van Adrighem, Duarte Loreto, Kjartan Maraas,
  Stanislav Visnovsky, Christian Rose, Zbigniew Chyla, GNOME PL Team,
  Ole Laursen, Young-Ho Cha, Changwoo Ryu, Abel Cheung, Simos Xenitellis, me)

2.3.90.3 stuff:

- The instant apply, no crack, setup proggie (gdmsetup) now works,
  gdmconfig is removed (Check out the gdmgreeter theme selector, though
  we only have one theme now)

- Fix the i18n encoding issues.  non-english users can now log in!  Yay!
  The daemon is back to not using UTF-8 but the locale specific encoding
  because of fun GConv cache crack.  All the utf8 stuff is done on the
  greeter side now

- Leak fixes #80888 (Ali Akcaagac, me)

- Gdmphotosetup fixiage #80835

- Look into other dirs for an X server, and use /usr/X11R6/bin/X by default
  #80829 (Ali Akcaagac, me)

- Check for socklen_t #79373

- Fix focus on the Failsafe xterm session

- Randomly scattered fixes

- Greeter themes now have info files, so that we can have some info about a
  theme for the theme browser

- Bunch of greeter work to bring it more up to speed with gdmlogin, though
  it's still not quite there yet.

- Add an icon for the photo chooser 'capplet' (Seth)

- Some dialog fixes all around

- Fix gdmchooser, use a completely new looking glade file

- Translation updates (Pablo Saratxaga, Zbigniew Chyla, Stanislav Visnovsky,
  Christophe Merlet, Ole Laursen, Kjartan Maraas, Changwoo Ryu, 
  Germán Poo-Caamańo, Fatih Demir, Duarte Loreto, Abel Cheung, 
  Jarkko Ranta)

Issues with this version:

- You need a very new libgnomeui to run gdmsetup else it'll crash

- The graphical greeter (gdmgreeter) is still not where it should be
  functionality wise, but it is mostly usable as a login window

2.3.90.2 stuff:

- LOTS of new greeter work (Alex, Jonathan)

- Some internal reordering, and preparing for on-the-fly configuration updates
  for some keys

- Start of a new configurator.  One without crack (George's definition of
  what's crack applies).  It doesn't actually work yet.  But then again
  gdmconfig doesn't work either.

- Some UI/String Fixes #77151, #73817 and others (Benedikt Roth,
  Gaute Lindkvist, Karsten Weiss, Abel Cheung, Havoc)

- Correct handling of signal blocking.  We just unblock everything before
  running a child regardless of how we were started.

- Some leaks plugged

- Ability to have a different greeter for remote connections

- Install .desktop files appropriately (Seth)

- Estonian entries added (Tőivo Leedjärv)

- Fix some localization stuff.  Use translated strings on the console only
  if we can verify that it's UTF8

- Build fixes (Jacob, Alex, Gediminas Paulauskas)

- Updates from the 2.2 branch (Kjartan Maraas, Pablo Saratxaga, Karsten Weiss,
  me)

- Translation updates (Vincent van Adrighem, Ole Laursen, Changwoo Ryu,
  Ole Laursen, Tőivo Leedjärv, Zbigniew Chyla, Duarte Loreto, Christian Rose,
  Stanislav Visnovsky, Jarkko Ranta, Hasbullah Bin Pit, Khairulanuar Abd Majid,
  Kjartan Maraas, Christian Rose, Wang Jian, Wang Li, Valek Filippov, 
  Carlos Perello Marin, Lucas 'Basurero' Vieites, Stanislav Brabec,
  Abel Cheung)

2.3.90.1 stuff:

- All changes up to 2.2.5.4

- Fix moving of login window

- Make welcome message surrounded by <big><big><big> to make
  it ... big

- Fix usage of glade2, so that chooser now works, and gdmconfig crashes
  later in the startup then in 2.3.90.0

- Face browser now works again

- Fixed some typos and message cleanups (Kjartan Maraas)

- Updated translations (Christian Rose, Duarte Loreto, Stanislav Visnovsky,
  Zbigniew Chyla, Pablo Saratxaga, GNOME PL Team, Kjartan Maraas,
  Jarkko Ranta)

2.2.5.4 stuff:

- SECURITY FIX! Make sure the egid is reset to the user gid before
  starting a session.  This could present a security risk under a
  certain circumstances, that is if your /bin/sh does not drop privilages.
  It also fixes the failsafe gnome session

- PositionX and PositionY now take negative values that work
  like standard X geometries.  A negative value is an offset from
  the right/lower edge.

2.3.90.0 stuff:

- All changes up to 2.2.5.3

- Ported to GNOME 2, still uses some deprecated widgets and such,
  but it should be fully functional

- A little bit of code restructuring and cleanup

- Add option to preserve LD_ variables to allow easy debugging

- Docs use XML and bunch of other doc updates (Trevor Curtis)

- Removed font for welcome message, the welcome message now supports
  standard pango xml-like markup

- Failsafe gui dialogs are pure gtk now and do not require an exec

- Translation updates mostly overlap 2.2.5.3.  It's also probably
  all broken now, I think we need to convert to utf8 or some such

2.2.5.3 stuff:

- PAM support revamped.  Session open and credentials are done before
  we do anything else.  Also we work on one pam handle only, and
  yet again switch setcred/open_session order (Karsten Petersen, me)

- Autologin is now done with a separate pam configuration.  gdm-autologin
  service.  This just logs anyone in without asking for a password,
  but this makes autologin work on some all wankered pam setup.  Of course
  you must now modify gdm-autologin in addition to 'gdm' if you have
  some weird pam setup.

- Fix gdmconfig saving of server definitions

- Add possibility of multiline welcome message by use of '\n'

- Use the text dialog interface for more errors including the toplevel
  loop of death

- Fix a USR2 race in the slave if the main daemon is already dead
  (this makes 'killall gdm' work right)

- Translation updates (Kjartan Maraas, Gustavo Maciel Dias Vieira,
  Abel Cheung, Christian Rose, Duarte Loreto, Christian Meyer,
  Stanislav Visnovsky, Peteris Krisjanis, Artis Trops, Akira TAGOH, 
  Göran Uddeborg, Ole Laursen)

2.2.5.2 stuff:

- If multiple local servers are setup, then wait until one has started
  plus 3 more seconds before starting the next one, this prevents such
  not-good things such as full lockups happening

- Fix crash of greeter for timed login setups

- Keep 4 old copies of the X server logs to make debugging bad
  X setups easy

- The WM now supports NoInput windows, which improves gdm
  accessibility and makes it possible to run things like xscribble
  (Crossfire (from debian bug report) and moi)

- Minor leak fixes

- spec file updates (Gregory Leblanc)

- Translation updates (Roy-Magne Mo, Carlos Perelló Marín,
  Christophe Merlet, Khairulanuar Abd Majid)

2.2.5.1 stuff:

- IMPORTANT: XKeepsCrashing now has different semantics,
  all the logic of crash recovery is no in this script including
  gettext and finding the configurator and all that.  So
  the script no longer takes any arguments.  If you have custom
  versions of this script you will have to change them to reflect
  this.  As a result of this XKeepsCrashingConfigurators is gone

- Skipped a version number for greater stability

- By default also look for XFdrake as a configurator on X crashes
  to work on mandrake out of the box

- pam setup is now the same as in the redhat and mandrake
  packages

- If the X server crashes within 5 seconds of telling us it's
  ready, still treat it as a crash, since things like inability
  to open mouse makes it die after it tells us it's OK

- XKeepsCrashing now handles inability to open mouse and
  offers to run mouseconfig (or if that's not available
  just the x configurator it finds)

- Fix crash on FreeBSD with setenv with NULL (just treat NULL
  as empty string) (Heath Nielson)

- DESTDIR fixes (Frodo Looijaard)

- gdmopen now sets VT_NUMBER env var for it's child

- Focus issues fixed in gdmwm (the windowmanager of the greeter)

- Check for existance of a home directory.  If it doesn't exist,
  the user has the option of canceling the login or logging in with
  the home dir set to root.

- Many MANY races fixed in handeling of extra processes.  Gdm should
  now always clean up after itself well if killed.  And it will
  now not screw up if the child processes die too quickly.

- Some configure.in and build fixes, require libglade explicitly in
  the configure script and also make console helper enabled by default
  if it's possible to use it

- gdmXnestchooser now has quite a few more modes of operation, in effect
  it can now be used as a generic Xnext launching program.  It also
  by default reads the Xnest command from gdm.conf
  
- Remove VerboseAuth configuration variable as it was utterly useless,
  and actually resulted in usability degradation when on.

- Include our own gdmmktemp like the mktemp program for shell scripts

- Fix stuff on console with gdmopen by printing \033(K onto the console
  before it does anything else

- Work with KDE face directories (username.png rather then username) as
  well (Mandrake)

- Accept keypad enter in the greeter (Mandrake)

- Run ssh-agent if it is found available and not yet running in the Gnome
  session file (Ximian)

- Errors from pam go into a separate dialog and information messages that
  come just before login are also in a dialog so that the user gets
  a chance to see them

- Use the pam wait time on errors, if available, this fixes a bug where
  the wait time was doubled because it was both the pam one and the
  gdm one.

- Make sure the cookie file is full of all different local addresses
  and don't whack out if the local hostname is not resolvable.  Also
  if we still can't start the server, tell the user rather then giving
  up quietly.

- Always print the "Please enter your username" message

- Translation updates (Ole Laursen, Stanislav Visnovsky, Christophe Merlet,
  Peteris Krisjanis, Artis Trops, Marius Andreiana, Christian Rose, 
  Zbigniew Chyla)

2.2.4.3 stuff:

- Use PAM_ESTABILISH_CRED for pam_setcred

- Parsed login names are now reparsed every time

- Minor fixes and greater paranoia all over the place

- XDMCP timeouts default to 15 instead of 30 seconds

- Autoconf 2.50 / Automake 1.5 compatibility (Ali Akcaagac)

- Translations updated (Zbigniew Chyla, Kjartan Maraas, Ole Laursen,
  Fatih Demir, me, Stanislav Visnovsky, Gustavo Maciel Dias Vieira)

2.2.4.2 stuff:

- Keep a global pam handle around again, and add a pam conversation
  dialog when no greeter is up.  Set RHOST and RUSER and fix some
  other pam related things.  Hopefully we're more pam correct now.

- Have an option that forces 24hour clock even in locales which
  like 12hour clock (Terje Rosten, Ali Akcaagac, me)

- Change how FLEXI_XNEST works, be more paranoid in who we allow to
  run an an xnest, and we always run as the user who requested it.
  It requires that the user has a .Xauthority file with an
  MIT-MAGIC-COOKIE-1 for the current display.

- Fix many obscure fork races

- Now exports a procol version environmental variable to the greeter
  so that it's easier to use external greeters.

- Ensure that /tmp/.ICE-unix exists

- X servers now run with root gid and not gdm gid

- Ugly fix to the toolbar deadlock problem, very VERY evil, but
  it's really a bug in gnome-dock

- When we run a flexi console server, lock the screen with xscreensaver.
  Also throttle xscreensaver so that it doesn't take extra CPU power.

- Yet another extension to XDMCP, which makes the MANAGED_FORWARD
  stuff more reliable on bad networks.  It is however 100% compatible
  with 2.2.4.1 in operation.

- Minor fixes all over the place

- Documentation updates (Trevor Curtis)

- Translations updated (Zbigniew Chyla, Kjartan Maraas, Ole Laursen,
  Stanislav Visnovsky, Yukihiro Nakai, Roy-Magne Mo, Carlos Perelló Marín,
  Pablo Saratxaga, Christian Rose, Christophe Merlet, Christopher R. Gabriel)

2.2.4.1 stuff:

- X server editting now actually works, and gdmconfig produces
  correct config files.  DOH!

- X server editting now enforces strict order of servers (it only sort
  of did before)

- XDMCP can now run a script to get a custom WILLING status script
  (Matt Forrest, me)

- Change the gdm extension protocol to XDMCP.  The MANAGED_FORWARD
  was being used in a wrong way and required a slight protocol change,
  as this is a non-required part of the protocol nothing will break.

- When declining a connection, give statement why it is, to aid in
  debugging your XDMCP setup.

- Implement the (previously documented) xdmcp/DisplaysPerHost
  configuration option.  So now the default is one connection per
  host, so you may need to change this in your setup if you need
  more.

- Fix one case of s/login/username/ in the greeter and in XDMCP mode,
  the button to kill the login is "Disconnect" and not "Quit"

- The reference doc updated a tad, still somewhat out of date,
  the configurator documentation has not been updated however.

- Many, many fixes mostly leaks, some minor some bigger

- Updated translations (Christian Rose, Abel Cheung, Kjartan Maraas,
  Zbigniew Chyla)

2.2.4.0 stuff:

- New unix socket protocol for controlling the daemon from outside.

- A way to add servers at runtime by any local user.  So called flexible
  servers.  That is implementing a "New login" kind of thing.  This new
  server can also be a nested login with Xnest.  In which case anyone on
  an X connection can run this.  All without the use of XDMCP and openning
  up an extra TCP port.  This is more user friendly and also this way the
  daemon can manage the servers better.

- PAM usage more correct with respect to setting credentials.  This makes
  pam_group actually work, and probably some other things

- Implement a vt open (gdmopen) alternative inside gdm itself.  This
  version is stripped down version of open and it works much better for
  gdm's purposes of it.

- Implement a local helper (if pam is used) for the password asking
  when attempting to run X configuration.  This is more friendly
  and more correct.

- Keep track of all new helper processes and kill them off on exit.
  Previously some of these could be left hanging.

- When a display number is busy, ask the user about starting the
  server on an empty display number (if no gdmopen or dialog, just
  do it)

- Keep track of the VT (on linux) of local servers and allow programs to
  query this list through the socket protocol.  Perhaps to offer the
  user a menu and a gui way to switch between logins.

- More thorough closing of file descriptors.

- Also look for 'whiptail' when looking for a 'dialog' implementation

- In the photo setup, don't require a browser to be on.  In that case,
  just warn the user.

- Some doc fixes (Kjartan Maraas)

- Added Galician (gl_ES) and Brazilian Portuguese (pt_BR) to the menu
  (Jesus Bravo Alvarez)

- Various minor fixes.

- RPM Epoch raised to 1 since it seems others have been in an Epoch arms
  race.

- Translation updates (Ole Laursen, Christophe Merlet, Abel Cheung,
  Jesus Bravo Alvarez, Pablo Saratxaga, Andras Timar, Zbigniew Chyla,
  Kjartan Maraas, Marius Andreiana, me)

2.2.3.2 stuff:

- printf/syslog format bugs fixed which fixes possible security
  problems (Cyril Diakhate, Abel Cheung, Havoc, me)

- Some fixes coming from the Gnome usability report (Heeten Choxi, me)

- Nicer titlebar

- Run /etc/X11/xinit/xinitrc.d from the Gnome session

- RUNNING_UNDER_GDM defined for init scripts (Owen)

- Embrace and extend XDMCP so that choosing works nicer.  No worries, still
  100% compatible with XDMCP 1.0

- In the redhat package don't use the GiveConsole/TakeConsole since they're
  not kosher, pam does this for us, for standard, non rpm build this was never
  done

- s/Halt/Shut down/

- Don't ask to save Failsafe sessions

- When user doesn't exist, ask for a password anyway

- Various minor fixes (Owen, me)

- Translation updates (Stanislav Visnovsky, Zbigniew Chyla, Christian Rose,
  Faith Demir, Abel Cheung, Christian Meyer, Kjartan Maraas,
  Christopher R. Gabriel, Yukihiro Nakai, me)

2.2.3.1 stuff:

- file descriptor leaks and messups dealt with, making gdm2 work again
  on debian and probably others (Ryan Murray, me)

- Posibility of a "soft" restart, that is scheduling a restart when all logins
  end.  This is now possible from gdmconfig.

- A new "protocol" for the slave to talk to the daemon by way of a fifo.

- The spec file now schedules a soft restart on install (this will work only
  for upgrades from 2.2.3.1 to higher versions obviously)

- Handle the slave process crashing much more gracefully.  And be generally
  more thorough in killing our children.

- Killing an X server while running is no longer treated as an X crash by gdm

- Other cleanups and minor fixes

- Translation updates (Christian Rose, Ole Laursen, Zbigniew Chyla)

2.2.3 stuff:

- Various XDMCP fixes, including a working indirect queries (the host chooser).
  Plus various chooser enhancements and fixes

- The "window manager" better handles window positioning, to make programs
  like gkrellm behave more sanely.  Also follow the motif decoration hint.

- The internal error/info dialog uses GNOME to look prettier and is centered

- Build xdmcp only if the libs exist

- Handle upgrades more sanely.

- Scripts get correct environment

- On failsafe xterm session just warp the pointer to transfer focus,
  this makes pointer focus still work

- An option to always restart server rather then just reinitializing it
  when a user logs out

- XDMCP login box has a "Quit" menu item which kills the connection,
  useful if you chose a box you don't know the login to.

- Now handles busy server by notifying the user instead of treating it
  as a server crash

- Docs and configurator up to date to all new configuration keys
  (Trevor Curtis, me)

- Better pam and console helper configure setup and other configure fixes

- Add ja and zh_TW.Big5 translations again (Karl Eichwalder, me)

- Assorted fixes, cleanups (Kjartan, Nalin Dahyabhai, me)

- spec file cleanup (Dean Scott)

- Translations (Marius Andreiana, Christian Rose, Ole Laursen,
	        Karl Eichwalder, "R.I.P. Deaddog", Christian Meyer,
		Pablo Saratxaga, Kjartan Maraas, Christophe Merlet, 
		Khairulanuar Abd Majid, me)

2.2.2.1 stuff:

- SECURITY FIX!  Rebake cookies before reinitializing the local X server.
  Only local X servers are affected, this bug allowed an attacker to log in,
  save his cookie, which would then be used for the user who logs in next.

- Fix a race preventing users to log in sometimes

- Ability to turn of failsafe and chooser sessions (Havoc)

- Fix mit cookie usage to not clobber cookies containing zeros

- Fix remote XDMCP authentication

- Pinging for XDMCP sessions to detect if they're dead

- Saving current gnome session is done from gdm (gnome-core HEAD no longer
  saves it)

- Don't change utmp from Pre/Post session scripts

- PAM related fixes

- Better handeling of X failiures

- Nicer iconify button

- gdmphotosetup permissions fixes

- Always add POSIX/C locale setting to language menu

- Nicer minimize button

- Ignore .rpmorig files

- Other fixes

- Translations (Stanislav Visnovsky, Kjartan Maraas, me)

2.2.2 stuff:

- When X keeps crashing ask if we should run the X configuration
  (after asking for the root password of course:)

- Fixup shadow and crypt authentication methods

- Fix session directory reading in greeter (Rémi Cohen-Scali)

- Fix the -lwrap and other configure issues

- Better "management" of login screen windows

- The face browser actually works now (Rémi Cohen-Scali, me)

- A clock on the login window (Jonathan, me)

- The language list is now translated

- A small proggie to set your gdm browser face

- Accept clicks by the right button as if they are the first button,
  we don't know if the user is left or right handed yet

- Background color seeps through transparent images and allow limitting
  remote logins to only a color backgrounds

- Tooltips on things to make the greeter easier to understand

- AllowConfig now on by default

- Properly runs with a missing gdm.conf

- Remove old failsafe stuff and use the new builtin falisafes, which
  are much nicer

- Saner focus on all gdm windows, and give the failsafe xterm focus

- Gnome and Xsession default sessions now setup xresources and read in
  keymaps

- Default is default if no default was set and it exists (confusing huh? :)

- More Xinerama support (backgrounds, error dialogs, xterm failsafe session)

- Greeter segfault fixed when no lanugage file present

- Anti-hosification meassures.  GDM will now try to do something to allow
  itself to be fixed on some mistakes.  Rather then just aborting and leaving
  crap in the syslog.  And gdmconfig let's you see hosification as it hapens

- Updated fixed icon entry

- gdm-restart script to automate restarting of gdm by HUPing the main daemon

- Mucho fixes

- Bunch more tooltips on things

- Documentation is here! (Trevor Curtis, me)

- Updated translations (Khairulanuar Abd Majid, Christian Meyer, Ole Laursen,
  Kjartan Maraas, Christian Rose, Fatih Demir, Stanislav Visnovsky,
  Emese Kovacs, Matthias Warkus, Kjartan Maraas, Jarkko Ranta, me)

2.2.1 stuff:

- Keyboard navigation in the greeter (Ryan Murray)

- debian build stuff (Ian McKellar)

- Ability to set the background color/pixmap,
  now requires GdkPixbuf because of this.

- The root overlay window is gone now and we have real focus
  management.  In effect gdmlogin is a VERY simple windowmanager.

- Ability to choose a specific GNOME session

- Ability to run the configurator directly on the login screen,
  which requires a root password of course (Disabled by default)

- An editor for the Sessions directory in gdmconfig (Lee)

- Title bar can be hidden by configuration

- The icon entry is now sane with the panel icon entry hack

- If no LANG variable set gdm starts out in the DefaultLocale
  from the config file

- Now non-verbose mode is actually useful and verbose mode
  is still security safe.

- For consistency AllowRoot now works on pam setups as well,
  also a setting just for remote root logins.

- Timed login, you can set up gdm to log in a certain user on the
  first local display after a specified timeout if no one logs in
  (me, Jim Bray)

- Bunch of other fixes (me, Ryan Murray)

- Security fixes, crash fixes and an increase in general paranoia
  (me, Ryan Murray)

- More fault/bad setting tolerant all around

- Translation updates (Christian Meyer, Valek Filippov, Kjartan Maraas,
  Ole Laursen, Jarkko Ranta, Fatih Demir, Stanislav Visnovsky, Martin Norbäck,
  Christian Rose, Yuri Syrota, Christophe Merlet, Pablo Saratxaga, me,
  Ian McKellar)

2.2.0 stuff:

- gdmconfig now works with more fontsizes (me, Lee)

- Another minor xinerama fix

- Fixup the pam message voodoo, so that it now is at least functional even
  though it may not be pretty nor 100% correct.

- Initial gdmconfig documentation (Trevor Curtis, Lee)

- gdmconfig now correctly handles RelaxPerms (Lee)

- gdmconfig has now nice pam console helper setup (Lee)

- gladify/beautify gdmchooser (Lee)

- gdmchooser now apparently works with xdm (Matthias Clasen)

- Better specfile (Gregory Leblanc)

- Packagers should read the comment on end of config/gdm.conf.in (especially
  debian people)

- Configuration file now does not force the adobe version of helvetica, and
  postgres and pvm users are excluded by default (Vlad Hrachev)

- i18n fixes (Gediminas Paulauskas)

- New easter egg

- Bunch of minor fixes

- Translation updates (Yukihiro Nakai, Carlos Perelló Marín, Martin Norbäck,
  Fatih Demir, Simos Xenitellis, Kjartan Maraas, Christian Meyer,
  Christophe Merlet, Stanislav Visnovsky, me)

2.0.99 stuff:

- Cursor set to pointer rather then left as "X"

- Minor login minimize button cleanup (Jonathan Blandford)

- gdmconfig UI update and fixes (Lee Mallabone)

- Easter egg update

- Fixed restarting with HUP when xdmcp is on

- Login and Chooser fixed up for the true/false vs. 1/0 change (Tim Jansen)

- doc updates for true/false vs 1/0 fixups (Tim Jansen)

- Translation updates (Yukihiro Nakai, Christophe Merlet, Gustavo Maciel Dias
  Vieira, Fatih Demir, Simos Xenitellis, Kjartan Maraas, Stanislav Visnovsky,
  Pablo Saratxaga, Jarkko Ranta)

2.0.98.1 stuff:

- a minor Xinerama fix for dialogs

- small XDMCP fix, it apparently works for some people (Matthias Clasen)

- create config files during configure time (Peter Teichman, me)

- Mucho translation updates (Christian Rose, Dan Damian, Simos Xenitellis,
  Szabolcs Ban, Kjartan Maraas, Christophe Merlet, Christian Meyer)

2.0.98 stuff:

- spec file actually works (Lee Mellabone)

- Bigger! Better! Faster!  gdmconfig.  Much cooler and easier to use
  (Lee Mellabone)

- More xinerama fixes (Tim Jansen)

- A bit more xdmcp fixes which still don't make it run

- Bunch of other fixes and cleanups

- New translations (Stanislav Visnovsky, Jarkko Ranta, Valek Filippov,
  Simos Xenitellis)

2.0.97.1 stuff:

- Don't die on non-xinerama supporting display if compiled with xinerama lib

- First cut at a spec file for RedHat 6.x (may work on 7.0 as well maybe)

2.0.97 stuff:

- Graphical configurator in Foot/System/Gdm Confgiurator,
  or run "gdmconfig" (Lee Mellabone)

- i18n and greeter/slave communication fixes (ChiDeok Hwang)

- int vs. bool mess fixed up in the configuration files

- Use the language from the LANG variable as the default and use
  the one from gdm.conf as backup only

- Verbose authentication on by default and don't reveal information
  on verbose authentication.  I may remove this option altogether

- Slower quiver (looks cooler:)

- Reset on main process HUP signal by reexecing self

- Xinerama support for centering the login dialogs (Tim Jansen)

- Mucho fixes to loop of death stuff, race conditions and other such
  fun things

- Translations, fixes etc...
  (Kjartan Maraas, Gediminas Paulasukas, ChiDeok Hwang, Stanislav Visnovsky,
   Valek Filippov, and maybe others)

2.0.96 stuff:

- Multiple local display stuff should now work

- Now autologs in only on the first display

- Bunch of fixes for XDMCP but that still doesn't work, I need
  help here I think

- Local displays are now reset with SIGHUP rather then killed and
  signals are set properly to begin with, this should actually help
  with some buggy X servers I think.

- Login window can be moved (has a titlebar), and this position can be
  set from the config file (not saved however)

- Bunch of cleanup and bugfixes

Open issues:

- XDMCP doesn't work

- Autologin and i18n is not working well (always in english apparently)

2.0.95 stuff:

- Autologin (AutomaticLogin key in [daemon] section of gdm.conf)
  This is a string key that if it's set then gdm will log in that
  user without prompting on the first time it runs a local server.
  Will not autologin "root" though as that would be dumb.

- You can have your cursor anywhere while you log in, yay!

- [greeter]/BackgroundProgram thingie.  A program that is run from
  the greeter and killed when the greeter exists.  useful for things
  that do some cool graphics on the root window.

- If greeter keeps segfaulting, it will "unmanage" that display so that you
  can actually log in on a console

- Slave process is actually forked

- Bugfixes galore

-George
