Commit graph

3107 commits

Author SHA1 Message Date
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
fa686a7235 removed more invalid _freestruct calls 2000-05-20 01:27:28 +00:00
Michael Graff
1a3563145b remove unreachable code 2000-05-20 01:05:50 +00:00
Brian Wellington
17a3fcecd0 Propagate errors out of the validator in all cases. This means that if there
are any problems in a validation, a SERVFAIL will be returned.  This may not
be correct in all cases (and will be fixed), but it leaves the server in a
much more consistent state after failures.
2000-05-19 23:04:14 +00:00
Brian Wellington
c610d78e67 changes to the rdata_tostruct api had broken tsig/tkey 2000-05-19 22:11:20 +00:00
Michael Graff
46993e1d9d Merge the mlg-20000518 branch onto the mainline. Change summary:
dns_dispatch_create() no longer exists.  dns_dispatch_createtcp()
	and dns_dispatch_getudp() are the replacements.  _createtcp() takes
	a bound, connected TCP socket, while _getudp() will search for
	a sharable UDP socket, and if found, attach to it and return a
	pointer to it.  If one is not found, it will create a udp socket,
	bind it to a supplied local address, and create a new dispatcher
	around it.

	dns_dispatch_remove{request,response}() no longer take the dispatch
	as an argument.

	query-source can now be set per view.

	The dispatch manager holds onto three memory pools, one for
	allocating dispatchers from, one for events, and one for
	requests/replies.  The free list on these pools is hard-coded,
	but set to 1024.  This keeps us from having to dig into the
	isc_mem_t the pools draw from as often.

	dns_resolver_create() and dns_view_createresolver() require that
	valid dispatchers be passed in; dispatchers are no longer created
	for the caller.
