Package: gnome-keyring Severity: important Version: 0.6.0-2 Tags: patch
Hi, the current version fails to build on GNU/kFreeBSD. Please find attached patch with fixes. It would also be nice if you can ask upstream to include this changes. Thanks in advance Petr
only in patch2: unchanged: --- gnome-keyring-0.6.0.orig/gnome-keyring-daemon-io.c +++ gnome-keyring-0.6.0/gnome-keyring-daemon-io.c @@ -194,11 +194,11 @@ return FALSE; } #elif defined(HAVE_CMSGCRED) - cred = (struct cmsgcred *) CMSG_DATA (&cmsg); + cred = (struct cmsgcred *) CMSG_DATA (&cmsg.hdr); *pid = cred->cmcred_pid; *uid = cred->cmcred_euid; #elif defined(LOCAL_CREDS) - cred = (struct sockcred *) CMSG_DATA (&cmsg); + cred = (struct sockcred *) CMSG_DATA (&cmsg.hdr); *pid = 0; *uid = cred->sc_euid; set_local_creds(fd, FALSE); only in patch2: unchanged: --- gnome-keyring-0.6.0.orig/gnome-keyring.c +++ gnome-keyring-0.6.0/gnome-keyring.c @@ -275,9 +275,9 @@ msg.msg_control = (caddr_t) &cmsg; msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred)); memset (&cmsg, 0, sizeof (cmsg)); - cmsg->cmsg_len = CMSG_LEN (sizeof (struct cmsgcred)); - cmsg->cmsg_level = SOL_SOCKET; - cmsg->cmsg_type = SCM_CREDS; + cmsg.hdr.cmsg_len = CMSG_LEN (sizeof (struct cmsgcred)); + cmsg.hdr.cmsg_level = SOL_SOCKET; + cmsg.hdr.cmsg_type = SCM_CREDS; #endif again: @@ -324,10 +324,10 @@ msg.msg_control = (caddr_t) &cmsg; msg.msg_controllen = CMSG_SPACE (sizeof (struct cmsgcred)); - memset (cmsg, 0, sizeof (cmsg)); - cmsg->cmsg_len = CMSG_LEN (sizeof (struct cmsgcred)); - cmsg->cmsg_level = SOL_SOCKET; - cmsg->cmsg_type = SCM_CREDS; + memset (&cmsg, 0, sizeof (cmsg)); + cmsg.hdr.cmsg_len = CMSG_LEN (sizeof (struct cmsgcred)); + cmsg.hdr.cmsg_level = SOL_SOCKET; + cmsg.hdr.cmsg_type = SCM_CREDS; #endif again: