Update to 9.7.3 + minor fixes.

- fix dig +trace on dualstack systems (#674334)
- fix linkage order when building on system with older BIND (#665971)
- reduce number of gcc warnings

Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
Adam Tkac 2011-02-18 15:41:12 +01:00
parent b783612511
commit 9dbbf53ecc
6 changed files with 608 additions and 5 deletions

1
.gitignore vendored
View File

@ -8,3 +8,4 @@ bind-9.7.2b1.tar.gz
/bind-9.7.2-P3.tar.gz /bind-9.7.2-P3.tar.gz
/bind-9.7.3b1.tar.gz /bind-9.7.3b1.tar.gz
/bind-9.7.3rc1.tar.gz /bind-9.7.3rc1.tar.gz
/bind-9.7.3.tar.gz

View File

@ -3,10 +3,10 @@
# #
#%define PATCHVER P3 #%define PATCHVER P3
%define PREVER rc1 #%define PREVER rc1
#%define VERSION %{version}
#%define VERSION %{version}-%{PATCHVER} #%define VERSION %{version}-%{PATCHVER}
%define VERSION %{version}%{PREVER} #%define VERSION %{version}%{PREVER}
%define VERSION %{version}
%{?!SDB: %define SDB 1} %{?!SDB: %define SDB 1}
%{?!test: %define test 0} %{?!test: %define test 0}
@ -22,7 +22,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv
Name: bind Name: bind
License: ISC License: ISC
Version: 9.7.3 Version: 9.7.3
Release: 0.6.%{PREVER}%{?dist} Release: 1%{?dist}
Epoch: 32 Epoch: 32
Url: http://www.isc.org/products/BIND/ Url: http://www.isc.org/products/BIND/
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -61,6 +61,9 @@ Patch109:bind97-rh478718.patch
Patch110:bind97-rh570851.patch Patch110:bind97-rh570851.patch
Patch111:bind97-exportlib.patch Patch111:bind97-exportlib.patch
Patch112:bind97-rh645544.patch Patch112:bind97-rh645544.patch
Patch113:bind97-rh674334.patch
Patch114:bind97-rh665971.patch
Patch115:bind97-cleanup.patch
# SDB patches # SDB patches
Patch11: bind-9.3.2b2-sdbsrc.patch Patch11: bind-9.3.2b2-sdbsrc.patch
@ -296,6 +299,9 @@ mkdir m4
%patch110 -p1 -b .rh570851 %patch110 -p1 -b .rh570851
%patch111 -p1 -b .exportlib %patch111 -p1 -b .exportlib
%patch112 -p1 -b .rh645544 %patch112 -p1 -b .rh645544
%patch113 -p1 -b .rh674334
%patch114 -p1 -b .rh665971
%patch115 -p1 -b .cleanup
# Sparc and s390 arches need to use -fPIE # Sparc and s390 arches need to use -fPIE
%ifarch sparcv9 sparc64 s390 s390x %ifarch sparcv9 sparc64 s390 s390x
@ -764,6 +770,12 @@ rm -rf ${RPM_BUILD_ROOT}
%endif %endif
%changelog %changelog
* Fri Feb 18 2011 Adam Tkac <atkac redhat com> 32:9.7.3-1
- update to 9.7.3
- fix dig +trace on dualstack systems (#674334)
- fix linkage order when building on system with older BIND (#665971)
- reduce number of gcc warnings
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 32:9.7.3-0.6.rc1 * Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 32:9.7.3-0.6.rc1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

444
bind97-cleanup.patch Normal file
View File

@ -0,0 +1,444 @@
diff -up bind-9.7.3/bin/dig/dighost.c.cleanup bind-9.7.3/bin/dig/dighost.c
--- bind-9.7.3/bin/dig/dighost.c.cleanup 2011-02-18 15:28:59.505352049 +0100
+++ bind-9.7.3/bin/dig/dighost.c 2011-02-18 15:29:22.065302188 +0100
@@ -4300,7 +4300,6 @@ opentmpkey(isc_mem_t *mctx, const char *
char *tempnamekey = NULL;
int tempnamelen;
int tempnamekeylen;
- char *x;
char *cp;
isc_uint32_t which;
@@ -4323,11 +4322,11 @@ opentmpkey(isc_mem_t *mctx, const char *
return (ISC_R_FAILURE);
}
- x = cp--;
+ cp--;
while (cp >= tempname && *cp == 'X') {
isc_random_get(&which);
*cp = alphnum[which % (sizeof(alphnum) - 1)];
- x = cp--;
+ cp--;
}
tempnamekeylen = tempnamelen+5;
diff -up bind-9.7.3/bin/dnssec/dnssec-signzone.c.cleanup bind-9.7.3/bin/dnssec/dnssec-signzone.c
--- bind-9.7.3/bin/dnssec/dnssec-signzone.c.cleanup 2011-02-18 15:29:34.615274529 +0100
+++ bind-9.7.3/bin/dnssec/dnssec-signzone.c 2011-02-18 15:29:51.075239402 +0100
@@ -1467,7 +1467,6 @@ verifyzone(void) {
isc_boolean_t done = ISC_FALSE;
isc_boolean_t first = ISC_TRUE;
isc_boolean_t goodksk = ISC_FALSE;
- isc_boolean_t goodzsk = ISC_FALSE;
isc_result_t result;
unsigned char revoked_ksk[256];
unsigned char revoked_zsk[256];
@@ -1569,7 +1568,6 @@ verifyzone(void) {
#endif
if (zsk_algorithms[dnskey.algorithm] != 255)
zsk_algorithms[dnskey.algorithm]++;
- goodzsk = ISC_TRUE;
} else {
if (standby_zsk[dnskey.algorithm] != 255)
standby_zsk[dnskey.algorithm]++;
diff -up bind-9.7.3/bin/named/server.c.cleanup bind-9.7.3/bin/named/server.c
--- bind-9.7.3/bin/named/server.c.cleanup 2011-02-18 15:27:38.565530746 +0100
+++ bind-9.7.3/bin/named/server.c 2011-02-18 15:27:55.065494317 +0100
@@ -1413,7 +1413,6 @@ configure_view(dns_view_t *view, cfg_par
isc_uint32_t max_clients_per_query;
const char *sep = ": view ";
const char *viewname = view->name;
- const char *forview = " for view ";
isc_boolean_t rfc1918;
isc_boolean_t empty_zones_enable;
const cfg_obj_t *disablelist = NULL;
@@ -1458,7 +1457,6 @@ configure_view(dns_view_t *view, cfg_par
if (!strcmp(viewname, "_default")) {
sep = "";
viewname = "";
- forview = "";
}
/*
diff -up bind-9.7.3/contrib/dlz/drivers/dlz_postgres_driver.c.cleanup bind-9.7.3/contrib/dlz/drivers/dlz_postgres_driver.c
--- bind-9.7.3/contrib/dlz/drivers/dlz_postgres_driver.c.cleanup 2011-02-18 15:28:16.135447795 +0100
+++ bind-9.7.3/contrib/dlz/drivers/dlz_postgres_driver.c 2011-02-18 15:28:43.815387080 +0100
@@ -292,8 +292,10 @@ postgres_get_resultset(const char *zone,
unsigned int i = 0;
unsigned int j = 0;
+#if 0
/* temporarily get a unique thread # */
unsigned int dlz_thread_num = 1+(int) (1000.0*rand()/(RAND_MAX+1.0));
+#endif
REQUIRE(*rs == NULL);
diff -up bind-9.7.3/lib/bind9/check.c.cleanup bind-9.7.3/lib/bind9/check.c
--- bind-9.7.3/lib/bind9/check.c.cleanup 2011-02-18 15:26:31.305679252 +0100
+++ bind-9.7.3/lib/bind9/check.c 2011-02-18 15:27:21.205572047 +0100
@@ -1818,8 +1818,6 @@ check_trusted_key(const cfg_obj_t *key,
isc_log_t *logctx)
{
const char *keystr, *keynamestr;
- dns_fixedname_t fkeyname;
- dns_name_t *keyname;
isc_buffer_t keydatabuf;
isc_region_t r;
isc_result_t result = ISC_R_SUCCESS;
@@ -1830,7 +1828,6 @@ check_trusted_key(const cfg_obj_t *key,
flags = cfg_obj_asuint32(cfg_tuple_get(key, "flags"));
proto = cfg_obj_asuint32(cfg_tuple_get(key, "protocol"));
alg = cfg_obj_asuint32(cfg_tuple_get(key, "algorithm"));
- keyname = dns_fixedname_name(&fkeyname);
keynamestr = cfg_obj_asstring(cfg_tuple_get(key, "name"));
if (flags > 0xffff) {
diff -up bind-9.7.3/lib/dns/adb.c.cleanup bind-9.7.3/lib/dns/adb.c
--- bind-9.7.3/lib/dns/adb.c.cleanup 2011-02-18 15:18:50.436696481 +0100
+++ bind-9.7.3/lib/dns/adb.c 2011-02-18 15:19:16.686638556 +0100
@@ -1853,7 +1853,6 @@ check_expire_name(dns_adbname_t **namep,
static void
check_stale_name(dns_adb_t *adb, int bucket, isc_stdtime_t now) {
int victims, max_victims;
- isc_boolean_t result;
dns_adbname_t *victim, *next_victim;
isc_boolean_t overmem = isc_mem_isovermem(adb->mctx);
int scans = 0;
@@ -1875,7 +1874,7 @@ check_stale_name(dns_adb_t *adb, int buc
INSIST(!NAME_DEAD(victim));
scans++;
next_victim = ISC_LIST_PREV(victim, plink);
- result = check_expire_name(&victim, now);
+ (void) check_expire_name(&victim, now);
if (victim == NULL) {
victims++;
goto next;
diff -up bind-9.7.3/lib/dns/diff.c.cleanup bind-9.7.3/lib/dns/diff.c
--- bind-9.7.3/lib/dns/diff.c.cleanup 2011-02-18 15:20:02.006538543 +0100
+++ bind-9.7.3/lib/dns/diff.c 2011-02-18 15:20:28.426480612 +0100
@@ -264,7 +264,6 @@ diff_apply(dns_diff_t *diff, dns_db_t *d
dns_rdataset_t rds;
dns_rdataset_t ardataset;
dns_rdataset_t *modified = NULL;
- isc_boolean_t offline;
op = t->op;
type = t->rdata.type;
@@ -301,7 +300,6 @@ diff_apply(dns_diff_t *diff, dns_db_t *d
CHECK(dns_db_findnsec3node(db, name, ISC_TRUE,
&node));
- offline = ISC_FALSE;
while (t != NULL &&
dns_name_equal(&t->name, name) &&
t->op == op &&
@@ -323,8 +321,6 @@ diff_apply(dns_diff_t *diff, dns_db_t *d
namebuf, typebuf, classbuf,
(unsigned long) t->ttl,
(unsigned long) rdl.ttl);
- if (t->rdata.flags & DNS_RDATA_OFFLINE)
- offline = ISC_TRUE;
ISC_LIST_APPEND(rdl.rdata, &t->rdata, link);
t = ISC_LIST_NEXT(t, link);
}
diff -up bind-9.7.3/lib/dns/dnssec.c.cleanup bind-9.7.3/lib/dns/dnssec.c
--- bind-9.7.3/lib/dns/dnssec.c.cleanup 2011-02-18 15:20:39.306456222 +0100
+++ bind-9.7.3/lib/dns/dnssec.c 2011-02-18 15:21:31.896340160 +0100
@@ -1068,7 +1068,6 @@ isc_result_t
dns_dnsseckey_create(isc_mem_t *mctx, dst_key_t **dstkey,
dns_dnsseckey_t **dkp)
{
- isc_result_t result;
dns_dnsseckey_t *dk;
int major, minor;
@@ -1094,7 +1093,7 @@ dns_dnsseckey_create(isc_mem_t *mctx, ds
dk->ksk = ISC_TF((dst_key_flags(dk->key) & DNS_KEYFLAG_KSK) != 0);
/* Is this an old-style key? */
- result = dst_key_getprivateformat(dk->key, &major, &minor);
+ (void) dst_key_getprivateformat(dk->key, &major, &minor);
/* Smart signing started with key format 1.3 */
dk->legacy = ISC_TF(major == 1 && minor <= 2);
@@ -1673,9 +1672,6 @@ dns_dnssec_updatekeys(dns_dnsseckeylist_
/* No match found in keys; add the new key. */
if (key2 == NULL) {
- dns_dnsseckey_t *next;
-
- next = ISC_LIST_NEXT(key1, link);
ISC_LIST_UNLINK(*newkeys, key1, link);
ISC_LIST_APPEND(*keys, key1, link);
diff -up bind-9.7.3/lib/dns/gssapictx.c.cleanup bind-9.7.3/lib/dns/gssapictx.c
--- bind-9.7.3/lib/dns/gssapictx.c.cleanup 2011-02-18 15:25:53.975761658 +0100
+++ bind-9.7.3/lib/dns/gssapictx.c 2011-02-18 15:26:05.945735228 +0100
@@ -119,7 +119,6 @@ name_to_gbuffer(dns_name_t *name, isc_bu
{
dns_name_t tname, *namep;
isc_region_t r;
- isc_result_t result;
if (!dns_name_isabsolute(name))
namep = name;
@@ -132,7 +131,7 @@ name_to_gbuffer(dns_name_t *name, isc_bu
namep = &tname;
}
- result = dns_name_toprincipal(namep, buffer);
+ (void) dns_name_toprincipal(namep, buffer);
isc_buffer_putuint8(buffer, 0);
isc_buffer_usedregion(buffer, &r);
REGION_TO_GBUFFER(r, *gbuffer);
diff -up bind-9.7.3/lib/dns/rdata/generic/dlv_32769.c.cleanup bind-9.7.3/lib/dns/rdata/generic/dlv_32769.c
--- bind-9.7.3/lib/dns/rdata/generic/dlv_32769.c.cleanup 2011-02-18 15:22:02.456272719 +0100
+++ bind-9.7.3/lib/dns/rdata/generic/dlv_32769.c 2011-02-18 15:22:27.126218257 +0100
@@ -33,7 +33,6 @@ static inline isc_result_t
fromtext_dlv(ARGS_FROMTEXT) {
isc_token_t token;
unsigned char c;
- int length;
REQUIRE(type == 32769);
@@ -71,15 +70,6 @@ fromtext_dlv(ARGS_FROMTEXT) {
RETERR(uint8_tobuffer(token.value.as_ulong, target));
c = (unsigned char) token.value.as_ulong;
- /*
- * Digest.
- */
- if (c == DNS_DSDIGEST_SHA1)
- length = ISC_SHA1_DIGESTLENGTH;
- else if (c == DNS_DSDIGEST_SHA256)
- length = ISC_SHA256_DIGESTLENGTH;
- else
- length = -1;
return (isc_hex_tobuffer(lexer, target, -1));
}
diff -up bind-9.7.3/lib/dns/request.c.cleanup bind-9.7.3/lib/dns/request.c
--- bind-9.7.3/lib/dns/request.c.cleanup 2011-02-18 15:22:40.566188593 +0100
+++ bind-9.7.3/lib/dns/request.c 2011-02-18 15:23:25.766088820 +0100
@@ -428,12 +428,10 @@ req_send(dns_request_t *request, isc_tas
isc_region_t r;
isc_socket_t *socket;
isc_result_t result;
- unsigned int dispattr;
req_log(ISC_LOG_DEBUG(3), "req_send: request %p", request);
REQUIRE(VALID_REQUEST(request));
- dispattr = dns_dispatch_getattributes(request->dispatch);
socket = req_getsocket(request);
isc_buffer_usedregion(request->query, &r);
/*
diff -up bind-9.7.3/lib/dns/tkey.c.cleanup bind-9.7.3/lib/dns/tkey.c
--- bind-9.7.3/lib/dns/tkey.c.cleanup 2011-02-18 15:23:35.386067584 +0100
+++ bind-9.7.3/lib/dns/tkey.c 2011-02-18 15:23:52.796029159 +0100
@@ -70,10 +70,9 @@ static void
_dns_tkey_dumpmessage(dns_message_t *msg) {
isc_buffer_t outbuf;
unsigned char output[4096];
- isc_result_t result;
isc_buffer_init(&outbuf, output, sizeof(output));
- result = dns_message_totext(msg, &dns_master_style_debug, 0,
+ (void) dns_message_totext(msg, &dns_master_style_debug, 0,
&outbuf);
/* XXXMLG ignore result */
fprintf(stderr, "%.*s\n", (int)isc_buffer_usedlength(&outbuf),
diff -up bind-9.7.3/lib/dns/validator.c.cleanup bind-9.7.3/lib/dns/validator.c
--- bind-9.7.3/lib/dns/validator.c.cleanup 2011-02-18 15:24:02.276008230 +0100
+++ bind-9.7.3/lib/dns/validator.c 2011-02-18 15:24:20.245971006 +0100
@@ -1223,7 +1223,6 @@ authvalidated(isc_task_t *task, isc_even
dns_validatorevent_t *devent;
dns_validator_t *val;
dns_rdataset_t *rdataset;
- dns_rdataset_t *sigrdataset;
isc_boolean_t want_destroy;
isc_result_t result;
isc_boolean_t exists, data;
@@ -1233,7 +1232,6 @@ authvalidated(isc_task_t *task, isc_even
devent = (dns_validatorevent_t *)event;
rdataset = devent->rdataset;
- sigrdataset = devent->sigrdataset;
val = devent->ev_arg;
result = devent->result;
dns_validator_destroy(&val->subvalidator);
diff -up bind-9.7.3/lib/dns/zone.c.cleanup bind-9.7.3/lib/dns/zone.c
--- bind-9.7.3/lib/dns/zone.c.cleanup 2011-02-18 15:24:33.825938590 +0100
+++ bind-9.7.3/lib/dns/zone.c 2011-02-18 15:25:38.275796311 +0100
@@ -5647,11 +5647,11 @@ zone_nsec3chain(dns_zone_t *zone) {
dns_nsec3chainlist_t cleanup;
dst_key_t *zone_keys[MAXZONEKEYS];
isc_int32_t signatures;
- isc_boolean_t check_ksk, keyset_kskonly, is_ksk;
+ isc_boolean_t check_ksk, keyset_kskonly;
isc_boolean_t delegation;
isc_boolean_t first;
isc_result_t result;
- isc_stdtime_t now, inception, soaexpire, expire, stop;
+ isc_stdtime_t now, inception, soaexpire, expire;
isc_uint32_t jitter;
unsigned int i;
unsigned int nkeys = 0;
@@ -5716,7 +5716,6 @@ zone_nsec3chain(dns_zone_t *zone) {
*/
isc_random_get(&jitter);
expire = soaexpire - jitter % 3600;
- stop = now + 5;
check_ksk = DNS_ZONE_OPTION(zone, DNS_ZONEOPT_UPDATECHECKKSK);
keyset_kskonly = DNS_ZONE_OPTION(zone, DNS_ZONEOPT_DNSKEYKSKONLY);
@@ -5762,7 +5761,6 @@ zone_nsec3chain(dns_zone_t *zone) {
if (NSEC3REMOVE(nsec3chain->nsec3param.flags))
goto next_addchain;
- is_ksk = ISC_FALSE;
delegation = ISC_FALSE;
dns_dbiterator_current(nsec3chain->dbiterator, &node, name);
@@ -6481,12 +6479,11 @@ zone_sign(dns_zone_t *zone) {
isc_boolean_t build_nsec3 = ISC_FALSE;
isc_boolean_t first;
isc_result_t result;
- isc_stdtime_t now, inception, soaexpire, expire, stop;
+ isc_stdtime_t now, inception, soaexpire, expire;
isc_uint32_t jitter;
unsigned int i, j;
unsigned int nkeys = 0;
isc_uint32_t nodes;
- isc_boolean_t was_ksk;
dns_rdataset_init(&rdataset);
dns_fixedname_init(&fixed);
@@ -6538,7 +6535,6 @@ zone_sign(dns_zone_t *zone) {
*/
isc_random_get(&jitter);
expire = soaexpire - jitter % 3600;
- stop = now + 5;
/*
* We keep pulling nodes off each iterator in turn until
@@ -6583,8 +6579,6 @@ zone_sign(dns_zone_t *zone) {
delegation = ISC_FALSE;
- was_ksk = ISC_FALSE;
-
if (first && signing->delete) {
/*
* Remove the key we are deleting from consideration.
diff -up bind-9.7.3/lib/isc/httpd.c.cleanup bind-9.7.3/lib/isc/httpd.c
--- bind-9.7.3/lib/isc/httpd.c.cleanup 2011-02-18 15:17:22.936889562 +0100
+++ bind-9.7.3/lib/isc/httpd.c 2011-02-18 15:17:55.846816943 +0100
@@ -912,7 +912,6 @@ isc_httpd_senddone(isc_task_t *task, isc
{
isc_httpd_t *httpd = ev->ev_arg;
isc_region_t r;
- isc_result_t result;
isc_socketevent_t *sev = (isc_socketevent_t *)ev;
ENTER("senddone");
@@ -963,8 +962,8 @@ isc_httpd_senddone(isc_task_t *task, isc
r.base = (unsigned char *)httpd->recvbuf;
r.length = HTTP_RECVLEN - 1;
- result = isc_socket_recv(httpd->sock, &r, 1, task, isc_httpd_recvdone,
- httpd);
+ (void) isc_socket_recv(httpd->sock, &r, 1, task, isc_httpd_recvdone,
+ httpd);
out:
isc_event_free(&ev);
diff -up bind-9.7.3/lib/isc/string.c.cleanup bind-9.7.3/lib/isc/string.c
--- bind-9.7.3/lib/isc/string.c.cleanup 2011-02-18 15:18:09.786786183 +0100
+++ bind-9.7.3/lib/isc/string.c 2011-02-18 15:18:31.016739337 +0100
@@ -167,12 +167,11 @@ isc_string_printf(char *target, size_t s
void
isc_string_printf_truncate(char *target, size_t size, const char *format, ...) {
va_list args;
- size_t n;
REQUIRE(size > 0U);
va_start(args, format);
- n = vsnprintf(target, size, format, args);
+ (void) vsnprintf(target, size, format, args);
va_end(args);
ENSURE(strlen(target) < size);
diff -up bind-9.7.3/lib/isc/timer.c.cleanup bind-9.7.3/lib/isc/timer.c
--- bind-9.7.3/lib/isc/timer.c.cleanup 2011-02-18 15:30:32.385146946 +0100
+++ bind-9.7.3/lib/isc/timer.c 2011-02-18 15:31:22.585036094 +0100
@@ -333,7 +333,9 @@ schedule(isc__timer_t *timer, isc_time_t
static inline void
deschedule(isc__timer_t *timer) {
+#ifdef USE_TIMER_THREAD
isc_boolean_t need_wakeup = ISC_FALSE;
+#endif /* USE_TIMER_THREAD */
isc__timermgr_t *manager;
/*
@@ -342,8 +344,10 @@ deschedule(isc__timer_t *timer) {
manager = timer->manager;
if (timer->index > 0) {
+#ifdef USE_TIMER_THREAD
if (timer->index == 1)
need_wakeup = ISC_TRUE;
+#endif /* USE_TIMER_THREAD */
isc_heap_delete(manager->heap, timer->index);
timer->index = 0;
INSIST(manager->nscheduled > 0);
diff -up bind-9.7.3/lib/isc/unix/socket.c.cleanup bind-9.7.3/lib/isc/unix/socket.c
--- bind-9.7.3/lib/isc/unix/socket.c.cleanup 2011-02-18 15:15:10.247182323 +0100
+++ bind-9.7.3/lib/isc/unix/socket.c 2011-02-18 15:16:48.806964868 +0100
@@ -2751,7 +2751,6 @@ isc__socket_close(isc_socket_t *sock0) {
isc__socket_t *sock = (isc__socket_t *)sock0;
int fd;
isc__socketmgr_t *manager;
- isc_sockettype_t type;
REQUIRE(VALID_SOCKET(sock));
@@ -2771,7 +2770,6 @@ isc__socket_close(isc_socket_t *sock0) {
INSIST(sock->connect_ev == NULL);
manager = sock->manager;
- type = sock->type;
fd = sock->fd;
sock->fd = -1;
memset(sock->name, 0, sizeof(sock->name));
@@ -3689,7 +3687,6 @@ static isc_threadresult_t
watcher(void *uap) {
isc__socketmgr_t *manager = uap;
isc_boolean_t done;
- int ctlfd;
int cc;
#ifdef USE_KQUEUE
const char *fnname = "kevent()";
@@ -3701,6 +3698,7 @@ watcher(void *uap) {
#elif defined (USE_SELECT)
const char *fnname = "select()";
int maxfd;
+ int ctlfd;
#endif
char strbuf[ISC_STRERRORSIZE];
#ifdef ISC_SOCKET_USE_POLLWATCH
@@ -3710,7 +3708,9 @@ watcher(void *uap) {
/*
* Get the control fd here. This will never change.
*/
+#ifdef USE_SELECT
ctlfd = manager->pipe_fds[0];
+#endif
done = ISC_FALSE;
while (!done) {
do {

24
bind97-rh665971.patch Normal file
View File

@ -0,0 +1,24 @@
diff -up bind-9.7.3/lib/isccc/Makefile.in.rh665971 bind-9.7.3/lib/isccc/Makefile.in
--- bind-9.7.3/lib/isccc/Makefile.in.rh665971 2011-02-18 15:01:28.718993909 +0100
+++ bind-9.7.3/lib/isccc/Makefile.in 2011-02-18 15:01:41.718965257 +0100
@@ -71,7 +71,7 @@ libisccc.la: ${OBJS}
${LIBTOOL_MODE_LINK} \
${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccc.la -rpath ${libdir} \
-version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
- ${OBJS} ${LIBS} ${ISCLIBS}
+ ${OBJS} ${ISCLIBS} ${LIBS}
timestamp: libisccc.@A@
touch timestamp
diff -up bind-9.7.3/lib/isccfg/Makefile.in.rh665971 bind-9.7.3/lib/isccfg/Makefile.in
--- bind-9.7.3/lib/isccfg/Makefile.in.rh665971 2011-02-18 15:01:06.809042198 +0100
+++ bind-9.7.3/lib/isccfg/Makefile.in 2011-02-18 15:01:19.549014121 +0100
@@ -68,7 +68,7 @@ libisccfg.la: ${OBJS}
${LIBTOOL_MODE_LINK} \
${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisccfg.la -rpath ${libdir} \
-version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \
- ${OBJS} ${LIBS} ${DNSLIBS} ${ISCCCLIBS} ${ISCLIBS}
+ ${OBJS} ${DNSLIBS} ${ISCCCLIBS} ${ISCLIBS} ${LIBS}
timestamp: libisccfg.@A@
touch timestamp

122
bind97-rh674334.patch Normal file
View File

@ -0,0 +1,122 @@
diff -up bind-9.7.3/bin/dig/dig.c.rh674334 bind-9.7.3/bin/dig/dig.c
--- bind-9.7.3/bin/dig/dig.c.rh674334 2010-05-13 02:42:26.000000000 +0200
+++ bind-9.7.3/bin/dig/dig.c 2011-02-18 13:37:45.830518968 +0100
@@ -44,8 +44,6 @@
#include <dns/result.h>
#include <dns/tsig.h>
-#include <bind9/getaddresses.h>
-
#include <dig/dig.h>
#define ADD_STRING(b, s) { \
@@ -1429,30 +1427,6 @@ preparse_args(int argc, char **argv) {
}
static void
-getaddresses(dig_lookup_t *lookup, const char *host) {
- isc_result_t result;
- isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES];
- isc_netaddr_t netaddr;
- int count, i;
- dig_server_t *srv;
- char tmp[ISC_NETADDR_FORMATSIZE];
-
- result = bind9_getaddresses(host, 0, sockaddrs,
- DIG_MAX_ADDRESSES, &count);
- if (result != ISC_R_SUCCESS)
- fatal("couldn't get address for '%s': %s",
- host, isc_result_totext(result));
-
- for (i = 0; i < count; i++) {
- isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
- isc_netaddr_format(&netaddr, tmp, sizeof(tmp));
- srv = make_server(tmp, host);
- ISC_LIST_APPEND(lookup->my_server_list, srv, link);
- }
- addresscount = count;
-}
-
-static void
parse_args(isc_boolean_t is_batchfile, isc_boolean_t config_only,
int argc, char **argv) {
isc_result_t result;
@@ -1546,7 +1520,7 @@ parse_args(isc_boolean_t is_batchfile, i
if (strncmp(rv[0], "%", 1) == 0)
break;
if (strncmp(rv[0], "@", 1) == 0) {
- getaddresses(lookup, &rv[0][1]);
+ addresscount = getaddresses(lookup, &rv[0][1]);
} else if (rv[0][0] == '+') {
plus_option(&rv[0][1], is_batchfile,
lookup);
diff -up bind-9.7.3/bin/dig/dighost.c.rh674334 bind-9.7.3/bin/dig/dighost.c
--- bind-9.7.3/bin/dig/dighost.c.rh674334 2011-02-18 13:37:45.820518990 +0100
+++ bind-9.7.3/bin/dig/dighost.c 2011-02-18 13:37:45.830518968 +0100
@@ -1808,8 +1808,7 @@ followup_lookup(dns_message_t *msg, dig_
dns_rdata_freestruct(&ns);
/* Initialize lookup if we've not yet */
- debug("found NS %d %s", numLookups, namestr);
- numLookups++;
+ debug("found NS %s", namestr);
if (!success) {
success = ISC_TRUE;
lookup_counter++;
@@ -1831,9 +1830,8 @@ followup_lookup(dns_message_t *msg, dig_
domain = dns_fixedname_name(&lookup->fdomain);
dns_name_copy(name, domain, NULL);
}
- srv = make_server(namestr, namestr);
- debug("adding server %s", srv->servername);
- ISC_LIST_APPEND(lookup->my_server_list, srv, link);
+ debug("adding server %s", namestr);
+ numLookups += getaddresses(lookup, namestr);
dns_rdata_reset(&rdata);
}
}
@@ -3608,6 +3606,31 @@ get_address(char *host, in_port_t port,
return (ISC_R_SUCCESS);
}
+int
+getaddresses(dig_lookup_t *lookup, const char *host) {
+ isc_result_t result;
+ isc_sockaddr_t sockaddrs[DIG_MAX_ADDRESSES];
+ isc_netaddr_t netaddr;
+ int count, i;
+ dig_server_t *srv;
+ char tmp[ISC_NETADDR_FORMATSIZE];
+
+ result = bind9_getaddresses(host, 0, sockaddrs,
+ DIG_MAX_ADDRESSES, &count);
+ if (result != ISC_R_SUCCESS)
+ fatal("couldn't get address for '%s': %s",
+ host, isc_result_totext(result));
+
+ for (i = 0; i < count; i++) {
+ isc_netaddr_fromsockaddr(&netaddr, &sockaddrs[i]);
+ isc_netaddr_format(&netaddr, tmp, sizeof(tmp));
+ srv = make_server(tmp, host);
+ ISC_LIST_APPEND(lookup->my_server_list, srv, link);
+ }
+
+ return count;
+}
+
/*%
* Initiate either a TCP or UDP lookup
*/
diff -up bind-9.7.3/bin/dig/include/dig/dig.h.rh674334 bind-9.7.3/bin/dig/include/dig/dig.h
--- bind-9.7.3/bin/dig/include/dig/dig.h.rh674334 2011-02-18 13:37:45.820518990 +0100
+++ bind-9.7.3/bin/dig/include/dig/dig.h 2011-02-18 13:37:45.830518968 +0100
@@ -289,6 +289,9 @@ extern int idnoptions;
isc_result_t
get_address(char *host, in_port_t port, isc_sockaddr_t *sockaddr);
+int
+getaddresses(dig_lookup_t *lookup, const char *host);
+
isc_result_t
get_reverse(char *reverse, size_t len, char *value, isc_boolean_t ip6_int,
isc_boolean_t strict);

View File

@ -1,2 +1,2 @@
76857526420dc8e153ad688aeb5a2c4b config-8.tar.bz2 76857526420dc8e153ad688aeb5a2c4b config-8.tar.bz2
c377ab1425e563ff4d930293fa5d5d5e bind-9.7.3rc1.tar.gz 207477c4cf95f2db5be0ded8a22669e0 bind-9.7.3.tar.gz