diff options
author | marcus <marcus@FreeBSD.org> | 2005-04-26 14:02:40 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2005-04-26 14:02:40 +0800 |
commit | 6ebd761cd21471ed3df205b78dc1c5c5b77431ca (patch) | |
tree | 2622d897b508326dff4e18c280b63a9973a88085 /devel | |
parent | d8a167ff92cc9cdfdd3095ed7a148d9dbfd1e85a (diff) | |
download | freebsd-ports-gnome-6ebd761cd21471ed3df205b78dc1c5c5b77431ca.tar.gz freebsd-ports-gnome-6ebd761cd21471ed3df205b78dc1c5c5b77431ca.tar.zst freebsd-ports-gnome-6ebd761cd21471ed3df205b78dc1c5c5b77431ca.zip |
Fix dbus and gnomekeyring on -CURRENT by not using LOCAL_CREDS. While it
works, it does not provide the pid information that the cmsgcred structure
gives us. Dbus and gnomekeyring will now behave the same way on all versions
of FreeBSD.
Diffstat (limited to 'devel')
-rw-r--r-- | devel/dbus/Makefile | 2 | ||||
-rw-r--r-- | devel/dbus/files/patch-dbus_dbus-sysdeps.c | 29 |
2 files changed, 20 insertions, 11 deletions
diff --git a/devel/dbus/Makefile b/devel/dbus/Makefile index b6d250b24418..ac5ae2b90f85 100644 --- a/devel/dbus/Makefile +++ b/devel/dbus/Makefile @@ -7,7 +7,7 @@ PORTNAME= dbus PORTVERSION= 0.32 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES?= devel gnome MASTER_SITES= http://dbus.freedesktop.org/releases/ diff --git a/devel/dbus/files/patch-dbus_dbus-sysdeps.c b/devel/dbus/files/patch-dbus_dbus-sysdeps.c index 41fc919b1a95..73f38353612f 100644 --- a/devel/dbus/files/patch-dbus_dbus-sysdeps.c +++ b/devel/dbus/files/patch-dbus_dbus-sysdeps.c @@ -1,10 +1,10 @@ ---- dbus/dbus-sysdeps.c.orig Tue Jan 11 17:35:58 2005 -+++ dbus/dbus-sysdeps.c Fri Jan 21 19:45:12 2005 -@@ -740,12 +740,40 @@ +--- dbus-sysdeps.c.orig Sat Mar 5 13:38:54 2005 ++++ dbus-sysdeps.c Tue Apr 26 01:59:05 2005 +@@ -742,12 +742,40 @@ write_credentials_byte (int { int bytes_written; char buf[1] = { '\0' }; -+#if defined(HAVE_CMSGCRED) && !defined(LOCAL_CREDS) ++#if defined(HAVE_CMSGCRED) && (!defined(LOCAL_CREDS) || defined(__FreeBSD__)) + struct { + struct cmsghdr hdr; + struct cmsgcred cred; @@ -13,7 +13,7 @@ + struct msghdr msg; +#endif + -+#if defined(HAVE_CMSGCRED) && !defined(LOCAL_CREDS) ++#if defined(HAVE_CMSGCRED) && (!defined(LOCAL_CREDS) || defined(__FreeBSD__)) + iov.iov_base = buf; + iov.iov_len = 1; + @@ -33,7 +33,7 @@ again: -+#if defined(HAVE_CMSGCRED) && !defined(LOCAL_CREDS) ++#if defined(HAVE_CMSGCRED) && (!defined(LOCAL_CREDS) || defined(__FreeBSD__)) + bytes_written = sendmsg (server_fd, &msg, 0); +#else bytes_written = write (server_fd, buf, 1); @@ -41,7 +41,7 @@ if (bytes_written < 0 && errno == EINTR) goto again; -@@ -799,8 +827,10 @@ +@@ -801,8 +829,10 @@ _dbus_read_credentials_unix_socket (int char buf; #ifdef HAVE_CMSGCRED @@ -54,7 +54,16 @@ #endif _DBUS_ASSERT_ERROR_IS_CLEAR (error); -@@ -835,9 +865,9 @@ +@@ -817,7 +847,7 @@ _dbus_read_credentials_unix_socket (int + + _dbus_credentials_clear (credentials); + +-#if defined(LOCAL_CREDS) && defined(HAVE_CMSGCRED) ++#if defined(LOCAL_CREDS) && defined(HAVE_CMSGCRED) && !defined(__FreeBSD__) + /* Set the socket to receive credentials on the next message */ + { + int on = 1; +@@ -837,9 +867,9 @@ _dbus_read_credentials_unix_socket (int msg.msg_iovlen = 1; #ifdef HAVE_CMSGCRED @@ -67,7 +76,7 @@ #endif again: -@@ -860,9 +890,10 @@ +@@ -862,9 +892,10 @@ _dbus_read_credentials_unix_socket (int } #ifdef HAVE_CMSGCRED @@ -80,7 +89,7 @@ _dbus_verbose ("Message from recvmsg() was not SCM_CREDS\n"); return FALSE; } -@@ -888,13 +919,9 @@ +@@ -890,13 +921,9 @@ _dbus_read_credentials_unix_socket (int cr_len, (int) sizeof (cr), _dbus_strerror (errno)); } #elif defined(HAVE_CMSGCRED) |