aboutsummaryrefslogtreecommitdiff
path: root/security/mate-keyring/files/patch-pam_gkr-pam-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'security/mate-keyring/files/patch-pam_gkr-pam-client.c')
-rw-r--r--security/mate-keyring/files/patch-pam_gkr-pam-client.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/security/mate-keyring/files/patch-pam_gkr-pam-client.c b/security/mate-keyring/files/patch-pam_gkr-pam-client.c
new file mode 100644
index 000000000000..c4c0ad88e944
--- /dev/null
+++ b/security/mate-keyring/files/patch-pam_gkr-pam-client.c
@@ -0,0 +1,18 @@
+--- pam/gkr-pam-client.c.orig 2008-10-07 12:25:23.000000000 -0400
++++ pam/gkr-pam-client.c 2008-10-07 12:38:36.000000000 -0400
+@@ -96,12 +96,12 @@ check_peer_same_uid (int sock)
+ struct xucred xuc;
+ socklen_t xuc_len = sizeof (xuc);
+
+- if (getsockopt (sock, SOL_SOCKET, LOCAL_PEERCRED, &xuc, &xuc_len) == 0 &&
+- xuc_len == sizeof (xuc)) {
++ if (getsockopt (sock, 0, LOCAL_PEERCRED, &xuc, &xuc_len) == 0 &&
++ xuc.cr_version == XUCRED_VERSION) {
+ uid = xuc.cr_uid;
+ } else {
+ syslog (GKR_LOG_ERR, "could not get mate-keyring-daemon socket credentials, "
+- "(returned len %d/%d)\n", xuc_len, (int)sizeof (xuc));
++ "(returned version %d/%d)\n", xuc.cr_version, XUCRED_VERSION);
+ return -1;
+ }
+