aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2015-09-02 09:46:15 +0800
committerdelphij <delphij@FreeBSD.org>2015-09-02 09:46:15 +0800
commit7026f200866402a952601e517730ae4a5e7047e6 (patch)
tree544962306e7517315584e6bc7a78087535f7b123
parent1faa21e4167f6725ee2accacf2133b15ab89ed20 (diff)
downloadfreebsd-ports-gnome-7026f200866402a952601e517730ae4a5e7047e6.tar.gz
freebsd-ports-gnome-7026f200866402a952601e517730ae4a5e7047e6.tar.zst
freebsd-ports-gnome-7026f200866402a952601e517730ae4a5e7047e6.zip
Use sa_len instead of sizeof(struct sockaddr_storage) to work around a
FreeBSD kernel check, which would return EINVAL when the passed length is larger than desired. PR: ports/202819 Submitted by: brd
-rw-r--r--net/openldap24-server/Makefile4
-rw-r--r--net/openldap24-server/files/patch-libraries__liblber__sockbuf.c12
2 files changed, 14 insertions, 2 deletions
diff --git a/net/openldap24-server/Makefile b/net/openldap24-server/Makefile
index b1f4e5a238df..52db4d51df52 100644
--- a/net/openldap24-server/Makefile
+++ b/net/openldap24-server/Makefile
@@ -56,8 +56,8 @@ WANT_OPENLDAP_VER?= 24
BROKEN= incompatible OpenLDAP version: ${WANT_OPENLDAP_VER}
.endif
-PORTREVISION_CLIENT= 0
-PORTREVISION_SERVER= 0
+PORTREVISION_CLIENT= 1
+PORTREVISION_SERVER= 1
OPENLDAP_SHLIB_MAJOR= 2
OPENLDAP_SHLIB_MINOR= 10.4
OPENLDAP_MAJOR= ${DISTVERSION:R}
diff --git a/net/openldap24-server/files/patch-libraries__liblber__sockbuf.c b/net/openldap24-server/files/patch-libraries__liblber__sockbuf.c
new file mode 100644
index 000000000000..a9b6bff8ce99
--- /dev/null
+++ b/net/openldap24-server/files/patch-libraries__liblber__sockbuf.c
@@ -0,0 +1,12 @@
+--- libraries/liblber/sockbuf.c.orig 2015-09-01 16:43:54.707637190 -0600
++++ libraries/liblber/sockbuf.c 2015-09-01 17:16:22.310503263 -0600
+@@ -937,8 +937,7 @@
+ buf = (char *) buf + sizeof( struct sockaddr_storage );
+ len -= sizeof( struct sockaddr_storage );
+
+- rc = sendto( sbiod->sbiod_sb->sb_fd, buf, len, 0, dst,
+- sizeof( struct sockaddr_storage ) );
++ rc = sendto( sbiod->sbiod_sb->sb_fd, buf, len, 0, dst, dst->sa_len );
+
+ if ( rc < 0 ) return -1;
+