2000-05-19 21:46:46 +00:00
Andreas Gustafsson
ac940fef1b [RT #115] find_closest_nxt() tried to concatenate . with .
when the closest NXT was owned by the root domain
2000-05-19 21:27:14 +00:00
Brian Wellington
e49c834de8 Replaced dns_keynode_next by the more correct dns_keytable_findnextkeynode 2000-05-19 20:25:55 +00:00
Andreas Gustafsson
e755d59880 validator.c failed to compile on many platforms because
a label was not followed by a statement.  Added a null statement.
2000-05-19 18:48:27 +00:00
Brian Wellington
ba393f380e better keytag collision handling with trusted keys 2000-05-19 18:39:49 +00:00
Brian Wellington
ea14aa24aa added dns_keynode_next 2000-05-19 18:38:27 +00:00
Mark Andrews
389e24909e return ISC_R_SUCCESS from tostruct(). 2000-05-19 13:28:36 +00:00
Mark Andrews
a2b5255212 remove INSIST(ISC_FALSE) from freestruct(). 2000-05-19 13:27:45 +00:00
Mark Andrews
1e2cf7696f tostruct() initalise region from rdata. 2000-05-19 13:05:51 +00:00
Mark Andrews
e7514afccb Convert tostruct() to new API. 2000-05-19 13:04:45 +00:00
David Lawrence
fccb3e6c67 When joining nodes, set parent pointers of the left and right children of
the upper node (if they exist) to point to the new node.
2000-05-19 05:58:48 +00:00
David Lawrence
092b4e5359 The deletion assertion failure reported in RT #112 has been fixed; a pointer
should have been set to NULL when the top of a level was being rotated but
instead it was set to the node which pointed down to the level of the deleted
node.

rotate_left and rotate_right no longer take a parent parameter, since they
don't need it with the existence of parent pointers.

dns_rbt_deletefromlevel now takes a pointer to the pointer of the root of
the level as a parameter so that it doesn't have to rediscover the root that
its caller (dns_rbt_deletenode) already discovered.

dns_rbt_deletefromlevel did some (minor) pointless work with the sibling of the
deleted node before the color fixup loop was entered; it does so no more.

forward function declarations changed to ISC style.
2000-05-19 04:42:08 +00:00
Andreas Gustafsson
ea96c33a39 call dns_zone_setview() once and for all when creating a zone;
do not call it again when reconfiguring
2000-05-19 02:34:23 +00:00
Mark Andrews
a2fad0f37c Convert to use dns_rdata_tostruct(,,mctx = NULL) where appropriate.
Set initial expire based on file mode time.  We can expire when not
running.
2000-05-19 02:18:40 +00:00
Mark Andrews
e6caf43a0b ctype.h is now included in rdata.c 2000-05-19 02:12:56 +00:00
Mark Andrews
251705f683 Lowercase the service string as some getservbyname() are case sensitive
and the database is usually in lowercase.
2000-05-19 02:07:16 +00:00
Mark Andrews
4333126a5c Name structures were not being initialized. 2000-05-19 02:06:00 +00:00
Mark Andrews
1bb227b988 dns_name_dup() -> name_duporclone() in tostruct(). 2000-05-19 02:03:56 +00:00
Mark Andrews
3ef59f5561 Fix bad REQUIRE in tostruct(). 2000-05-19 02:02:11 +00:00
Mark Andrews
de153390f5 Add #include <ctype.h> here and not depend on it being included w/ x25
support.
2000-05-19 02:00:40 +00:00
Brian Wellington
187604c1ad accidentally removed an assignment to NULL before; added a note to look
back at keytag collisions later
2000-05-19 01:23:12 +00:00
Brian Wellington
16ccb6a9ba free all keynodes when deleting an rbt node 2000-05-19 01:21:31 +00:00
Brian Wellington
afb6c3b615 adding multiple keys to the same node of the tree is not an error 2000-05-19 00:50:45 +00:00
Brian Wellington
e492431068 missing NULL initialization 2000-05-19 00:29:00 +00:00
Brian Wellington
c50936eb40 changed dst_key_free() prototype, misc. dst cleanup 2000-05-19 00:20:59 +00:00
Brian Wellington
d6643ef587 snapshot - support for keytag collision, better support for signed subdomains
of insecure domains.
2000-05-18 23:22:14 +00:00
James Brister
8977ab7ca0 Zone configuration validation is now done at end of config file parsing,
and before loading callbacks.
2000-05-18 23:20:21 +00:00
David Lawrence
e6ce1a0ea9 use _PLATFORM_NEEDINETIN6H 2000-05-18 22:43:48 +00:00
David Lawrence
e8336c458c use HAVE_UNIXWARE_SIGWAIT 2000-05-18 22:39:24 +00:00
David Lawrence
76b4bfdf32 minor assertion check shuffling 2000-05-18 22:38:49 +00:00
Michael Sawyer
232fd751ed Require nanoseconds is valid, instead of t->nanoseconds, which is what we're
getting ready to set.
2000-05-18 18:59:38 +00:00
Brian Wellington
aa863b2d1e insecurity proof wasn't correctly setting the rdataset trust level;
added more debug output
2000-05-18 18:29:29 +00:00
Brian Wellington
a375150af2 REQUIRE() checking in isc_log_doit could seg fault 2000-05-18 17:56:35 +00:00
David Lawrence
75a44b91a9 isc_time_subtract() now returns isc_result_t.
Use isc_time_secondsastimet() to set a time_t variable.

Properly skip the duplicate checking loop if the boundary time is not
successfully set (this was intended before, but coded wrongly).

Removed unused variable pid_string, after I opted to not add the
unrequested ISC_LOG_PRINTPID option half way into implementing it.
2000-05-18 17:20:15 +00:00
David Lawrence
60e412971e isc_time_add now returns an isc_result_t, ensuring proper range of the
result of the addition.
2000-05-18 17:15:11 +00:00
David Lawrence
87480bb860 Use isc_time_secondsastimet() set timespec.tv_sec (returning an
error if the seconds are out of range), and cast isc_time_nanoseconds()
to shut up the IRIX compiler.
2000-05-18 17:13:58 +00:00
David Lawrence
bc12a0c0d0 Ensure proper range of isc_time_seconds() assigning to timeval.tv_sec,
and cast isc_time_nanoseconds to shut up the IRIX compiler.
2000-05-18 17:12:14 +00:00
David Lawrence
6fa1cb5754 189. [func] isc_time_secondsastimet(), a new function, will ensure
that the number of seconds in an isc_time_t does not
                        exceed the range of a time_t, or return ISC_R_RANGE.
                        Similarly, isc_time_now(), isc_time_nowplusinterval(),
                        isc_time_add() and isc_time_subtract() now check the
                        range for overflow/underflow.  In the case of
                        isc_time_subtract, this changed a calling requirement
                        (ie, something that could generate an assertion)
                        into merely a condition that returns an error result.
                        isc_time_add() and isc_time_subtract() were void-
                        valued before but now return isc_result_t.

The seconds member isc_time_t on Unix platforms was changed from time_t
to unsigned int.

unix/time.c now uses macros for nanoseconds per second, nanoseconds per
microsecond and microseconds per second to make sure that the right
number of zeros appears each place the constant is used.

unix/time.c functions which take initialized isc_(interval|time)_t arguments
INSIST() that the nanoseconds value is less than one full second.

unix/time.c's isc_time_microdiff was broken because it did multiplication and
addition with unsigned integers and attempted to set them a 64 bit int to
avoid overflow, but C's ints don't promote to 64 bits on machines that only
have 32 bit longs.  Fixed.

Added all the pertinent documentation to time.h.
2000-05-18 17:08:32 +00:00
Andreas Gustafsson
52b784e2a6 log warning message about out-of-zone data in zone transfers
instead of ignoring it silently
2000-05-18 16:49:54 +00:00
Mark Andrews
2b24b1909f remove REQUIRE(mctx != NULL) from tostruct 2000-05-18 06:27:07 +00:00
Mark Andrews
206c71aae4 handle freestruct(.. mctx = NULL); 2000-05-18 05:46:52 +00:00
Mark Andrews
1aae402fc3 187. [func] isc_ratelimter_enqueue() has an additional arguement
'task'.

 checkpoint zone maintence / notify work.
2000-05-18 04:43:00 +00:00
Mark Andrews
59abb512d3 186 [func] dns_request_getresponse() has an additional arguement
'preserve_order'.
2000-05-18 02:59:20 +00:00
Brian Wellington
5c61176885 insecurity proof for negative responses 2000-05-18 02:02:05 +00:00
Brian Wellington
2ee24549b3 Added DNS_R_NOTINSECURE 2000-05-18 01:42:40 +00:00