Commit Graph
2430 Commits
Author SHA1 Message Date
Andreas Gustafsson b7ebc6a127 minor tweak to hash function of previous change 2000-07-20 01:15:25 +00:00
Andreas Gustafsson f969863d54 replaced the hash function in dns_name_hash() by one
that is simpler, faster, and produces a much more even distribution,
particularly when the data to hash ends with a null byte like domain
names often do
2000-07-20 01:14:48 +00:00
Andreas Gustafsson 99eba32b06 Removed the code added in revision 1.57:
"Store CNAMEs and their SIGs (if any) in their own name structure on
  the name list.  I.e. do not mix CNAMEs with non-CNAME data.  Do the
  same thing for DNAMEs."

because it caused DNSSEC validation of responses to ANY queries at
nodes with CNAME records to fail, and no one was able to figure out
why it was added in the first place.  As a beneficial side effect,
findname() now finds names even if they have attribute bits set
differently from the one being searched for.  This supersedes
the fix of revision 1.133.
2000-07-20 00:05:32 +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
Brian Wellington 209ec709f3 Use the isc hmac library instead of a separate implementation (not that
the separate implementation was especially complicated).  dst hmac-md5 should
really go away at some point.
2000-07-18 18:15:27 +00:00
James Brister 4ca8537286 Removed some debugging cruft.
Fixed handling of octal/hexadecimal numbers on input.
2000-07-18 13:19:27 +00:00
Brian Wellington 9df7d74e42 Use isc_base64_decodestring() instead of an explicit lexer. 2000-07-18 01:14:17 +00:00
Brian Wellington 49c8a96fba Don't require that tsig keys must be on a keyring. Also some other cleanup. 2000-07-18 00:46:03 +00:00
Brian Wellington 7a184cd4e5 don't copy a name structure, copy a pointer. 2000-07-18 00:44:52 +00:00
Brian Wellington f6579931b3 Added calls to isc_log_wouldlog() in additional logging functions. 2000-07-17 23:25:35 +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
David Lawrence 891a1bead8 Use new function dns_name_reset() to make a name have no data, instead
of dns_name_concatenate(NULL, NULL, name, NULL).

Define DNS_NAME_USELINE to get macroized name functions.  Removed
older FAST_COUNTLABELS and FAST_ISABSOLUTE to use standard name
interface, which are covered by DNS_NAME_USEINLINE.
2000-07-14 19:17:39 +00:00
David Lawrence da527e4ff6 332. [func] New function dns_name_reset(). 2000-07-14 19:12:54 +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 6bc1a64561 If a positive validation fails and it looks like the reason is that there
are no material DNSSEC signatures, try an insecurity proof.
2000-07-13 23:52:04 +00:00
Brian Wellington 4250285838 Return DNS_R_NAMETOOLONG in a few places where less useful errors were
returned before.
2000-07-13 18:10:18 +00:00
Brian Wellington 618e871c2e Add DNS_R_NAMETOOLONG 2000-07-13 02:41:20 +00:00
Andreas Gustafsson 9317787889 use isc_log_wouldlog() 2000-07-13 01:16:22 +00:00
Brian Wellington 2e1236ad1e Call isc_log_wouldlog() 2000-07-13 00:30:58 +00:00
Brian Wellington 945c32833b Call isc_log_wouldlog() in a few places. 2000-07-13 00:27:17 +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
Andreas Gustafsson 2c24bbb10b clarified warning messages 2000-07-12 16:17:38 +00:00
James Brister 8af589aea3 It's no longer a fatal error if a keys{} clause is missing on a control
channel definition, nor if the keys{} clause is empty. Warnings are
issued.
2000-07-12 15:36:09 +00:00
Andreas Gustafsson 403cc93b27 typo in log message 2000-07-11 22:44:33 +00:00
James Brister f4d9f465cd 327. [bug] rndc.conf parser wasn't correctly recognising an IP
address where a host specification was required.
2000-07-11 20:13:09 +00:00
James Brister adade77942 326. [func] 'keys' in an 'inet' control statement is now
required and must have at least one item in it.

                        warning is issued if a 'unix' control channel is
                        defined (not supported).
