2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-28 13:08:06 +00:00

329 Commits

Author SHA1 Message Date
Mark Andrews
bfcdcde570 implement lame-ttl. 2000-11-08 03:53:16 +00:00
Brian Wellington
fa3cbea8bf 541. [func] Add bogus server support. 2000-11-04 02:20:58 +00:00
Brian Wellington
a123725906 blackhole address matching broke the resolver 2000-11-03 22:53:14 +00:00
Brian Wellington
e21d199dca 539. [func] Support the blackhole option. 2000-11-03 02:45:55 +00:00
Mark Andrews
368b37b616 dns_rdata_invalidate -> dns_rdata_reset 2000-10-31 03:22:05 +00:00
Mark Andrews
c03bb27f06 532. [func] Implement DNS UPDATE pseudo records using
DNS_RDATA_UPDATE flag.

 531.   [func]          Rdata really should be initalized before being
                        assigned to (dns_rdata_fromwire(), dns_rdata_fromtext(),
                        dns_rdata_clone(), dns_rdata_fromregion()),
                        check that it is.
2000-10-25 04:26:57 +00:00
Mark Andrews
5e589b5356 Uninitalised link fixes, batch 1. 2000-10-20 02:21:58 +00:00
Bob Halley
c40085afa7 Fix problems with DNAME chain processing in the resolver, and with
retrievals of DNAMEs from the cache.  (Changes 516, 517, and 518).
2000-10-13 18:55:11 +00:00
Brian Wellington
d1cbf71409 clean up suspicious looking and incorrect uses of dns_name_fromregion 2000-10-07 00:09:28 +00:00
Brian Wellington
6850cdd449 508. [func] dns_message_parse() can now do a best-effort
attempt, which should allow dig to print more invalid
                        messages.
2000-10-06 18:58:30 +00:00
Mark Andrews
e549eb1242 494. [func] Do not cache NXDOMAIN responses for SOA queries. 2000-09-28 06:43:36 +00:00
Brian Wellington
f7fa8ec1a9 selective forwarding didn't quite work. 2000-09-15 22:41:07 +00:00
Brian Wellington
5e387b9ce6 and more calls to DESTROYLOCK 2000-08-26 01:37:00 +00:00
Brian Wellington
30e6ea9ded 405. [func] Add support for selective forwarding (forward zones) 2000-08-24 22:15:40 +00:00
Andreas Gustafsson
e1368a7770 397. [func] Added utility functions dns_view_gettsig() and
dns_view_getpeertsig().
2000-08-17 00:18:12 +00:00
Brian Wellington
9cd6710f91 validators can now be cancelled. 2000-08-15 00:21:05 +00:00
Andreas Gustafsson
1199d0ee34 use isc_sockaddr_anyofpf() 2000-08-09 19:11:27 +00:00
David Lawrence
40f53fa8d9 Trailing whitespace trimmed. Perhaps running "perl util/spacewhack.pl in your
own CVS tree will help minimize CVS conflicts.  Maybe not.
Blame Graff for getting me to trim all trailing whitespace.
2000-08-01 01:33:37 +00:00
Brian Wellington
4eabcbb83b In several places, the resolver assigned values to event->ev_sender simply
because the field couldn't be NULL (until recently).  They now use NULL.
2000-07-29 01:18:36 +00:00
Brian Wellington
cd54303345 357. [bug] The server would crash if a response contained both
a CNAME and records of the query type.
2000-07-28 22:37:47 +00:00
Brian Wellington
47846b7468 A comment was reformatted badly. 2000-07-27 22:05:04 +00:00
Brian Wellington
fbde30645b cd queries would cause the server to hang on exit. 2000-07-27 21:29:58 +00:00
Brian Wellington
f15af68028 negative responses to cd queries should work now. 2000-07-27 18:42:08 +00:00
David Lawrence
15a4474541 word wrap copyright notice at column 70 2000-07-27 09:55:03 +00:00
Brian Wellington
53dc771403 The CD bit changes broke insecurity proofs. They work again. 2000-07-26 00:03:18 +00:00
Brian Wellington
94ec6e9a1a whitespace fixes 2000-07-25 22:04:33 +00:00
Brian Wellington
69a761838b Support for the cd (checking disabled) bit. Also remove data from the
cache if validation fails.
2000-07-25 22:03:25 +00:00
Andreas Gustafsson
56f8b1c404 the "done" variable reintroduced in the previous revision
was not initialized
2000-07-24 23:55:19 +00:00
Andreas Gustafsson
6f12e3ca45 Restored the "done" variable removed in 1.150 and made
the result code check after the loop deal with ISC_R_SUCCESS
instead.  The previous fix had the side effect of keeping multiple
answers to non-ANY queries, causing assertion failures in cache_name()
which is not prepared to deal with this situation
2000-07-24 20:10:26 +00:00
Andreas Gustafsson
aa5940281a When handling the response to an ANY query in a secure zone, deal with
the multiple answer RRsets by validating each one separately.  Also,
eliminated the "done" variable in answer_response() because in the
rare situations where it got set to ISC_TRUE, it caused the function
to return prematurely by exiting a loop with a result of ISC_R_SUCCESS
and hitting a "if (result != ISC_R_NOMORE) return (result);" test
immediately following following the loop.

