Commit Graph
154 Commits
Author SHA1 Message Date
Andreas Gustafsson 8e44cd4574 pullup:
Check that zone->view is not NULL before checking that zone->view->adb is not
NULL.  It appears that zone maintenance can occur when the zone is shutting
down and the view pointer is NULL.  We don't want to do zone maintenance in
this case.
2000-07-10 22:43:38 +00:00
Brian Wellington 0b65331c6e pullup:
305. [bug]             When reloading the server with a config file
                        containing a syntax error, it could catch an
                        assertion failure trying to perform zone
                        maintenance on tentatively created zones whose
                        views were never fully configured and lacked
                        an address database.
2000-07-03 22:08:57 +00:00
Mark Andrews b03a619e1d set AA in notify messages 2000-06-23 17:26:38 +00:00
Mark Andrews a4bdc2328a 266. [bug] zone.c:save_nsrrset() node was not initalised. 2000-06-20 23:54:11 +00:00
Mark Andrews 5dc6a24e8b 262. [bug] 'master' was not initalised in zone.c:stub_callback(). 2000-06-20 19:03:13 +00:00
Mark Andrews 242dfd9cc6 261 [func] Add dns_zone_markdirty(). 2000-06-19 23:05:32 +00:00
Andreas Gustafsson aa79283a0d 257. [bug] The server detached the last zone manager reference
too early, while it could still be in use by queries.
                        This manifested itself as assertion failures during the
                        shutdown process for busy name servers (RT #133).

 256.   [func]          isc_ratelimiter_t now has attach/detach semantics, and
                        isc_ratelimiter_shutdown guarantees that the rate
                        limiter is detached from its task.

 255.   [func]          New function dns_zonemgr_attach().
2000-06-15 17:40:22 +00:00
Andreas Gustafsson 21eaa04858 added dns_zonemgr_attach(); also changed comments for other
attach() functions to consistently say that the new reference attaches to
the object, not vice versa
2000-06-15 16:11:50 +00:00
Mark Andrews 1e98bdb4a3 add missing REQUIRE()s 2000-06-15 02:45:47 +00:00
Mark Andrews 0791b485bf DNS_ZONE_F_???? -> DNS_ZONEFLG_????
DNS_ZONE_O_???? -> DNS_ZONEOPT_????
Add various missing REQUIRE's
Add / cleanup comments in zone.h
Remove dns_zone_unmount() never implemented.
2000-06-09 06:16:21 +00:00
Mark Andrews 80ee8ea28d Consolidation and cleanup of stub code. 2000-06-07 06:14:52 +00:00
Mark Andrews 2a3e99550d 240. [func] databases now come in three flavours: zone, cache
and stub.

 Add stubs zones support checkpoint.
 notify_t -> dns_notify_t
2000-06-07 02:40:42 +00:00
Andreas Gustafsson abf2e095fb config code now guarantees that port number is set in the
also-notify list
2000-06-05 21:54:28 +00:00
Mark Andrews ac3b769801 232. [bug] Allow slave zones to not have a file. 2000-06-05 03:44:17 +00:00
Andreas Gustafsson 11d0a4a55e wired up the sig-validity-interval option; renamed its
access functions in the config code to be consistent with the option name
2000-06-02 17:31:43 +00:00
Andreas Gustafsson 3755da41db reformatting; no functional change 2000-06-02 00:20:46 +00:00
Andreas Gustafsson c7298a2f0e dns_name_totext() now always prints the root name as '.',
even when omit_final_dot is true
2000-06-02 00:19:37 +00:00
Andreas Gustafsson 658dc22047 no need to check for a port number of zero in master addresses as
the configuration code now guarantees that the port numbers have been
set in the masters list
2000-06-01 23:17:46 +00:00
Andreas Gustafsson a892ddd1bd changed the zone type of the version.bind. CH zone from 'none'
to 'master', as the semantics of zones of type 'none' are not well defined.
Allow zone->dbname to be NULL to support this usage.
2000-06-01 23:11:26 +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
Michael Graff d98c74e2ec set the default destination port in the view, and use it when returning addresses from the adb. 2000-06-01 00:30:58 +00:00
Andreas Gustafsson 5416faa397 Fixed RT #127. After the changes of zone.c 1.120, the variable
'soa' was no longer used, but it was still freed (sometimes)
2000-05-31 21:13:57 +00:00
Brian Wellington 090601a51c include dns/rdatastruct.h 2000-05-30 22:30:13 +00:00
Mark Andrews 48841a4ae9 When checking for notifies in the queue first check to see if a request has
been sent.

Check DNS_ZONE_F_NEEDREFRESH when we have got to the last master in
refresh_callback.
2000-05-29 05:47:18 +00:00
Andreas Gustafsson 396dba6250 added /*FALLTHROUGH*/ comments where appropriate 2000-05-26 18:18:12 +00:00
Andreas Gustafsson c6cdf39bb2 Removed the function dns_zone_validate(). It was unused,
undocumented, marked XXX, and buggy (it contained a switch
statement that compared an rdclass to a set of zone types).
2000-05-25 21:13:39 +00:00
Andreas Gustafsson e6aae9483e removed code for hint, forward, and cache "zones" as those
no longer have zone objects associated with them
2000-05-25 21:07:43 +00:00
Andreas Gustafsson c90b021ea3 renamed dns_zone_setnotifyalso() to dns_zone_setalsonotify(),
to be consistent with the name of the config file option
2000-05-25 15:34:26 +00:00
Andreas Gustafsson f1248b6383 use isc_sockaddr_any(), isc_sockaddr_any6() 2000-05-25 05:13:19 +00:00
Brian Wellington 19d1b1667d notify and zone soa queries are now tsig signed when appropriate. 2000-05-24 17:30:41 +00:00
David Lawrence ed019cabc1 fixed lines > 79 columns wide 2000-05-24 05:10:00 +00:00
Andreas Gustafsson 875ad7d99d when reloading the server, zone objects reused with a new
view object still referenced their old view
2000-05-23 04:38:22 +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
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
Michael Graff 19591ace46 reload zone housekeeping information on AXFR/IXFR 2000-05-20 01:32:46 +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 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
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
Andreas Gustafsson 8d6794a163 removed #ifdef'ed-out function dns_zone_manage() 2000-05-14 23:23:37 +00:00
Andreas Gustafsson bbf6673828 use isc_sockaddr_format() instead of a static function doing
the same thing
2000-05-14 20:52:35 +00:00
Andreas Gustafsson f7d85bae58 Keep a queue of zones waiting for zone transfer quota so that a new
transfer can be dispatched immediately whenever quota becomes available
2000-05-14 20:01:34 +00:00
Mark Andrews 902acbaefc notify checkpoint 2000-05-12 10:21:06 +00:00
Mark Andrews 8adf1b9e74 Checkpoint ratelimiting refresh queries and notifies.
170.   [cleanup]       Remove inter server consistancy checks from zone,
                        these should return as a seperate module in 9.1.
                        dns_zone_checkservers(), dns_zone_checkparents(),
                        dns_zone_checkchildren(), dns_zone_checkglue().

                        Remove dns_zone_setadb(), dns_zone_setresolver(),
                        dns_zone_setrequestmgr() these should now be found
                        via the view.
2000-05-11 10:04:59 +00:00
Michael Graff 65c21f5f73 get rid of a newline in a log message and minor formatting issue (line > 80 chars) 2000-05-11 02:06:18 +00:00
Michael Graff 4cfd0c3960 make magic numbers be the first things in the structures 2000-05-11 00:03:58 +00:00
Mark Andrews f4f3f2cf34 167. [bug] Make lack of masters for a slave zone a soft error. 2000-05-10 21:51:17 +00:00
Mark Andrews 25d161ae43 Log failures to dump the zone file.
Clear DNS_FLAG_Z_NEEDDUMP after successfully dumping the zone.
2000-05-10 04:47:03 +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
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