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

413 Commits

Author SHA1 Message Date
Andreas Gustafsson
88b0c72919 validator support code checkpoint: cache negative validation results;
don't access freed ftcx when validation canceled
2000-05-04 16:38:09 +00:00
Andreas Gustafsson
c9373cc535 checkpoint: call validator for negative responses 2000-05-02 18:10:19 +00:00
David Lawrence
6e49e91bd0 103. [func] libisc buffer API changes for <isc/buffer.h>:
Added:
                                isc_buffer_base(b)          (pointer)
                                isc_buffer_current(b)       (pointer)
                                isc_buffer_active(b)        (pointer)
                                isc_buffer_used(b)          (pointer)
                                isc_buffer_length(b)            (int)
                                isc_buffer_usedlength(b)        (int)
                                isc_buffer_consumedlength(b)    (int)
                                isc_buffer_remaininglength(b)   (int)
                                isc_buffer_activelength(b)      (int)
                                isc_buffer_availablelength(b)   (int)
                        Removed:
                                ISC_BUFFER_USEDCOUNT(b)
                                ISC_BUFFER_AVAILABLECOUNT(b)
                                isc_buffer_type(b)
                        Changed names:
                                isc_buffer_used(b, r) ->
                                        isc_buffer_usedregion(b, r)
                                isc_buffer_available(b, r) ->
                                        isc_buffer_available_region(b, r)
                                isc_buffer_consumed(b, r) ->
                                        isc_buffer_consumedregion(b, r)
                                isc_buffer_active(b, r) ->
                                        isc_buffer_activeregion(b, r)
                                isc_buffer_remaining(b, r) ->
                                        isc_buffer_remainingregion(b, r)

                        Buffer types were removed, so the ISC_BUFFERTYPE_*
                        macros are no more, and the type argument to
                        isc_buffer_init and isc_buffer_allocate were removed.
                        isc_buffer_putstr is now void (instead of isc_result_t)
                        and requires that the caller ensure that there
                        is enough available buffer space for the string.