2000-07-11 19:09:10 +00:00
Andreas Gustafsson a4db2a47f5 incremented library version numbers to 1.0.0 2000-07-10 22:20:43 +00:00
Michael Graff d2762d6c37 If the name is a dynamic name, free its memory 2000-07-10 20:46:02 +00:00
Andreas Gustafsson 28059de4ef when a master file ends in a place where a newline is expected,
make the warning message say 'file does not end with newline' instead of
'unexpected end of file' to lead the user on the right tracks to fixing
the most likely cause.  Also, don't include the function name in the message.
2000-07-10 19:07:19 +00:00
David Lawrence d4868faf3f removed the port member from dns_c_ctrl_t; the port is put in the sockaddr. 2000-07-10 11:28:31 +00:00
David Lawrence 838281ed55 318. [func] dns_c_ndcctx_destroy() could never return anything
except ISC_R_SUCCESS; made it have void return instead.
2000-07-10 11:27:12 +00:00
Mark Andrews fd4810861c Warn on unexpected <eof> if input source is a file, treat as <eol><eof>
regardless of input source.
2000-07-10 05:15:04 +00:00
Mark Andrews d1e971ba02 316. [bug] EOF mid line should be a error.
315.   [bug]           Handle non-empty blanks lines.
2000-07-09 12:52:34 +00:00
Andreas Gustafsson f405ffddc8 added missing requirements 2000-07-08 17:27:28 +00:00
James Brister 475c936d4c 314. [func] Inet controls named.conf statement can now have
any non-negative number of keys specified.
2000-07-07 23:11:48 +00:00
James Brister b4124351ad typo in printing additional-data definition.. 2000-07-07 22:57:53 +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
James Brister 524c8ea0dc typo in print statement. 2000-07-07 14:30:00 +00:00
James Brister 952e9025b0 310. [func] Changes to named.conf "controls" statement (inet
subtype only)

                          - support "keys" clause

                                controls {
                                   inet * port 1024
                                        allow { any; } keys { "foo"; }
                                }

                          - allow "port xxx" to be left out of statement,
                            in which case it defaults to omapi's default port
                            of 953.
2000-07-07 13:56:14 +00:00
Brian Wellington 25496cebad If trying to validate a key set that happens to be a security root, the
validation should only consist of checking that each key in the key set
is also in the list of security root keys.

Strangeness occurs when the key set is signed, since the key set is marked
as secure, but the sig set is not, since it wasn't used in the validation
process.  This means that a query for a key set at a security root will
have the AD bit set if the key set is unsigned and not if the key set is signed.
2000-07-07 00:44:01 +00:00
David Lawrence 3658cf5419 comment cleanup (missing "not", spaces where tabs should have been) 2000-07-07 00:25:47 +00:00
David Lawrence 9fb4b3f08a Do not return an exact match from dns_rbt_findnode() when the exact
match does not have associated data and DNS_RBTFIND_EMPTYDATA is not set.
Return DNS_R_PARTIALMATCH instead if there is a superdomain with
data, or ISC_R_NOTFOUND if no superdomain has data.

Make dns_rbt_findname() honor DNS_RBTFIND_EMPTYDATA, per the rbt.h
documentation that has been saying it will.  It didn't.
2000-07-06 23:54:45 +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
Andreas Gustafsson b7b5dd0d10 treat all responses to AXFR requests as AXFR responses 2000-07-05 20:28:34 +00:00
Michael Graff 8681403c16 Shut up a gcc warning 2000-07-05 20:26:46 +00:00
Mark Andrews 8c1aa8573d 308. [bug] Treat a SOA record not at top of zone as an error
when loading a zone. (RT #154)
2000-07-04 04:28:44 +00:00
Mark Andrews 3cf456d58e zone_get_from_db() now does as much as is possible. 2000-07-04 04:21:38 +00:00
Mark Andrews 84cb41f729 new error code DNS_R_NOTZONETOP 2000-07-04 03:59:54 +00:00