2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 22:15:20 +00:00
Commit Graph

3130 Commits

Author SHA1 Message Date
Mark Andrews
00b67c06b9 Add contract notes for dns_requestmgr_{attach,detach}(). 2000-05-23 00:11:45 +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
82efeeb703 removed typo 2000-05-22 23:34:24 +00:00
Brian Wellington
7e8dd00fce More tsig rdatastruct problems fixed 2000-05-22 23:17:22 +00:00
Andreas Gustafsson
b291fec7c9 offset.h was not installed by 'make install' 2000-05-22 22:46:53 +00:00
Michael Sawyer
54229947d3 Change strlen to sizeof. 2000-05-22 22:41:24 +00:00
Andreas Gustafsson
1ac4b2a1da when printing a SIG record with covers==0, print it as 0,
not RESERVED0
2000-05-22 21:42:47 +00:00
Michael Sawyer
1ed4ba5a1f Add pseudosection printing, and dns_message_pseudosectiontotext(). 2000-05-22 21:22:06 +00:00
Brian Wellington
feb40fc5f9 keytag collision handling was broken and a memory leak existed in the error
handling code.
2000-05-22 21:17:05 +00:00
Andreas Gustafsson
bac6f7fd14 the comments for isc_ratelimiter_create() said the
events are executed in the context of 'task'; this is no longer true
2000-05-22 19:47:43 +00:00
Andreas Gustafsson
34b26adb24 heap invariant INSIST did the wrong thing in the border case
of a heap item and its parent having identical priority
2000-05-22 19:47:01 +00:00
Andreas Gustafsson
b68f341a48 must include <isc/print.h> to use snprintf 2000-05-22 19:29:09 +00:00
Andreas Gustafsson
cd01c9716f Reintroduced separate internal/external reference counts for zones,
reversing part of the changes made on 2000/05/17.  Doing an explicit
zone shutdown on destruction of the zone table caused the zone to
be shut down prematurely on server reload when the zone table was
destroyed but the zone had already been attached to a new zone table.
An external reference count is needed to correctly handle this situation.
2000-05-22 17:23:15 +00:00
Michael Graff
a330a4b008 only set permanent failure for tcp streams on sending 2000-05-22 16:56:12 +00:00
Mark Andrews
373ce67419 Implement dns_rdata_fromstruct() where not already done.
Add missing REQUIRE tests to existing implementations.
2000-05-22 12:38:12 +00:00
Mark Andrews
0103f42343 Add comment about requiring pointers to memory block to be NULL if the
corresponding length is 0, non-NULL otherwise.
2000-05-22 12:34:16 +00:00
Andreas Gustafsson
e996ff2d5b print isc_time_t fields using %u, not %lu 2000-05-22 03:07:47 +00:00
Andreas Gustafsson
4c94069644 199. [bug] isc_heap_delete() sometimes violated the heap
invariant, causing timer events not to be posted
			when due.

Specifically, isc_heap_delete() moved the last element of the heap to
the vacated position and then attempted to restore the heap invariant
by calling sink_down().  This works when the last element has a lower
priority than the one being deleted, and this is often the case
because the last element tends to have a low priority.  However, it is
not guaranteed to be the lowest.  When deleting an item of a lower
priority than the last item, restoring the invariant requires a call
to float_up(), not sink_down().

isc_heap_delete_now calls either float_up() or sink_down() as needed,
and INSISTs have been added to verify that the heap invariant indeed
holds after the calls.
2000-05-22 02:53:52 +00:00
Andreas Gustafsson
be8d4578da zone_xferdone() assigned the updated zone expiry time to the wrong variable
zone->expire instead of zone->expiretime.  This left zone->expiretime
with a value of zero, causing zone_settimer() to get horribly confused
and set the timer to the inactive state (!).  This in turn caused
notify-driven refreshes (and probably other timer-scheduled events, too)
to never happen.
2000-05-20 21:24:41 +00:00
Brian Wellington
d1eee46938 fixes to dns_message_sectiontotext for the question section 2000-05-20 02:00:29 +00:00
Michael Graff
19591ace46 reload zone housekeeping information on AXFR/IXFR 2000-05-20 01:32:46 +00:00
Michael Graff
341323e0e7 move dns_db_getsoaserial() from journal.c to db.c 2000-05-20 01:32:03 +00:00
Michael Graff
24d3d0ecff fix a slight documentation bug 2000-05-20 01:30:16 +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
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