diff options
Diffstat (limited to 'x11/gdm/files')
-rw-r--r-- | x11/gdm/files/gdm.in | 4 | ||||
-rw-r--r-- | x11/gdm/files/gdm.pam.in | 4 | ||||
-rw-r--r-- | x11/gdm/files/patch-daemon_gdm-session-worker.c | 16 | ||||
-rw-r--r-- | x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c | 41 |
4 files changed, 29 insertions, 36 deletions
diff --git a/x11/gdm/files/gdm.in b/x11/gdm/files/gdm.in index 63bf40a4b..bfcb961fe 100644 --- a/x11/gdm/files/gdm.in +++ b/x11/gdm/files/gdm.in @@ -1,6 +1,6 @@ #!/bin/sh -# $FreeBSD: ports/x11/gdm/files/gdm.in,v 1.19 2010/05/10 21:18:50 kwm Exp $ -# $MCom: ports/x11/gdm/files/gdm.in,v 1.43 2010/04/17 19:06:00 marcus Exp $ +# $FreeBSD: ports/x11/gdm/files/gdm.in,v 1.20 2010/07/25 19:35:05 kwm Exp $ +# $MCom: ports-stable/x11/gdm/files/gdm.in,v 1.5 2010/07/21 13:50:46 kwm Exp $ # PROVIDE: gdm # REQUIRE: LOGIN cleanvar moused syscons dbus diff --git a/x11/gdm/files/gdm.pam.in b/x11/gdm/files/gdm.pam.in index fdd4a6e88..0849259ad 100644 --- a/x11/gdm/files/gdm.pam.in +++ b/x11/gdm/files/gdm.pam.in @@ -1,6 +1,6 @@ # -# $FreeBSD: ports/x11/gdm/files/gdm.pam.in,v 1.6 2010/05/10 21:18:50 kwm Exp $ -# $MCom: ports/x11/gdm/files/gdm.pam.in,v 1.11 2010/03/16 19:33:11 mezz Exp $ +# $FreeBSD: ports/x11/gdm/files/gdm.pam.in,v 1.7 2010/07/25 19:35:05 kwm Exp $ +# $MCom: ports-stable/x11/gdm/files/gdm.pam.in,v 1.3 2010/07/21 13:50:46 kwm Exp $ # # PAM configuration for the "gdm" service # diff --git a/x11/gdm/files/patch-daemon_gdm-session-worker.c b/x11/gdm/files/patch-daemon_gdm-session-worker.c index a3b7d5294..362a116ea 100644 --- a/x11/gdm/files/patch-daemon_gdm-session-worker.c +++ b/x11/gdm/files/patch-daemon_gdm-session-worker.c @@ -1,5 +1,5 @@ ---- daemon/gdm-session-worker.c.orig 2010-05-24 23:58:38.000000000 +0200 -+++ daemon/gdm-session-worker.c 2010-06-05 22:45:34.000000000 +0200 +--- daemon/gdm-session-worker.c.orig 2009-09-21 22:05:27.000000000 +0200 ++++ daemon/gdm-session-worker.c 2009-09-22 12:33:59.000000000 +0200 @@ -31,6 +31,9 @@ #include <errno.h> #include <grp.h> @@ -19,13 +19,13 @@ } len = strlen (file) + 1; -@@ -2009,15 +2012,16 @@ gdm_session_worker_start_user_session (G +@@ -1995,15 +1998,16 @@ gdm_session_worker_start_user_session (G char *cachedirname; char *home_dir; int fd; +#ifdef HAVE_LOGINCAP -+ char *login = worker->priv->username; -+ struct passwd *pwent = getpwnam (login); ++ char *login = worker->priv->username; ++ struct passwd *pwent = getpwnam (login); +#endif /* Make sure cachedir gets created before we drop to user */ @@ -33,14 +33,14 @@ g_free (cachedirname); - if (setuid (worker->priv->uid) < 0) { -- g_debug ("GdmSessionWorker: could not reset uid: %s", g_strerror (errno)); +- g_debug ("GdmSessionWorker: could not reset uid - %s", g_strerror (errno)); - _exit (1); - } + /* Call setsid() before setusercontext() */ if (setsid () < 0) { - g_debug ("GdmSessionWorker: could not set pid '%u' as leader of new session and process group: %s", -@@ -2025,6 +2029,28 @@ gdm_session_worker_start_user_session (G + g_debug ("GdmSessionWorker: could not set pid '%u' as leader of new session and process group - %s", +@@ -2011,6 +2015,28 @@ gdm_session_worker_start_user_session (G _exit (2); } diff --git a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c index b0b8ed37d..a7bfbc883 100644 --- a/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c +++ b/x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c @@ -1,6 +1,6 @@ ---- gui/simple-greeter/gdm-user-manager.c.orig 2009-12-21 17:36:30.000000000 +0100 -+++ gui/simple-greeter/gdm-user-manager.c 2009-12-27 22:34:26.000000000 +0100 -@@ -66,6 +66,8 @@ +--- gui/simple-greeter/gdm-user-manager.c.orig 2010-06-26 00:09:31.000000000 +0200 ++++ gui/simple-greeter/gdm-user-manager.c 2010-07-20 23:23:07.000000000 +0200 +@@ -62,6 +62,8 @@ #ifdef __sun #define DEFAULT_MINIMAL_UID 100 @@ -9,19 +9,12 @@ #else #define DEFAULT_MINIMAL_UID 500 #endif -@@ -1414,17 +1416,24 @@ reload_passwd (GdmUserManager *manager) - GSList *new_users; - GSList *list; - GSList *dup; -+#ifndef __FreeBSD__ - FILE *fp; -+#endif - - old_users = NULL; - new_users = NULL; +@@ -1678,12 +1680,17 @@ reload_passwd_file (GHashTable *valid_sh + NULL, + g_object_unref); +#ifdef __FreeBSD__ -+ setpwent (); ++ setpwent (); +#else + errno = 0; @@ -32,25 +25,25 @@ } +#endif - g_hash_table_foreach (manager->priv->users, listify_hash_values_hfunc, &old_users); - g_slist_foreach (old_users, (GFunc) g_object_ref, NULL); -@@ -1443,9 +1452,15 @@ reload_passwd (GdmUserManager *manager) - } else { + /* Make sure we keep users who are logged in no matter what. */ + g_hash_table_iter_init (&iter, current_users_by_name); +@@ -1733,9 +1740,15 @@ reload_passwd_file (GHashTable *valid_sh + g_debug ("GdmUserManager: include_all is TRUE"); +#ifdef __FreeBSD__ + for (pwent = getpwent (); + pwent != NULL; -+ pwent = getpwent()) { ++ pwent = getpwent ()) { +#else for (pwent = fgetpwent (fp); pwent != NULL; pwent = fgetpwent (fp)) { +#endif - GdmUser *user; - user = NULL; -@@ -1521,7 +1536,11 @@ reload_passwd (GdmUserManager *manager) + /* Skip users below MinimalUID... */ + if (pwent->pw_uid < DEFAULT_MINIMAL_UID) { +@@ -1810,7 +1823,11 @@ reload_passwd_file (GHashTable *valid_sh out: /* Cleanup */ @@ -60,5 +53,5 @@ fclose (fp); +#endif - g_slist_foreach (new_users, (GFunc) g_object_thaw_notify, NULL); - g_slist_foreach (new_users, (GFunc) g_object_unref, NULL); + g_hash_table_iter_init (&iter, new_users_by_name); + while (g_hash_table_iter_next (&iter, (gpointer *) &name, (gpointer *) &user)) { |