diff -crN ./gdm/config/gdm.conf.in /users3/dionjp/sb/gnome_221/src/./gdm/config/gdm.conf.in
*** ./gdm/config/gdm.conf.in	Sun Jan 12 19:45:13 2003
--- /users3/dionjp/sb/gnome_221/src/./gdm/config/gdm.conf.in	Fri May 23 11:37:39 2003
***************
*** 128,134 ****
  # Distributions: Ship with this off.  It is never a safe thing to leave
  # out on the net.  Alternatively you can set up /etc/hosts.allow and
  # /etc/hosts.deny to only allow say local access.
! Enable=false
  # Honour indirect queries, we run a chooser for these, and then redirect
  # the user to the chosen host.  Otherwise we just log the user in locally.
  HonorIndirect=true
--- 128,134 ----
  # Distributions: Ship with this off.  It is never a safe thing to leave
  # out on the net.  Alternatively you can set up /etc/hosts.allow and
  # /etc/hosts.deny to only allow say local access.
! Enable=true
  # Honour indirect queries, we run a chooser for these, and then redirect
  # the user to the chosen host.  Otherwise we just log the user in locally.
  HonorIndirect=true
***************
*** 285,291 ****
  # Definition of the standard X server.
  [server-Standard]
  name=Standard server
! command=/usr/X11R6/bin/X
  flexible=true
  
  # To use this server type you should add -query host or -indirect host
--- 285,291 ----
  # Definition of the standard X server.
  [server-Standard]
  name=Standard server
! command=/usr/X11R6/bin/X @X_NEEDED_ARGS@
  flexible=true
  
  # To use this server type you should add -query host or -indirect host
diff -crN ./gdm/configure.in /users3/dionjp/sb/gnome_221/src/./gdm/configure.in
*** ./gdm/configure.in	Mon Feb  3 18:17:52 2003
--- /users3/dionjp/sb/gnome_221/src/./gdm/configure.in	Fri May 23 11:38:28 2003
***************
*** 107,117 ****
  dnl AC_ARG_PROGRAM
  AM_PROG_LIBTOOL
  AC_PATH_XTRA
! AC_CHECK_TYPE(socklen_t,size_t)
! AC_CHECK_FUNCS(setresuid)
  
  GNOME_COMPILER_WARNINGS
  
  PKG_CHECK_MODULES(DAEMON, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnome-2.0 >= $LIBGNOME_REQUIRED)
  AC_SUBST(DAEMON_CFLAGS)
  AC_SUBST(DAEMON_LIBS)
--- 107,123 ----
  dnl AC_ARG_PROGRAM
  AM_PROG_LIBTOOL
  AC_PATH_XTRA
! AC_CHECK_TYPE(socklen_t,size_t,sys/types.h sys/socket.h)
! AC_CHECK_FUNCS(setresuid getusershell)
  
  GNOME_COMPILER_WARNINGS
  
+ AC_CHECK_LIB(popt, poptGetArg, POPT_LIBS=-lpopt,
+         [AC_CHECK_HEADER(popt.h, , AC_MSG_ERROR([[
+ *** Couldn't find popt. Please download and install from
+ *** ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.0.x/ and try again.]]))])
+ AC_SUBST(POPT_LIBS)
+ 
  PKG_CHECK_MODULES(DAEMON, gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnome-2.0 >= $LIBGNOME_REQUIRED)
  AC_SUBST(DAEMON_CFLAGS)
  AC_SUBST(DAEMON_LIBS)
***************
*** 358,366 ****
--- 364,395 ----
  #
  # Subst the extra libs
  #
+ 
  AC_SUBST(EXTRA_DAEMON_LIBS)
  
  #
+ # X11 specific flags (not XFree86)
+ #
+ 
+ AC_MSG_CHECKING([parameters to pass to the X server])
+ case "$host_os" in
+    aix*)
+       X_NEEDED_ARGS="-force -T # +kb +accessx"
+       AC_SUBST(X_NEEDED_ARGS, [$X_NEEDED_ARGS])
+       AC_MSG_RESULT([AIX: $X_NEEDED_ARGS])
+       AC_MSG_WARN([
+ Specific arguments for AIX X server: 
+   -force = Start X server from standard tty (not a LFT, hidden option),
+   -T     = Disable Ctrl-Alt-Backspace to kill X
+ Uncomment followings if needed (Accessibility features)
+   +kb    = XKb extension
+   +accessx = accessX extension])
+       ;;
+    *)
+       AC_MSG_RESULT([None])
+ esac
+ 
+ #
  # Configuration file foo, we need to get expanded versions of a bunch of things
  # if you actually know how to code shell then fix this :-) 
  # Stolen mostly from GConf
