Commit graph

3091 commits

Author SHA1 Message Date
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
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
Brian Wellington
81ab85fd39 dst function name cleanup 2000-05-17 22:48:10 +00:00
Andreas Gustafsson
64527927ac bind TCP socket to wildcard address; delay creation of
TCP dispatch until socket is connected
2000-05-17 20:33:29 +00:00
Andreas Gustafsson
22608315e8 Fixed multiple shutdown cleanup bugs in the zone object. This
involved extensive restructuring of the reference counting of
zones and related objects.

Zones now attach to their views.  To avoid a circular dependency that
would keep views from ever shutting down, this is done using the new
functions dns_view_weakattach() / dns_view_weakdetach() which
guarantee that the view will not be freed but still allow it
to be shut down.

The zones themselves now only have a single reference count, with
similar "weak" semantics.  Managed zones must now be shut down
explicitly by calling dns_zone_shutdown().  To shut down all
zones in a zone table, call dns_zt_shutdown().

The zone manager is now reference counted, weakly. To shut down the
zone manager, you must explicitly call dns_zonemgr_shutdown().
2000-05-17 19:45:36 +00:00
Brian Wellington
94766449d6 restructuring snapshot 2000-05-17 18:24:59 +00:00
Mark Andrews
e7359c3a86 Implement totext(). RFC 2671 does *not* specify a presentation format.
[option length [base64string] ] ...
2000-05-17 03:39:29 +00:00
Mark Andrews
fc1feadb61 Add ISC_SOCKADDR_FORMATSIZE macro. 2000-05-17 02:20:58 +00:00
Michael Sawyer
9b171934ef Change REQUIRE test to allow signing of root domain 2000-05-17 02:15:08 +00:00
David Lawrence
57d32ef99d In fctx_query, if dns_dispatch_create fails jump to cleanup_query instead
of cleanup_dispatch; there is no query->dispatch to clean up.
2000-05-17 00:00:55 +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
Brian Wellington
a823dfa663 sys/time.h needed for struct timeval 2000-05-16 21:05:03 +00:00
David Lawrence
600cfa2ba4 184. [cleanup] Variables/functions which began with two leading
underscores were made to conform to the ANSI/ISO
                        standard, which says that such names are reserved.
2000-05-16 05:19:47 +00:00
David Lawrence
6d8cdbaff4 185. [bug] Fixed up handling of ISC_MEMCLUSTER_LEGACY. Several
public functions did not have an isc__ prefix, and
                        referred to functions that had previously been
                        renamed.

 184.   [cleanup]       Variables/functions which began with two leading
                        underscores were made to conform to the ANSI/ISO

function declaration and comment reformatting in accordance with coding
style document.

check_overrun conditionally compiled based on ISC_MEM_FILL and
ISC_MEM_CHECKOVERRUN to avoid compiler warnings about being defined
but not used if one of those two CPP symbols is not defined.
2000-05-16 05:17:31 +00:00
David Lawrence
a120694df8 conform variable names in isc_.*region_consume to ANSI/ISO standard 2000-05-16 03:37:40 +00:00
David Lawrence
2918b5bda6 ISC_LOG_PRINTTAG/isc_log_settag()/isc_log_gettag() added 2000-05-16 03:37:39 +00:00
David Lawrence
cb4a97bb1c added missing config.h 2000-05-16 03:00:53 +00:00