summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net/csync2/Makefile2
-rw-r--r--net/csync2/files/patch-csync2.c21
2 files changed, 22 insertions, 1 deletions
diff --git a/net/csync2/Makefile b/net/csync2/Makefile
index a6d4386a73d6..f818a7c306d4 100644
--- a/net/csync2/Makefile
+++ b/net/csync2/Makefile
@@ -3,7 +3,7 @@
PORTNAME= csync2
PORTVERSION= 2.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= http://oss.linbit.com/csync2/
diff --git a/net/csync2/files/patch-csync2.c b/net/csync2/files/patch-csync2.c
new file mode 100644
index 000000000000..82a700578f63
--- /dev/null
+++ b/net/csync2/files/patch-csync2.c
@@ -0,0 +1,21 @@
+--- csync2.c.orig 2013-05-02 12:58:04 UTC
++++ csync2.c
+@@ -256,7 +256,7 @@ static int csync_server_bind(void)
+ struct addrinfo hints;
+ struct addrinfo *result, *rp;
+ int save_errno;
+- int sfd = -1, s, on = 1;
++ int sfd = -1, s, off = 0, on = 1;
+ memset(&hints, 0, sizeof(struct addrinfo));
+ hints.ai_family = AF_UNSPEC; /* Allow IPv4 or IPv6 */
+ hints.ai_socktype = SOCK_STREAM;
+@@ -284,6 +284,9 @@ static int csync_server_bind(void)
+ goto error;
+ if (setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, &on, (socklen_t) sizeof(on)) < 0)
+ goto error;
++ if (rp->ai_family == AF_INET6)
++ if (setsockopt(sfd, IPPROTO_IPV6, IPV6_V6ONLY, &off, (socklen_t) sizeof(off)) < 0)
++ goto error;
+
+ if (bind(sfd, rp->ai_addr, rp->ai_addrlen) == 0)
+ break; /* Success */