update to 9.9.0b1
- bind98-dlz_buildfix.patch merged Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
61b073aa6a
commit
961e87b7c9
@ -1,6 +1,6 @@
|
||||
diff -up bind-9.8.1rc1/bin/named/main.c.dyndb bind-9.8.1rc1/bin/named/main.c
|
||||
--- bind-9.8.1rc1/bin/named/main.c.dyndb 2011-03-11 07:47:00.000000000 +0100
|
||||
+++ bind-9.8.1rc1/bin/named/main.c 2011-08-31 14:25:02.244088457 +0200
|
||||
diff -up bind-9.9.0b1/bin/named/main.c.dyndb bind-9.9.0b1/bin/named/main.c
|
||||
--- bind-9.9.0b1/bin/named/main.c.dyndb 2011-03-11 07:11:21.000000000 +0100
|
||||
+++ bind-9.9.0b1/bin/named/main.c 2011-11-10 12:47:24.182292777 +0100
|
||||
@@ -45,6 +45,7 @@
|
||||
#include <isccc/result.h>
|
||||
|
||||
@ -18,10 +18,10 @@ diff -up bind-9.8.1rc1/bin/named/main.c.dyndb bind-9.8.1rc1/bin/named/main.c
|
||||
destroy_managers();
|
||||
|
||||
ns_server_destroy(&ns_g_server);
|
||||
diff -up bind-9.8.1rc1/bin/named/server.c.dyndb bind-9.8.1rc1/bin/named/server.c
|
||||
--- bind-9.8.1rc1/bin/named/server.c.dyndb 2011-08-02 06:58:45.000000000 +0200
|
||||
+++ bind-9.8.1rc1/bin/named/server.c 2011-08-31 14:29:04.261071645 +0200
|
||||
@@ -61,6 +61,7 @@
|
||||
diff -up bind-9.9.0b1/bin/named/server.c.dyndb bind-9.9.0b1/bin/named/server.c
|
||||
--- bind-9.9.0b1/bin/named/server.c.dyndb 2011-10-28 14:08:04.000000000 +0200
|
||||
+++ bind-9.9.0b1/bin/named/server.c 2011-11-10 12:47:24.185292777 +0100
|
||||
@@ -63,6 +63,7 @@
|
||||
#include <dns/db.h>
|
||||
#include <dns/dispatch.h>
|
||||
#include <dns/dlz.h>
|
||||
@ -29,7 +29,7 @@ diff -up bind-9.8.1rc1/bin/named/server.c.dyndb bind-9.8.1rc1/bin/named/server.c
|
||||
#include <dns/dns64.h>
|
||||
#include <dns/forward.h>
|
||||
#include <dns/journal.h>
|
||||
@@ -1151,6 +1152,72 @@ configure_peer(const cfg_obj_t *cpeer, i
|
||||
@@ -1164,6 +1165,72 @@ configure_peer(const cfg_obj_t *cpeer, i
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
@ -102,7 +102,7 @@ diff -up bind-9.8.1rc1/bin/named/server.c.dyndb bind-9.8.1rc1/bin/named/server.c
|
||||
disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) {
|
||||
isc_result_t result;
|
||||
const cfg_obj_t *algorithms;
|
||||
@@ -1562,6 +1629,7 @@ configure_view(dns_view_t *view, cfg_obj
|
||||
@@ -1575,6 +1642,7 @@ configure_view(dns_view_t *view, cfg_obj
|
||||
const cfg_obj_t *dlz;
|
||||
unsigned int dlzargc;
|
||||
char **dlzargv;
|
||||
@ -110,7 +110,7 @@ diff -up bind-9.8.1rc1/bin/named/server.c.dyndb bind-9.8.1rc1/bin/named/server.c
|
||||
const cfg_obj_t *disabled;
|
||||
const cfg_obj_t *obj;
|
||||
const cfg_listelt_t *element;
|
||||
@@ -1792,6 +1860,39 @@ configure_view(dns_view_t *view, cfg_obj
|
||||
@@ -1805,6 +1873,39 @@ configure_view(dns_view_t *view, cfg_obj
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ diff -up bind-9.8.1rc1/bin/named/server.c.dyndb bind-9.8.1rc1/bin/named/server.c
|
||||
/*
|
||||
* Obtain configuration parameters that affect the decision of whether
|
||||
* we can reuse/share an existing cache.
|
||||
@@ -4292,6 +4393,7 @@ load_configuration(const char *filename,
|
||||
@@ -4354,6 +4455,7 @@ load_configuration(const char *filename,
|
||||
cfg_aclconfctx_detach(&ns_g_aclconfctx);
|
||||
CHECK(cfg_aclconfctx_create(ns_g_mctx, &ns_g_aclconfctx));
|
||||
|
||||
@ -158,9 +158,9 @@ diff -up bind-9.8.1rc1/bin/named/server.c.dyndb bind-9.8.1rc1/bin/named/server.c
|
||||
/*
|
||||
* Parse the global default pseudo-config file.
|
||||
*/
|
||||
diff -up bind-9.8.1rc1/lib/dns/dynamic_db.c.dyndb bind-9.8.1rc1/lib/dns/dynamic_db.c
|
||||
--- bind-9.8.1rc1/lib/dns/dynamic_db.c.dyndb 2011-08-31 14:25:02.249088456 +0200
|
||||
+++ bind-9.8.1rc1/lib/dns/dynamic_db.c 2011-08-31 14:25:02.249088456 +0200
|
||||
diff -up bind-9.9.0b1/lib/dns/dynamic_db.c.dyndb bind-9.9.0b1/lib/dns/dynamic_db.c
|
||||
--- bind-9.9.0b1/lib/dns/dynamic_db.c.dyndb 2011-11-10 12:47:24.186292776 +0100
|
||||
+++ bind-9.9.0b1/lib/dns/dynamic_db.c 2011-11-10 12:47:24.186292776 +0100
|
||||
@@ -0,0 +1,366 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2008-2011 Red Hat, Inc.
|
||||
@ -528,9 +528,9 @@ diff -up bind-9.8.1rc1/lib/dns/dynamic_db.c.dyndb bind-9.8.1rc1/lib/dns/dynamic_
|
||||
+
|
||||
+ return args->timermgr;
|
||||
+}
|
||||
diff -up bind-9.8.1rc1/lib/dns/include/dns/dynamic_db.h.dyndb bind-9.8.1rc1/lib/dns/include/dns/dynamic_db.h
|
||||
--- bind-9.8.1rc1/lib/dns/include/dns/dynamic_db.h.dyndb 2011-08-31 14:25:02.249088456 +0200
|
||||
+++ bind-9.8.1rc1/lib/dns/include/dns/dynamic_db.h 2011-08-31 14:25:02.249088456 +0200
|
||||
diff -up bind-9.9.0b1/lib/dns/include/dns/dynamic_db.h.dyndb bind-9.9.0b1/lib/dns/include/dns/dynamic_db.h
|
||||
--- bind-9.9.0b1/lib/dns/include/dns/dynamic_db.h.dyndb 2011-11-10 12:47:24.186292776 +0100
|
||||
+++ bind-9.9.0b1/lib/dns/include/dns/dynamic_db.h 2011-11-10 12:47:24.186292776 +0100
|
||||
@@ -0,0 +1,50 @@
|
||||
+/*
|
||||
+ * Copyright (C) 2008-2011 Red Hat, Inc.
|
||||
@ -582,10 +582,10 @@ diff -up bind-9.8.1rc1/lib/dns/include/dns/dynamic_db.h.dyndb bind-9.8.1rc1/lib/
|
||||
+isc_timermgr_t *dns_dyndb_get_timermgr(dns_dyndb_arguments_t *args);
|
||||
+
|
||||
+#endif
|
||||
diff -up bind-9.8.1rc1/lib/dns/include/dns/log.h.dyndb bind-9.8.1rc1/lib/dns/include/dns/log.h
|
||||
--- bind-9.8.1rc1/lib/dns/include/dns/log.h.dyndb 2009-12-18 23:16:49.000000000 +0100
|
||||
+++ bind-9.8.1rc1/lib/dns/include/dns/log.h 2011-08-31 14:25:02.250088456 +0200
|
||||
@@ -74,6 +74,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodul
|
||||
diff -up bind-9.9.0b1/lib/dns/include/dns/log.h.dyndb bind-9.9.0b1/lib/dns/include/dns/log.h
|
||||
--- bind-9.9.0b1/lib/dns/include/dns/log.h.dyndb 2011-10-14 00:48:24.000000000 +0200
|
||||
+++ bind-9.9.0b1/lib/dns/include/dns/log.h 2011-11-10 12:47:24.187292776 +0100
|
||||
@@ -75,6 +75,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodul
|
||||
#define DNS_LOGMODULE_ACACHE (&dns_modules[25])
|
||||
#define DNS_LOGMODULE_DLZ (&dns_modules[26])
|
||||
#define DNS_LOGMODULE_DNSSEC (&dns_modules[27])
|
||||
@ -593,9 +593,9 @@ diff -up bind-9.8.1rc1/lib/dns/include/dns/log.h.dyndb bind-9.8.1rc1/lib/dns/inc
|
||||
|
||||
ISC_LANG_BEGINDECLS
|
||||
|
||||
diff -up bind-9.8.1rc1/lib/dns/include/dns/Makefile.in.dyndb bind-9.8.1rc1/lib/dns/include/dns/Makefile.in
|
||||
--- bind-9.8.1rc1/lib/dns/include/dns/Makefile.in.dyndb 2011-02-28 02:20:02.000000000 +0100
|
||||
+++ bind-9.8.1rc1/lib/dns/include/dns/Makefile.in 2011-08-31 14:25:02.250088456 +0200
|
||||
diff -up bind-9.9.0b1/lib/dns/include/dns/Makefile.in.dyndb bind-9.9.0b1/lib/dns/include/dns/Makefile.in
|
||||
--- bind-9.9.0b1/lib/dns/include/dns/Makefile.in.dyndb 2011-03-02 00:48:07.000000000 +0100
|
||||
+++ bind-9.9.0b1/lib/dns/include/dns/Makefile.in 2011-11-10 12:47:24.187292776 +0100
|
||||
@@ -22,7 +22,7 @@ top_srcdir = @top_srcdir@
|
||||
@BIND9_VERSION@
|
||||
|
||||
@ -605,9 +605,9 @@ diff -up bind-9.8.1rc1/lib/dns/include/dns/Makefile.in.dyndb bind-9.8.1rc1/lib/d
|
||||
dnssec.h ds.h events.h fixedname.h iptable.h journal.h \
|
||||
keyflags.h keytable.h keyvalues.h lib.h log.h \
|
||||
master.h masterdump.h message.h name.h ncache.h nsec.h \
|
||||
diff -up bind-9.8.1rc1/lib/dns/include/dns/types.h.dyndb bind-9.8.1rc1/lib/dns/include/dns/types.h
|
||||
--- bind-9.8.1rc1/lib/dns/include/dns/types.h.dyndb 2010-12-08 03:46:16.000000000 +0100
|
||||
+++ bind-9.8.1rc1/lib/dns/include/dns/types.h 2011-08-31 14:25:02.251088456 +0200
|
||||
diff -up bind-9.9.0b1/lib/dns/include/dns/types.h.dyndb bind-9.9.0b1/lib/dns/include/dns/types.h
|
||||
--- bind-9.9.0b1/lib/dns/include/dns/types.h.dyndb 2011-07-02 01:47:44.000000000 +0200
|
||||
+++ bind-9.9.0b1/lib/dns/include/dns/types.h 2011-11-10 12:47:24.187292776 +0100
|
||||
@@ -60,6 +60,7 @@ typedef struct dns_dbtable dns_dbtable
|
||||
typedef void dns_dbversion_t;
|
||||
typedef struct dns_dlzimplementation dns_dlzimplementation_t;
|
||||
@ -616,10 +616,10 @@ diff -up bind-9.8.1rc1/lib/dns/include/dns/types.h.dyndb bind-9.8.1rc1/lib/dns/i
|
||||
typedef struct dns_sdlzimplementation dns_sdlzimplementation_t;
|
||||
typedef struct dns_decompress dns_decompress_t;
|
||||
typedef struct dns_dispatch dns_dispatch_t;
|
||||
diff -up bind-9.8.1rc1/lib/dns/log.c.dyndb bind-9.8.1rc1/lib/dns/log.c
|
||||
--- bind-9.8.1rc1/lib/dns/log.c.dyndb 2009-12-19 00:49:03.000000000 +0100
|
||||
+++ bind-9.8.1rc1/lib/dns/log.c 2011-08-31 14:25:02.251088456 +0200
|
||||
@@ -80,6 +80,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns
|
||||
diff -up bind-9.9.0b1/lib/dns/log.c.dyndb bind-9.9.0b1/lib/dns/log.c
|
||||
--- bind-9.9.0b1/lib/dns/log.c.dyndb 2011-10-14 00:48:24.000000000 +0200
|
||||
+++ bind-9.9.0b1/lib/dns/log.c 2011-11-10 12:47:24.188292776 +0100
|
||||
@@ -81,6 +81,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns
|
||||
{ "dns/acache", 0 },
|
||||
{ "dns/dlz", 0 },
|
||||
{ "dns/dnssec", 0 },
|
||||
@ -627,11 +627,11 @@ diff -up bind-9.8.1rc1/lib/dns/log.c.dyndb bind-9.8.1rc1/lib/dns/log.c
|
||||
{ NULL, 0 }
|
||||
};
|
||||
|
||||
diff -up bind-9.8.1rc1/lib/dns/Makefile.in.dyndb bind-9.8.1rc1/lib/dns/Makefile.in
|
||||
--- bind-9.8.1rc1/lib/dns/Makefile.in.dyndb 2011-08-31 14:25:02.230088458 +0200
|
||||
+++ bind-9.8.1rc1/lib/dns/Makefile.in 2011-08-31 14:25:02.251088456 +0200
|
||||
diff -up bind-9.9.0b1/lib/dns/Makefile.in.dyndb bind-9.9.0b1/lib/dns/Makefile.in
|
||||
--- bind-9.9.0b1/lib/dns/Makefile.in.dyndb 2011-11-10 12:47:24.167292778 +0100
|
||||
+++ bind-9.9.0b1/lib/dns/Makefile.in 2011-11-10 12:48:03.124290065 +0100
|
||||
@@ -58,7 +58,7 @@ DNSOBJS = acache.@O@ acl.@O@ adb.@O@ bya
|
||||
cache.@O@ callbacks.@O@ compress.@O@ \
|
||||
cache.@O@ callbacks.@O@ clientinfo.@O@ compress.@O@ \
|
||||
db.@O@ dbiterator.@O@ dbtable.@O@ diff.@O@ dispatch.@O@ \
|
||||
dlz.@O@ dns64.@O@ dnssec.@O@ ds.@O@ forward.@O@ iptable.@O@ \
|
||||
- journal.@O@ keydata.@O@ keytable.@O@ \
|
||||
@ -640,7 +640,7 @@ diff -up bind-9.8.1rc1/lib/dns/Makefile.in.dyndb bind-9.8.1rc1/lib/dns/Makefile.
|
||||
master.@O@ masterdump.@O@ message.@O@ \
|
||||
name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ order.@O@ peer.@O@ \
|
||||
@@ -87,7 +87,7 @@ DNSSRCS = acache.c acl.c adb.c byaddr.c
|
||||
cache.c callbacks.c compress.c \
|
||||
cache.c callbacks.c clientinfo.c compress.c \
|
||||
db.c dbiterator.c dbtable.c diff.c dispatch.c \
|
||||
dlz.c dns64.c dnssec.c ds.c forward.c iptable.c journal.c \
|
||||
- keydata.c keytable.c lib.c log.c lookup.c \
|
||||
@ -660,9 +660,9 @@ diff -up bind-9.8.1rc1/lib/dns/Makefile.in.dyndb bind-9.8.1rc1/lib/dns/Makefile.
|
||||
libdns.@SA@: ${OBJS}
|
||||
${AR} ${ARFLAGS} $@ ${OBJS}
|
||||
${RANLIB} $@
|
||||
diff -up bind-9.8.1rc1/lib/isccfg/namedconf.c.dyndb bind-9.8.1rc1/lib/isccfg/namedconf.c
|
||||
--- bind-9.8.1rc1/lib/isccfg/namedconf.c.dyndb 2011-05-23 22:56:11.000000000 +0200
|
||||
+++ bind-9.8.1rc1/lib/isccfg/namedconf.c 2011-08-31 14:25:02.253088456 +0200
|
||||
diff -up bind-9.9.0b1/lib/isccfg/namedconf.c.dyndb bind-9.9.0b1/lib/isccfg/namedconf.c
|
||||
--- bind-9.9.0b1/lib/isccfg/namedconf.c.dyndb 2011-10-13 03:32:34.000000000 +0200
|
||||
+++ bind-9.9.0b1/lib/isccfg/namedconf.c 2011-11-10 12:47:24.190292776 +0100
|
||||
@@ -89,6 +89,7 @@ static cfg_type_t cfg_type_controls;
|
||||
static cfg_type_t cfg_type_controls_sockaddr;
|
||||
static cfg_type_t cfg_type_destinationlist;
|
||||
@ -671,7 +671,7 @@ diff -up bind-9.8.1rc1/lib/isccfg/namedconf.c.dyndb bind-9.8.1rc1/lib/isccfg/nam
|
||||
static cfg_type_t cfg_type_ixfrdifftype;
|
||||
static cfg_type_t cfg_type_key;
|
||||
static cfg_type_t cfg_type_logfile;
|
||||
@@ -860,6 +861,7 @@ namedconf_or_view_clauses[] = {
|
||||
@@ -871,6 +872,7 @@ namedconf_or_view_clauses[] = {
|
||||
{ "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI },
|
||||
/* only 1 DLZ per view allowed */
|
||||
{ "dlz", &cfg_type_dynamically_loadable_zones, 0 },
|
||||
@ -679,7 +679,7 @@ diff -up bind-9.8.1rc1/lib/isccfg/namedconf.c.dyndb bind-9.8.1rc1/lib/isccfg/nam
|
||||
{ "server", &cfg_type_server, CFG_CLAUSEFLAG_MULTI },
|
||||
{ "trusted-keys", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI },
|
||||
{ "managed-keys", &cfg_type_managedkeys, CFG_CLAUSEFLAG_MULTI },
|
||||
@@ -1860,6 +1862,40 @@ static cfg_type_t cfg_type_dialuptype =
|
||||
@@ -1878,6 +1880,40 @@ static cfg_type_t cfg_type_dialuptype =
|
||||
&cfg_rep_string, dialup_enums
|
||||
};
|
||||
|
||||
|
20
bind.spec
20
bind.spec
@ -3,10 +3,10 @@
|
||||
#
|
||||
|
||||
#%define PATCHVER P4
|
||||
#%define PREVER rc1
|
||||
#%define VERSION %{version}%{PREVER}
|
||||
%define PREVER b1
|
||||
#%define VERSION %{version}
|
||||
#%define VERSION %{version}-%{PATCHVER}
|
||||
%define VERSION %{version}
|
||||
%define VERSION %{version}%{PREVER}
|
||||
|
||||
%{?!SDB: %define SDB 1}
|
||||
%{?!test: %define test 0}
|
||||
@ -21,8 +21,8 @@
|
||||
Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
|
||||
Name: bind
|
||||
License: ISC
|
||||
Version: 9.8.1
|
||||
Release: 4%{?dist}
|
||||
Version: 9.9.0
|
||||
Release: 0.1.%{PREVER}%{?dist}
|
||||
Epoch: 32
|
||||
Url: http://www.isc.org/products/BIND/
|
||||
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
@ -67,9 +67,10 @@ Patch118:bind97-rh699951.patch
|
||||
Patch119:bind97-rh693982.patch
|
||||
Patch120:bind97-rh700097.patch
|
||||
Patch121:bind97-rh714049.patch
|
||||
Patch122:bind98-dlz_buildfix.patch
|
||||
Patch123:bind98-rh735103.patch
|
||||
Patch124:nslookup-norec.patch
|
||||
Patch125:bind99-buildfix.patch
|
||||
Patch126:bind99-v6only.patch
|
||||
|
||||
# SDB patches
|
||||
Patch11: bind-9.3.2b2-sdbsrc.patch
|
||||
@ -290,11 +291,12 @@ mkdir m4
|
||||
%patch119 -p1 -b .rh693982
|
||||
%patch120 -p1 -b .rh700097
|
||||
%patch121 -p1 -b .rh714049
|
||||
%patch122 -p1 -b .dlz_buildfix
|
||||
%patch123 -p1 -b .rh735103
|
||||
pushd bin/dig
|
||||
%patch124 -p0 -b .nslookup-norec
|
||||
popd
|
||||
%patch125 -p1 -b .buildfix
|
||||
%patch126 -p1 -b .v6only
|
||||
|
||||
# Sparc and s390 arches need to use -fPIE
|
||||
%ifarch sparcv9 sparc64 s390 s390x
|
||||
@ -765,6 +767,10 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Nov 11 2011 Adam Tkac <atkac redhat com> 32:9.9.0-0.1.b1
|
||||
- update to 9.9.0b1
|
||||
- bind98-dlz_buildfix.patch merged
|
||||
|
||||
* Fri Oct 28 2011 Adam Tkac <atkac redhat com> 32:9.8.1-4
|
||||
- nslookup failed to resolve name in certain cases
|
||||
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff -up bind-9.8.1rc1/bin/tests/system/dlzexternal/Makefile.in.dlz_buildfix bind-9.8.1rc1/bin/tests/system/dlzexternal/Makefile.in
|
||||
diff -up bind-9.8.1rc1/bin/tests/system/Makefile.in.dlz_buildfix bind-9.8.1rc1/bin/tests/system/Makefile.in
|
||||
--- bind-9.8.1rc1/bin/tests/system/Makefile.in.dlz_buildfix 2011-08-31 17:04:34.466423526 +0200
|
||||
+++ bind-9.8.1rc1/bin/tests/system/Makefile.in 2011-08-31 17:04:38.512423247 +0200
|
||||
@@ -21,7 +21,7 @@ top_srcdir = @top_srcdir@
|
||||
|
||||
@BIND9_MAKE_INCLUDES@
|
||||
|
||||
-SUBDIRS = dlzexternal filter-aaaa lwresd rpz tkey tsiggss
|
||||
+SUBDIRS = filter-aaaa lwresd rpz tkey tsiggss
|
||||
TARGETS =
|
||||
|
||||
@BIND9_MAKE_RULES@
|
||||
diff -up bind-9.8.1rc1/contrib/dlz/drivers/sdlz_helper.c.dlz_buildfix bind-9.8.1rc1/contrib/dlz/drivers/sdlz_helper.c
|
||||
--- bind-9.8.1rc1/contrib/dlz/drivers/sdlz_helper.c.dlz_buildfix 2010-05-14 08:29:37.000000000 +0200
|
||||
+++ bind-9.8.1rc1/contrib/dlz/drivers/sdlz_helper.c 2011-08-31 16:53:47.736468453 +0200
|
||||
@@ -50,7 +50,7 @@
|
||||
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
-#ifdef DLZ
|
||||
+#ifdef CONTRIB_DLZ
|
||||
|
||||
#include <config.h>
|
||||
|
29
bind99-v6only.patch
Normal file
29
bind99-v6only.patch
Normal file
@ -0,0 +1,29 @@
|
||||
diff -up bind-9.9.0b1/lib/isc/unix/socket.c.v6only bind-9.9.0b1/lib/isc/unix/socket.c
|
||||
--- bind-9.9.0b1/lib/isc/unix/socket.c.v6only 2011-11-10 14:35:26.457842491 +0100
|
||||
+++ bind-9.9.0b1/lib/isc/unix/socket.c 2011-11-10 14:38:55.928827943 +0100
|
||||
@@ -5726,7 +5726,24 @@ isc__socket_ipv6only(isc_socket_t *sock0
|
||||
|
||||
#ifdef IPV6_V6ONLY
|
||||
if (sock->pf == AF_INET6) {
|
||||
- if (setsockopt(sock->fd, IPPROTO_IPV6, IPV6_V6ONLY,
|
||||
+ int current;
|
||||
+ socklen_t len = sizeof(int);
|
||||
+ if (getsockopt(sock->fd, IPPROTO_IPV6, IPV6_V6ONLY,
|
||||
+ (void *)¤t, &len) < 0 ) {
|
||||
+ char strbuf[ISC_STRERRORSIZE];
|
||||
+ isc__strerror(errno, strbuf, sizeof(strbuf));
|
||||
+ UNEXPECTED_ERROR(__FILE__, __LINE__,
|
||||
+ "getsockopt(%d, IPV6_V6ONLY) "
|
||||
+ "%s: %s", sock->fd,
|
||||
+ isc_msgcat_get(isc_msgcat,
|
||||
+ ISC_MSGSET_GENERAL,
|
||||
+ ISC_MSG_FAILED,
|
||||
+ "failed"),
|
||||
+ strbuf);
|
||||
+ }
|
||||
+
|
||||
+ if (current != onoff &&
|
||||
+ setsockopt(sock->fd, IPPROTO_IPV6, IPV6_V6ONLY,
|
||||
(void *)&onoff, sizeof(int)) < 0) {
|
||||
char strbuf[ISC_STRERRORSIZE];
|
||||
isc__strerror(errno, strbuf, sizeof(strbuf));
|
Loading…
Reference in New Issue
Block a user