This should fix [RT #109], "ANY query in secure zone crashes server".
2000-07-19 23:19:05 +00:00
Andreas Gustafsson
0e65062acb strengthened the check added in the previous change:
the new query domain must not only be a non-child of the query name,
it must be a parent of the query name (or equal to the query name)
2000-07-16 18:26:18 +00:00
Andreas Gustafsson
64024eaa4d 333. [bug] The resolver incorrectly accepted referrals to
subdomains of the query domain, causing an
                        assertion failure.
2000-07-15 01:02:25 +00:00
Andreas Gustafsson
10f4e9668a the INSIST condition of 1.145 was too strong, weakened it;
dded another INSIST to help track down the INSIST(!external) crash
2000-07-14 00:37:27 +00:00
Andreas Gustafsson
55da37e18f removed dead code 2000-07-14 00:33:09 +00:00
Brian Wellington
ecb2897c71 Insist that when a fetch returns a successful event, the rdataset is associated.
A test failed about a week ago because this was not true, and because it
died in the event handler, diagnosing the problem was impossible.
2000-07-12 23:56:06 +00:00
David Lawrence
d20d22616b A socket result of ISC_R_SUCCESS can still possibly be posted even after
isc_socket_cancel() has been called.  resquery_senddone() has been fixed
to account for this (there was a race condition because of the faulty
assumption that only ISC_R_CANCELED would be returned after
isc_socket_cancel()).

The interaction of resquery_response() with the dispatcher now has to be
closely reviewed to make sure it does not have a similar problem with
a canceled query.  If the faulty assumption hadn't been faulty, it was
fine, but now I'm not so sure.
2000-07-07 19:43:14 +00:00
Brian Wellington
ca93ad9b9e If we're asking for a key and need to call dns_view_findzonecut(), set
the DNS_DB_NOEXACT flag.  This means that the resolver will start look for the
key at or above the parent zone, and will return the key set from the parent
zone if key sets are present in both the parent and child.
2000-07-06 02:33:43 +00:00
Michael Graff
8681403c16 Shut up a gcc warning 2000-07-05 20:26:46 +00:00
David Lawrence
96ab25294b 307. [bug] When canceling a query, the resolver didn't check for
isc_socket_sendto() calls that did not yet have their
			completion events posted, so it could (rarely) end up
			destroying the query context and then want to use
			it again when the send event posted, triggering an
			assertion as it tried to cancel an already-canceled
			query.  (RT #77)

... so now the resolver counts the number of outstanding isc_socket_sendto()s
and only destroys the query context when there are no more.
2000-07-04 01:19:20 +00:00
Michael Graff
0cd1ba32c1 put edns0 restarts back to 3, and fix up a few trace messages to be standard ones -- lower case first letter. 2000-06-28 16:30:29 +00:00
Michael Graff
7618ec31e3 bump restarts to 4. After 3, we change the retry times. This lets the query take longer, but it is more likely to succeed with EDNS0 if the server or the network is just slow, not broken. 2000-06-26 21:46:25 +00:00
Michael Graff
57ebb859ee After N restarts (currently 3) try again with EDNS0 disabled. 2000-06-26 21:07:36 +00:00
David Lawrence
9c3531d72a add RCS id string 2000-06-22 22:00:42 +00:00
Andreas Gustafsson
7bb1e299e1 269. [bug] Failed DNSSEC validations could cause an assertion
failure by causing clone_results() to be called with
                        with hevent->node == NULL.
2000-06-21 22:47:38 +00:00
Mark Andrews
3c671ac666 264. [func] Dispatch can not take TCP sockets in connecting
state.  Set DNS_DISPATCHATTR_CONNECTED when calling
                        dns_dispatch_createtcp() for connected TCP sockets
                        or call dns_dispatch_starttcp() when the socket is
                        connected.
2000-06-20 23:52:54 +00:00
Andreas Gustafsson
8bbc3795bf RT #133: fixed two separate bugs, each of which would cause a bus
error during shutdown of a busy caching server (specifically, one
making many outgoing TCP connections).

Bug 1: resquery_destroy() accessed query->fctx->res->mctx, even though
query->fctx could already be destroyed at this point.

Bug 2: resquery_connected() called fctx_done(query->fctx, result)
immediately after fctx_cancelquery(), which could destroy *query.

Also added some explanatory comments.
2000-06-16 01:16:39 +00:00
Andreas Gustafsson
9c11326b18 237. [bug] If connect() returned ENOBUFS when the resolver was
initiating a TCP query, the socket didn't get destroyed,
                        and the server did not shut down cleanly.  [RT #107]
2000-06-05 22:31:54 +00:00
David Lawrence
0b056755b2 225. [cleanup] The enumerated dns_rdatatype_* identifiers are now
cast to dns_rdatatype_t via macros of their same name
                        so that they are of the proper integral type wherever
                        a dns_rdatatype_t is needed.

(And a few prototypes that I recently bogusly changed to take "int" parameters
in place of "dns_rdatatype_t" to accomodate the type of an enum identifier
have been reverted to again properly take a dns_rdatatype_t.)
2000-06-01 21:42:42 +00:00
David Lawrence
6d12fdf966 Megacommit of many files.
Mostly, several functions that take pointers as arguments, almost
always char * pointers, had those pointers qualified with "const".
Those that returned pointers to previously const-qualified arguments
had their return values qualified as const.  Some structure members
were qualified as const to retain that attribute from the variables
from which they were assigned.

The macro DE_CONST is used to deal with a handful of very special
places where something is qualified as const but really needs to have
its const qualifier removed.

rdata.c now defines macros for the prototypes of the basic rdata functions,
and all of the lib/dns/rdata/**/*.c files now use them.

Some minor integer-compatibility issues.  (IE, ~0x03 is a signed int,
so assigning it to an unsigned int should use a cast.  The type of an
enum member is int, so there are some conversion issues there, too.)

A pointers-to-function should not be cast to a pointer-to-object.

Variables should not be named for C reserved identifiers.

One or two set-but-not-used variables removed.

Minor other ISC style cleanups.
2000-06-01 18:26:56 +00:00
Michael Graff
d98c74e2ec set the default destination port in the view, and use it when returning addresses from the adb. 2000-06-01 00:30:58 +00:00