diff -crN ./gdm/daemon/Makefile.am /users3/dionjp/sb/gnome_221/src/./gdm/daemon/Makefile.am
*** ./gdm/daemon/Makefile.am	Thu Aug 22 21:15:03 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/daemon/Makefile.am	Wed Nov 20 19:50:34 2002
***************
*** 1,7 ****
  ## Process this file with automake to produce makefile.in
- CFLAGS = @CFLAGS@ -g -Wall \
- 	-Wpointer-arith \
- 	-Wmissing-prototypes -Wmissing-declarations 
  
  DEFS = @DEFS@ -DGDM_CONFIG_FILE=\"@sysconfdir@/gdm/gdm.conf\"
  
--- 1,4 ----
***************
*** 71,76 ****
--- 68,74 ----
  	-lXext					\
  	$(XINERAMA_LIBS)			\
  	$(INTLLIBS)				\
+ 	$(POPT_LIBS)				\
  	-L$(top_builddir)/vicious-extensions	\
  	-lvicious
  
diff -crN ./gdm/daemon/gdm.c /users3/dionjp/sb/gnome_221/src/./gdm/daemon/gdm.c
*** ./gdm/daemon/gdm.c	Wed Sep 11 21:57:10 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/daemon/gdm.c	Mon Feb 24 11:25:42 2003
***************
*** 670,675 ****
--- 670,676 ----
  		      GdmServAuthDir, GdmUser, GdmGroup);
      }
  
