summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrevor Johnson <trevor@FreeBSD.org>2002-12-08 07:44:35 +0000
committerTrevor Johnson <trevor@FreeBSD.org>2002-12-08 07:44:35 +0000
commit21283cd60e641c4cbd5c962f641ac30af67eeea1 (patch)
tree367e7bd14d92c34768e13ec68d7b7a5a76776627
parent[1] Move the recently committed patch-common_x86.c to XFree86-4-libraries (diff)
Unbreak for use with IPv4 on FreeBSD -CURRENT (only tested on i386).
Obtained from: ume (ports/www/mozilla/files/patch-nsprpub::pr::src::pthreads::ptio.c rev. 1.1)
Notes
Notes: svn path=/head/; revision=71417
-rw-r--r--www/beonex/Makefile4
-rw-r--r--www/beonex/files/patch-ptio.c26
2 files changed, 26 insertions, 4 deletions
diff --git a/www/beonex/Makefile b/www/beonex/Makefile
index 8faf35eb9620..c1f315f91e9c 100644
--- a/www/beonex/Makefile
+++ b/www/beonex/Makefile
@@ -95,10 +95,6 @@ ALL_TARGET= default
CONFIGURE_ARGS+= --enable-reorder
.endif
-.if ${OSVERSION} > 500038
-BROKEN= "runtime error on FreeBSD -CURRENT"
-.endif
-
.if exists(${LOCALBASE}/include/freetype/freetype.h)
BROKEN="You must upgrade your freetype port to 1.3.1_2 or higher before installing Beonex. If you have 1.3.1_2 installed, please remove ${LOCALBASE}/include/freetype, then build Beonex"
.endif
diff --git a/www/beonex/files/patch-ptio.c b/www/beonex/files/patch-ptio.c
new file mode 100644
index 000000000000..243fa27d1b36
--- /dev/null
+++ b/www/beonex/files/patch-ptio.c
@@ -0,0 +1,26 @@
+Don't use mapped IPv6 address when connecting [in] IPv4 node.
+
+author: Hajimu UMEMOTO (FreeBSD.org login "ume")
+
+Index: nsprpub/pr/src/pthreads/ptio.c
+diff -u nsprpub/pr/src/pthreads/ptio.c.orig nsprpub/pr/src/pthreads/ptio.c
+--- nsprpub/pr/src/pthreads/ptio.c.orig Fri Apr 12 03:14:39 2002
++++ nsprpub/pr/src/pthreads/ptio.c Tue Jul 30 18:52:11 2002
+@@ -3414,6 +3414,17 @@
+ if (osfd == -1) pt_MapError(_PR_MD_MAP_SOCKET_ERROR, errno);
+ else
+ {
++#if (defined(_PR_INET6_PROBE) || defined(_PR_INET6)) && \
++ defined(__FreeBSD__) && defined(IPV6_V6ONLY)
++ if (domain == PR_AF_INET6) {
++ int opt = 0;
++ if (setsockopt(osfd, IPPROTO_IPV6, IPV6_V6ONLY,
++ &opt, sizeof(opt))) {
++ close(osfd);
++ return NULL;
++ }
++ }
++#endif
+ fd = pt_SetMethods(osfd, ftype, PR_FALSE, PR_FALSE);
+ if (fd == NULL) close(osfd);
+ }