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

430 Commits

Author SHA1 Message Date
Brian Wellington
f70336b8c9 Cleanups to TSIG/SIG(0) parsing. This should have no noticable effect except
rejecting a few more malformed packets (those with the TSIG/SIG(0) not the
last record) and making best-effort parsing handle multiple TSIG/SIG(0)/OPT in
a message.
2001-02-19 20:14:23 +00:00
Brian Wellington
3bd43bb300 ENSURE that a message's memory pools don't have any allocated data at the
end of msgreset().  This should trigger the mpctx->allocated != 0 assertion
when the leak occurs, not at server shutdown.
2001-02-18 23:46:26 +00:00
Andreas Gustafsson
5e1c2afd10 incorrect indentation 2001-02-15 19:09:55 +00:00
Andreas Gustafsson
1dd8ee4fd5 fctx_addopt() would leak an rdataset if dns_message_setopt() ever failed;
fixed it by making dns_message_setopt() guarantee to either adopt
or free the rdataset
2001-02-14 02:51:12 +00:00
Brian Wellington
4ce1248f09 fixed uninitialized variable 2001-02-13 01:29:33 +00:00
Brian Wellington
55f3daa4ea When parsing a message, add an offsets table to each name. Also allow callers
rendering a message to get temporary offsets tables to attach to names added
to the message.
2001-02-13 01:02:59 +00:00
Brian Wellington
94baac869a 712. [bug] Sending a large signed update message caused an
assertion failure. [RT #718]

- Resetting a message should clear the TSIG/SIG(0) sections
- Rerendering a message if the first try returned USETCP should not call
  dns_message_settsigkey() again.
2001-01-27 02:28:33 +00:00
Brian Wellington
21e82177fb make message->rcode a dns_rcode_t 2001-01-18 00:26:36 +00:00
Mark Andrews
19c7cce855 674. [func] Allow messages to be TSIG signed / verified using
a offset from the current time.
2001-01-09 23:35:33 +00:00
Brian Wellington
499b34cea0 copyright update 2001-01-09 22:01:04 +00:00
Brian Wellington
32e64787d9 671. [bug] The message code was failing to parse a message with
no question section and a TSIG record. [RT #628]
2001-01-09 02:55:42 +00:00
Brian Wellington
fff07c1022 665. [bug] Signed responses were not sent when the size of the
TSIG + question exceeded the maximum message size.
                        [RT #628]
2001-01-08 20:36:14 +00:00
Brian Wellington
efcd383461 Update forwarding when the message buffer was no longer copied. Fix this
by having the update forwarding code tell dns_message_parse to copy
the buffer.
2001-01-05 00:17:33 +00:00
Brian Wellington
0a569dfd5e When saving the query message (for SIG(0) or update forwarding), don't actually
do an allocate and copy, since the input buffer stays around.
2001-01-04 01:55:22 +00:00
Brian Wellington
ec772e873b 651. [func] The AD bit in responses now has the meaning
specified in <draft-ietf-dnsext-ad-is-secure>.
2001-01-04 00:24:26 +00:00
Brian Wellington
8d6fe3f388 Pointers to regions are silly. Use regions instead. This removes 1 small
allocation per query.
2001-01-03 20:42:10 +00:00
Brian Wellington
78838d3e0c 8 space -> tab conversion 2000-12-11 19:24:30 +00:00
Andreas Gustafsson
8db2b65318 more DNS_OPT_NEWCODES sanitation 2000-12-02 05:28:05 +00:00
Andreas Gustafsson
90ad126bb3 more DNS_OPT_NEWCODES sanitation 2000-12-02 04:44:51 +00:00
Andreas Gustafsson
294ae26fb3 more DNS_OPT_NEWCODES sanitation 2000-12-02 04:30:08 +00:00
Andreas Gustafsson
ab3f2d77bd sanitize away the DNS_OPT_NEWCODES stuff 2000-12-02 04:13:35 +00:00
Andreas Gustafsson
83c45e69f8 Accept any trailing garbage in messages, not just the Microsoft AXFR request
variety, logging a message at debug level 1.  We may or may not add an option to make this
conditional.
2000-11-22 23:09:58 +00:00
Brian Wellington
942d1a339b Decompression contexts now take a type instead of the "strict" boolean
value - the type can be "any", "strict", or "none".  This fixes potential
problems with compression in unknown rr types.
2000-11-14 23:29:55 +00:00
Andreas Gustafsson
febaa09184 551. [func] Implemented the 'sortlist' option. 2000-11-10 03:16:26 +00:00
Brian Wellington
bb71d64085 dns_message_checksig should not require a view in all cases 2000-10-27 21:56:57 +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
Michael Sawyer
c9c5b25473 Fix overzealous printing of newlines in message_[pseudo]sectiontotext(). 2000-10-20 20:40:46 +00:00
Mark Andrews
5e589b5356 Uninitalised link fixes, batch 1. 2000-10-20 02:21:58 +00:00
Brian Wellington
0e5d6900bd Various hacks to allow (at some point in the future) interoperability
with Windows 2000's broken implementation of TKEY.
2000-10-12 00:40:52 +00:00
Brian Wellington
703dfde61b An out of memory error could cause an assertion. 2000-10-11 23:57:38 +00:00
Michael Sawyer
dc570b92f6 Add support for proposed ZONE and VIEW opt attributes. These are currently
hidden behind #ifdef's, since no OPT code number has yet to be assigned
by the IANA.  They are also not quite complete in all regards; VIEW
options are understood and ignored.  ZONE options are understood and
acted upon, though some of the error cases aren't quite right.

Remove doubled isc_mem_stats in dighost.c

Update todo list.

Change literal 255's to DNS_NAME_MAXWIRE in name.c
2000-10-11 17:44:18 +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
d77d087809 uninitialized variables. oops. 2000-10-06 22:02:02 +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
Brian Wellington
5c29047792 minor dst api change 2000-09-12 09:59:28 +00:00
Mark Andrews
5126112bc3 438. [func] New function dns_message_getrawmessage(). 2000-09-11 05:55:27 +00:00
Brian Wellington
230aff0eac Fix the crash caused by a signed message not matching any view [RT #290].
This fixes the crash, but not the real problem, which is that the TSIG needs
to be verified even if there is no matching view.
2000-09-09 10:46:58 +00:00
Brian Wellington
abaec24086 429. [bug] The space reserved for a TSIG record in a response
was 2 bytes too short, leading to message
                        generation failures.
2000-09-07 21:08:52 +00:00
Brian Wellington
08eb1c80d2 dns_message_setsig0key was incorrectly requiring msg->buffer to be non-null. 2000-08-22 01:10:42 +00:00
Brian Wellington
67d3660cd6 The message code was checking to see if an rdata type could appear in the
question section, and returning a formerr if it was invalid.  This isn't
exactly right, since it should be the caller's responsibility to check, not
message_parse.  It definitely caused weirdness when parsing responses, and
the only places where queries were parsed already does the right thing.
2000-08-21 22:41:13 +00:00
Brian Wellington
f2338a0d6a Minor tsig cleanup. 2000-08-14 18:13:11 +00:00
Andreas Gustafsson
7d823f705d deal with nonstandard MS extension 2000-08-07 20:37:34 +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
David Lawrence
15a4474541 word wrap copyright notice at column 70 2000-07-27 09:55:03 +00:00
Brian Wellington
6dc130c7c9 351. [bug] Constructing a response with rcode SERVFAIL to a TSIG
signed query could crash the server.
2000-07-25 22:51:46 +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
Michael Graff
d2762d6c37 If the name is a dynamic name, free its memory 2000-07-10 20:46:02 +00:00
Andreas Gustafsson
428b78e56d RT #153: when invoked with type==CNAME and a message
not constructed by dns_message_parse(), dns_message_findname() failed to
find anything due to checking for attribute bits set only by dns_message_parse().
This caused an infinite loop when constructing the response to an ANY query
at a CNAME in a secure zone.
2000-06-29 19:49:43 +00:00
Andreas Gustafsson
824068b85b cut-and-paste-o: dns_message_findname() tested for
dns_rdatatype_cname twice instead of cname+dname
2000-06-29 18:58:32 +00:00
Michael Sawyer
167f530b5b Only test rendering class for != NONE/ANY in non-update messages 2000-06-23 20:47:23 +00:00