1. 28 Jul, 2003 1 commit
  2. 26 Jul, 2003 3 commits
    • Jiri (George) Lebl's avatar
      the waitpid function doesn't work as I expected with respect to signals so · 64efa9ef
      Jiri (George) Lebl authored
      Sat Jul 26 01:47:40 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      64efa9ef
    • Jiri (George) Lebl's avatar
      minor cleanup of main · d09895cc
      Jiri (George) Lebl authored
      Fri Jul 25 19:01:11 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      d09895cc
    • Jiri (George) Lebl's avatar
      fix C99/C++ism that gcc no longer warns about, anywhere declarations C++ · 8743c666
      Jiri (George) Lebl authored
      Fri Jul 25 17:46:11 2003  George Lebl <jirka@5z.com>
      
      	* 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
      8743c666
  3. 25 Jul, 2003 3 commits
    • Jiri (George) Lebl's avatar
      Fix updating the gdm_main_pid, which fixes gdm_fail that is done after · f9ccdb5f
      Jiri (George) Lebl authored
      
      Fri Jul 25 16:31:24 2003  George Lebl <jirka@5z.com>
      
      	* 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
      f9ccdb5f
    • Jiri (George) Lebl's avatar
      if child crashed (died of a signal) then log the signal if debug is on · ae0953b5
      Jiri (George) Lebl authored
      Fri Jul 25 13:06:49 2003  George Lebl <jirka@5z.com>
      
      	* 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
      ae0953b5
    • Jiri (George) Lebl's avatar
      whack unneeded block pushes, when killing child rekill if we get a · 45df58b2
      Jiri (George) Lebl authored
      Fri Jul 25 03:32:48 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      45df58b2
  4. 24 Jul, 2003 1 commit
    • Jiri (George) Lebl's avatar
      change some g_strconcat's to g_build_filename's to address #118040. still · 405013a3
      Jiri (George) Lebl authored
      
      Thu Jul 24 14:58:23 2003  George Lebl <jirka@5z.com>
      
      	* 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
      405013a3
  5. 23 Jul, 2003 2 commits
    • Jiri (George) Lebl's avatar
      whack some debug messages · 92790530
      Jiri (George) Lebl authored
      
      Wed Jul 23 14:29:53 2003  George Lebl <jirka@5z.com>
      
      	* 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
      92790530
    • Jiri (George) Lebl's avatar
      use pause() instead of select with all zero arguments. Also fix select · 0c82c7fe
      Jiri (George) Lebl authored
      Tue Jul 22 18:15:51 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      0c82c7fe
  6. 21 Jul, 2003 1 commit
    • Jiri (George) Lebl's avatar
      eek, it's /dev/null, not dev/null · 14b750ef
      Jiri (George) Lebl authored
      
      Mon Jul 21 12:24:01 2003  George Lebl <jirka@5z.com>
      
      	* 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
      	  <stevech1097@yahoo.com.au> to fix #117898 to add $0
      	  to all the echo messages in this file to make debugging
      	  easier.
      14b750ef
  7. 16 Jul, 2003 1 commit
    • Jiri (George) Lebl's avatar
      updates · 7033f032
      Jiri (George) Lebl authored
      Wed Jul 16 15:09:43 2003  George Lebl <jirka@5z.com>
      
      	* 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
      7033f032
  8. 11 Jul, 2003 2 commits
    • Jiri (George) Lebl's avatar
      using /tmp as failsafe for HOME seems on second thought patently bad for · 0e5348aa
      Jiri (George) Lebl authored
      Fri Jul 11 14:31:20 2003  George Lebl <jirka@5z.com>
      
      	* 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
      0e5348aa
    • Jiri (George) Lebl's avatar
      use the ve_ versions of the environment funcs and use ve_config instead of · f417e25e
      Jiri (George) Lebl authored
      Thu Jul 10 17:12:40 2003  George Lebl <jirka@5z.com>
      
      	* 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
      f417e25e
  9. 08 Jul, 2003 1 commit
    • Jiri (George) Lebl's avatar
      If a greeter crashes within 10 seconds of the display being managed, we · f59c87e5
      Jiri (George) Lebl authored
      
      Tue Jul 08 01:38:34 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      f59c87e5
  10. 25 Jun, 2003 1 commit
    • Jiri (George) Lebl's avatar
      Fix some typos pointed out by Ali Akcaagac <aliakc@web.de> · ce169514
      Jiri (George) Lebl authored
      Wed Jun 25 15:38:29 2003  George Lebl <jirka@5z.com>
      
      	* configure.in, config/gdm.conf.in: Fix some typos pointed out by Ali
      	  Akcaagac <aliakc@web.de>
      
      	* 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
      ce169514
  11. 11 Jun, 2003 1 commit
  12. 10 Jun, 2003 2 commits
    • Jiri (George) Lebl's avatar
      Fix the session setup, and get rid of the quoting unquoting crap. Also fix · 49fbbafd
      Jiri (George) Lebl authored
      Tue Jun 10 16:47:59 2003  George Lebl <jirka@5z.com>
      
      	* 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
      49fbbafd
    • Jiri (George) Lebl's avatar
      use $HOME/.face by default · 360ab4ae
      Jiri (George) Lebl authored
      Mon Jun 09 17:01:27 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      360ab4ae
  13. 06 Jun, 2003 1 commit
    • Jiri (George) Lebl's avatar
      add another argument to the file check to silence warnings about some · 60833db3
      Jiri (George) Lebl authored
      Fri Jun 06 13:05:14 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      60833db3
  14. 05 Jun, 2003 1 commit
    • Jiri (George) Lebl's avatar
      Fix #56654 by removing programmer references out of translatable strings · 9ee6ccd7
      Jiri (George) Lebl authored
      Thu Jun 05 11:37:19 2003  George Lebl <jirka@5z.com>
      
      	* 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
      9ee6ccd7
  15. 04 Jun, 2003 1 commit
    • Jiri (George) Lebl's avatar
      The pam setup now asks for the username itself. This is accompanied by a · f44582fa
      Jiri (George) Lebl authored
      Wed Jun 04 16:30:38 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      f44582fa
  16. 03 Jun, 2003 1 commit
    • Jiri (George) Lebl's avatar
      whack gdmmktemp since it wasn't being used, move gdmaskpass and gdmopen to · 5d162dd3
      Jiri (George) Lebl authored
      Tue Jun 03 13:37:31 2003  George Lebl <jirka@5z.com>
      
      	* 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).
      5d162dd3
  17. 30 May, 2003 2 commits
    • Jiri (George) Lebl's avatar
      just do exit rather then gdm_main_quit, since that might possible have · 3abd78ee
      Jiri (George) Lebl authored
      Fri May 30 12:02:59 2003  George Lebl <jirka@5z.com>
      
      	* 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.
      3abd78ee
    • Jiri (George) Lebl's avatar
      update the default config for the new chooser server flag by adding · dcde0c5b
      Jiri (George) Lebl authored
      Thu May 29 17:38:56 2003  George Lebl <jirka@5z.com>
      
      	* 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
      dcde0c5b
  18. 17 May, 2003 1 commit
    • Jiri (George) Lebl's avatar
      added Malaylam, Marathi and Oriya languages · 7c997742
      Jiri (George) Lebl authored
      
      Fri May 16 20:46:43 2003  George Lebl <jirka@5z.com>
      
      	* 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
      7c997742
  19. 15 May, 2003 1 commit
    • Jiri (George) Lebl's avatar
      add a suspend interruption and a SOP command. The greeter interrupts, the · afe4115e
      Jiri (George) Lebl authored
      Thu May 15 02:17:55 2003  George Lebl <jirka@5z.com>
      
      	* 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
      afe4115e
  20. 13 May, 2003 1 commit
    • Jiri (George) Lebl's avatar
      when more then 50 users don't put them all in the combo boxes, this is a · 925d8c21
      Jiri (George) Lebl authored
      Tue May 13 12:22:45 2003  George Lebl <jirka@5z.com>
      
      	* 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 #106656
      	  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.
      925d8c21
  21. 10 Apr, 2003 1 commit
    • Niall Power's avatar
      Add support for launching gdmlogin/gdmgreeter with a configurable list of · 11e99a6a
      Niall Power authored
      2003-04-10 Niall Power <Niall.Power@Sun.COM>
      	* 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).
      11e99a6a
  22. 11 Sep, 2002 1 commit
    • Jiri (George) Lebl's avatar
      Store initial environment and use it for the errorgui, use internal · f072f597
      Jiri (George) Lebl authored
      Wed Sep 11 12:35:37 2002  George Lebl <jirka@5z.com>
      
      	* 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.
      f072f597
  23. 04 Sep, 2002 1 commit
    • Jiri (George) Lebl's avatar
      Finally branching so I'm doing random hacking again · a5ceddc5
      Jiri (George) Lebl authored
      Use the gnome-2-0 branch from now on if you want gnome 2.0 stable kind of stuff
      -George
      
      Wed Sep 04 11:29:03 2002  George Lebl <jirka@5z.com>
      
      	* 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.
      a5ceddc5
  24. 23 Aug, 2002 3 commits
    • Jiri (George) Lebl's avatar
      Cleanup the exit stuff · 7b7ea791
      Jiri (George) Lebl authored
      Fri Aug 23 14:12:10 2002  George Lebl <jirka@5z.com>
      
      	* 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
      7b7ea791
    • Jiri (George) Lebl's avatar
      Whack DefaultLocale as that setting was on crack to begin with. If the · 6028ae11
      Jiri (George) Lebl authored
      Fri Aug 23 11:04:38 2002  George Lebl <jirka@5z.com>
      
      	* 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 <host>.png as host images.  That's
      	  really a lot more sane and nicer.
      6028ae11
    • Jiri (George) Lebl's avatar
      fix subtle possible race that could kill another process and simplify code · ce50f985
      Jiri (George) Lebl authored
      Fri Aug 23 01:09:36 2002  George Lebl <jirka@5z.com>
      
      	* 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.
      ce50f985
  25. 22 Aug, 2002 1 commit
    • Jiri (George) Lebl's avatar
      Make the vt member exist for non-linux systems as well just for kicks. Set · d815ebed
      Jiri (George) Lebl authored
      Thu Aug 22 12:23:49 2002  George Lebl <jirka@5z.com>
      
      	* 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<number> 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.
      d815ebed
  26. 15 Aug, 2002 1 commit
    • Jiri (George) Lebl's avatar
      remove some dead code. Ensure euid's in more places. open .xsession-errors · f93e3de0
      Jiri (George) Lebl authored
      Thu Aug 15 12:04:24 2002  George Lebl <jirka@5z.com>
      
      	* 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 /<displayname>, if not found then /<hostname>, 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
      f93e3de0
  27. 13 Aug, 2002 2 commits
    • Jiri (George) Lebl's avatar
      Sure fire way to open /dev/null and give error when system on crack. Also · af3513c2
      Jiri (George) Lebl authored
      Tue Aug 13 17:05:55 2002  George Lebl <jirka@5z.com>
      
      	* 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.
      af3513c2
    • Jiri (George) Lebl's avatar
      The Shutdown/Halt/Suspend keys can now be a list of commands. If this is · d41c58b6
      Jiri (George) Lebl authored
      Tue Aug 13 16:15:08 2002  George Lebl <jirka@5z.com>
      
      	* 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.
      d41c58b6
  28. 07 Aug, 2002 1 commit
  29. 30 Jul, 2002 1 commit
    • Jiri (George) Lebl's avatar
      fix the linux-only proccess detection thing to work on non-linux systems · fe60718f
      Jiri (George) Lebl authored
      Tue Jul 30 12:00:28 2002  George Lebl <jirka@5z.com>
      
      	* 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.
      fe60718f