summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-10-04 22:25:28 +0000
committerWilliam Jon McCann <mccann@src.gnome.org>2007-10-04 22:25:28 +0000
commite2bf2da75482d853c5da54e4dc6b89d0596e68fa (patch)
tree03776231997a2ef2ab8900ae922e1f6422715466
parent14333ef1ffc4d2c5b162d2631c52ab71d88a2641 (diff)
downloadgdm-e2bf2da75482d853c5da54e4dc6b89d0596e68fa.tar.gz
Remove some more obsolete code. Move common code with unknown copyright
2007-10-04 William Jon McCann <mccann@jhu.edu> * common/Makefile.am: * common/gdm-common-unknown-origin.c: (gdm_sigchld_block_push), (gdm_sigchld_block_pop), (gdm_sigterm_block_push), (gdm_sigterm_block_pop), (gdm_sigusr2_block_push), (gdm_sigusr2_block_pop), (gdm_safe_fopen_w), (ve_clearenv): * common/gdm-common-unknown-origin.h: * common/gdm-common.c: * common/gdm-common.h: * config/Makefile.am: * config/XKeepsCrashing: * config/default.desktop.in: * config/extract-shell.sh: * config/gdmprefetchlist.in: * config/gettextfoo.h: * config/locale.alias: * config/ssh.desktop.in.in: * configure.ac: * daemon/Makefile.am: * daemon/choose.c: * daemon/choose.h: * daemon/gdm-xdmcp-display-factory.c: (gdm_xdmcp_handle_indirect_query), (gdm_xdmcp_handle_manage), (gdm_xdmcp_handle_managed_forward): * daemon/main.c: (delete_pid): * utils/Makefile.am: * utils/gdm-dmx-reconnect-proxy.c: Remove some more obsolete code. Move common code with unknown copyright status into separate file. Try to identify more copy with unknown copyright status. svn path=/branches/mccann-gobject/; revision=5340
-rw-r--r--ChangeLog32
-rw-r--r--common/Makefile.am2
-rw-r--r--common/gdm-common-unknown-origin.c191
-rw-r--r--common/gdm-common-unknown-origin.h87
-rw-r--r--common/gdm-common.c2
-rw-r--r--common/gdm-common.h80
-rw-r--r--config/Makefile.am59
-rwxr-xr-xconfig/XKeepsCrashing194
-rw-r--r--config/default.desktop.in11
-rwxr-xr-xconfig/extract-shell.sh6
-rw-r--r--config/gdmprefetchlist.in43
-rw-r--r--config/gettextfoo.h16
-rw-r--r--config/locale.alias145
-rw-r--r--config/ssh.desktop.in.in6
-rw-r--r--configure.ac29
-rw-r--r--daemon/Makefile.am2
-rw-r--r--daemon/choose.c371
-rw-r--r--daemon/choose.h48
-rw-r--r--daemon/gdm-xdmcp-display-factory.c11
-rw-r--r--daemon/main.c18
-rw-r--r--po/ChangeLog6
-rw-r--r--po/POTFILES.in4
-rw-r--r--utils/Makefile.am16
-rw-r--r--utils/gdm-dmx-reconnect-proxy.c133
24 files changed, 355 insertions, 1157 deletions
diff --git a/ChangeLog b/ChangeLog
index bb9c1fcc..809e5b29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,38 @@
2007-10-04 William Jon McCann <mccann@jhu.edu>
* common/Makefile.am:
+ * common/gdm-common-unknown-origin.c: (gdm_sigchld_block_push),
+ (gdm_sigchld_block_pop), (gdm_sigterm_block_push),
+ (gdm_sigterm_block_pop), (gdm_sigusr2_block_push),
+ (gdm_sigusr2_block_pop), (gdm_safe_fopen_w), (ve_clearenv):
+ * common/gdm-common-unknown-origin.h:
+ * common/gdm-common.c:
+ * common/gdm-common.h:
+ * config/Makefile.am:
+ * config/XKeepsCrashing:
+ * config/default.desktop.in:
+ * config/extract-shell.sh:
+ * config/gdmprefetchlist.in:
+ * config/gettextfoo.h:
+ * config/locale.alias:
+ * config/ssh.desktop.in.in:
+ * configure.ac:
+ * daemon/Makefile.am:
+ * daemon/choose.c:
+ * daemon/choose.h:
+ * daemon/gdm-xdmcp-display-factory.c:
+ (gdm_xdmcp_handle_indirect_query), (gdm_xdmcp_handle_manage),
+ (gdm_xdmcp_handle_managed_forward):
+ * daemon/main.c: (delete_pid):
+ * utils/Makefile.am:
+ * utils/gdm-dmx-reconnect-proxy.c:
+ Remove some more obsolete code. Move common
+ code with unknown copyright status into separate file.
+ Try to identify more copy with unknown copyright status.
+
+2007-10-04 William Jon McCann <mccann@jhu.edu>
+
+ * common/Makefile.am:
* common/gdm-common.c:
* common/gdm-common.h:
* common/ve-signal.c:
diff --git a/common/Makefile.am b/common/Makefile.am
index ec14148e..88d6e67b 100644
--- a/common/Makefile.am
+++ b/common/Makefile.am
@@ -51,6 +51,8 @@ libgdmcommon_la_SOURCES = \
gdm-marshal.h \
gdm-common.h \
gdm-common.c \
+ gdm-common-unknown-origin.h \
+ gdm-common-unknown-origin.c \
gdm-settings.c \
gdm-settings.h \
gdm-settings-backend.c \
diff --git a/common/gdm-common-unknown-origin.c b/common/gdm-common-unknown-origin.c
new file mode 100644
index 00000000..cecd3433
--- /dev/null
+++ b/common/gdm-common-unknown-origin.c
@@ -0,0 +1,191 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * (c) 2000 Eazel, Inc.
+ * (c) 2001,2002 George Lebl
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <locale.h>
+#include <fcntl.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <setjmp.h>
+#include <dirent.h>
+
+#ifdef HAVE_CRT_EXTERNS_H
+#include <crt_externs.h>
+#endif
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include "gdm-common.h"
+
+static int sigchld_blocked = 0;
+static sigset_t sigchldblock_mask, sigchldblock_oldmask;
+
+static int sigterm_blocked = 0;
+static sigset_t sigtermblock_mask, sigtermblock_oldmask;
+
+static int sigusr2_blocked = 0;
+static sigset_t sigusr2block_mask, sigusr2block_oldmask;
+
+void
+gdm_sigchld_block_push (void)
+{
+ sigchld_blocked++;
+
+ if (sigchld_blocked == 1) {
+ /* Set signal mask */
+ sigemptyset (&sigchldblock_mask);
+ sigaddset (&sigchldblock_mask, SIGCHLD);
+ sigprocmask (SIG_BLOCK, &sigchldblock_mask, &sigchldblock_oldmask);
+ }
+}
+
+void
+gdm_sigchld_block_pop (void)
+{
+ sigchld_blocked --;
+
+ if (sigchld_blocked == 0) {
+ /* Reset signal mask back */
+ sigprocmask (SIG_SETMASK, &sigchldblock_oldmask, NULL);
+ }
+}
+
+void
+gdm_sigterm_block_push (void)
+{
+ sigterm_blocked++;
+
+ if (sigterm_blocked == 1) {
+ /* Set signal mask */
+ sigemptyset (&sigtermblock_mask);
+ sigaddset (&sigtermblock_mask, SIGTERM);
+ sigaddset (&sigtermblock_mask, SIGINT);
+ sigaddset (&sigtermblock_mask, SIGHUP);
+ sigprocmask (SIG_BLOCK, &sigtermblock_mask, &sigtermblock_oldmask);
+ }
+}
+
+void
+gdm_sigterm_block_pop (void)
+{
+ sigterm_blocked --;
+
+ if (sigterm_blocked == 0) {
+ /* Reset signal mask back */
+ sigprocmask (SIG_SETMASK, &sigtermblock_oldmask, NULL);
+ }
+}
+
+void
+gdm_sigusr2_block_push (void)
+{
+ sigset_t oldmask;
+
+ if (sigusr2_blocked == 0) {
+ /* Set signal mask */
+ sigemptyset (&sigusr2block_mask);
+ sigaddset (&sigusr2block_mask, SIGUSR2);
+ sigprocmask (SIG_BLOCK, &sigusr2block_mask, &oldmask);
+ }
+
+ sigusr2_blocked++;
+
+ sigusr2block_oldmask = oldmask;
+}
+
+void
+gdm_sigusr2_block_pop (void)
+{
+ sigset_t oldmask;
+
+ oldmask = sigusr2block_oldmask;
+
+ sigusr2_blocked--;
+
+ if (sigusr2_blocked == 0) {
+ /* Reset signal mask back */
+ sigprocmask (SIG_SETMASK, &sigusr2block_oldmask, NULL);
+ }
+}
+
+/* Like fopen with "w" */
+FILE *
+gdm_safe_fopen_w (const char *file,
+ mode_t perm)
+{
+ int fd;
+ FILE *ret;
+ VE_IGNORE_EINTR (g_unlink (file));
+ do {
+ int flags;
+
+ errno = 0;
+ flags = O_EXCL | O_CREAT | O_TRUNC | O_WRONLY;
+#ifdef O_NOCTTY
+ flags |= O_NOCTTY;
+#endif
+#ifdef O_NOFOLLOW
+ flags |= O_NOFOLLOW;
+#endif
+
+ fd = g_open (file, flags, perm);
+ } while (errno == EINTR);
+
+ if (fd < 0) {
+ return NULL;
+ }
+
+ ret = fdopen (fd, "w");
+ return ret;
+}
+
+/**
+ * ve_clearenv:
+ *
+ * Description: Clears out the environment completely.
+ * In case there is no native implementation of clearenv,
+ * this could cause leaks depending on the implementation
+ * of environment.
+ *
+ **/
+void
+ve_clearenv (void)
+{
+#ifdef HAVE_CLEARENV
+ clearenv ();
+#else
+
+#ifdef HAVE__NSGETENVIRON
+#define environ (*_NSGetEnviron())
+#else
+ extern char **environ;
+#endif
+
+ if (environ != NULL)
+ environ[0] = NULL;
+#endif
+}
diff --git a/common/gdm-common-unknown-origin.h b/common/gdm-common-unknown-origin.h
new file mode 100644
index 00000000..33c1d060
--- /dev/null
+++ b/common/gdm-common-unknown-origin.h
@@ -0,0 +1,87 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ *
+ * (c) 2000 Eazel, Inc.
+ * (c) 2001,2002 George Lebl
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _GDM_COMMON_UNKNOWN_H
+#define _GDM_COMMON_UNKNOWN_H
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <time.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+
+G_BEGIN_DECLS
+
+#define VE_IGNORE_EINTR(expr) \
+ do { \
+ errno = 0; \
+ expr; \
+ } while G_UNLIKELY (errno == EINTR);
+
+#define NEVER_FAILS_seteuid(uid) \
+ { int r = 0; \
+ if (geteuid () != uid) \
+ r = seteuid (uid); \
+ if G_UNLIKELY (r != 0) \
+ g_error ("GDM file %s: line %d (%s): Cannot run seteuid to %d: %s", \
+ __FILE__, \
+ __LINE__, \
+ G_GNUC_PRETTY_FUNCTION, \
+ (int)uid, \
+ strerror (errno)); }
+#define NEVER_FAILS_setegid(gid) \
+ { int r = 0; \
+ if (getegid () != gid) \
+ r = setegid (gid); \
+ if G_UNLIKELY (r != 0) \
+ g_error ("GDM file %s: line %d (%s): Cannot run setegid to %d: %s", \
+ __FILE__, \
+ __LINE__, \
+ G_GNUC_PRETTY_FUNCTION, \
+ (int)gid, \
+ strerror (errno)); }
+
+/* first goes to euid-root and then sets the egid and euid, to make sure
+ * this succeeds */
+#define NEVER_FAILS_root_set_euid_egid(uid,gid) \
+ { NEVER_FAILS_seteuid (0); \
+ NEVER_FAILS_setegid (gid); \
+ if (uid != 0) { NEVER_FAILS_seteuid (uid); } }
+
+
+/* like fopen with "w" but unlinks and uses O_EXCL */
+FILE * gdm_safe_fopen_w (const char *file,
+ mode_t perm);
+
+/* This is for race free forks */
+void gdm_sigchld_block_push (void);
+void gdm_sigchld_block_pop (void);
+void gdm_sigterm_block_push (void);
+void gdm_sigterm_block_pop (void);
+void gdm_sigusr2_block_push (void);
+void gdm_sigusr2_block_pop (void);
+
+void ve_clearenv (void);
+
+G_END_DECLS
+
+#endif /* _GDM_COMMON_UNKNOWN_H */
diff --git a/common/gdm-common.c b/common/gdm-common.c
index d3e4fcd8..6e138dc3 100644
--- a/common/gdm-common.c
+++ b/common/gdm-common.c
@@ -1,7 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
- * (c) 2000 Eazel, Inc.
- * (c) 2001,2002 George Lebl
* Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
*
* This library is free software; you can redistribute it and/or
diff --git a/common/gdm-common.h b/common/gdm-common.h
index 1a62641a..bb250a79 100644
--- a/common/gdm-common.h
+++ b/common/gdm-common.h
@@ -1,7 +1,5 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
*
- * (c) 2000 Eazel, Inc.
- * (c) 2001,2002 George Lebl
* Copyright (C) 2007 William Jon McCann <mccann@jhu.edu>
*
* This library is free software; you can redistribute it and/or
@@ -24,78 +22,24 @@
#define _GDM_COMMON_H
#include <glib.h>
-#include <glib/gstdio.h>
-#include <time.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-G_BEGIN_DECLS
-
-#define VE_IGNORE_EINTR(expr) \
- do { \
- errno = 0; \
- expr; \
- } while G_UNLIKELY (errno == EINTR);
-
-#define NEVER_FAILS_seteuid(uid) \
- { int r = 0; \
- if (geteuid () != uid) \
- r = seteuid (uid); \
- if G_UNLIKELY (r != 0) \
- g_error ("GDM file %s: line %d (%s): Cannot run seteuid to %d: %s", \
- __FILE__, \
- __LINE__, \
- G_GNUC_PRETTY_FUNCTION, \
- (int)uid, \
- strerror (errno)); }
-#define NEVER_FAILS_setegid(gid) \
- { int r = 0; \
- if (getegid () != gid) \
- r = setegid (gid); \
- if G_UNLIKELY (r != 0) \
- g_error ("GDM file %s: line %d (%s): Cannot run setegid to %d: %s", \
- __FILE__, \
- __LINE__, \
- G_GNUC_PRETTY_FUNCTION, \
- (int)gid, \
- strerror (errno)); }
-
-/* first goes to euid-root and then sets the egid and euid, to make sure
- * this succeeds */
-#define NEVER_FAILS_root_set_euid_egid(uid,gid) \
- { NEVER_FAILS_seteuid (0); \
- NEVER_FAILS_setegid (gid); \
- if (uid != 0) { NEVER_FAILS_seteuid (uid); } }
+#include "gdm-common-unknown-origin.h"
-
-/* like fopen with "w" but unlinks and uses O_EXCL */
-FILE * gdm_safe_fopen_w (const char *file,
- mode_t perm);
-
-/* This is for race free forks */
-void gdm_sigchld_block_push (void);
-void gdm_sigchld_block_pop (void);
-void gdm_sigterm_block_push (void);
-void gdm_sigterm_block_pop (void);
-void gdm_sigusr2_block_push (void);
-void gdm_sigusr2_block_pop (void);
-
-void ve_clearenv (void);
+G_BEGIN_DECLS
gboolean gdm_generate_random_bytes (GString *str,
int n_bytes);
-gboolean gdm_string_hex_encode (const GString *source,
- int start,
- GString *dest,
- int insert_at);
-gboolean gdm_string_hex_decode (const GString *source,
- int start,
- int *end_return,
- GString *dest,
- int insert_at);
-gboolean gdm_generate_cookie (GString *result);
+gboolean gdm_string_hex_encode (const GString *source,
+ int start,
+ GString *dest,
+ int insert_at);
+gboolean gdm_string_hex_decode (const GString *source,
+ int start,
+ int *end_return,
+ GString *dest,
+ int insert_at);
+gboolean gdm_generate_cookie (GString *result);
G_END_DECLS
diff --git a/config/Makefile.am b/config/Makefile.am
index 4179061c..8bebda5c 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -17,40 +17,25 @@ noinst_DATA = \
gdm.conf \
$(NULL)
-DESKTOP_FILES = \
- default.desktop \
- $(NULL)
-
EXTRA_DIST = \
gdm.conf.in \
gdm.conf-custom.in \
- $(DESKTOP_FILES) \
- default.desktop.in \
- ssh.desktop.in.in \
Xsession.in \
gdm \
gdm-autologin \
- locale.alias \
Init.in \
PreSession.in \
PostSession.in \
PostLogin \
- XKeepsCrashing \
- gettextfoo.h \
- gdmprefetchlist.in \
- extract-shell.sh \
$(NULL)
CLEANFILES = \
Xsession \
gdm.conf \
gdm.conf-custom \
- default.desktop \
- ssh.desktop \
Init \
PreSession \
PostSession \
- gdmprefetchlist \
$(NULL)
Xsession: $(srcdir)/Xsession.in
@@ -59,8 +44,7 @@ Xsession: $(srcdir)/Xsession.in
<$(srcdir)/Xsession.in >Xsession
gdm.conf: $(srcdir)/gdm.conf.in
- sed -e 's,[@]GDMPREFETCHCMD[@],$(GDMPREFETCHCMD),g' \
- -e 's,[@]GDM_CUSTOM_CONF[@],$(GDM_CUSTOM_CONF),g' \
+ sed -e 's,[@]GDM_CUSTOM_CONF[@],$(GDM_CUSTOM_CONF),g' \
-e 's,[@]GDM_USER_PATH[@],$(GDM_USER_PATH),g' \
-e 's,[@]HALT_COMMAND[@],$(HALT_COMMAND),g' \
-e 's,[@]REBOOT_COMMAND[@],$(REBOOT_COMMAND),g' \
@@ -90,32 +74,20 @@ gdm.conf-custom: $(srcdir)/gdm.conf-custom.in
sed -e 's,[@]GDM_DEFAULTS_CONF[@],$(GDM_DEFAULTS_CONF),g' \
<$(srcdir)/gdm.conf-custom.in >gdm.conf-custom
-gettextfoo.h: XKeepsCrashing Xsession.in
- cat $^ | $(srcdir)/extract-shell.sh > gettextfoo.h
-
@INTLTOOL_DESKTOP_RULE@
-clean-local:
- rm -f $(DESKTOP_FILES)
-
uninstall-hook:
rm -f \
- $(DESTDIR)$(bisessdir)/default.desktop \
- $(DESTDIR)$(instsessdir)/default.desktop \
- $(DESTDIR)$(instsessdir)/ssh.desktop \
$(DESTDIR)$(GDM_DEFAULTS_CONF) \
$(DESTDIR)$(GDM_CUSTOM_CONF) \
`dirname $(DESTDIR)$(GDM_DEFAULTS_CONF)`/factory-`basename $(DESTDIR)$(GDM_DEFAULTS_CONF)` \
- $(DESTDIR)$(confdir)/XKeepsCrashing \
$(DESTDIR)$(confdir)/Xsession \
- $(DESTDIR)$(confdir)/gdmprefetchlist \
- $(DESTDIR)$(gdmlocaledir)/locale.alias \
$(DESTDIR)$(initdir)/Default \
$(DESTDIR)$(postlogindir)/Default.sample \
$(DESTDIR)$(predir)/Default \
$(DESTDIR)$(postdir)/Default
-install-data-hook: gdm.conf gdm.conf-custom Xsession Init PostSession PreSession $(DESKTOP_FILES) $(GDMPREFETCHLIST)
+install-data-hook: gdm.conf gdm.conf-custom Xsession Init PostSession PreSession
if test '!' -d $(DESTDIR)$(confdir); then \
$(mkinstalldirs) $(DESTDIR)$(confdir); \
chmod 755 $(DESTDIR)$(confdir); \
@@ -149,14 +121,8 @@ install-data-hook: gdm.conf gdm.conf-custom Xsession Init PostSession PreSession
fi
$(INSTALL_DATA) gdm.conf `dirname $(DESTDIR)$(GDM_DEFAULTS_CONF)`/factory-`basename $(DESTDIR)$(GDM_DEFAULTS_CONF)`
- $(INSTALL_SCRIPT) $(srcdir)/XKeepsCrashing $(DESTDIR)$(confdir)/XKeepsCrashing
$(INSTALL_SCRIPT) Xsession $(DESTDIR)$(confdir)/Xsession
- -if test -f $(DESTDIR)$(gdmlocaledir)/locale.alias; then \
- cp -f $(DESTDIR)$(gdmlocaledir)/locale.alias $(DESTDIR)$(gdmlocaledir)/locale.alias.orig; \
- fi
- $(INSTALL_DATA) $(srcdir)/locale.alias $(DESTDIR)$(gdmlocaledir)/locale.alias
-
if test '!' -d $(DESTDIR)$(bisessdir); then \
$(mkinstalldirs) $(DESTDIR)$(bisessdir); \
chmod 755 $(DESTDIR)$(bisessdir); \
@@ -167,15 +133,6 @@ install-data-hook: gdm.conf gdm.conf-custom Xsession Init PostSession PreSession
chmod 755 $(DESTDIR)$(instsessdir); \
fi
- -if test -f $(DESTDIR)$(bisessdir)/Default.desktop; then \
- mv -f $(DESTDIR)$(bisessdir)/Default.desktop $(DESTDIR)$(bisessdir)/Default.desktop.orig; \
- fi
- -if test -f $(DESTDIR)$(bisessdir)/default.desktop; then \
- cp -f $(DESTDIR)$(bisessdir)/default.desktop $(DESTDIR)$(bisessdir)/default.desktop.orig; \
- fi
- $(INSTALL_DATA) default.desktop $(DESTDIR)$(bisessdir)/default.desktop
- chmod 644 $(DESTDIR)$(bisessdir)/default.desktop
-
if test '!' -d $(DESTDIR)$(initdir); then \
$(mkinstalldirs) $(DESTDIR)$(initdir); \
chmod 755 $(DESTDIR)$(initdir); \
@@ -243,15 +200,3 @@ install-data-hook: gdm.conf gdm.conf-custom Xsession Init PostSession PreSession
fi; \
fi
- if test "x$(GDMPREFETCHLIST)" != "x"; then \
- $(INSTALL_DATA) gdmprefetchlist $(DESTDIR)$(confdir)/gdmprefetchlist; \
- fi
-
- if test "x$(SSHDESKTOP)" != "x"; then \
- if test -f $(DESTDIR)$(instsessdir)/ssh.desktop; then \
- cp -f $(DESTDIR)$(instsessdir)/ssh.desktop $(DESTDIR)$(instsessdir)/ssh.desktop.orig; \
- fi; \
- $(INSTALL_SCRIPT) ssh.desktop $(DESTDIR)$(instsessdir)/ssh.desktop; \
- chmod 644 $(DESTDIR)$(instsessdir)/ssh.desktop; \
- fi
-
diff --git a/config/XKeepsCrashing b/config/XKeepsCrashing
deleted file mode 100755
index 5b7c4a88..00000000
--- a/config/XKeepsCrashing
+++ /dev/null
@@ -1,194 +0,0 @@
-#!/bin/sh
-
-if test "x$UNSAFE_TO_TRANSLATE" = "xyes" ; then
- LANG=C
- unset LC_ALL
- unset LC_MESSAGES
-fi
-
-if test -x "$LIBEXECDIR/gdmtranslate" ; then
- GDMTRANSLATE="$LIBEXECDIR/gdmtranslate"
-else
- GDMTRANSLATE=
-fi
-
-gettextfunc () {
- if test "x$GDMTRANSLATE" != "x" ; then
- "$GDMTRANSLATE" "$1"
- else
- echo "$1"
- fi
-}
-
-OLD_IFS=$IFS
-
-gdmwhich () {
- COMMAND="$1"
- OUTPUT=
- IFS=:
- for dir in $PATH
- do
- if test -x "$dir/$COMMAND" ; then
- if test "x$OUTPUT" = "x" ; then
- OUTPUT="$dir/$COMMAND"
- fi
- fi
- done
- IFS=$OLD_IFS
- echo "$OUTPUT"
-}
-
-MSG3=`gettextfunc "Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. You will need to log in on a console and reconfigure the X server. Then restart GDM."`
-MSG4=`gettextfunc "Would you like to try to configure the X server? Note that you will need the root password for this."`
-MSG5=`gettextfunc "Please type in the root (privileged user) password."`
-MSG6=`gettextfunc "Trying to restart the X server."`
-MSG7=`gettextfunc "The X server is now disabled. Restart GDM when it is configured correctly."`
-MSG8=`gettextfunc "Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. Would you like to view the X server output to diagnose the problem?"`
-MSG9=`gettextfunc "Would you like to view the detailed X server output as well?"`
-
-# there are some env vars defined:
-# XLOG = the log file for the X server
-# BINDIR = location of gdm binaries
-# SBINDIR = location of gdm system binaries
-# LIBEXECDIR = location of gdm libexec binaries (gdmaskpass, gdmopen)
-
-# return values are
-# 0 = try again, runs this server again
-# 1 = abort this display, removes this server from the list
-# 32 = something went very wrong, things will just get logged.
-# this means this script didnt work so do alternative things
-# to tell the user if possible
-
-#
-# First see if we can find an X configuration program
-# (first one in the list will be used)
-#
-XCONFIGURATOR=
-for n in \
- /usr/bin/system-config-display \
- /usr/bin/redhat-config-xfree86 \
- /usr/sbin/XFdrake \
- /usr/bin/X11/XF86Setup \
- /usr/bin/X11/Xconfigurator \
- /usr/bin/X11/xf86cfg \
- ; do
- # standard shell test has no or and loops have no breaks, eek
- if test "x$XCONFIGURATOR" = "x" ; then
- if test -x "$n" ; then
- XCONFIGURATOR="$n"
- fi
- fi
-done
-
-#
-# Now we check for dialog and gdmaskpass
-#
-DIALOG=`gdmwhich dialog`
-if test "x$DIALOG" = "x" ; then
- DIALOG=`gdmwhich whiptail`
-fi
-if test -x "$LIBEXECDIR/gdmaskpass" ; then
- ASKPASS="$LIBEXECDIR/gdmaskpass"
-else
- ASKPASS=
-fi
-
-#
-# If this is a mouse problem try mouseconfig and modify some
-# messages
-#
-if grep '^\(Cannot open mouse\|No core pointer\)' "$XLOG" 2> /dev/null ; then
-
- MSG8=`gettextfunc "Failed to start the X server (your graphical interface). It seems that the pointer device (your mouse) is not set up correctly. Would you like to view the X server output to diagnose the problem?"`
-
- if test -x /usr/sbin/mouseconfig ; then
- XCONFIGURATOR=/usr/sbin/mouseconfig
- # Note: we know this is a mouse problem and yay we have mouseconfig
- MSG4=`gettextfunc "Would you like to try to configure the mouse? Note that you will need the root password for this."`
- fi
-
- if test -x /usr/bin/system-config-mouse ; then
- XCONFIGURATOR=/usr/bin/system-config-mouse
- # Note: we know this is a mouse problem and yay we have system-config-mouse
- MSG4=`gettextfunc "Would you like to try to configure the mouse? Note that you will need the root password for this."`
- fi
-
-fi
-
-# we require 'gdmopen', to open a console, because we really dont
-# have one. Perhaps someone should try to figure out some shell
-# black magic to get this to work on other then linux systems
-if test ! -x "$LIBEXECDIR/gdmopen" ; then
- exit 32
-fi
-
-# when we run ourselves from the open we will pass a -noopen argument
-if test "x$1" = "x-noopen" ; then
- shift
-else
- #
- # We do a lot of work wastefully over again, but oh well,
- # perhaps this needs fixing.
- #
- "$LIBEXECDIR/gdmopen" -l /bin/sh -c "$0 -noopen $@"
- exit $?
-fi
-
-clear
-
-# Note, dialog required, though this script could be fixed to not require it
-# I suppose
-if test "x" = "x$DIALOG" ; then
- echo =======================================================================
- echo
- cat "$XLOG"
- echo
- echo =======================================================================
- echo
- if test -x /usr/bin/fmt ; then
- echo "$MSG3" | /usr/bin/fmt
- else
- echo "$MSG3"
- fi
- echo
- echo =======================================================================
- read
- exit 1
-fi
-
-if "$DIALOG" --yesno "$MSG8" 10 50 ; then
- "$DIALOG" --textbox "$XLOG" 22 76
- # Support XFree86 v4 logfile thingie
- if grep '^(..) Log file: "' "$XLOG" 2> /dev/null ; then
- XLOG_DETAIL=`grep '^(..) Log file: "' "$XLOG" | sed 's/^[^"]*"\([^"]*\)".*$/\1/'`
- if "$DIALOG" --yesno "$MSG9" 10 50 ; then
- "$DIALOG" --textbox "$XLOG_DETAIL" 22 76
- fi
- fi
-fi
-
-if test "x$XCONFIGURATOR" = "x" ; then
- "$DIALOG" --msgbox "$MSG7" 8 50
- exit 1
-fi
-
-if "$DIALOG" --yesno "$MSG4" 10 50 ; then
- clear
- echo
- echo "$MSG5"
- if test "x$ASKPASS" = "x" ; then
- # dirty trick to fool su into asking the root password even if were
- # root
- su nobody -c "su -c $XCONFIGURATOR"
- else
- if "$ASKPASS" ; then
- "$XCONFIGURATOR"
- fi
- fi
- clear
- "$DIALOG" --msgbox "$MSG6" 8 50
- exit 0
-else
- "$DIALOG" --msgbox "$MSG7" 8 50
- exit 1
-fi
diff --git a/config/default.desktop.in b/config/default.desktop.in
deleted file mode 100644
index 8bed5b3d..00000000
--- a/config/default.desktop.in
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-# The names/descriptions should really be better
-_Name=Run Xclient script
-_Comment=This session runs the Xclients script
-Exec=default
-# The "default" Exec is a very special one and is handled specially in
-# the Xsession script, you could also have "custom" which would just run
-# "~/.xsession" directly
-Icon=
-Type=Application
diff --git a/config/extract-shell.sh b/config/extract-shell.sh
deleted file mode 100755
index 59528e0c..00000000
--- a/config/extract-shell.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-echo "/* DO NOT CHANGE HEADER FILE BY HAND! CHANGE THE extract-shell.sh */"
-echo "/* SCRIPT THIS IS GENERATED. ADD A CHANGELOG ENTRY IF YOU MODIFY */"
-echo "/* THIS SCRIPT. */"
-echo "/* ALWAYS ADD A CHANGELOG OR I WILL PERSONALLY KICK YOUR ASS! */"
-grep gettextfunc | fgrep -v 'gettextfunc ()' | sed 's/^.*gettextfunc[^"]*\("[^"]*"\).*$/const char *foo = N_(\1);/'
diff --git a/config/gdmprefetchlist.in b/config/gdmprefetchlist.in
deleted file mode 100644
index 45cbbfc6..00000000
--- a/config/gdmprefetchlist.in
+++ /dev/null
@@ -1,43 +0,0 @@
-# If GDM is built with the --with-prefetch option, then this file
-# is installed on the system, and the gdm.conf PreFetchProgram
-# value should be set properly to cause the first login program
-# managed to preload this list of libraries. It has been shown that
-# preloading these libraries improves first-time login performance
-# for the GNOME desktop.
-#
-# This list of libraries has been optimized for a GNOME session running
-# on Solaris. People who want to contribute alternative lists of
-# libraries for other distributions or desktop environments can
-# contribute them to the "gdm" category in http://bugzilla.gnome.org/,
-# and these can be made available in future releases of GDM.
-#
-/usr/share/icons/hicolor/icon-theme.cache
-/usr/share/icons/blueprint/icon-theme.cache
-/usr/share/icons/gnome/icon-theme.cache
-/usr/bin/nautilus
-/usr/bin/gnome-panel
-/usr/lib/libbonoboui-2.so
-/usr/lib/libwnck-1.so
-/usr/lib/libgnomevfs-2.so
-/usr/bin/metacity
-/usr/lib/libeel-2.so
-/usr/lib/libbonobo-2.so
-/usr/openwin/lib/libXt.so
-/usr/lib/libgnomeui-2.so
-/usr/lib/clock-applet
-/usr/lib/libORBit-2.so
-/usr/X11/lib/libGL.so
-/usr/openwin/lib/X11/fonts/TrueType/VeraMoIt.ttf
-/usr/lib/libgnome-desktop-2.so
-/usr/lib/wnck-applet
-/usr/lib/libgstreamer-0.10.so
-/usr/dt/lib/libXm.so
-/usr/lib/libpoppler.so
-/usr/lib/libgconf-2.so
-/usr/sfw/lib/libcrypto.so
-/usr/lib/nautilus/extensions-1.0/libevince-properties-page.so
-/usr/lib/gnome-vfs-2.0/modules/libmapping.so
-/usr/lib/libpoppler-glib.so
-/usr/lib/libpanel-applet-2.so
-/usr/lib/libstartup-notification-1.so
-/usr/lib/libatk-1.0.so
diff --git a/config/gettextfoo.h b/config/gettextfoo.h
deleted file mode 100644
index 63d4e22f..00000000
--- a/config/gettextfoo.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/* DO NOT CHANGE HEADER FILE BY HAND! CHANGE THE extract-shell.sh */
-/* SCRIPT THIS IS GENERATED. ADD A CHANGELOG ENTRY IF YOU MODIFY */
-/* THIS SCRIPT. */
-/* ALWAYS ADD A CHANGELOG OR I WILL PERSONALLY KICK YOUR ASS! */
-const char *foo = N_("Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. You will need to log in on a console and reconfigure the X server. Then restart GDM.");
-const char *foo = N_("Would you like to try to configure the X server? Note that you will need the root password for this.");
-const char *foo = N_("Please type in the root (privileged user) password.");
-const char *foo = N_("Trying to restart the X server.");
-const char *foo = N_("The X server is now disabled. Restart GDM when it is configured correctly.");
-const char *foo = N_("Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. Would you like to view the X server output to diagnose the problem?");
-const char *foo = N_("Would you like to view the detailed X server output as well?");
-const char *foo = N_("Failed to start the X server (your graphical interface). It seems that the pointer device (your mouse) is not set up correctly. Would you like to view the X server output to diagnose the problem?");
-const char *foo = N_("Would you like to try to configure the mouse? Note that you will need the root password for this.");
-const char *foo = N_("Would you like to try to configure the mouse? Note that you will need the root password for this.");
-const char *foo = N_("This is the failsafe xterm session. Windows now have focus only if you have your cursor above them. To get out of this mode type 'exit' in the window in the upper left corner");
-const char *foo = N_("Failed to start the session, so starting a failsafe xterm session. Windows will have focus only if the mouse pointer is above them. To get out of this mode type 'exit' in the window in the upper left corner");
diff --git a/config/locale.alias b/config/locale.alias
deleted file mode 100644
index 0241e393..00000000
--- a/config/locale.alias
+++ /dev/null
@@ -1,145 +0,0 @@
-# NOTE! This is a broken way to do things. GDM currently reads languages ONLY
-# from this file. This is Broken(tm). This setup will be replaced in some
-# future version to be replaced by some automatic detection of available
-# locales. This file is not really a locale.alias file and the first word
-# is used as a label in case gdm doesn't know this language personally,
-# else it's ignored.
-#
-# The format of this file is SIMILAR (but not the same to the locale.alias
-# format). You could however point gdm at a real locale.alias and it would
-# still concievably work. Note that the first word cannot contain any spaces.
-# The second word can be a comma separated list of locales to try. GDM will
-# try if each locale exists and only if it does will it show that locale. The
-# list is tried in order and the first working one is used.
-#
-# - George
-
-C(POSIX) C,POSIX
-Afrikaans af_ZA.UTF-8,af_ZA
-Albanian sq_AL.UTF-8,sq_AL
-Amharic am_ET.UTF-8,am_ET
-Arabic(Egypt) ar_EG.UTF-8,ar_EG
-Arabic(Lebanon) ar_LB.UTF-8,ar_LB
-Arabic(SaudiArabia) ar_SA.UTF-8,ar_SA
-Armenian hy_AM.UTF-8,hy_AM
-Azerbaijani az_AZ.UTF-8,az_AZ
-Azerbaijani(Iran) az_IR.UTF-8,az_IR
-Basque eu_ES.UTF-8,eu_ES
-Belarusian be_BY.UTF-8,be_BY
-Bengali bn_BD.UTF-8,bn_BD
-Bengali(India) bn_IN.UTF-8,bn_IN
-Bosnian bs_BA.UTF-8,bs_BA
-Breton br_FR.UTF-8,br_FR
-Bulgarian bg_BG.UTF-8,bg_BG
-Catalan ca_ES.UTF-8,ca_ES
-Chinese(ChinaMainland) zh_CN.UTF-8,zh_CN
-Chinese(GB18030) zh_CN.GB18030
-Chinese(Hong-Kong) zh_HK.UTF-8,zh_HK
-Chinese(Singapore) zh_SG.UTF-8,zh_SG
-Chinese(Taiwan) zh_TW.UTF-8,zh_TW
-Croatian hr_HR.UTF-8,hr_HR
-Czech cs_CZ.UTF-8,cs_CZ
-Danish da_DK.UTF-8,da_DK
-Dutch nl_NL.UTF-8,nl_NL
-Dutch(Belgium) nl_BE.UTF-8,nl_BE
-English(Australia) en_AU.UTF-8,en_AU
-English(Canada) en_CA.UTF-8,en_CA
-English(Ireland) en_IE.UTF-8,en_IE
-English(Malta) en_MT.UTF-8,en_MT
-English(NewZealand) en_NZ.UTF-8,en_NZ
-English(SouthAfrica) en_ZA.UTF-8,en_ZA
-English(UK) en_GB.UTF-8,en_GB
-English(USA) en_US.UTF-8,en_US
-Esperanto eo.UTF-8,eo
-Estonian et_EE.UTF-8,et_EE
-Finnish fi_FI.UTF-8,fi_FI
-French fr_FR.UTF-8,fr_FR
-French(Belgium) fr_BE.UTF-8,fr_BE
-French(Canada) fr_CA.UTF-8,fr_CA
-French(Luxembourg) fr_LU.UTF-8,fr_LU
-French(Switzerland) fr_CH.UTF-8,fr_CH
-Galician gl_ES.UTF-8,gl_ES
-German de_DE.UTF-8,de_DE
-German(Austria) de_AT.UTF-8,de_AT
-German(Switzerland) de_CH.UTF-8,de_CH
-German(Luxembourg) de_LU.UTF-8,de_LU
-Greek el_GR.UTF-8,el_GR
-Greek(Cyprus) el_CY.UTF-8,el_CY
-Gujarati gu_IN.UTF-8,gu_IN
-Hebrew he_IL.UTF-8,he_IL
-Hindi hi_IN.UTF-8,hi_IN
-Hungarian hu_HU.UTF-8,hu_HU
-Icelandic is_IS.UTF-8,is_IS
-Indonesian id_ID.UTF-8,id_ID
-Interlingua ia.UTF-8,ia
-Irish ga_IE.UTF-8,ga_IE
-Italian it_IT.UTF-8,it_IT
-Japanese ja_JP.UTF-8,ja_JP
-Kannada kn_IN.UTF-8,kn_IN
-Kinyarwanda rw_RW.UTF-8,rw_RW
-Korean ko_KR.UTF-8,ko_KR
-Latvian lv_LV.UTF-8,lv_LV
-Limburgish li_NL.UTF-8,li_NL
-Limburgish(Belgium) li_BE.UTF-8,li_BE
-Limburgish(Germany) li_DE.UTF-8,li_DE
-Lithuanian lt_LT.UTF-8,lt_LT
-Macedonian mk_MK.UTF-8,mk_MK
-Malayalam ml_IN.UTF-8,ml_IN
-Malay ms_MY.UTF-8,ms_MY
-Maltese mt_MT.UTF-8,mt_MT
-Maori mi_NZ.UTF-8,mi_NZ
-Marathi mr_IN.UTF-8,mr_IN
-Mongolian mn_MN.UTF-8,mn_MN
-Nepali ne_NP.UTF-8,ne_NP
-NorthernSotho nso_ZA.UTF-8,nso_ZA
-Norwegian(bokmal) nb_NO.UTF-8,nb_NO,no_NO.UTF-8,no_NO
-Norwegian(nynorsk) nn_NO.UTF-8,nn_NO
-Oriya or_IN.UTF-8,or_IN
-Persian fa_IR.UTF-8,fa_IR
-Polish pl_PL.UTF-8,pl_PL
-Portuguese(Brazilian) pt_BR.UTF-8,pt_BR
-Portuguese pt_PT.UTF-8,pt_PT
-Punjabi pa_IN.UTF-8,pa_IN
-Romanian ro_RO.UTF-8,ro_RO
-Russian ru_RU.UTF-8,ru_RU
-Serbian sr_CS.UTF-8,sr_CS,sr_YU@cyrillic,sr_YU
-Serbian(Montenegro) sr_ME.UTF-8
-Serbian(Serbia) sr_RS.UTF-8
-Serbian(Bosnia) sh_BA.UTF-8,sh_BA
-Serbian(Latin) sr_CS.UTF-8@Latn,sr_CS@Latn,sr_YU@Latn
-Serbian(Jekavian) sr_CS.UTF-8@ije,sr_CS@ije,sr_YU@ije
-Slovak sk_SK.UTF-8,sk_SK
-Slovenian sl_SI.UTF-8,sl_SI
-Spanish es_ES.UTF-8,es_ES
-Spanish(Argentina) es_AR.UTF-8,es_AR
-Spanish(Bolivia) es_BO.UTF-8,es_BO
-Spanish(Chile) es_CL.UTF-8,es_CL
-Spanish(Colombia) es_CO.UTF-8,es_CO
-Spanish(CostaRica) es_CR.UTF-8,es_CR
-Spanish(Ecuador) es_EC.UTF-8,es_EC
-Spanish(Guatemala) es_GT.UTF-8,es_GT
-Spanish(Mexico) es_MX.UTF-8,es_MX
-Spanish(Nicaragua) es_NI.UTF-8,es_NI
-Spanish(Panama) es_PA.UTF-8,es_PA
-Spanish(Peru) es_PE.UTF-8,es_PE
-Spanish(Paraguay) es_PY.UTF-8,es_PY
-Spanish(ElSalvador) es_SV.UTF-8,es_SV
-Spanish(Uruguay) es_UY.UTF-8,es_UY
-Spanish(Venezuela) es_VE.UTF-8,es_VE
-Swedish(Finland) sv_FI.UTF-8,sv_FI
-Swedish sv_SE.UTF-8,sv_SE
-Tagalog tl_PH.UTF-8,tl_PH
-Tajik tg_TJ.UTF-8,tg_TJ
-Tamil ta_IN.UTF-8,ta_IN
-Telugu te_IN.UTF-8,te_IN
-Thai th_TH.UTF-8,th_TH
-Turkish tr_TR.UTF-8,tr_TR
-Ukrainian uk_UA.UTF-8,uk_UA
-Uzbek uz_UZ.UTF-8,uz_UZ
-Uzbek(Latin) uz_UZ.UTF-8@Latn,uz_UZ@Latn
-Vietnamese vi_VN.UTF-8,vi_VN
-Walloon wa_BE.UTF-8,wa_BE
-Welsh cy_GB.UTF-8,cy_GB
-Xhosa xh_ZA.UTF-8,xh_ZA
-Yiddish yi.UTF-8,yi
-Zulu zu_ZA.UTF-8,zu_ZA
diff --git a/config/ssh.desktop.in.in b/config/ssh.desktop.in.in
deleted file mode 100644
index e2a128fa..00000000
--- a/config/ssh.desktop.in.in
+++ /dev/null
@@ -1,6 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-_Name=Secure Remote connection
-_Comment=This session logs you into a remote host using ssh
-Exec=@GDMSSHSESSIONCMD@
-Type=Application
diff --git a/configure.ac b/configure.ac
index 44f8219a..942e341c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -144,10 +144,6 @@ AC_ARG_WITH(tcp-wrappers,
[ --with-tcp-wrappers=[auto/yes/no] Use TCP Wrappers [default=auto]],,
with_tcp_wrappers=auto)
-AC_ARG_WITH(dmx,
- [ --with-dmx=[auto/yes/no] Add DMX (Distributed Multihead X) support [default=auto]],,
- with_dmx=auto)
-
AC_ARG_WITH(selinux, [ --with-selinux Add SELinux support])
AC_ARG_WITH(console-kit,
@@ -737,30 +733,6 @@ CPPFLAGS="$xinerama_save_cppflags"
dnl ---------------------------------------------------------------------------
-dnl - Check for Distributed Multihead X extension (DMX)
-dnl ---------------------------------------------------------------------------
-
-DMX_SUPPORT=""
-DMX_LIBS=""
-if test x$with_dmx != xno ; then
- dmx_save_CPPFLAGS="$CPPFLAGS"
- CPPFLAGS="$CPPFLAGS $X_CFLAGS"
- AC_CHECK_HEADER(X11/extensions/dmxext.h, [
- AC_CHECK_LIB(dmx, DMXQueryExtension, [
- DMX_LIBS="-ldmx"
- DMX_SUPPORT=yes],,[$X_LIBS -lX11 $X_EXTRA_LIBS])
- ],,[#include <X11/Xlib.h>])
-
- if test x$with_dmx = xyes -a x$DMX_SUPPORT = x ; then
- AC_MSG_ERROR(DMX support requested but DMX librariy not found)
- fi
- CPPFLAGS="$dmx_save_CPPFLAGS"
-fi
-AC_SUBST(DMX_LIBS)
-AM_CONDITIONAL(DMX_SUPPORT, test x$DMX_SUPPORT = xyes)
-
-
-dnl ---------------------------------------------------------------------------
dnl - Check for Solaris Trusted Extensions stuff
dnl ---------------------------------------------------------------------------
@@ -1356,7 +1328,6 @@ fi
echo \
" Xinerama support: ${XINERAMA_SUPPORT}
XDMCP support: ${XDMCP_SUPPORT}
- DMX support: ${DMX_SUPPORT}
SELinux support: ${with_selinux}
Solaris TSOL support: ${found_tsol}
ConsoleKit support: ${use_console_kit}
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 9264392f..606f0e9d 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -212,8 +212,6 @@ gdm_binary_SOURCES = \
auth.c \
auth.h \
fstype.c \
- choose.c \
- choose.h \
$(NULL)
XDMCP_SOURCES = \
diff --git a/daemon/choose.c b/daemon/choose.c
deleted file mode 100644
index b3cf8378..00000000
--- a/daemon/choose.c
+++ /dev/null
@@ -1,371 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
- *
- * GDM - The GNOME Display Manager
- * Copyright (C) 1998, 1999, 2000 Martin K. Petersen <mkp@mkp.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-/* This file contains the XDMCP chooser glue */
-
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/stat.h>
-#include <sys/types.h>
-#include <sys/wait.h>
-#include <errno.h>
-#include <X11/Xlib.h>
-#include <X11/Xmd.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/utsname.h>
-#include <fcntl.h>
-#include <string.h>
-
-#include "choose.h"
-
-#include "gdm-address.h"
-#include "gdm-common.h"
-#include "gdm-log.h"
-
-#include "gdm-settings-keys.h"
-#include "gdm-settings-direct.h"
-
-static gint ipending = 0;
-static GSList *indirect = NULL;
-
-static guint indirect_id = 1;
-
-static gboolean
-remove_oldest_pending (void)
-{
- GSList *li;
- GdmIndirectDisplay *oldest = NULL;
-
- for (li = indirect; li != NULL; li = li->next) {
- GdmIndirectDisplay *idisp = li->data;
- if (idisp->acctime == 0)
- continue;
-
- if (oldest == NULL ||
- idisp->acctime < oldest->acctime) {
- oldest = idisp;
- }
- }
-
- if (oldest != NULL) {
- gdm_choose_indirect_dispose (oldest);
- return TRUE;
- } else {
- return FALSE;
- }
-}
-
-#ifndef XDM_UDP_PORT
-#define XDM_UDP_PORT 177
-#endif
-
-static gboolean
-get_first_address_for_node (const char *node,
- GdmAddress **address)
-{
- struct addrinfo hints;
- struct addrinfo *ai_list;
- struct addrinfo *ai;
- int gaierr;
- gboolean found;
- char strport[NI_MAXSERV];
-
- found = FALSE;
-
- memset (&hints, 0, sizeof (hints));
- hints.ai_family = AF_UNSPEC;
-
- snprintf (strport, sizeof (strport), "%u", XDM_UDP_PORT);
-
- if ((gaierr = getaddrinfo (node, strport, &hints, &ai_list)) != 0) {
- g_warning ("Unable get address: %s", gai_strerror (gaierr));
- return FALSE;
- }
-
- for (ai = ai_list; ai != NULL; ai = ai->ai_next) {
- if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6) {
- continue;
- }
-#ifndef ENABLE_IPV6
- if (ai->ai_family == AF_INET6) {
- continue;
- }
-#endif
- found = TRUE;
- break;
- }
-
- if (ai != NULL) {
- if (address != NULL) {
- *address = gdm_address_new_from_sockaddr_storage ((struct sockaddr_storage *)ai->ai_addr);
- }
- }
-
- freeaddrinfo (ai_list);
-
- return found;
-}
-
-static int
-get_config_int (char *key)
-{
- int val;
-
- gdm_settings_direct_get_int (key, &val);
-
- return val;
-}
-
-#if 0
-gboolean
-gdm_choose_data (const char *data)
-{
- int id;
- GdmAddress *address;
- GSList *li;
- char *msg;
- char *p;
- char *host;
- gboolean ret;
-
- msg = g_strdup (data);
- address = NULL;
- ret = FALSE;
-
- p = strtok (msg, " ");
- if (p == NULL || strcmp (GDM_SOP_CHOSEN, p) != 0) {
- goto out;
- }
-
- p = strtok (NULL, " ");
- if (p == NULL || sscanf (p, "%d", &id) != 1) {
- goto out;
- }
-
- p = strtok (NULL, " ");
-
- if (p == NULL) {
- goto out;
- }
-
- if (! get_first_address_for_node (p, &address)) {
- goto out;
- }
-
- gdm_address_get_numeric_info (address, &host, NULL);
- g_debug ("gdm_choose_data: got indirect id: %d address: %s",
- id,
- host);
- g_free (host);
-
- for (li = indirect; li != NULL; li = li->next) {
- GdmIndirectDisplay *idisp = li->data;
- if (idisp->id == id) {
- /* whack the oldest if more then allowed */
- while (ipending >= get_config_int (GDM_KEY_MAX_INDIRECT) &&
- remove_oldest_pending ())
- ;
-
- idisp->acctime = time (NULL);
-
- g_free (idisp->chosen_host);
- idisp->chosen_host = gdm_address_copy (address);
-
- /* Now this display is pending */
- ipending++;
-
- ret = TRUE;
- break;
- }
- }
- out:
- gdm_address_free (address);
- g_free (msg);
-
- return ret;
-}
-#endif
-
-GdmIndirectDisplay *
-gdm_choose_indirect_alloc (GdmAddress *address)
-{
- GdmIndirectDisplay *id;
- char *host;
-
- g_assert (address != NULL);
-
- id = g_new0 (GdmIndirectDisplay, 1);
- id->id = indirect_id++;
- /* deal with a rollover, that will NEVER EVER happen,
- * but I'm a paranoid bastard */
- if (id->id == 0)
- id->id = indirect_id++;
-
- id->dsp_address = gdm_address_copy (address);
- id->chosen_host = NULL;
-
- id->acctime = 0;
-
- indirect = g_slist_prepend (indirect, id);
-
- gdm_address_get_numeric_info (id->dsp_address, &host, NULL);
-
- g_debug ("gdm_choose_display_alloc: display=%s, pending=%d ",
- host,
- ipending);
- g_free (host);
-
- return (id);
-}
-
-/* dispose of indirect display of id, if no host is set */
-void
-gdm_choose_indirect_dispose_empty_id (guint id)
-{
- GSList *li;
-
- if (id == 0)
- return;
-
- for (li = indirect; li != NULL; li = li->next) {
- GdmIndirectDisplay *idisp = li->data;
-
- if (idisp == NULL)
- continue;
-
- if (idisp->id == id) {
- if (idisp->chosen_host == NULL)
- gdm_choose_indirect_dispose (idisp);
- return;
- }
- }
-}
-
-GdmIndirectDisplay *
-gdm_choose_indirect_lookup_by_chosen (GdmAddress *chosen,
- GdmAddress *origin)
-{
- GSList *li;
- char *host;
-
- for (li = indirect; li != NULL; li = li->next) {
- GdmIndirectDisplay *id = li->data;
-
- if (id != NULL &&
- id->chosen_host != NULL &&
- gdm_address_equal (id->chosen_host, chosen)) {
- if (gdm_address_equal (id->dsp_address, origin)) {
- return id;
- } else if (gdm_address_is_loopback (id->dsp_address) &&
- gdm_address_is_local (origin)) {
- return id;
- }
- }
- }
-
- gdm_address_get_numeric_info (chosen, &host, NULL);
-
- g_debug ("gdm_choose_indirect_lookup_by_chosen: Chosen %s host not found",
- host);
- g_debug ("gdm_choose_indirect_lookup_by_chosen: Origin was: %s",
- host);
- g_free (host);
-
- return NULL;
-}
-
-
-GdmIndirectDisplay *
-gdm_choose_indirect_lookup (GdmAddress *address)
-{
- GSList *li, *ilist;
- GdmIndirectDisplay *id;
- time_t curtime = time (NULL);
- char *host;
-
- ilist = g_slist_copy (indirect);
-
- for (li = ilist; li != NULL; li = li->next) {
- id = (GdmIndirectDisplay *) li->data;
- if (id == NULL)
- continue;
-
- if (id->acctime > 0 &&
- curtime > id->acctime + get_config_int (GDM_KEY_MAX_WAIT_INDIRECT)) {
-
- gdm_address_get_numeric_info (address, &host, NULL);
- g_debug ("gdm_choose_indirect_check: Disposing stale INDIRECT query from %s",
- host);
- g_free (host);
-
- gdm_choose_indirect_dispose (id);
- continue;
- }
-
- if (gdm_address_equal (id->dsp_address, address)) {
- g_slist_free (ilist);
- return id;
- }
- }
- g_slist_free (ilist);
-
- gdm_address_get_numeric_info (address, &host, NULL);
- g_debug ("gdm_choose_indirect_lookup: Host %s not found",
- host);
- g_free (host);
-
- return NULL;
-}
-
-
-void
-gdm_choose_indirect_dispose (GdmIndirectDisplay *id)
-{
- char *host;
-
- if (id == NULL)
- return;
-
- indirect = g_slist_remove (indirect, id);
-
- if (id->acctime > 0)
- ipending--;
- id->acctime = 0;
-
- gdm_address_get_numeric_info (id->dsp_address, &host, NULL);
- g_debug ("gdm_choose_indirect_dispose: Disposing %s",
- host);
- g_free (host);
-
- g_free (id->chosen_host);
- id->chosen_host = NULL;
-
- gdm_address_free (id->dsp_address);
- id->dsp_address = NULL;
-
- g_free (id);
-}
diff --git a/daemon/choose.h b/daemon/choose.h
deleted file mode 100644
index 09c151a7..00000000
--- a/daemon/choose.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
- *
- * GDM - The GNOME Display Manager
- * Copyright (C) 1998, 1999, 2000 Martin K. Petersen <mkp@mkp.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef CHOOSE_H
-#define CHOOSE_H
-
-#include "gdm-address.h"
-
-typedef struct _GdmIndirectDisplay GdmIndirectDisplay;
-struct _GdmIndirectDisplay {
- int id;
- GdmAddress *dsp_address;
- GdmAddress *chosen_host;
- time_t acctime;
-};
-
-GdmIndirectDisplay * gdm_choose_indirect_alloc (GdmAddress *address);
-GdmIndirectDisplay * gdm_choose_indirect_lookup (GdmAddress *address);
-GdmIndirectDisplay * gdm_choose_indirect_lookup_by_chosen (GdmAddress *chosen,
- GdmAddress *origin);
-void gdm_choose_indirect_dispose (GdmIndirectDisplay *id);
-
-/* dispose of indirect display of id, if no host is set */
-void gdm_choose_indirect_dispose_empty_id (guint id);
-
-gboolean gdm_choose_data (const char *data);
-
-#endif /* CHOOSE_H */
-
-/* EOF */
-
diff --git a/daemon/gdm-xdmcp-display-factory.c b/daemon/gdm-xdmcp-display-factory.c
index 75766689..a46112bc 100644
--- a/daemon/gdm-xdmcp-display-factory.c
+++ b/daemon/gdm-xdmcp-display-factory.c
@@ -57,7 +57,6 @@
#include "gdm-display-store.h"
#include "auth.h"
-#include "choose.h"
/*
* On Sun, we need to define allow_severity and deny_severity to link
@@ -1088,6 +1087,9 @@ gdm_xdmcp_handle_indirect_query (GdmXdmcpDisplayFactory *factory,
}
+#if 0
+ /* FIXME: Add chooser support */
+
id = gdm_choose_indirect_lookup (address);
if (id != NULL && id->chosen_host != NULL) {
@@ -1133,6 +1135,7 @@ gdm_xdmcp_handle_indirect_query (GdmXdmcpDisplayFactory *factory,
} else {
gdm_xdmcp_send_willing (factory, address);
}
+#endif
out:
XdmcpDisposeARRAYofARRAY8 (&clnt_authlist);
@@ -2309,7 +2312,8 @@ gdm_xdmcp_handle_manage (GdmXdmcpDisplayFactory *factory,
g_debug ("gdm_xdmcp_handle_manage: Looked up %s", name);
g_free (name);
-#if 0 /* FIXME: */
+#if 0
+ /* FIXME: Add chooser support */
if (factory->priv->honor_indirect) {
GdmIndirectDisplay *id;
@@ -2401,10 +2405,13 @@ gdm_xdmcp_handle_managed_forward (GdmXdmcpDisplayFactory *factory,
return;
}
+#if 0
+ /* FIXME: Add chooser support */
id = gdm_choose_indirect_lookup_by_chosen (address, disp_address);
if (id != NULL) {
gdm_choose_indirect_dispose (id);
}
+#endif
/* Note: we send GOT even on not found, just in case our previous
* didn't get through and this was a second managed forward */
diff --git a/daemon/main.c b/daemon/main.c
index 822d719a..3d2034e2 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -30,18 +30,17 @@
#include <fcntl.h>
#include <pwd.h>
#include <grp.h>
+#include <wait.h>
#include <glib.h>
#include <glib/gi18n.h>
+#include <glib/gstdio.h>
#include <glib-object.h>
#define DBUS_API_SUBJECT_TO_CHANGE
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
-/* Needed for signal handling */
-#include "gdm-common.h"
-
#include "gdm-manager.h"
#include "gdm-log.h"
#include "gdm-signal-handler.h"
@@ -215,7 +214,7 @@ bus_proxy_destroyed_cb (DBusGProxy *bus_proxy,
static void
delete_pid (void)
{
- unlink (GDM_PID_FILE);
+ g_unlink (GDM_PID_FILE);
}
static void
@@ -256,6 +255,11 @@ gdm_final_cleanup (void)
g_object_unref (manager);
}
+/*
+ * -------------------------------------
+ * BEGIN Copyright status/holder unknown
+ * -------------------------------------
+ */
static void
main_saveenv (void)
{
@@ -446,6 +450,12 @@ gdm_daemon_change_user (uid_t *uidp,
g_free (groupname);
}
+/*
+ * -------------------------------------
+ * END Copyright status/holder unknown
+ * -------------------------------------
+ */
+
static gboolean
signal_cb (int signo,
gpointer data)
diff --git a/po/ChangeLog b/po/ChangeLog
index 0b9cd8fc..dee9af6f 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -10,6 +10,12 @@
* POTFILES.in:
+2007-10-04 William Jon McCann <mccann@jhu.edu>
+
+ reviewed by: <delete if not using a buddy>
+
+ * POTFILES.in:
+
2007-10-03 William Jon McCann <mccann@jhu.edu>
* POTFILES.in: Add new files.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 308d2a88..aa4bc902 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -16,7 +16,6 @@ common/test-settings-server.c
config/default.desktop.in
config/ssh.desktop.in.in
daemon/auth.c
-daemon/choose.c
daemon/factory-slave-main.c
daemon/fstype.c
daemon/gdm-display.c
@@ -54,7 +53,4 @@ gui/simple-greeter/gdm-user-chooser-widget.c
gui/simple-greeter/gdm-user.c
gui/simple-greeter/greeter-main.c
libgreeter/gdm-greeter.c
-libgreeter/gdmlanguages.c
-libgreeter/gdmsession.c
-libgreeter/gdmwm.c
utils/gdm-dmx-reconnect-proxy.c
diff --git a/utils/Makefile.am b/utils/Makefile.am
index 19dc4201..cecb396f 100644
--- a/utils/Makefile.am
+++ b/utils/Makefile.am
@@ -32,22 +32,6 @@ EXTRA_DIST = \
gdm-safe-restart.in \
$(NULL)
-if DMX_SUPPORT
-bin_PROGRAMS = gdm-dmx-reconnect-proxy
-endif
-
-if DMX_SUPPORT
-gdm_dmx_reconnect_proxy_SOURCES = \
- gdm-dmx-reconnect-proxy.c
-
-gdm_dmx_reconnect_proxy_LDADD = \
- $(GLIB_LIBS) \
- $(X_EXTRA_LIBS) \
- $(X_LIBS) \
- -lX11 \
- $(DMX_LIBS)
-endif
-
CLEANFILES = \
$(NULL)
diff --git a/utils/gdm-dmx-reconnect-proxy.c b/utils/gdm-dmx-reconnect-proxy.c
deleted file mode 100644
index c3bab83e..00000000
--- a/utils/gdm-dmx-reconnect-proxy.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (C) 2005 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- */
-
-#include "config.h"
-
-#include <stdlib.h>
-#include <locale.h>
-#include <glib.h>
-#include <glib/gi18n.h>
-
-#include <X11/Xlib.h>
-#include <X11/extensions/dmxext.h>
-
-static char *to_display = NULL;
-static char *backend_display = NULL;
-static char *to_authfile = NULL;
-static char *backend_authfile = NULL;
-
-static GOptionEntry options[] = {
- {
- "to", 0, 0, G_OPTION_ARG_STRING, &to_display,
- N_("DMX display to migrate to"),
- N_("DISPLAY")
- },
- {
- "display", 0, 0, G_OPTION_ARG_STRING, &backend_display,
- N_("Backend display name"),
- N_("DISPLAY")
- },
- {
- "to-authfile", 0, 0, G_OPTION_ARG_STRING, &to_authfile,
- N_("Xauthority file for destination display"),
- N_("AUTHFILE")
- },
- {
- "display-authfile", 0, 0, G_OPTION_ARG_STRING, &backend_authfile,
- N_("Xauthority file for backend display"),
- N_("AUTHFILE")
- },
- { NULL }
-};
-
-static Display *
-get_dmx_display (const char *display_name,
- const char *authfile)
-{
- Display *display;
- int event_base, error_base;
- const char *old_authfile;
-
- old_authfile = getenv ("XAUTHORITY");
- g_setenv ("XAUTHORITY", authfile, TRUE);
-
- if ((display = XOpenDisplay (display_name)) == NULL)
- g_printerr (_("Failed to open display \"%s\"\n"), display_name);
-
- if (display != NULL &&
- !DMXQueryExtension (display, &event_base, &error_base)) {
- g_printerr (_("DMX extension not present on \"%s\"\n"), display_name);
- XCloseDisplay (display);
- display = NULL;
- }
-
- g_setenv ("XAUTHORITY", old_authfile, TRUE);
-
- return display;
-}
-
-int
-main (int argc, char **argv)
-{
- GOptionContext *options_context;
- Display *display;
- DMXScreenAttributes attr;
- guint mask;
- int screen;
-
- setlocale (LC_ALL, "");
- bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
- textdomain (GETTEXT_PACKAGE);
-
- options_context = g_option_context_new (_("- migrate a backend display from one DMX display to another"));
- g_option_context_add_main_entries (options_context, options, GETTEXT_PACKAGE);
- g_option_context_parse (options_context, &argc, &argv, NULL);
- g_option_context_free (options_context);
-
- if (to_display == NULL) {
- g_printerr (_("You must specify a destination DMX display using %s\n"), "--to");
- return 1;
- }
-
- if (backend_display == NULL) {
- g_printerr (_("You must specify a backend display by using %s\n"), "--display");
- return 1;
- }
-
- if ((display = get_dmx_display (to_display, to_authfile)) == NULL)
- return 1;
-
- /* Note, we have no way yet of using backend_authfile to ensure
- * that the DMX server can authenticate against the backend Xserver.
- * For now, we must disable access control on the backend server.
- */
-
- mask = 0;
- screen = 0;
- if (!DMXAddScreen (display, backend_display, mask, &attr, &screen)) {
- g_printerr (_("DMXAddScreen \"%s\" failed on \"%s\"\n"),
- backend_display, to_display);
- XCloseDisplay (display);
- return 1;
- }
-
- XCloseDisplay (display);
-
- return 0;
-}