+     statbuf.st_mode &= 0xFFFF;
      if (statbuf.st_mode != (S_IFDIR|S_IRWXU|S_IRGRP|S_IXGRP))  {
  	    char *s = g_strdup_printf
  		    (_("Server Authorization directory "
***************
*** 2334,2340 ****
  	display->socket_conn = conn;
  	display->xnest_disp = g_strdup (xnest_disp);
  	display->xnest_auth_file = g_strdup (xnest_auth_file);
! 	gdm_connection_set_close_notify (conn, display, close_conn);
  	displays = g_slist_append (displays, display);
  	if ( ! gdm_display_manage (display)) {
  		gdm_display_unmanage (display);
--- 2335,2341 ----
  	display->socket_conn = conn;
  	display->xnest_disp = g_strdup (xnest_disp);
  	display->xnest_auth_file = g_strdup (xnest_auth_file);
! 	gdm_connection_set_close_notify (conn, display, (void*)close_conn);
  	displays = g_slist_append (displays, display);
  	if ( ! gdm_display_manage (display)) {
  		gdm_display_unmanage (display);
diff -crN ./gdm/daemon/misc.c /users3/dionjp/sb/gnome_221/src/./gdm/daemon/misc.c
*** ./gdm/daemon/misc.c	Wed Sep 11 21:57:10 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/daemon/misc.c	Fri May 23 11:38:59 2003
***************
*** 231,241 ****
--- 231,247 ----
  		char *env = environ[i];
  		if (strncmp (env, "LC_", 3) == 0 ||
  		    strncmp (env, "LANG", 4) == 0 ||
+ 		    strncmp (env, "TZ", 3) == 0 ||
  		    strncmp (env, "LINGUAS", 7) == 0)
  			envs = g_list_prepend (envs, g_strdup (env));
+ 		/* linux specific */
  		if (preserve_ld_vars &&
  		    strncmp (env, "LD_", 3) == 0)
  			envs = g_list_prepend (envs, g_strdup (env));
+ 		/* aix specific */
+ 		if (preserve_ld_vars &&
+ 		    strcmp (env, "LIBPATH") == 0)
+ 			envs = g_list_prepend (envs, g_strdup (env));
  	}
  
  	gnome_clearenv ();
***************
*** 261,266 ****
--- 267,276 ----
  		if (preserve_ld_vars &&
  		    strncmp (env, "LD_", 3) == 0)
  			envs = g_list_prepend (envs, g_strdup (env));
+ 		/* aix specific */
+ 		if (preserve_ld_vars &&
+ 		    strcmp (env, "LIBPATH") == 0)
+ 			envs = g_list_prepend (envs, g_strdup (env));
  	}
  
  	gnome_clearenv ();
diff -crN ./gdm/gui/Makefile.am /users3/dionjp/sb/gnome_221/src/./gdm/gui/Makefile.am
*** ./gdm/gui/Makefile.am	Tue Aug  6 22:29:56 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/gui/Makefile.am	Wed Nov 20 19:51:33 2002
***************
*** 1,9 ****
  SUBDIRS = . greeter
  
  ## Process this file with automake to produce makefile.in
- CFLAGS = @CFLAGS@ -g -Wall 	\
- 	-Wpointer-arith  	\
- 	-Wmissing-prototypes -Wmissing-declarations 
  
  DEFS = @DEFS@ -DGDM_CONFIG_FILE=\"@sysconfdir@/gdm/gdm.conf\" \
  	-DGDM_FACTORY_CONFIG_FILE=\"@sysconfdir@/gdm/factory-gdm.conf\" \
--- 1,6 ----
***************
*** 76,81 ****
--- 73,79 ----
  gdmchooser_LDADD = \
  	libgdmwm.a		\
  	$(GUI_LIBS)		\
+ 	$(POPT_LIBS)		\
  	$(X_LIBS)		\
  	$(XDMCP_LIBS)		\
  	-lX11			\
***************
*** 99,105 ****
  gdmsetup_LDFLAGS = -export-dynamic
  gdmsetup_LDADD = \
  	$(GUI_LIBS)		\
! 	-lXau			\
  	$(INTLLIBS)		\
  	-L$(top_builddir)/vicious-extensions	\
  	-lviciousui
--- 97,104 ----
  gdmsetup_LDFLAGS = -export-dynamic
  gdmsetup_LDADD = \
  	$(GUI_LIBS)		\
! 	$(X_LIBS)		\
! 	-lX11			\
  	$(INTLLIBS)		\
  	-L$(top_builddir)/vicious-extensions	\
  	-lviciousui
***************
*** 112,124 ****
  
  gdmXnestchooser_LDADD = \
  	$(GUI_LIBS)		\
! 	-lXau			\
  	$(INTLLIBS)		\
  	-L$(top_builddir)/vicious-extensions	\
  	-lviciousui
  
  gdmflexiserver_LDADD = \
  	$(GUI_LIBS)		\
  	-lXau			\
  	$(INTLLIBS)		\
  	-L$(top_builddir)/vicious-extensions	\
--- 111,128 ----
  
  gdmXnestchooser_LDADD = \
  	$(GUI_LIBS)		\
! 	$(POPT_LIBS)		\
  	$(INTLLIBS)		\
+ 	-lXau			\
+ 	-lX11			\
  	-L$(top_builddir)/vicious-extensions	\
  	-lviciousui
  
  gdmflexiserver_LDADD = \
  	$(GUI_LIBS)		\
+ 	$(POPT_LIBS)		\
+ 	$(X_LIBS)		\
+ 	-lX11			\
  	-lXau			\
  	$(INTLLIBS)		\
  	-L$(top_builddir)/vicious-extensions	\
diff -crN ./gdm/gui/gdmlogin.c /users3/dionjp/sb/gnome_221/src/./gdm/gui/gdmlogin.c
*** ./gdm/gui/gdmlogin.c	Sat Dec 21 22:51:49 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/gui/gdmlogin.c	Mon Feb 24 11:31:18 2003
***************
*** 21,35 ****
  /* for GtkCList */
  #undef GTK_DISABLE_DEPRECATED
  
  #include <libgnome/libgnome.h>
  #include <libgnomeui/libgnomeui.h>
- #include <math.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <sys/stat.h>
  #include <sys/types.h>
  #include <sys/wait.h>
  #include <fcntl.h>
  #include <unistd.h>
  #include <syslog.h>
--- 21,36 ----
  /* for GtkCList */
  #undef GTK_DISABLE_DEPRECATED
  
+ #include <math.h>
  #include <libgnome/libgnome.h>
  #include <libgnomeui/libgnomeui.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
  #include <sys/stat.h>
  #include <sys/types.h>
  #include <sys/wait.h>
+ #include <sys/param.h>
  #include <fcntl.h>
  #include <unistd.h>
  #include <syslog.h>
***************
*** 3618,3623 ****
--- 3619,3625 ----
  static gboolean
  gdm_login_check_shell (const gchar *usersh)
  {
+ #if HAVE_GETUSERSHELL
      gint found = 0;
      gchar *csh;
  
***************
*** 3630,3635 ****
--- 3632,3667 ----
      endusershell ();
  
      return (found);
+ #else
+ 
+ #   define SHELLS	"/etc/shells"
+ 
+     gint found = 0;
+     gchar newshell[MAXPATHLEN];
+     FILE* fd;
+ 
+ 
+     fd = fopen(SHELLS, "r");
+     if (fd == NULL)
+     {
+ 	/* if file doesn't exist, all shells are accepted */
+         return 1;
+     }
+     
+     while (fscanf(fd, "%s", newshell) != EOF)
+     {
+        if (! strcmp (newshell, usersh) )
+        {
+            found = 1;
+            break;
+        }
+     }
+     fclose(fd);
+ 
+ 
+     return found;
+ #endif
+ 
  }
  
  
diff -crN ./gdm/gui/greeter/Makefile.am /users3/dionjp/sb/gnome_221/src/./gdm/gui/greeter/Makefile.am
*** ./gdm/gui/greeter/Makefile.am	Thu Aug 15 15:37:16 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/gui/greeter/Makefile.am	Wed Nov 20 19:53:12 2002
***************
*** 1,9 ****
  SUBDIRS = . themes
  
  ## Process this file with automake to produce makefile.in
- CFLAGS = @CFLAGS@ -g -Wall 	\
- 	-Wpointer-arith  	\
- 	-Wmissing-prototypes -Wmissing-declarations 
  
  INCLUDES = \
  	-I.						\
--- 1,6 ----
diff -crN ./gdm/gui/greeter/greeter_item.h /users3/dionjp/sb/gnome_221/src/./gdm/gui/greeter/greeter_item.h
*** ./gdm/gui/greeter/greeter_item.h	Sun Jun  2 02:11:58 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/gui/greeter/greeter_item.h	Tue Jul 30 14:48:45 2002
***************
*** 4,42 ****
  #include <libgnomecanvas/libgnomecanvas.h>
  
  typedef struct _GreeterItemInfo GreeterItemInfo;
- typedef enum _GreeterItemState GreeterItemState;
- typedef enum _GreeterItemType GreeterItemType;
- typedef enum _GreeterItemSizeType GreeterItemSizeType;
- typedef enum _GreeterItemPosType GreeterItemPosType;
- typedef enum _GreeterItemShowModes GreeterItemShowModes;
  
  enum _GreeterItemState {
    GREETER_ITEM_STATE_NORMAL,
    GREETER_ITEM_STATE_PRELIGHT,
    GREETER_ITEM_STATE_ACTIVE,
!   GREETER_ITEM_STATE_MAX,
  };
  
  enum _GreeterItemType {
    GREETER_ITEM_TYPE_RECT,
    GREETER_ITEM_TYPE_SVG,
    GREETER_ITEM_TYPE_PIXMAP,
    GREETER_ITEM_TYPE_LABEL,
!   GREETER_ITEM_TYPE_ENTRY,
  };
  
  enum _GreeterItemSizeType {
    GREETER_ITEM_SIZE_UNSET,
    GREETER_ITEM_SIZE_ABSOLUTE,
    GREETER_ITEM_SIZE_RELATIVE,
!   GREETER_ITEM_SIZE_BOX,
  };
  
  enum _GreeterItemPosType {
    GREETER_ITEM_POS_UNSET,
    GREETER_ITEM_POS_ABSOLUTE,
!   GREETER_ITEM_POS_RELATIVE,
  };
  
  enum _GreeterItemShowModes {
    GREETER_ITEM_SHOW_EVERYWHERE = 0xffff,
--- 4,41 ----
  #include <libgnomecanvas/libgnomecanvas.h>
  
  typedef struct _GreeterItemInfo GreeterItemInfo;
  
  enum _GreeterItemState {
    GREETER_ITEM_STATE_NORMAL,
    GREETER_ITEM_STATE_PRELIGHT,
    GREETER_ITEM_STATE_ACTIVE,
!   GREETER_ITEM_STATE_MAX
  };
+ typedef enum _GreeterItemState GreeterItemState;
  
  enum _GreeterItemType {
    GREETER_ITEM_TYPE_RECT,
    GREETER_ITEM_TYPE_SVG,
    GREETER_ITEM_TYPE_PIXMAP,
    GREETER_ITEM_TYPE_LABEL,
!   GREETER_ITEM_TYPE_ENTRY
  };
+ typedef enum _GreeterItemType GreeterItemType;
  
  enum _GreeterItemSizeType {
    GREETER_ITEM_SIZE_UNSET,
    GREETER_ITEM_SIZE_ABSOLUTE,
    GREETER_ITEM_SIZE_RELATIVE,
!   GREETER_ITEM_SIZE_BOX
  };
+ typedef enum _GreeterItemSizeType GreeterItemSizeType;
  
  enum _GreeterItemPosType {
    GREETER_ITEM_POS_UNSET,
    GREETER_ITEM_POS_ABSOLUTE,
!   GREETER_ITEM_POS_RELATIVE
  };
+ typedef enum _GreeterItemPosType GreeterItemPosType;
  
  enum _GreeterItemShowModes {
    GREETER_ITEM_SHOW_EVERYWHERE = 0xffff,
***************
*** 48,53 ****
--- 47,53 ----
    GREETER_ITEM_SHOW_FLEXI = (1<<1) | (1<<2),
    GREETER_ITEM_SHOW_REMOTE = 1<<3
  };
+ typedef enum _GreeterItemShowModes GreeterItemShowModes;
  
  struct _GreeterItemInfo {
    GreeterItemInfo *parent;
diff -crN ./gdm/gui/greeter/greeter_parser.h /users3/dionjp/sb/gnome_221/src/./gdm/gui/greeter/greeter_parser.h
*** ./gdm/gui/greeter/greeter_parser.h	Fri Apr 26 02:12:32 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/gui/greeter/greeter_parser.h	Tue Jul 30 14:51:18 2002
***************
*** 10,16 ****
    GREETER_PARSER_ERROR_NO_FILE,
    GREETER_PARSER_ERROR_BAD_XML,
    GREETER_PARSER_ERROR_WRONG_TYPE,
!   GREETER_PARSER_ERROR_BAD_SPEC,
  } GreeterParseError;
  
  #define GREETER_PARSER_ERROR greeter_parser_error_quark()
--- 10,16 ----
    GREETER_PARSER_ERROR_NO_FILE,
    GREETER_PARSER_ERROR_BAD_XML,
    GREETER_PARSER_ERROR_WRONG_TYPE,
!   GREETER_PARSER_ERROR_BAD_SPEC
  } GreeterParseError;
  
  #define GREETER_PARSER_ERROR greeter_parser_error_quark()
diff -crN ./gdm/utils/Makefile.am /users3/dionjp/sb/gnome_221/src/./gdm/utils/Makefile.am
*** ./gdm/utils/Makefile.am	Fri Nov 16 21:34:55 2001
--- /users3/dionjp/sb/gnome_221/src/./gdm/utils/Makefile.am	Tue Jul 30 16:14:58 2002
***************
*** 1,7 ****
  ## Process this file with automake to produce makefile.in
- CFLAGS = @CFLAGS@ -g -Wall 	\
- 	-Wpointer-arith  	\
- 	-Wmissing-prototypes -Wmissing-declarations 
  
  DEFS = @DEFS@ -DGDM_CONFIG_FILE=\"@sysconfdir@/gdm/gdm.conf\" \
  	-DGDM_FACTORY_CONFIG_FILE=\"@sysconfdir@/gdm/factory-gdm.conf\" \
--- 1,5 ----
+ 
  ## Process this file with automake to produce makefile.in
  
  DEFS = @DEFS@ -DGDM_CONFIG_FILE=\"@sysconfdir@/gdm/gdm.conf\" \
  	-DGDM_FACTORY_CONFIG_FILE=\"@sysconfdir@/gdm/factory-gdm.conf\" \
diff -crN ./gdm/vicious-extensions/Makefile.am /users3/dionjp/sb/gnome_221/src/./gdm/vicious-extensions/Makefile.am
*** ./gdm/vicious-extensions/Makefile.am	Tue Jul 30 01:38:12 2002
--- /users3/dionjp/sb/gnome_221/src/./gdm/vicious-extensions/Makefile.am	Wed Nov 20 19:54:10 2002
***************
*** 1,7 ****
  ## Process this file with automake to produce makefile.in
- CFLAGS = @CFLAGS@ -g -Wall \
- 	-Wpointer-arith \
- 	-Wmissing-prototypes -Wmissing-declarations 
  
  SUBDIRS=.
  
--- 1,4 ----
