aboutsummaryrefslogtreecommitdiff
path: root/dns/nss_resinit
diff options
context:
space:
mode:
Diffstat (limited to 'dns/nss_resinit')
-rw-r--r--dns/nss_resinit/Makefile7
-rw-r--r--dns/nss_resinit/files/patch-nss_resinit.c22
2 files changed, 29 insertions, 0 deletions
diff --git a/dns/nss_resinit/Makefile b/dns/nss_resinit/Makefile
index 55ddefe1ae7a..3d5c17acfa08 100644
--- a/dns/nss_resinit/Makefile
+++ b/dns/nss_resinit/Makefile
@@ -25,4 +25,11 @@ MANCOMPRESSED= yes
IGNORE= name-service switch support in libc is required
.endif
+.if defined(WITH_COMPAT5X)
+.if ${OSVERSION} > 700017
+BROKEN= 7.X and later do not have compat syms for the old resolver
+.endif
+MAKE_ARGS+= CC="${CC} -DWITH_COMPAT5X"
+.endif
+
.include <bsd.port.post.mk>
diff --git a/dns/nss_resinit/files/patch-nss_resinit.c b/dns/nss_resinit/files/patch-nss_resinit.c
new file mode 100644
index 000000000000..d489b6295fc9
--- /dev/null
+++ b/dns/nss_resinit/files/patch-nss_resinit.c
@@ -0,0 +1,22 @@
+Index: nss_resinit.c
+diff -u -p nss_resinit.c.orig nss_resinit.c
+--- nss_resinit.c.orig Wed Apr 12 20:29:35 2006
++++ nss_resinit.c Tue Jan 23 09:48:22 2007
+@@ -44,6 +44,17 @@ __RCSID("$Mahoroba: src/nss_resinit/nss_
+
+ #ifndef res_ninit
+ typedef struct __res_state *res_state;
++#endif
++
++#ifdef WITH_COMPAT5X
++extern struct __res_state *___res(void);
++#undef _res
++#define _res (*___res())
++#undef res_ninit
++#undef __res_vinit
++#endif
++
++#ifndef res_ninit
+ #define res_ninit(res) res_init()
+ #define __res_vinit(res, preinit) (res_close(), res_init())
+ #endif