2000-04-27 00:03:12 +00:00
Bob Halley
7525fa78c0 add XXXRTH comment about sending to ourselves 2000-04-26 19:25:01 +00:00
Brian Wellington
ec371edc34 Add 'type' as a parameter to dns_validator_create() 2000-04-20 20:43:52 +00:00
Andreas Gustafsson
ad4e4fe2a3 cache_name() sometimes returned DNS_R_UNCHANGED instead of DNS_R_SUCCESS,
causing some queries to secure domains to return SERVFAIL
2000-04-20 17:56:03 +00:00
Andreas Gustafsson
06fd648cf2 echeckpoint: check for shutdown condition in
validated(); purge posted timer events when stopping the idle timer
2000-04-20 17:05:37 +00:00
Brian Wellington
605b13c0dc Removed the restriction that answers under a security root must have SIG
records in the answer, since they might be in an unsecure subdomain.
2000-04-18 17:44:22 +00:00
Mark Andrews
1a1a2ad3e8 add dns_resolver_dispatchv4(), dns_resolver_dispatchv6() and
dns_resolver_socketmgr().
2000-04-18 08:30:24 +00:00
Michael Graff
0d89e0d55c fix a bug where ev_sender wasn't properly set, and convert sender, arg, action, etc. to ev_sender, ev_arg, ev_action, etc. 2000-04-17 19:21:30 +00:00
Andreas Gustafsson
fa44c25a93 checkpoint: the validated() function now does its thing
for positive validations, but does not yet handle things like shutdown
correctly
2000-04-13 22:35:49 +00:00
Brian Wellington
b5fff54fe9 SIG records were not properly negatively cached. 2000-04-13 17:01:19 +00:00
Andreas Gustafsson
3ae7579332 If a fetch with sigrdataset==NULL joined one with sigrdataset!=NULL
or vice versa, the resolver could catch an assertion or lose signature data,
respectively.
2000-04-13 16:43:02 +00:00
Brian Wellington
9c418665dd Responses containing multiple names in the authority section were not
negatively cached.
2000-04-12 19:27:15 +00:00
Bob Halley
738b9aa3de isc_task_create() API change 2000-04-12 01:41:21 +00:00
Andreas Gustafsson
1723fbf70a use the UNUSED() macro 2000-04-11 23:15:30 +00:00
Brian Wellington
48ba496518 Uncomment the dnssec validator related code that compiles. Without a
way to fill in the security roots tree, this code will not be called
yet in practice.
2000-04-07 17:34:28 +00:00
Michael Graff
4195904998 s/DNS_R_/ISC_R_/ change for some codes. 2000-04-06 22:03:35 +00:00
Brian Wellington
404e3e4738 SIGs weren't returned in the answer section when the query resulted in a fetch. 2000-04-04 21:13:45 +00:00
Bob Halley
1b4d50a081 When making an OPT RR, initialize rdata's type and rdclass fields to avoid
triggering an assertion.
2000-03-29 18:53:57 +00:00
Bob Halley
f187c911b8 use keytables 2000-03-16 23:59:33 +00:00
Brian Wellington
37d86b4a61 The resolver can now sign outgoing messages based on peer keys (from
the server keys statement).
2000-03-03 19:48:14 +00:00
Bob Halley
5300bfe023 We now check for queries which require EDNS, and don't try them without
EDNS if the remote server doesn't understand EDNS.
In certain error cases during the construction of a query the resolver tried
to free data twice.
Set AD and CD when making EDNS queries.
If resquery_send() fails after a TCP connection is established, fail the fctx
the same way we do for the UDP case.
Revisions in preparation for DNSSEC validation.
If we get a non-EDNS-related FORMERR from a server that is not a forwarder,
assume that all servers for the zone will return FORMERR.
Cope with YXDOMAIN.
2000-02-19 00:16:41 +00:00
Michael Graff
69a7905cf3 return 'avoid_bitstring' in dns_adbaddrinfo_t. If non-zero, the timer hasn't expired.
This means we need to pass 'now' into dns_adb_findaddrinfo() as well, to filter
out timers that have expired.
2000-02-16 00:16:36 +00:00
Bob Halley
b3fb6d6a29 lint 2000-02-14 23:19:45 +00:00
Bob Halley
cec8578e67 The fctx lifetime timer was not running a certain times. In particular, it
was not running for fctxs in the addrwait state.  If the underlying ADB finds
never timed out (which is possible since they generate fetches), the fctx
would exist until the server was shutdown.
2000-02-11 21:10:40 +00:00
Bob Halley
b599cfd793 RTT penalization was not happening for the nonresponding servers in
the very common case where some server responded with the answer.
This would prevent avoidance of the nonresponding servers,
significantly increasing latency.
2000-02-11 19:58:11 +00:00
Bob Halley
3f101f4e70 bad server support 2000-02-11 03:06:56 +00:00
Bob Halley
8f0c8ee6c6 If a referral doesn't make progress, don't follow it. 2000-02-07 22:25:04 +00:00
Bob Halley
7d32c065c7 update copyright 2000-02-03 23:50:32 +00:00
Bob Halley
712e318f76 The resolver didn't handle dispatcher events with non-success result codes
correctly.
2000-02-03 22:48:30 +00:00
Bob Halley
624f129514 An fctx that is shutting down should not be in ADDRWAIT mode. 2000-02-03 22:24:18 +00:00
Bob Halley
628b315462 If we have no addresses at all, but some have been pruned by the
ADB due to lameness, turn off lameness checking and try again.
2000-02-03 00:01:08 +00:00
Michael Graff
1a0e33bc20 implement DNS_ADBFIND_GLUEOK, DNS_ADBFIND_HINTOK, and DNS_ADBFIND_IGNORELAME 2000-02-02 23:24:04 +00:00
Bob Halley
37b4618a5b fctx_start() did not properly check the fctx exit conditions and could
try to destroy the fctx before the reference count went to zero (triggering
an assertion).
2000-02-02 20:27:56 +00:00
Bob Halley
e974143273 do not ever mark forwarders as lame 2000-02-01 02:16:17 +00:00
Bob Halley
8057b3a8e4 If dns_adb_createfind() returns DNS_R_ALIAS, do not leak the find.
If dns_adb_createfind() is not successful, don't give up immediately.  Instead,
keep trying to lookup the other nameserver names.
2000-01-28 20:17:32 +00:00
Bob Halley
f91c2ae744 basic priming support 2000-01-27 02:55:47 +00:00
Bob Halley
5b5ab09b34 eliminate port-wiring hack 2000-01-26 19:23:53 +00:00
Bob Halley
0df20c101e add v6 dispatcher and options to resolver creation routine 2000-01-26 16:57:48 +00:00
Bob Halley
d127026e58 force referral updates; name tasks 2000-01-25 19:27:30 +00:00
Andreas Gustafsson
1aa3837945 dns_rdatatype_totext() needs #include <dns/rdatatype.h> 2000-01-24 18:13:06 +00:00
Bob Halley
f8d472bac0 Minor cleanups. 2000-01-22 00:23:07 +00:00
Bob Halley
a7f0ce6fe7 Canceling or destroying a fetch no longer requires the resolver to be specified
as an argument to the function.
Conform to dns_adb_createfind() API changes.
cache_name() leaked the node reference in some cases; this would prevent
database cleanup from occurring later on.
2000-01-21 02:47:30 +00:00
Bob Halley
e8e4cccb4c domain and nameservers arguments to createfetch are now optional 2000-01-18 02:49:03 +00:00
Bob Halley
866fdff926 minor tweaks; added some assertions 2000-01-14 02:38:02 +00:00
Bob Halley
7c2fd18a36 support freezing; basic forwarding 2000-01-12 02:59:48 +00:00
Michael Graff
0941f35ad9 Start moving the dispatcher code to allow it to be used for wire format as well as for lightweight resolver daemon stuff. 2000-01-07 01:17:47 +00:00
Bob Halley
35b89fca89 If we're looking up the address of a nameserver who's name is a
subdomain of the query domain, tell the ADB to start looking at "." if
it doesn't know the address.  This keeps us from getting stuck if the
nameserver is beneath the zone cut and we don't know its address
(e.g. because the A record has expired).  By restarting from ".", we
ensure that any missing glue will be reestablished.

Misc. DNSSEC validation groundwork.
2000-01-06 00:56:18 +00:00
Michael Graff
733b16eb0b priority rendering 1999-12-22 03:22:59 +00:00