Commit graph

1350 commits

Author SHA1 Message Date
Brian Wellington
6427a34be1 comment fixes 2001-01-04 01:25:08 +00:00
Brian Wellington
ac7f13e3dd Remove dns_trust_authsecure, which is not used and was never clearly defined. 2001-01-04 00:16:41 +00:00
Brian Wellington
8d6fe3f388 Pointers to regions are silly. Use regions instead. This removes 1 small
allocation per query.
2001-01-03 20:42:10 +00:00
Brian Wellington
6d5032f9a2 Micro-optimizations:
- use the DNS_NAME_INIT macro in name.c
	- create dns_name_copy() and use it instead of dns_name_concatenate()
	  when doing a copy.
2001-01-03 00:05:15 +00:00
Brian Wellington
917d2db965 if DNS_NAME_USEINLINE was set, DNS_NAME_SETBUFFER was defined, but never used,
since dns_name_setbuffer was never #defined to it.
2000-12-29 21:54:52 +00:00
Brian Wellington
575737b964 Rewrite the name compression code to use a hashtable instead of an RBT and
avoid allocating memory in most cases.  This increases performance by
about 225% on the rc query test (~305 q/s to 990 q/s).
2000-12-29 00:59:41 +00:00
Mark Andrews
de154f65f6 Ensure that ns_client_*() are only called from the client's task. 2000-12-28 01:29:09 +00:00
Brian Wellington
d780c35e54 remove all vestiges of 16 bit global compression 2000-12-28 00:43:12 +00:00
Andreas Gustafsson
029ce2f952 need #include <dns/rdataset.h> and <dns/rdatastruct.h> 2000-12-22 23:01:56 +00:00
Brian Wellington
2374f16f5d missing ISC_LANG_ENDDECLS 2000-12-22 22:56:55 +00:00
Andreas Gustafsson
709fa2054f oops, it's <dst/dst.h>, not <dst/key.h> 2000-12-21 18:11:00 +00:00
Andreas Gustafsson
c663d46e47 need #include <dst/key.h> 2000-12-21 16:27:22 +00:00
Andreas Gustafsson
359082766e diff.h was not installed 2000-12-21 16:17:41 +00:00
Brian Wellington
58cbc05eb0 Fix memory leak in dns_view_find; return DNS_R_HINTNXRRSET instead of
DNS_R_NOTFOUND when correct to do so.
2000-12-20 23:31:11 +00:00
Brian Wellington
13090db2b1 dns_view_find can now do ANY queries; it takes additional db and node
parameters used for return values.
2000-12-20 03:38:46 +00:00
Andreas Gustafsson
ab0bc7bd36 spelling 2000-12-19 19:20:15 +00:00
Mark Andrews
1599bd6998 620. [bug] dns_master_load*inc() now require 'task' and 'load'
to be non-null.  Also 'done' will not be called if
                        dns_master_load*inc() fails immediately. [RT #565]
2000-12-17 23:43:12 +00:00
Andreas Gustafsson
113b8ef973 renamed dns_view_dumpcachetostream() to dns_view_dumpdbtostream()
and changed header comments to make it clear that it is for debugging/analysis purposes and may
dump other stuff in addition to the cache in the future.  Also changed the dump style to the
'explict TTL' one, which makes more sense than usin  when dumping cache files since the TTLs
tend to be different in each rrset, and added a comment banner at the top of each cache dump
containing the view name.
2000-12-15 21:11:38 +00:00
Brian Wellington
ee10d3de18 #include <stdio.h> 2000-12-13 21:28:38 +00:00
David Lawrence
10e6498d6d * Removed max-names (as well as DNS_R_ZONETOOLARGE, which was
never returned by any function and was presumably cruft
        related to max-names).
  * Made allow-notify part of the public source and documented it.
  * Made master server TSIG keys part of the public source and documented it.
  * Removed a define of DNS_OPT_NEWCODES supposedly used by GNS, with
        the approval of Mike.
  * Made DNS_ZONE_FORCELOAD flag, used by rndc reload, work in the
        public source.  After the NOMINUM_PUBLIC cleanup, I'll
        fix the rndc reload issues we've been discussing here at IETF.

I left in NOMIMUM_PUBLIC around the forward-notify stuff, with the
expectation that Michael will give the go-ahead next week to remove it.
2000-12-13 00:15:39 +00:00
Brian Wellington
eb8713ed94 Add support for the 'rndc dumpdb' command. Also add the 'cachefile'
option to the config file, which will be used for persistent cache
storage.
2000-12-12 21:33:21 +00:00
Brian Wellington
911ed0d3be Split journal.[ch] into journal.[ch] and diff.[ch] 2000-12-09 02:17:12 +00:00
David Lawrence
71c68c49db prototype for dns_c_nameprint() 2000-12-07 22:42:22 +00:00
Mark Andrews
168ec3b800 Check ttl when adding/subtracting.
New add flag DNS_DBADD_EXACTTTL.
2000-12-07 19:51:58 +00:00
Brian Wellington
6dbf9cbe6a 596. [bug] DNS_RDATASLAB_FORCE and DNS_RDATASLAB_EXACT are
not mutually exclusive.
2000-12-06 22:19:05 +00:00
Brian Wellington
23f64ea0dc 594. [func] sdb drivers are now assumed to not be thread-safe
unless the DNS_SDBFLAG_THREADSAFE flag is supplied.
(also make the dirdb.c driver specify DNS_SDBFLAG_THREADSAFE)
2000-12-06 01:08:41 +00:00
Andreas Gustafsson
ab3f2d77bd sanitize away the DNS_OPT_NEWCODES stuff 2000-12-02 04:13:35 +00:00
Andreas Gustafsson
ce1f5b8d0a rewrote much of the statistics counter code 2000-12-01 23:49:59 +00:00
Mark Andrews
ad70a097c8 Allow views w/ same name and different class to be added to view list.
Change view add failure result test from == ISC_R_EXISTS -> != ISC_R_SUCCESS.
2000-12-01 23:27:43 +00:00
Andreas Gustafsson
9c566a852f 587. [func] A warning is now printed if the "allow-update"
option allows updates based on the source IP
                        address, to alert users to the fact that this
                        is insecure and becoming increasingly so as
                        servers capable of update forwarding are being
                        deployed.
2000-12-01 18:22:17 +00:00
Mark Andrews
4c08b67a5f 586. [bug] multiple views with the same name were fatal. [RT #516] 2000-12-01 09:03:44 +00:00
Mark Andrews
f8abaa0fae Used a unsigned int rather than a boolean to indicate subtrations making
the API more consistant between dns_db_{add,subtract}rdataset(),
dns_rdataslab_{merge,subtract}().

Adjust previous CHANGES to reflect above as this is not yet end user visible.

Add missing CHANGES entry for add/merge.
2000-12-01 01:22:45 +00:00
Andreas Gustafsson
ffc4cece90 #include <isc/mutex.h> 2000-12-01 01:03:12 +00:00
Andreas Gustafsson
d24d223c17 install conflwres.h, too 2000-12-01 00:50:28 +00:00
Mark Andrews
012c6d0b91 585. [func] dns_db_addrdataset() and and dns_rdataslab_merge()
now support 'exact' additions in a similar manner to
                        dns_db_subtractrdataset() and dns_rdataslab_subtract().
2000-11-30 13:19:09 +00:00
Andreas Gustafsson
37fb395fd7 it makes no sense for a forward zone to have
a {min,max}-re{try,fresh}-time or zone-statistics option
2000-11-28 22:42:37 +00:00
Andreas Gustafsson
0b2d261301 removed sdb NOMINUM_PUBLIC cruft 2000-11-28 02:10:03 +00:00
Andreas Gustafsson
9259fed3d8 Continue move of lib/dns/*conf.c stuff to bin/named 2000-11-27 19:42:38 +00:00
Mark Andrews
dfd7798d8b 578. [func] Notify-source, specify the source address for notify
messages.
2000-11-25 02:43:56 +00:00
Andreas Gustafsson
eac8e1d5fc added DNS_LOGMODULE_SDB 2000-11-23 02:25:02 +00:00
Bob Halley
15af30dfc1 add DNS_R_CNAMEANDOTHER and DNS_R_SINGLETON 2000-11-22 00:16:41 +00:00
Brian Wellington
1275a72e8d Don't allow metatypes to be loaded using the \# format. 2000-11-19 22:12:42 +00:00
Brian Wellington
cffe50abf6 Lots of copyright updates 2000-11-18 03:01:17 +00:00
Andreas Gustafsson
2bd70b6822 Allow master zones to not have a 'file' option, to support non-rbt
databases.  Zones with a nonpersistent database and no 'file' option will get
an error logged at load time.
2000-11-18 02:54:22 +00:00
Andreas Gustafsson
8bba70c48d renamed dns_zone_setdatabase() to dns_zone_setfile(),
and dns_zone_getdatabase() to dns_zone_getfile(), with the idea that
they (and the 'file' zone option) will always refer to the zone's
master file, regardless of the database implementation.  If a
non-rbt database uses a disk file for its internal storage, the
name of that file should be specified as an argument to the 'database'
option, not using the 'file' option.
2000-11-18 00:57:23 +00:00
Brian Wellington
08e57545c2 Allow the hashing code in the rbt to be disabled (to save memory). This
should eventually be configurable at runtime, or at least with a
configure option, but now it's just a #define in rbt.h.
2000-11-18 00:55:25 +00:00
Andreas Gustafsson
d8f9019647 566. [func] New public function dns_timer_setidle(). 2000-11-17 19:45:36 +00:00
Andreas Gustafsson
ba6fd25808 567. [bug] Setting the zone transfer timeout to zero caused an
assertion failure. [RT #302]

 566.   [func]          New public function dns_timer_setidle().
2000-11-17 19:04:51 +00:00
Andreas Gustafsson
26e801318b clarified 2000-11-16 23:10:19 +00:00
Brian Wellington
77ac297199 Database and simple database implementations (except rbt and rbt64) are
registered dynamically.  Simple database drivers no longer use the
keyword "simple" in named.conf - the driver name is sufficient.
2000-11-16 22:33:53 +00:00
Mark Andrews
bba79bc76f remove NOMINUM_PUBLIC_DELETE 2000-11-16 21:58:09 +00:00
Andreas Gustafsson
8c962eba3d I really shouldn't commit stuff until it at least compiles 2000-11-15 19:11:36 +00:00
Andreas Gustafsson
d3a86da2e8 563. [func] New public functions dns_rdatatype_format() and
dns_rdataclass_format(), for convenient formatting
                        of rdata type/class mnemonics in log messages.
2000-11-15 19:05:32 +00:00
Andreas Gustafsson
6a56be50dd new result code DNS_R_BADALG 2000-11-15 00:51:17 +00:00
Brian Wellington
942d1a339b Decompression contexts now take a type instead of the "strict" boolean
value - the type can be "any", "strict", or "none".  This fixes potential
problems with compression in unknown rr types.
2000-11-14 23:29:55 +00:00
Brian Wellington
78d78f05d9 556. [func] The DNSSEC OK bit in the EDNS extended flags
is now implemented.  Responses to queries without
                        this bit set will not contain any DNSSEC records.
2000-11-13 21:34:03 +00:00
Brian Wellington
47fa8b4c8f fix outdated comments 2000-11-13 20:12:03 +00:00
Andreas Gustafsson
c2a94d89f9 clarified comments 2000-11-11 01:15:33 +00:00
Andreas Gustafsson
84abb95f7e 551. [func] Implemented the 'sortlist' option. 2000-11-10 03:41:08 +00:00
Andreas Gustafsson
febaa09184 551. [func] Implemented the 'sortlist' option. 2000-11-10 03:16:26 +00:00
Andreas Gustafsson
b0ce1ff804 typo 2000-11-10 03:14:25 +00:00
Andreas Gustafsson
7f73d29ac5 comments about who is responsible for freeing the memory
of rdata and rdatalists borrowed from messages were incorrect
2000-11-10 03:13:03 +00:00
Brian Wellington
ebfcb6cf66 550. [func] Support unknown rdata types and classes. 2000-11-09 23:55:05 +00:00
Andreas Gustafsson
673ce7aebb removed redundant declaration of dns_rdataclass_totext() from rdata.h;
it is declared in rdataclass.h
2000-11-09 19:33:51 +00:00
Mark Andrews
bfcdcde570 implement lame-ttl. 2000-11-08 03:53:16 +00:00
Michael Sawyer
a3a11c4f3f Add the ability (via rndc dump-statistics) to dump a file with counters of
various results given to queries.  Enable the (previously disabled)
statistics-file config option.
2000-11-07 23:49:42 +00:00
Brian Wellington
7499479679 spelling 2000-11-07 23:43:23 +00:00
Mark Andrews
4ec1a96d90 542. [func] Add allow-update-forwarding support. 2000-11-06 08:11:11 +00:00
Andreas Gustafsson
41b27cf6b4 removed unused global variable declaration of dns_zone_countsize 2000-11-03 18:43:53 +00:00
Andreas Gustafsson
71b5fa7fb7 commented new dialup-related functions 2000-11-03 18:42:56 +00:00
Andreas Gustafsson
bfb0e358c8 commented dns_view_dialup() 2000-11-03 18:35:31 +00:00
Mark Andrews
0fc89c4ee6 540. [func] Add dialup support. 2000-11-03 07:16:09 +00:00
Brian Wellington
e21d199dca 539. [func] Support the blackhole option. 2000-11-03 02:45:55 +00:00
Brian Wellington
e3e3bafa13 Lookups now return sigrdatasets if they exist. 2000-11-02 00:55:41 +00:00
Mark Andrews
f4166b4dc3 allow transfer-source to be set on master zones.
print the transfer-source port.
2000-10-31 04:20:54 +00:00
Mark Andrews
368b37b616 dns_rdata_invalidate -> dns_rdata_reset 2000-10-31 03:22:05 +00:00
Mark Andrews
04c22ceaf2 536. [func] Use transfer-source{-v6} when sending refresh queries.
Transfer-source{-v6} now take a optional port
                        parameter for setting the UDP source port.  The port
                        parameter is ignored for TCP.
2000-10-31 01:17:19 +00:00
Brian Wellington
bb71d64085 dns_message_checksig should not require a view in all cases 2000-10-27 21:56:57 +00:00
David Lawrence
b65f2ab14a 534. [func] Ancestors have been removed from RBT chains. Ancestor
information can be discerned via node parent pointers.

 533.	[func]		Incorporated name hashing into the RBT database to
			improve search speed.

There is still evidence of a bug with regard to bitstring labels.  It shows
up in bin/test/rbt/t_rbt -x -t 4 when the assertion at lib/dns/rbt.c:1631
is uncommented -- essentially a bitstring node's location in the hashtable
is not getting properly updated at some point.  This shouldn't affect
searching, because a bitstring label as the parent of a new level will
generally cause the standard old binary search to be done.  I will be looking
at this more closely in the very near future.
2000-10-25 07:21:31 +00:00
Mark Andrews
c03bb27f06 532. [func] Implement DNS UPDATE pseudo records using
DNS_RDATA_UPDATE flag.

 531.   [func]          Rdata really should be initalized before being
                        assigned to (dns_rdata_fromwire(), dns_rdata_fromtext(),
                        dns_rdata_clone(), dns_rdata_fromregion()),
                        check that it is.
2000-10-25 04:26:57 +00:00
Mark Andrews
389c749a5e 530. [func] New function dns_rdata_invalidate(). 2000-10-24 02:03:33 +00:00
Brian Wellington
f8a55f9955 Added "ndots" to the lwres{} statement in named.conf 2000-10-20 19:32:49 +00:00
Mark Andrews
29c818c7d4 527. [func] New function dns_rdata_clone(). 2000-10-20 13:22:36 +00:00
Andreas Gustafsson
f8020519b3 added more commentary 2000-10-19 18:09:34 +00:00
Mark Andrews
e6bd97dded Add 'flag' to rdata 2000-10-19 05:50:54 +00:00
Andreas Gustafsson
5a11763ab2 added support for a search{} clause in the lwres{} statement 2000-10-19 01:26:39 +00:00
Andreas Gustafsson
4913f156c4 typo 2000-10-19 01:25:55 +00:00
Andreas Gustafsson
96aa1f5236 spacing 2000-10-19 01:25:38 +00:00
Mark Andrews
b55c30f2de 525. [func] New arguement 'exact' for dns_db_subtractrdataset(),
and dns_rdataslab_subtract() requesting that the RR's
                        must exist prior to deletion.  DNS_R_NOTEXACT is
                        returned if the condition is not met.
2000-10-18 23:53:31 +00:00
Michael Sawyer
55aed608cc Add counters of incoming queries, server-wide and by zone. There is
currently no way to get these counts back *out* of the server, pending
a command channel.  A temporary channel should be built for these data
soon.
2000-10-17 20:57:26 +00:00
Mark Andrews
3688a648ff mising declarations 2000-10-17 10:59:48 +00:00
Mark Andrews
b20ee662a7 521. [bug] Detect master files which contain $INCLUDE and always
reload. [RT #196]

new result code DNS_R_SEENINCLUDE
dns_master_load* can now return DNS_R_SEENINCLUDE
2000-10-17 07:22:39 +00:00
Brian Wellington
8804fd9936 Split off the generic dns query functionality from the byaddr module into
the lookup module, and make byaddr use lookup.
2000-10-17 01:57:42 +00:00
Mark Andrews
20a313a458 Add DNS_R_UNEXPECTEDID. 2000-10-16 04:08:13 +00:00
Mark Andrews
10258f6b3d 515. [bug] The ssu table was not beinge attached / detached
by dns_zone_[sg]etssutable.  [RT#397]
2000-10-13 13:45:45 +00:00
Michael Sawyer
94b50bce2b Add zone-specific reload and refresh capability to server and rndc 2000-10-12 21:52:00 +00:00
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
4a200b9022 Add tkey-gssapi-credential to the options section 2000-10-12 00:38:30 +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
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
4ed956c5c0 current snapshot of gss-tsig code. I'd be surprised if this works with
w2k, but a bind9 client and server can talk.
2000-10-06 17:08:15 +00:00
Mark Andrews
2a37aa188c 507. [func] New functions dns_zone_flush(), dns_zt_flushanddetach()
and dns_view_flushanddetach().

 503 was incomplete.
2000-10-05 06:39:26 +00:00
Brian Wellington
9d794b5203 Added lwres{} statement to named.conf. 2000-10-04 18:47:24 +00:00
Brian Wellington
5a4f9ff34f The makefiles should be sdb-clean now. 2000-09-26 23:25:51 +00:00
Brian Wellington
8614264835 protect the simple database stuff with NOMINUM_PUBLIC 2000-09-26 22:45:59 +00:00
Brian Wellington
c76926d714 comment updates 2000-09-26 22:14:35 +00:00
Andreas Gustafsson
ff7e6f2791 When lacking user-specified timer values from the SOA,
use a retry time that backs off exponentially from one minute up to
six hours.  This should allow the xferquota test to succeed [RT #337]
by allowing for one or more retries during the test, while keeping the
amount of SOA query traffic to dead masters reasonable for GNS.
2000-09-26 18:17:10 +00:00
Andreas Gustafsson
3c754b3581 removed function dns_zone_setrefresh() 2000-09-26 17:24:00 +00:00
Mark Andrews
5a98a57f8f 489. [func] The zone manager now has a "i/o" queue. 2000-09-26 05:16:57 +00:00
Mark Andrews
2bebe117bf 489. [func] The zone manager now has a "i/o" queue. 2000-09-26 05:08:05 +00:00
Andreas Gustafsson
922e6a3c2a 478. [bug] "make install" failed if the directory specified with
--prefix did not already exist.
2000-09-20 19:06:16 +00:00
Brian Wellington
54bf299982 Don't assume class IN; rename functions to conform to the naming style. 2000-09-12 09:55:32 +00:00
Mark Andrews
68516a98cb document dns_message_getrawmessage 2000-09-11 23:37:34 +00:00
Mark Andrews
29a9d783b2 440. [func] New function dns_zone_forwardupdate(). 2000-09-11 13:34:18 +00:00
Mark Andrews
b9dead30b1 440. [func] New function dns_zone_forwardupdate(). 2000-09-11 13:26:22 +00:00
Mark Andrews
056141f287 439. [func] New function dns_request_createraw(). 2000-09-11 06:35:57 +00:00
Mark Andrews
5126112bc3 438. [func] New function dns_message_getrawmessage(). 2000-09-11 05:55:27 +00:00
Andreas Gustafsson
c9f54e6d04 unbalanced quotes in comment 2000-09-08 21:35:45 +00:00
Mark Andrews
9916239908 Initial opaque rdata support. 2000-09-06 03:25:23 +00:00
Mark Andrews
d22b4de3f1 Throttled answer while loading support (still needs config file hooks). 2000-09-05 03:35:24 +00:00
Michael Graff
ca0db0cdc8 stop mumbling in dispatch.h by filling out the comments. Fixed a bug, since I was here already. 2000-09-01 07:16:06 +00:00
Brian Wellington
88b9c12a3c rdataslabs are now sorted. Also added a function to compare two rdataslabs. 2000-09-01 01:35:21 +00:00
Andreas Gustafsson
50a3152b70 clarified comment 2000-08-31 16:58:28 +00:00
Mark Andrews
ce0c777a38 overmem was out of order 2000-08-31 13:00:57 +00:00
Mark Andrews
3a34b87c87 Add cache cleaning support (disabled). 2000-08-31 12:15:17 +00:00
Brian Wellington
352cb92ac2 DNS_KEYALG_MD5RSA -> DNS_KEYALG_RSAMD5 2000-08-29 19:45:33 +00:00
Michael Graff
306a935305 add find->result_v[46] 2000-08-26 02:21:45 +00:00
Brian Wellington
0a88c09dc9 #include <isc/mutex.h> 2000-08-25 01:16:04 +00:00
Brian Wellington
504b5167f3 #include <isc/mutex.h> 2000-08-25 01:08:07 +00:00
Brian Wellington
30e6ea9ded 405. [func] Add support for selective forwarding (forward zones) 2000-08-24 22:15:40 +00:00
Andreas Gustafsson
1ccdb91515 typo in comment 2000-08-24 01:19:58 +00:00
Brian Wellington
60b90a37f4 Support for AXFR and minor cleanup. 2000-08-23 18:28:03 +00:00
Brian Wellington
75e1e12f48 use a 'dns_sdbmethods_t' instead of passing all of the functions to
dns_sdb_register as parameters.
2000-08-22 22:06:46 +00:00
Andreas Gustafsson
f0bdf4aa8b #endif /* NOMINUM_PUBLIC */ was missing the required comment 2000-08-22 17:36:31 +00:00
Mark Andrews
8249eee42a notify-any to allow-notify conversion.
notify-relay to notify-forward conversion.
2000-08-22 05:14:59 +00:00
Andreas Gustafsson
5965096e50 made flags values use leading zeros to indicate field width 2000-08-22 01:46:12 +00:00
Brian Wellington
4fd3021d3b comment updates, remove duplicate rcsid. 2000-08-22 01:26:08 +00:00
Brian Wellington
f5a9dda3f3 dns_db_ispersistent() really returns an isc_boolean_t. 2000-08-22 01:20:05 +00:00
Brian Wellington
87af548ceb Add sdb.h to the list of headers to be installed. 2000-08-22 00:55:21 +00:00
Brian Wellington
a4c351fcef Add a flags field to dns_sdb_register. One flag requests that names passed in
be relative, and another specifies that rdata strings will contain relative
names.
2000-08-22 00:53:31 +00:00
Brian Wellington
033ba09d6d Simple database implementation. This includes a wrapper that makes a simple
database look like a dns_db_t, and a set of routines to be called by specific
simple databases.
2000-08-21 22:15:28 +00:00
Andreas Gustafsson
84c25ccb3d NOMINUM, not NOMINMUM 2000-08-19 00:47:18 +00:00
Brian Wellington
fe12eb4fc2 Add dns_db_ispersistent. This call determines whether a database is
persistent - that is, whether it maintains itself and doesn't require
loading, dumping, and other related things.
2000-08-18 18:25:28 +00:00
Andreas Gustafsson
6826f014d6 cleaned up comments and added missing ones 2000-08-17 23:45:12 +00:00
Mark Andrews
769dd27de8 add notify-any & notify-relay
added missing / corrected comment spelling of NOMINUM_PUBLIC
added REQUIRE(ISLOCKED(????)); to zone.c
2000-08-17 13:13:37 +00:00
Brian Wellington
a00c5e2151 gss-tsig support 2000-08-17 02:08:27 +00:00
Andreas Gustafsson
e1368a7770 397. [func] Added utility functions dns_view_gettsig() and
dns_view_getpeertsig().
2000-08-17 00:18:12 +00:00
Mark Andrews
c05eb51a1b 388. [cleanup] dns_zone_setdbtype now has const char **dbargv.
397.   [bug]           result was not being set in notify_send_toaddr().
                        RT#238
2000-08-16 02:16:49 +00:00
Mark Andrews
031f9084fc 394. [bug] Current name was not propagated via $INCLUDE.
393.   [func]          Initial answer while loading (awl) support.
                        Entry points: dns_master_loadfileinc(),
                        dns_master_loadstreaminc(), dns_master_loadbufferinc().
                        Note: calls to dns_master_load*inc() should be rate
                        be rate limited so as to not use up all file
                        descriptors.
2000-08-15 03:33:52 +00:00
Brian Wellington
9cd6710f91 validators can now be cancelled. 2000-08-15 00:21:05 +00:00
Brian Wellington
1e2749dba8 Yet more minor cleanup. 2000-08-14 22:00:00 +00:00
Andreas Gustafsson
0e05b42192 dns_zt_print() is gone 2000-08-14 19:52:21 +00:00
Brian Wellington
b0f941a50f 387. [func] Add dns_byaddr_createptrname(), which converts
an address into the name used by a PTR query.
2000-08-14 19:09:56 +00:00
Brian Wellington
f2338a0d6a Minor tsig cleanup. 2000-08-14 18:13:11 +00:00
Andreas Gustafsson
ff59f0e4fe removed dns_zt_print(), dns_zone_print(), dns_zone_tostr(),
PRINT_ZONE_REF; these were only used by the zone2_test program which
has now been removed
2000-08-13 23:51:55 +00:00
Andreas Gustafsson
7e6d32fdba #endif /* NOMINUM_PUBLIC */ was missing the magic comment 2000-08-11 21:51:04 +00:00
Andreas Gustafsson
eea2865fec 385. [cleanup] Removed function dns_zone_equal(). 2000-08-10 18:35:46 +00:00
Brian Wellington
41654670e7 Added dns_dnssec_iszonekey() to determine if a KEY is a zone key without
the overhead of converting it to a dst key.
2000-08-10 02:00:35 +00:00
Andreas Gustafsson
886b96ebfd 382. [func] The function dns_zone_setdbtype() now takes
an argc/argv style vector of words and sets
                        both the zone database type and its arguments,
                        making the functions dns_zone_adddbarg()
                        and dns_zone_cleardbargs() unnecessary.
2000-08-10 00:53:36 +00:00
Andreas Gustafsson
4870ad08e8 wired up and implemented the max-names zone option (for GNI) 2000-08-08 23:36:24 +00:00
Andreas Gustafsson
4a2af70858 added DNS_NAME_MAXTEXT and DNS_NAME_FORMATSIZE 2000-08-08 23:20:14 +00:00
Andreas Gustafsson
f4bc158a46 in dns_name_isabsolute(), dns_name_fullcompare(),
and dns_name_compare(), do not require that the name has >0 labels
so that these functions can be used on the degenerate relative name @
2000-08-08 23:18:12 +00:00
Brian Wellington
0a4577a158 Added DNS_R_ZONETOOLARGE 2000-08-08 22:50:34 +00:00
Andreas Gustafsson
979f959fb5 fixed incomplete sentence 2000-08-07 19:30:58 +00:00
Mark Andrews
e06aebbe7b 371. [doc] document that dns_journal_rollforward can return
ISC_R_RANGE.
2000-08-03 21:31:41 +00:00
Brian Wellington
19f4d25fd5 Add dns_master_dumpnode, dns_master_dumpnodetostream, and
dns_master_style_explicitttl.
2000-08-03 19:50:12 +00:00
Brian Wellington
83e6eb0dfe Add routines to count the number of nodes in a database and an rbt. 2000-08-03 19:46:37 +00:00
Michael Graff
cb9aa603ab wire up the {min,max}-{refresh,retry}-time stuff 2000-08-02 22:29:16 +00:00
James Brister
385a9cb48a 369. [func] Support new named.conf options, view and zone
statements:

				max-retry-time, min-retry-time,
				max-refresh-time, min-refresh-time, max-names.
2000-08-02 20:44:27 +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
c5944292e9 361. [func] When the RBT find or chain functions set the name and
origin for a node that stores the root label
			the name is now set to an empty name, instead of ".",
			to simplify later use of the name and origin by
			dns_name_concatenate(), dns_name_totext() or
			dns_name_format().

 360.	[func]		dns_name_totext() and dns_name_format() now allow
			an empty name to be passed, which is formatted as "@".
2000-07-31 23:27:25 +00:00
David Lawrence
051d1879fe dns_name_totext() now allows names with 0 labels, which format as "@" 2000-07-31 23:09:49 +00:00
Michael Graff
6d3496c045 Implement additional-from-{glue,auth} [ yes | no ] ;
with yes being the default.  These control searching in the cache and
other zones we are authorative for.  This is mostly for gdib, but
may be useful elsewhere.

The config changes are renaming from glue-from-* to additional-from-*,
since this also prevents DNAME, CNAME, NS, MX, etc. additional data
from being followed.
2000-07-31 21:07:07 +00:00
Brian Wellington
da786e7937 Sending a TSIG signed query with a TSIG algorithm that's not
HMAC-MD5.SIG-ALG.REG.INT shouldn't crash the server.  Also, the description
of dns_tsigkey_create was wrong in at least one place, and the function
incorrectly returned an undocumented result.
2000-07-28 23:27:01 +00:00
Brian Wellington
019a2ec92c A comment had an extra *. 2000-07-27 23:56:41 +00:00
David Lawrence
15a4474541 word wrap copyright notice at column 70 2000-07-27 09:55:03 +00:00
Andreas Gustafsson
4d9b99ccb2 the client control event should be a server event,
not a DNS library event
2000-07-26 23:45:55 +00:00
Michael Sawyer
a53151d995 Fix up some of the sanatize code and make kits correctly 2000-07-26 23:40:22 +00:00
David Lawrence
894a2f61c9 minor style issue -- missing periods at ends of sentences/phrasesin comments. 2000-07-26 21:32:57 +00:00
Michael Sawyer
761a1c3761 Add sanitizer and hide per-master key code behind sanitizing #ifdefs 2000-07-26 18:47:43 +00:00
Andreas Gustafsson
a32738e3e4 352. [bug] Race condition in dns_client_t startup could cause
an assertion failure.
2000-07-26 17:39:12 +00:00
James Brister
b28affc652 Added missing prototypes. 2000-07-25 20:17:52 +00:00
James Brister
d4ab9cd94f 348. [func] New named.conf boolean values 'glue-from-auth' and
'glue-from-cache' now supported in view and global
			options statement.
2000-07-25 17:55:43 +00:00
Brian Wellington
969f24b04c dns_dnssec_verifymessage should make sure that it's verifying with the right
key (which should be the case anyway, but it never hurts to check).  Also
fix a memory leak and change a few _tostruct() calls to not allocate memory.
2000-07-25 17:12:00 +00:00
Andreas Gustafsson
81b94e091c added new fetch option DNS_FETCHOPT_NOVALIDATE 2000-07-25 17:03:21 +00:00
Brian Wellington
687d363dea The "Ensures" condition for dns_db_deleterdataset was obviously wrong. 2000-07-24 23:10:50 +00:00
Michael Graff
ef653fbdb1 implement 'notify [ yes | no | explicit ]' 2000-07-24 22:59:44 +00:00
Brian Wellington
3b2efab212 There's no real difference between the "sring" and "dring" parameters, so
call them "ring1" and "ring2" instead.  Also remove a bogus assertion.
2000-07-21 22:38:31 +00:00
James Brister
c35f1e5937 341. [func] Support 'key' clause in named.conf zone masters
statement:

                                masters {
                                        10.0.0.1 port 666 key "foo";
                                        10.0.0.2 ;
                                };
2000-07-21 21:25:01 +00:00
Brian Wellington
a49acbf201 Store tsig keys in an rbt, not a list. 2000-07-21 20:53:59 +00:00
Andreas Gustafsson
e30c4dbe6f typos 2000-07-21 20:37:01 +00:00
Michael Sawyer
9b72c4648f Internal code for masters with key entries. Not wired into config yet. 2000-07-21 18:47:23 +00:00
Brian Wellington
49c8a96fba Don't require that tsig keys must be on a keyring. Also some other cleanup. 2000-07-18 00:46:03 +00:00
David Lawrence
da527e4ff6 332. [func] New function dns_name_reset(). 2000-07-14 19:12:54 +00:00
Brian Wellington
4250285838 Return DNS_R_NAMETOOLONG in a few places where less useful errors were
returned before.
2000-07-13 18:10:18 +00:00
Brian Wellington
618e871c2e Add DNS_R_NAMETOOLONG 2000-07-13 02:41:20 +00:00
James Brister
adade77942 326. [func] 'keys' in an 'inet' control statement is now
required and must have at least one item in it.

                        warning is issued if a 'unix' control channel is
                        defined (not supported).
2000-07-11 19:09:10 +00:00
David Lawrence
d4868faf3f removed the port member from dns_c_ctrl_t; the port is put in the sockaddr. 2000-07-10 11:28:31 +00:00
David Lawrence
838281ed55 318. [func] dns_c_ndcctx_destroy() could never return anything
except ISC_R_SUCCESS; made it have void return instead.
2000-07-10 11:27:12 +00:00
Andreas Gustafsson
f405ffddc8 added missing requirements 2000-07-08 17:27:28 +00:00
James Brister
475c936d4c 314. [func] Inet controls named.conf statement can now have
any non-negative number of keys specified.
2000-07-07 23:11:48 +00:00
James Brister
952e9025b0 310. [func] Changes to named.conf "controls" statement (inet
subtype only)

                          - support "keys" clause

                                controls {
                                   inet * port 1024
                                        allow { any; } keys { "foo"; }
                                }

                          - allow "port xxx" to be left out of statement,
                            in which case it defaults to omapi's default port
                            of 953.
2000-07-07 13:56:14 +00:00
David Lawrence
3658cf5419 comment cleanup (missing "not", spaces where tabs should have been) 2000-07-07 00:25:47 +00:00
David Lawrence
9fb4b3f08a Do not return an exact match from dns_rbt_findnode() when the exact
match does not have associated data and DNS_RBTFIND_EMPTYDATA is not set.
Return DNS_R_PARTIALMATCH instead if there is a superdomain with
data, or ISC_R_NOTFOUND if no superdomain has data.

Make dns_rbt_findname() honor DNS_RBTFIND_EMPTYDATA, per the rbt.h
documentation that has been saying it will.  It didn't.
2000-07-06 23:54:45 +00:00
Mark Andrews
84cb41f729 new error code DNS_R_NOTZONETOP 2000-07-04 03:59:54 +00:00
David Lawrence
24675e8e13 In dns_dispatch_createtcp(), REQUIRE() that attributes not include
DNS_DISPATCHATTR_UDP, and document that requirement as well as the
existing requirement for needing DNS_DISPATCHATTR_TCP.

No need to pull up.
2000-07-04 01:48:13 +00:00
Andreas Gustafsson
26be84cdfc spelling, grammar, and formatting; no functional change 2000-06-29 16:48:53 +00:00
Andreas Gustafsson
95e7cd1ecb commented 2000-06-26 22:09:49 +00:00
Mark Andrews
b74e3d974b comment update 2000-06-23 17:30:59 +00:00
David Lawrence
7657358689 does not need isc/types.h 2000-06-23 03:00:30 +00:00
David Lawrence
0980761026 does not need mutex.h 2000-06-23 03:00:01 +00:00
David Lawrence
aea59f157b does not need eventclass.h 2000-06-23 02:59:28 +00:00
David Lawrence
5c54d949cf style lint 2000-06-23 02:59:05 +00:00
Brian Wellington
d4edcfe5eb Add tsig and tkey log moduleS 2000-06-23 01:51:18 +00:00
David Lawrence
9c3531d72a add RCS id string 2000-06-22 22:00:42 +00:00
Andreas Gustafsson
0ede98ca38 typo in comment 2000-06-22 21:45:30 +00:00
David Lawrence
28d9fd5381 update_copyrights 2000-06-21 22:45:24 +00:00
Michael Graff
80617c8faa Add using an entropy source to generate a random query ID seed value. 2000-06-21 21:34:43 +00:00
Mark Andrews
3c671ac666 264. [func] Dispatch can not take TCP sockets in connecting
state.  Set DNS_DISPATCHATTR_CONNECTED when calling
                        dns_dispatch_createtcp() for connected TCP sockets
                        or call dns_dispatch_starttcp() when the socket is
                        connected.
2000-06-20 23:52:54 +00:00
James Brister
58c42ee18c 263. [func] New logging channel type 'stderr'
channel some-name {
                                        stderr;
                                        severity error;
                                }
2000-06-20 21:36:49 +00:00
David Lawrence
5336b803ae style lint 2000-06-20 04:12:15 +00:00
Mark Andrews
242dfd9cc6 261 [func] Add dns_zone_markdirty(). 2000-06-19 23:05:32 +00:00
James Brister
0d5d8e2bbf 259. [func] New random-device and random-seed-file statements
for global options block of named.conf. Both accept
                        a single string argument.
2000-06-15 23:38:16 +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
Andreas Gustafsson
2f259b4eec commented 2000-06-12 19:23:51 +00:00
Brian Wellington
14c5931d3d tkey cleanups and conversion to the entropy api 2000-06-09 22:33:08 +00:00
Andreas Gustafsson
2bb908bd0b style; removed references to EDNS1 and local compression 2000-06-09 21:52:27 +00:00
Andreas Gustafsson
1cad45e9cf whitespace changes in copyright message 2000-06-09 20:59:32 +00:00
James Brister
47c196192a Rename cache-size config option to max-cache-size and change argument
type to be strict integer (no 'default' or 'unlimited')..
2000-06-09 15:03:28 +00:00
James Brister
adf8222185 Rename global option cachesize to cache-size and add corresponding option
to view statement.
2000-06-09 08:48:42 +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
bcff319811 Wildcard NS records are not conceptually allowed by RFC 103[45]. 2000-06-09 06:03:47 +00:00
James Brister
71a4339351 Empty named.conf file and empty options statement are now parsed properly.
New cachesize option for named.conf

Fixed incorrect warning about auth-nxdomain usage.
2000-06-08 12:04:56 +00:00
Mark Andrews
0380c44d02 241. [cleanup] nscount and soacount have been removed from the
dns_master_*() arguement lists.
2000-06-07 03:30:02 +00:00
Mark Andrews
265086fc36 Added comments. 2000-06-07 03:12:13 +00:00
Mark Andrews
a6733246ea 240. [func] databases now come in three flavours: zone, cache
and stub.
2000-06-07 02:38:41 +00:00
Andreas Gustafsson
ee03a00244 changed references to 'binary buffer' in comments
to just 'buffer', as there is no longer a distinction between binary
and text buffers
2000-06-06 17:47:54 +00:00
James Brister
616c83b78b temporarily disable code that validates listen-on and listen-on-v6 lists. 2000-06-06 14:20:03 +00:00
Mark Andrews
7ed73313b1 Add function to determine whether a given request used TCP or not. 2000-06-06 02:07:13 +00:00
James Brister
c78dc8b001 Added new listen-on-v6 config file statement.
Consider it a config file error if a listen-on statement has an IPv6
address in it, or a listen-on-v6 statement has an IPv4 address in it.
2000-06-05 22:08:50 +00:00
Andreas Gustafsson
f1f2f8bd47 Wired up the new 'port' option. Also, the interface manager now has
both a 'listen-on' and a 'listen-on-v6' ACL.  We are still waiting for
the 'listen-on-v6' config file option to set the latter explicitly,
but at least the default value now tracks the 'port' option and the
'-p' command line option.
2000-06-05 19:10:13 +00:00
James Brister
029f5aa861 Conversion of various config file values to isc_uint32_t. 2000-06-05 09:17:14 +00:00
James Brister
69b691c962 Support new 'port' clause in config file options section. Causes
'listen-on', 'masters' and 'also-notify' statements to use its value
instead of default (53).
2000-06-04 19:51:22 +00:00
Brian Wellington
4fe8755480 Use the new DST API 2000-06-02 18:59:33 +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
James Brister
98c2f9a111 Support config file trusted-keys and also-notify statemenets in views.
Support config file sig-validity-interval statement in options, views
and zone statements (master zones only).

Logging messages in config module stripped of trailing period.
2000-06-02 15:12:36 +00:00
David Lawrence
1c70c5ee90 227. [cleanup] The enumerated identifiers dns_rdataclass_*,
dns_rcode_*, dns_opcode_*, and dns_trust_* are
                        also now cast to their appropriate types.
2000-06-02 01:07:05 +00:00
Andreas Gustafsson
a3c0a79b61 dns_name_totext() now always prints the root name as '.',
even when omit_final_dot is true
2000-06-02 00:14:02 +00:00
David Lawrence
0b056755b2 225. [cleanup] The enumerated dns_rdatatype_* identifiers are now
cast to dns_rdatatype_t via macros of their same name
                        so that they are of the proper integral type wherever
                        a dns_rdatatype_t is needed.

(And a few prototypes that I recently bogusly changed to take "int" parameters
in place of "dns_rdatatype_t" to accomodate the type of an enum identifier
have been reverted to again properly take a dns_rdatatype_t.)
2000-06-01 21:42:42 +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
Andreas Gustafsson
4831695ebe no need to include <isc/netaddr.h> to get in_port_t; <isc/net.h> suffices 2000-06-01 16:40:23 +00:00
Brian Wellington
2321de58e5 Added #include <isc/netaddr.h>, since in_port_t wasn't defined. 2000-06-01 02:04:01 +00:00
Brian Wellington
7a97b7630f dns_message_gettsig/getsig0 cleanup 2000-06-01 01:30:55 +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
Brian Wellington
fe0e3c7707 Rename message->tsigset/querytsigset to tsig/querytsig. 2000-05-31 23:58:35 +00:00
Andreas Gustafsson
e6ec99f169 commented 2000-05-31 23:35:09 +00:00
James Brister
725a4773f5 Support also-notify and trusted-keys in a view statement.
Fixed error message when lexer couldn't open an input file.
2000-05-31 13:10:00 +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
Andreas Gustafsson
7cd4c3ddd1 The 'cache-ttl' and 'ncache-ttl' options now work 2000-05-26 23:17:56 +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
David Lawrence
82a30bf0a0 in dns_name_fromtext, REQUIRE() that the source buffer not have an
isc_buffer_remaininglength of 0.  this finds problems like isc_buffer_init
not followed by isc_buffer_add much sooner.

also, enforce the already documented contract requirements of needing
a valid source buffer and either a valid target buffer or a name
with a dedicated buffer.
2000-05-25 23:57:25 +00:00
Andreas Gustafsson
c885fad9b8 Wired up the view-specific 'key' statement. 2000-05-25 22:06:51 +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
Brian Wellington
5d83b561ad Added dns_tsigrcode_totext/fromtext 2000-05-25 00:46:32 +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
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
David Lawrence
94bd549175 updated comments with regards to chains and parent pointers, and added caveat
about what happens with "name" and "origin" parameters when a chain
points to ".".
2000-05-24 02:56:26 +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
Mark Andrews
00b67c06b9 Add contract notes for dns_requestmgr_{attach,detach}(). 2000-05-23 00:11:45 +00:00
Michael Sawyer
1ed4ba5a1f Add pseudosection printing, and dns_message_pseudosectiontotext(). 2000-05-22 21:22:06 +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
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
Michael Graff
341323e0e7 move dns_db_getsoaserial() from journal.c to db.c 2000-05-20 01:32:03 +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
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
Brian Wellington
e49c834de8 Replaced dns_keynode_next by the more correct dns_keytable_findnextkeynode 2000-05-19 20:25:55 +00:00
Brian Wellington
ea14aa24aa added dns_keynode_next 2000-05-19 18:38:27 +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
Mark Andrews
59abb512d3 186 [func] dns_request_getresponse() has an additional arguement
'preserve_order'.
2000-05-18 02:59:20 +00:00
Brian Wellington
2ee24549b3 Added DNS_R_NOTINSECURE 2000-05-18 01:42:40 +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
David Lawrence
34b394b43e DNS_R_RANGE -> ISC_R_RANGE 2000-05-15 21:14:38 +00:00
Michael Sawyer
c95a89b433 Added dns_message_sectiontotext() and dns_message_totext() functions. 2000-05-15 17:49:57 +00:00
James Brister
4932a54ed6 - options named.conf statement *must* now come before any zone or view
statements.

- Post-load of named.conf check verifies a slave zone has non-empty list
  of masters defined.

- New per-zone boolean:

	enable-zone yes | no ;

- intended to let a zone be disabled without having to comment out the
  entire zone statement.

- New global and per-view option:

	max-cache-ttl number

- New global and per-view option:

	addition-data internal | minimal | maximal;
2000-05-15 12:36:33 +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
Andreas Gustafsson
7c74a7745d comments for dns_zone_setmasters() and dns_zone_setnotify()
said they add to a list; this is no longer true, they now set the whole list
2000-05-13 17:54:37 +00:00
Andreas Gustafsson
e1f16346db validator must not indicate a validation failure by returning
ISC_R_NOTFOUND as that seriously confuses query_find().  Introduced new
result codes DNS_R_NOVALIDSIG and DNS_R_NOVALIDNXT to use instead.
2000-05-12 21:25:17 +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
b9c8f4378a Add address searching to dns_disptach_find(). 2000-05-11 07:33:17 +00:00
Michael Graff
202ea9ccee make magic numbers be the first things in the structures 2000-05-10 23:58:12 +00:00
Michael Graff
ca9739800f implement dns_dispatchmgr_t, replacing dns_dispatchlist_t. Use it throughout the library/server. 2000-05-10 21:34:50 +00:00
Michael Graff
bc892aec31 implement _find() 2000-05-10 17:26:23 +00:00
Michael Graff
abf30e12ba declare dns_dispatchlist_t here 2000-05-10 17:24:55 +00:00
Michael Graff
1cf2ee1ef0 snapshot; dispatch list stuff 2000-05-10 07:28:33 +00:00
Andreas Gustafsson
84fcfe530b new logging module DNS_LOGMODULE_MASTERDUMP 2000-05-09 23:31:12 +00:00
Mark Andrews
8b61d20120 convert TRACE -> logging: ISC_LOG_DEBUG(3) 2000-05-09 05:12:49 +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
James Brister
65c9645ca7 Support new 'database' statement in zone.
database "quoted-string";
2000-05-06 10:18:48 +00:00
Andreas Gustafsson
a726ac16b3 updated comments 2000-05-05 00:18:16 +00:00
Michael Graff
c90f5e8d1e Split dns_log_init() into dns_log_init() which sets up module and category names, and dns_log_setcontext() which sets the logging context. Call isc_log_setcontext(), dns_log_init(), and dns_log_setcontext(). 2000-05-03 21:11:40 +00:00
Andreas Gustafsson
deb7afc49f documented the 'covers' argument of dns_ncache_add() 2000-05-03 21:08:14 +00:00
James Brister
e2cf9c2db3 support 'disabled' statement in zone config (causes
zone to be parsed and then ignored). Currently must
come after the 'type' clause.

support optional ports in masters and also-notify
statements:

	masters [ port xxx ] { y.y.y.y [ port zzz ] ; }

removed some unused arguments.

stop issuing some warnings about some features that
were not implemented, but now are.
2000-05-03 19:29:43 +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
David Lawrence
b09983678f 145. [cleanup] Added <isc/lang.h> and ISC_LANG_BEGINDECLS/
ISC_LANG_ENDDECLS to header files that had function
                        prototypes, and removed it from those that did not.
2000-05-01 17:59:10 +00:00
David Lawrence
4be63b1fd8 144. [cleanup] libdns header files too numerous to name were made
to conform to the same style for multiple inclusion
                        protection.
2000-04-29 02:02:38 +00:00
Andreas Gustafsson
014892d86d added dns_rdatatype_isknown() 2000-04-29 01:49:37 +00:00
Michael Graff
20c266cbc9 add dispatcher logging functions 2000-04-29 00:45:26 +00:00
Mark Andrews
efd55ce62e Add mctx comment for tostruct. 2000-04-28 23:18:01 +00:00
Mark Andrews
598b67856b dns_zone_{set,get}masterport() is gone. 2000-04-28 17:18:23 +00:00
Bob Halley
80cff01698 rdata.h 2000-04-28 16:29:58 +00:00
Bob Halley
3ae5393d7e Update contract of dns_name_rdatacompare to return < 0, 0, > 0 instead of
-1, 0, 1.
2000-04-28 16:29:48 +00:00
Mark Andrews
6c7e680943 115. [cleanup] libdns.a changes:
dns_zone_clearnotify() and dns_zone_addnotify()
                        are replaced by dns_zone_setnotifyalso().
                        dns_zone_clearmasters() and dns_zone_addmaster()
                        are replaced by dns_zone_setmasters().
2000-04-28 00:58:42 +00:00
David Lawrence
b3e7753518 108. [cleanup] DNS_SETBIT/DNS_GETBIT/DNS_CLEARBIT moved from
<dns/types.h> to <dns/bit.h> and renamed to
                        DNS_BIT_SET/DNS_BIT_GET/DNS_BIT_CLEAR.
2000-04-27 22:26:50 +00:00
Bob Halley
bcaf544581 add macros 2000-04-27 21:45:46 +00:00
Brian Wellington
9e842bb2d3 Allow dnssec verifications to ignore the validity period. 2000-04-27 18:09:10 +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
Bob Halley
048f38385e change contract for value of order 2000-04-26 23:12:57 +00:00
Andreas Gustafsson
ad73ddc323 don't use 'new' as an identifier in installed
header files - it's a reserved word in C++
2000-04-26 01:01:23 +00:00
David Lawrence
8fedfa7b45 79. [cleanup] <dns/callbacks.h> does not need <stdio.h>. 2000-04-25 20:13:54 +00:00
David Lawrence
6d4b6f9d4b added dns_c_ndcctx_getserver, minor style lint 2000-04-24 22:53:41 +00:00
David Lawrence
69d9d317ae Add DNS_RBTFIND_NOOPTIONS to make it clear what the options parameter of
dns_rbt_find* is when no options are passed.

Add DNS_RBTFIND_NOPREDECESSOR to specify that the predecessor
searching code of dns_rbt_findnode should be skipped.

Much comment cleanup w.r.t. DNS_RBTFIND_* options.
2000-04-24 21:18:02 +00:00
Brian Wellington
ec371edc34 Add 'type' as a parameter to dns_validator_create() 2000-04-20 20:43:52 +00:00
Brian Wellington
e9a9ae4fc6 Added dns_trust_ultimate for zone data (can be renamed later if necessary). 2000-04-20 18:47:21 +00:00
Andreas Gustafsson
d1bdeae7bb moved typedef of dns_zone_callbackarg_t from <dns/types.h> to
bin/tests/zone2_test.c; it's obsolete and zone2_test.c is the only
place using it
2000-04-20 17:39:02 +00:00
Michael Graff
5007a32191 use unsigned int for bitfields, not isc_boolean_t 2000-04-19 22:47:24 +00:00
Brian Wellington
767b4086b1 dns_dnssec_verifymessage updates 2000-04-19 20:57:55 +00:00
Bob Halley
dded35f92d noexact support 2000-04-19 18:49:11 +00:00
Bob Halley
0a09237aa0 add noexact matching option 2000-04-19 18:21:24 +00:00
Brian Wellington
2e8e76e547 Added dns_keytable_finddeepestmatch() 2000-04-18 17:47:17 +00:00
Mark Andrews
9e53cbca72 Add UDP refresh queries.
Generate NOTIFY messages.
2000-04-18 11:43:46 +00:00
Mark Andrews
262e8ed36a Add DNS_EVENT_VIEWREQSHUTDOWN 2000-04-18 08:36:20 +00:00
Mark Andrews
1a1a2ad3e8 add dns_resolver_dispatchv4(), dns_resolver_dispatchv6() and
dns_resolver_socketmgr().
2000-04-18 08:30:24 +00:00
Mark Andrews
9b8057fce9 Add dns_adb_attach(). 2000-04-18 08:18:52 +00:00
Andreas Gustafsson
e3628581ae say that sigrdataset may be NULL 2000-04-17 23:13:50 +00:00
Andreas Gustafsson
a7b62db9ca commented validator API 2000-04-17 23:02:52 +00:00
Michael Graff
e44487bfc2 convert sender, arg, action, etc. to ev_sender, ev_arg, ev_action, etc. 2000-04-17 19:22:44 +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
53c892082e Added dns_nxt_typepresent() 2000-04-13 18:08:07 +00:00
David Lawrence
d3c34e76d6 Stole one bit from node's 'attributes' bitfield for 'is_root' boolean.
Prototyped and documented dns_rbt_deletenode.
2000-04-12 21:27:49 +00:00
David Lawrence
567f3a25bc do not include dns/rbt.h 2000-04-12 21:25:27 +00:00
Andreas Gustafsson
b4b4adc097 added convenience function dns_name_format() for use in formatting
log messages
2000-04-11 19:11:46 +00:00
Andreas Gustafsson
230bc05e7e added DNS_LOGCATEGORY_DNSSEC and DNS_LOGMODULE_VALIDATOR 2000-04-11 18:17:35 +00:00
Andreas Gustafsson
edcb93b49c wired up view options: request-ixfr, provide-ixfr 2000-04-07 22:30:43 +00:00
James Brister
6abdc5c090 Changes necessary to support server statements inside a view statement. 2000-04-07 17:40:43 +00:00
Brian Wellington
b80a8db9f9 Added DNS_EVENT_VALIDATORSTART 2000-04-07 17:15:35 +00:00
James Brister
616ee4a3f7 Changes to support keys inside views. 2000-04-07 13:35:06 +00:00