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