From 6623ddcffe364695f62cef0056288204c622c5ee Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Jan 08 2008 17:02:31 +0000 Subject: - Update to 2.20.3 --- diff --git a/gnome-keyring-2.20-selinux-pam.patch b/gnome-keyring-2.20-selinux-pam.patch index 23fdea8..9a94e74 100644 --- a/gnome-keyring-2.20-selinux-pam.patch +++ b/gnome-keyring-2.20-selinux-pam.patch @@ -1,6 +1,6 @@ -diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon.c gnome-keyring-2.20/daemon/gkr-daemon.c ---- gnome-keyring-2.20.orig/daemon/gkr-daemon.c 2007-10-05 12:40:28.000000000 +0200 -+++ gnome-keyring-2.20/daemon/gkr-daemon.c 2007-10-05 12:55:26.000000000 +0200 +diff -upr gnome-keyring-2.20.3.orig/daemon/gkr-daemon.c gnome-keyring-2.20.3/daemon/gkr-daemon.c +--- gnome-keyring-2.20.3.orig/daemon/gkr-daemon.c 2007-11-24 17:33:44.000000000 +0000 ++++ gnome-keyring-2.20.3/daemon/gkr-daemon.c 2008-01-08 16:59:46.000000000 +0000 @@ -27,6 +27,7 @@ #include "common/gkr-async.h" #include "common/gkr-cleanup.h" @@ -9,7 +9,7 @@ diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon.c gnome-keyring-2.20/daemon/g #include "keyrings/gkr-keyrings.h" -@@ -183,6 +184,10 @@ +@@ -183,6 +184,10 @@ main (int argc, char *argv[]) GIOChannel *channel; GMainContext *ctx; int i; @@ -20,7 +20,7 @@ diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon.c gnome-keyring-2.20/daemon/g g_type_init (); g_thread_init (NULL); -@@ -211,6 +216,7 @@ +@@ -214,6 +219,7 @@ main (int argc, char *argv[]) foreground = FALSE; daemon = FALSE; @@ -28,7 +28,7 @@ diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon.c gnome-keyring-2.20/daemon/g if (argc > 1) { for (i = 1; i < argc; i++) { -@@ -218,8 +224,19 @@ +@@ -221,8 +227,19 @@ main (int argc, char *argv[]) foreground = TRUE; if (strcmp (argv[i], "-d") == 0) daemon = TRUE; @@ -48,7 +48,7 @@ diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon.c gnome-keyring-2.20/daemon/g if (!foreground) { pid = fork (); -@@ -315,6 +332,27 @@ +@@ -318,6 +335,27 @@ main (int argc, char *argv[]) gkr_daemon_dbus_setup (loop, path); #endif @@ -76,20 +76,21 @@ diff -ur gnome-keyring-2.20.orig/daemon/gkr-daemon.c gnome-keyring-2.20/daemon/g g_main_loop_run (loop); /* Make sure no other threads are running */ -diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr-pam-module.c ---- gnome-keyring-2.20.orig/pam/gkr-pam-module.c 2007-10-05 12:40:28.000000000 +0200 -+++ gnome-keyring-2.20/pam/gkr-pam-module.c 2007-10-05 12:42:05.000000000 +0200 -@@ -249,15 +249,20 @@ +diff -upr gnome-keyring-2.20.3.orig/pam/gkr-pam-module.c gnome-keyring-2.20.3/pam/gkr-pam-module.c +--- gnome-keyring-2.20.3.orig/pam/gkr-pam-module.c 2007-11-30 18:50:29.000000000 +0000 ++++ gnome-keyring-2.20.3/pam/gkr-pam-module.c 2008-01-08 17:00:50.000000000 +0000 +@@ -249,17 +249,22 @@ cleanup_free_password (pam_handle_t *ph, } static void --setup_child (int outp[2], int errp[2], struct passwd *pwd) -+setup_child (int inp[2], int outp[2], int errp[2], struct passwd *pwd, const char *password) +-setup_child (int outp[2], int errp[2], pam_handle_t *ph, struct passwd *pwd) ++setup_child (int inp[2], int outp[2], int errp[2], pam_handle_t *ph, struct passwd *pwd, const char *password) { - char *args[] = { GNOME_KEYRING_DAEMON, "-d", NULL}; -- + char *args[] = { GNOME_KEYRING_DAEMON, "-d", "--login", NULL}; -+ + const char* display; + int ret; + assert (pwd); assert (pwd->pw_dir); - @@ -105,7 +106,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr dup2 (errp[WRITE_END], STDERR) < 0) { syslog (GKR_LOG_ERR, "gkr-pam: couldn't setup pipes: %s", strerror (errno)); -@@ -265,6 +270,8 @@ +@@ -267,6 +272,8 @@ setup_child (int outp[2], int errp[2], p } /* Close unnecessary file descriptors */ @@ -114,7 +115,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr close (outp[READ_END]); close (outp[WRITE_END]); close (errp[READ_END]); -@@ -348,9 +355,10 @@ +@@ -358,9 +365,10 @@ setup_environment (char *line, void *arg } static int @@ -126,7 +127,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr int outp[2] = { -1, -1 }; int errp[2] = { -1, -1 }; int ret = PAM_SERVICE_ERR; -@@ -372,7 +380,7 @@ +@@ -382,7 +390,7 @@ start_daemon (pam_handle_t *ph, struct p sigaction (SIGCHLD, &defsact, &oldsact); /* Create the necessary pipes */ @@ -135,16 +136,16 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr syslog (GKR_LOG_ERR, "gkr-pam: couldn't create pipes: %s", strerror (errno)); goto done; -@@ -387,7 +395,7 @@ +@@ -397,7 +405,7 @@ start_daemon (pam_handle_t *ph, struct p /* This is the child */ case 0: -- setup_child (outp, errp, pwd); -+ setup_child (inp, outp, errp, pwd, password); +- setup_child (outp, errp, ph, pwd); ++ setup_child (inp, outp, errp, ph, pwd, password); /* Should never be reached */ break; -@@ -397,9 +405,16 @@ +@@ -407,9 +415,16 @@ start_daemon (pam_handle_t *ph, struct p }; /* Close our unneeded ends of the pipes */ @@ -162,7 +163,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr /* * Note that we're not using select() or any such. We know how the -@@ -438,6 +453,8 @@ +@@ -448,6 +463,8 @@ done: /* Restore old handler */ sigaction (SIGCHLD, &oldsact, NULL); @@ -171,7 +172,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr close_safe (outp[0]); close_safe (outp[1]); close_safe (errp[0]); -@@ -450,7 +467,7 @@ +@@ -460,7 +477,7 @@ done: } static int @@ -180,7 +181,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr { const char *socket; int ret; -@@ -470,7 +487,7 @@ +@@ -480,7 +497,7 @@ start_daemon_if_necessary (pam_handle_t } /* Not running, start process */ @@ -189,7 +190,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr } static int -@@ -691,6 +708,7 @@ +@@ -701,6 +718,7 @@ pam_sm_authenticate (pam_handle_t *ph, i struct passwd *pwd; const char *user, *password; const char *socket; @@ -197,7 +198,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr uint args; int ret; -@@ -728,9 +746,11 @@ +@@ -738,9 +756,11 @@ pam_sm_authenticate (pam_handle_t *ph, i } @@ -210,7 +211,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr if (ret != PAM_SUCCESS) return ret; } -@@ -739,10 +759,12 @@ +@@ -749,10 +769,12 @@ pam_sm_authenticate (pam_handle_t *ph, i /* If gnome keyring is running, then unlock now */ if (socket) { @@ -227,7 +228,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr /* Otherwise start in open session, store password */ } else { if (pam_set_data (ph, "gkr_system_authtok", strdup (password), -@@ -762,6 +784,7 @@ +@@ -772,6 +794,7 @@ pam_sm_open_session (pam_handle_t *ph, i struct passwd *pwd; int ret; uint args = parse_args (argc, argv); @@ -235,7 +236,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr /* Figure out the user name */ ret = pam_get_user (ph, &user, NULL); -@@ -777,29 +800,32 @@ +@@ -787,29 +810,32 @@ pam_sm_open_session (pam_handle_t *ph, i return PAM_SERVICE_ERR; } @@ -280,7 +281,7 @@ diff -ur gnome-keyring-2.20.orig/pam/gkr-pam-module.c gnome-keyring-2.20/pam/gkr return PAM_SUCCESS; } -@@ -897,7 +923,7 @@ +@@ -907,7 +933,7 @@ pam_chauthtok_update (pam_handle_t *ph, * argument. Because if the password is being changed, then making * the 'login' keyring match it is a priority. */