1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 gnome-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;
}
|