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
Brian Wellington
22057930cd
TSIG AXFR verify leaked memory when talking to a BIND 8 server.
2000-06-23 02:07:58 +00:00
David Lawrence
9c3531d72a
add RCS id string
2000-06-22 22:00:42 +00:00
Michael Sawyer
9b3a69e6a7
Improved printing of DynDNS packets in *totext.
2000-06-16 18:48:41 +00:00
Michael Sawyer
6dd86183b0
Revert 1.126 -> 1.125
2000-06-16 18:27:49 +00:00
Michael Sawyer
3238566d66
Change counts on message_totext to use update names when un update message
...
Improve handling of rdatasets without rdata.
2000-06-16 17:48:05 +00:00
Michael Sawyer
58c40ca8bd
Modify message_sectiontotext() to use update section names when opcode
...
is update.
2000-06-09 01:46:59 +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
Brian Wellington
7a97b7630f
dns_message_gettsig/getsig0 cleanup
2000-06-01 01:30:55 +00:00
Brian Wellington
fe0e3c7707
Rename message->tsigset/querytsigset to tsig/querytsig.
2000-05-31 23:58:35 +00:00
Brian Wellington
b6e9d91ff0
dns_message_rendersection left the buffer in a corrupted state if there
...
was reserved space in the message and the section had no names.
2000-05-30 23:47:56 +00:00
Brian Wellington
0f80bfec68
The message code now has functions to manipulate TSIG and SIG(0), and the
...
callers use these functions. Also a lot of TSIG cleanup.
2000-05-30 23:14:57 +00:00
Brian Wellington
af60263664
Added dns_tsigkey_attach & _detach, to simplify reference counting.
...
Added dns_message_get/settsigkey to deuglify tsig key handling in message code.
2000-05-26 00:16:46 +00:00
Brian Wellington
a9bc95f22e
dst now stores the key name as a dns_name_t, not a char *.
2000-05-24 23:13:32 +00:00
Michael Sawyer
194de894f0
Slight change to printing of \n's.
2000-05-24 19:28:31 +00:00
Michael Sawyer
c7868e2262
Modify dns_message_totext, dns_message_sectiontotext,
...
dns_message_pseudosectiontotext to use bitfields instead of flags
2000-05-24 18:17:53 +00:00
David Lawrence
ed019cabc1
fixed lines > 79 columns wide
2000-05-24 05:10:00 +00:00
David Lawrence
2e4ad2f406
removed unreachable break statements that followed return statements
2000-05-24 02:42:03 +00:00
Brian Wellington
41faaa9b35
If an incoming message contains a SIG(0), store the rdataset owner name
...
in the message structure, even though it should be the root. Also,
return this name in dns_message_getsig0().
2000-05-23 23:35:54 +00:00
Brian Wellington
81b438273a
Commented hard to understand behavior in dns_message_signer
2000-05-23 00:23:42 +00:00
Brian Wellington
c637772ac3
Attempting to delete a SIG set with dynamic update crashed the server.
2000-05-23 00:09:09 +00:00
Brian Wellington
7e8dd00fce
More tsig rdatastruct problems fixed
2000-05-22 23:17:22 +00:00
Michael Sawyer
54229947d3
Change strlen to sizeof.
2000-05-22 22:41:24 +00:00
Michael Sawyer
1ed4ba5a1f
Add pseudosection printing, and dns_message_pseudosectiontotext().
2000-05-22 21:22:06 +00:00
Brian Wellington
d1eee46938
fixes to dns_message_sectiontotext for the question section
2000-05-20 02:00:29 +00:00
Michael Sawyer
9dca36b2ab
Remove unused no_rdata_or_ttl flag from message_totext and message_sectiontotest routines.
2000-05-20 01:29:58 +00:00
Brian Wellington
c610d78e67
changes to the rdata_tostruct api had broken tsig/tkey
2000-05-19 22:11:20 +00:00
Brian Wellington
c50936eb40
changed dst_key_free() prototype, misc. dst cleanup
2000-05-19 00:20:59 +00:00
Andreas Gustafsson
0fd13c7aca
reversed previous change: data that is neither secure not pending
...
is assumed to be from insecure zones and therefore should have AD set
per server policy
2000-05-18 01:40:56 +00:00
Andreas Gustafsson
b2d0b835c7
for purposes of clearing the AD bit, consider all trust levels below dns_trust_secure to be 'pending'
2000-05-16 22:16:02 +00:00
Michael Sawyer
c95a89b433
Added dns_message_sectiontotext() and dns_message_totext() functions.
2000-05-15 17:49:57 +00:00
David Lawrence
6028d1ce03
Needs string.h for function prototypes. For some reason gcc and other
...
compilers do not warn about the missing str*/mem* prototypes.
2000-05-08 19:23:32 +00:00
David Lawrence
1a69a1a78c
Megacommit of dozens of files.
...
Cleanup of redundant/useless header file inclusion.
ISC style lint, primarily for function declarations and standalone
comments -- ie, those that appear on a line without any code, which
should be written as follows:
/*
* This is a comment.
*/
2000-05-08 14:38:29 +00:00
Andreas Gustafsson
94a08e09db
Check for edns1 and strict decompression once and for all in
...
dns_[de]compress_setmethods instead of separately in every caller
2000-05-04 22:19:34 +00:00
David Lawrence
09f22ac5b0
Redundant header work, mostly removing <dns/result.h> from installed
...
headers and adding it to source files that need it.
2000-05-02 03:54:17 +00:00
Andreas Gustafsson
97f75286ad
corrupted requests with multiple questions could
...
cause assertion failure (fix from Bob)
2000-04-28 23:48:49 +00:00
Mark Andrews
b8dd48ecf8
119. [cleanup] structure definitions for generic rdata stuctures do
...
not have _generic_ in their names.
2000-04-28 02:08:37 +00:00
Bob Halley
364a82f7c2
include isc/util.h
2000-04-28 01:12:23 +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
Brian Wellington
6f17d90364
Partial support for SIG(0) on incoming messages - works when we have the
...
key and it's marked as secure (that is, when no validator or fetch is needed).
2000-04-20 19:51:39 +00:00
Michael Graff
c0a8689438
use correct type, not int
2000-04-14 23:03:13 +00:00
Michael Graff
5d4660ccb5
maila/mailb are only allowed as questions, too
2000-04-14 22:59:01 +00:00
Michael Graff
7ec579cd5d
Add functions to check that a type is only or is not allowed in a question section
2000-04-14 20:13:49 +00:00
Michael Graff
3bb3b7ac46
implement singleton type checking
2000-04-14 18:36:45 +00:00
Brian Wellington
dc3fc5830a
A couple minor bugs relating to TCP TSIG verification
2000-04-08 04:40:21 +00:00
Michael Graff
4195904998
s/DNS_R_/ISC_R_/ change for some codes.
2000-04-06 22:03:35 +00:00
Brian Wellington
5caab9f99d
TSIG and SIG(0) are no longer message pseudosections.
2000-03-29 01:32:22 +00:00
David Lawrence
ecb6c5782e
exorcized local compression
2000-03-23 05:18:46 +00:00
Brian Wellington
9dee95b41c
code review - minor formatting changes, remove duplicate assignment,
...
add a comment to reinspect a loop later
2000-03-18 01:00:57 +00:00
Mark Andrews
acb0311b11
dns_message_renderreset should cause the message to forget the render
...
buffer.
2000-03-16 06:51:04 +00:00
Brian Wellington
f7fbd68b1c
added msg.verify_attempted, renamed msg.verify_sig0 to verify_sig
2000-03-13 19:27:35 +00:00
Brian Wellington
2871292a56
Require that a message hasn't already been signed before signing it.
...
Hopefully this will never be triggered.
2000-03-03 19:46:15 +00:00
Bob Halley
435abcf2e2
add dns_message_renderreset()
2000-02-24 19:37:28 +00:00
Bob Halley
7d32c065c7
update copyright
2000-02-03 23:50:32 +00:00
Brian Wellington
b6666e61dc
More TSIG/TKEY minor fixes (including a few more plugged memory leaks)
2000-01-22 04:45:17 +00:00
Brian Wellington
b984520acc
major TSIG/TKEY cleanup
2000-01-21 20:18:41 +00:00
Michael Graff
3ddd814a97
dns_result_t is no more. s/dns_result_t/isc_result_t/ -- more later, when I need a break.
1999-12-23 00:09:04 +00:00
Michael Graff
733b16eb0b
priority rendering
1999-12-22 03:22:59 +00:00
Michael Graff
59602a4485
set DNS_RDATASETATTR_TTLADJUSTED when the ttl's for rdata don't match
1999-12-17 00:21:38 +00:00
Mark Andrews
271154eafd
dns_message_reply(): copy the question section of notify messages.
1999-12-15 07:28:51 +00:00
Mark Andrews
8b791b4ee8
'covers' was not being set when extracting questions from a incoming message,
...
set covers to zero.
1999-12-15 02:25:35 +00:00
Bob Halley
5eb8688b78
fix memory leak; dns_message_renderrelease() is now void
1999-11-25 01:58:16 +00:00
Bob Halley
7ab5937e0b
turn off AD if we have rendered pending data
1999-11-23 20:53:34 +00:00
Michael Graff
fb12d257ef
plug some memory leaks found durring interop testing
1999-11-09 05:39:45 +00:00
Michael Graff
499371d17c
call dns_rdataset_init() on temprdatasets returned from
...
dns_message_gettemprdataset(). This is the only way to
allow us to insist that they are not associated when
returned via puttemprdataset().
1999-11-04 06:59:59 +00:00
Brian Wellington
5c688a008a
A bit of SIG(0) cleanup
1999-11-02 22:58:29 +00:00
Michael Graff
f2762b0d99
check for more things with INSIST()
1999-11-02 21:29:13 +00:00
Brian Wellington
0b764d91c9
- updates to dns_message_signer to handle SIG(0) as well as TSIG
...
- SIG(0)'s can be rendered, and information is stored to allow them to be
verified after parsing. This needs some cleanup work done.
1999-11-02 19:59:04 +00:00
Brian Wellington
06f9d6486e
dns_message_signer update
1999-10-28 14:18:52 +00:00
Brian Wellington
e5c7544550
dns_message_signer
1999-10-27 22:25:55 +00:00
Michael Graff
0583bf2d0a
set names on mempools
1999-10-27 19:33:49 +00:00
Brian Wellington
1672aaee14
tkey processing
1999-10-25 21:07:01 +00:00
Bob Halley
004da17157
Make the public version of findname() set attributes appropriately.
1999-10-20 23:28:10 +00:00
David Lawrence
c866769e66
more INSISTs for proper range before passing integers to isc_buffer_putuint16
1999-10-17 22:31:03 +00:00
Bob Halley
2f6040ed67
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.
1999-10-17 19:20:20 +00:00
Brian Wellington
949d406b57
reference counting on TSIG keys. Necessary for TKEY delete
1999-10-08 20:14:47 +00:00
Brian Wellington
3f6dc1703f
tsig structure/function name change
1999-10-08 18:37:24 +00:00
Brian Wellington
069104dd6a
the message->cleanup list was being improperly cleaned
1999-10-08 14:59:02 +00:00
Michael Graff
7153a32ae9
memory leak fix
1999-09-14 23:48:27 +00:00
Michael Graff
d8f304288d
Use a memory pool for rdatasets as well
1999-09-11 01:35:55 +00:00
Brian Wellington
24694ab18a
new fields needed for TCP-TSIG
1999-09-10 14:54:10 +00:00
Michael Graff
af6e7e5cd2
Changes to message.c/h to use memory pools for names. Coming soon:
...
same thing for rdata, rdatalist, and rdatasets.
Also implement dns_message_takebuffer().
See comments in message.h for news.
1999-09-10 02:48:32 +00:00
Michael Graff
186817c92c
make dns_message_findtype() public
1999-09-09 01:10:53 +00:00
Michael Graff
4556681e19
snapshot socket.[ch] code and commit dynbuf_t -> buffer_t changes
1999-09-02 02:10:44 +00:00
Bob Halley
ac77fece9a
EDNS0
1999-09-02 01:52:31 +00:00
Bob Halley
bf555703f2
OPT support
1999-09-01 20:50:34 +00:00
Bob Halley
732e0731de
SIG support
1999-08-31 22:14:06 +00:00
Brian Wellington
6d4886fa74
Added support for TSIG records in message and resolver subsystems, added
...
tsig to_struct/from_struct
1999-08-20 18:56:24 +00:00
Andreas Gustafsson
d347e7af94
dns_message_parse now takes new argument 'preserve_order'; support RR data >512 bytes
1999-08-20 06:08:39 +00:00
Bob Halley
0e919917cc
class to rdclass
1999-08-02 22:19:30 +00:00
Andreas Gustafsson
57cf89b149
set msg->rdclass even if question section is empty
1999-07-30 13:33:14 +00:00
Bob Halley
a6ebd71eed
tweaks to dns_message_reply()
1999-07-29 01:26:53 +00:00
Andreas Gustafsson
8c55a67a6d
null pointer dereference
1999-07-28 05:23:16 +00:00
Bob Halley
996028142c
update message reply support
1999-07-28 02:19:46 +00:00
Brian Wellington
991322a2ab
A TSIG record's class should be ANY, not that of the question
1999-07-26 17:00:34 +00:00
Bob Halley
d8705ff90a
Break msginit() into msginitheader() and msginitprivate().
...
Put MAGIC macros into the DNS_ namespace.
Take name cleanup code from msgreset() and put it into msgresetnames().
In dns_message_create(), the intent is now specified before the returned
message pointer.
dns_message_reset() now allows an intent to be specified.
msg->header_ok is set if parsing the header succeeded, and msg->question_ok
is set if parsing the question section succeeded.
Added dns_message_reply().
1999-07-24 01:09:04 +00:00
Michael Graff
5039f2cad3
don't modify the buffer passed in for peekheader()
1999-07-12 23:46:37 +00:00
Bob Halley
1db717f2f3
preliminary question rdataset support (rendering only); DNS/ISC_R_SUCCESS fix
1999-07-03 20:57:06 +00:00
Michael Graff
4c208bd46f
add dns_message_peekheader()
1999-06-25 01:05:27 +00:00
Bob Halley
42a5f9c8f5
lint from alpha build
1999-06-24 17:55:41 +00:00
Andreas Gustafsson
3b40e78974
handle dynamic update meta-classes and empty rdatas
1999-06-20 08:05:56 +00:00
Andreas Gustafsson
75ec9bc9c7
DNS_MESSAGE_OPCODE_MASK was incorrect
1999-06-09 12:06:21 +00:00
Michael Graff
08d94b539a
allow finding types and names but not returning them. This is basically an
...
existance check
1999-06-03 19:03:48 +00:00
Andreas Gustafsson
454bea884d
dns_message_create did not initialize m->rdatasets
1999-05-25 16:55:57 +00:00
Michael Graff
4db368e084
ooops, fix a memory leak
1999-05-21 08:05:49 +00:00
Michael Graff
d49555e76c
use the new rendered bit
1999-05-21 00:48:59 +00:00
Michael Graff
bd3ccd1c38
use dns_name_equal
1999-05-19 00:14:26 +00:00
Michael Graff
70fd62761d
use linked lists for items returned from loanout
1999-05-14 23:19:12 +00:00
Michael Graff
438d7099d1
Implement name, rdata, rdatalist, rdataset loanout from message resources
1999-05-14 22:22:49 +00:00
Michael Graff
97e7d389d5
Clean up after code review
1999-05-14 17:52:11 +00:00
Michael Graff
8f3ba5e9b2
init a var
1999-05-13 00:15:42 +00:00
Michael Graff
2726950412
parse dynamic updates, and tsig's right
1999-05-12 19:32:13 +00:00
Michael Graff
b02262cbcd
Fix up the condition where buffers are expended
1999-05-01 17:18:47 +00:00
Michael Graff
41cc03374d
remove debugging crud
1999-04-30 23:37:23 +00:00
Michael Graff
bfbf3f2d77
don't use a temp buffer, it broke compression
1999-04-30 23:04:29 +00:00
Michael Graff
823e45c127
checkpoint
1999-04-30 22:35:49 +00:00
Michael Graff
ddd035637d
snapshot
1999-04-30 21:52:40 +00:00
Michael Graff
8d6024e7cf
Move the flags on dns_rdataset_totext() to be together, and make a
...
matching change to dns_rdataset_towire()
1999-04-30 21:15:02 +00:00
Michael Graff
5330fc09ac
tpyo
1999-04-30 21:10:07 +00:00
Michael Graff
d070219e01
clean up and start testing rendering
1999-04-30 21:09:19 +00:00
Michael Graff
1d7987f422
checkpoint
1999-04-30 07:53:07 +00:00
Michael Graff
a920f559c3
fix up return codes in searching, and start on rendering.
1999-04-30 06:37:35 +00:00
Michael Graff
ded7456a4d
Implement searching for a name in a section.
1999-04-30 06:13:07 +00:00
Michael Graff
be3458c3da
Add checks for render/parse direction
1999-04-30 05:57:39 +00:00
Michael Graff
e690d225ad
Make named compile, and start on using message code. This isn't done yet.
1999-04-30 05:42:06 +00:00
Michael Graff
fccf7905e8
snapshot working message parsing
1999-04-30 00:17:15 +00:00
Michael Graff
1d11db66fa
make this build, ooops
1999-04-29 19:58:51 +00:00
Michael Graff
e223094b22
checkpoint
1999-04-29 08:18:57 +00:00
Michael Graff
d688386936
checkpoint
1999-04-28 03:19:58 +00:00
Michael Graff
f9df80f434
snapshot work
1999-04-27 02:24:11 +00:00
Michael Graff
9178881e1b
start on message.c
1999-04-26 21:59:36 +00:00