summaryrefslogtreecommitdiffstats
path: root/x11/gdm/files
diff options
context:
space:
mode:
Diffstat (limited to 'x11/gdm/files')
-rw-r--r--x11/gdm/files/gdm.in4
-rw-r--r--x11/gdm/files/gdm.pam.in4
-rw-r--r--x11/gdm/files/patch-daemon_gdm-session-worker.c16
-rw-r--r--x11/gdm/files/patch-gui_simple-greeter_gdm-user-manager.c41
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)) {