- Update to 2.20.3
This commit is contained in:
parent
fb399772fe
commit
6623ddcffe
@ -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.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user