aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authormarcus <marcus@FreeBSD.org>2005-04-26 14:02:40 +0800
committermarcus <marcus@FreeBSD.org>2005-04-26 14:02:40 +0800
commit6ebd761cd21471ed3df205b78dc1c5c5b77431ca (patch)
tree2622d897b508326dff4e18c280b63a9973a88085 /devel
parentd8a167ff92cc9cdfdd3095ed7a148d9dbfd1e85a (diff)
downloadfreebsd-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/Makefile2
-rw-r--r--devel/dbus/files/patch-dbus_dbus-sysdeps.c29
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)