Compare commits

..
Author SHA1 Message Date
Evan Hunt 4f18cc1174 [v9_6] prevent ixfr/ns1 being removed 2013-01-21 14:20:49 -08:00
Evan Hunt 63775871db [v9_6] add 10.53.0.8 address 2013-01-21 12:38:29 -08:00
Evan Hunt 6eeb32663e Merge branch 'v9_6' of ssh://repo/proj/git/prod/bind9 into v9_6 2013-01-18 14:21:19 -08:00
Evan Hunt ee709e9393 [v9_6] add CVE, correct change 3388
(cherry picked from commit 3806133da5)
2013-01-18 14:20:45 -08:00
Tinderbox User 47894d492d update copyright notice 2013-01-17 23:45:13 +00:00
Tinderbox User e4927b728e newcopyrights 2013-01-17 23:30:01 +00:00
Mark Andrews e01bdca94f add POST's 2013-01-17 23:27:38 +11:00
Mark Andrews 5b6e1a6067 s/head/tail/ 2013-01-17 21:46:29 +11:00
Mark Andrews f7d9efd98b Silence "Access to field 'type' results in a dereference of a null pointer" by adding appropriate assertions. 2013-01-17 14:45:40 +11:00
Mark Andrews 4c43678e8e Silence "Use of memory after it is freed" by asserting the head and tail of list are not the element after it is unlinked from the list. 2013-01-17 14:22:48 +11:00
Tinderbox User 3d145d5061 update copyright notice 2013-01-15 23:45:10 +00:00
Tinderbox User 969799e84b newcopyrights 2013-01-15 23:30:01 +00:00
Mark Andrews fbe1c2cfd9 silence compiler warning: Value stored to '?' is never used 2013-01-16 07:14:12 +11:00
Tinderbox User 04b3e60a3e update copyright notice 2013-01-11 23:45:15 +00:00
Tinderbox User a9eeec72b4 newcopyrights 2013-01-11 23:30:01 +00:00
Mark Andrews 9a66f76036 fix typo 2013-01-11 17:52:59 +11:00
Mark Andrews e08fe9752f add dns_zone_clearqueryaoncl, dns_zone_getqueryaoncl 2013-01-11 16:54:29 +11:00
Mark Andrews bbb9aa3e3c windows snprint support 2013-01-11 16:27:40 +11:00
Mark Andrews 7fe8320eed 9.6-ESV-R9 2013-01-11 15:24:50 +11:00
Mark Andrews a79d139351 9.6-ESV-R9b1 2013-01-11 14:50:11 +11:00
Mark Andrews 1f6dc1abee 3465. [bug] Handle isolated reserved ports. [RT #31778] 2013-01-11 14:13:30 +11:00
Mark Andrews 7a5d21ce36 backport missing win32 isc_time_formatISO8601 2013-01-11 13:40:40 +11:00
Mark Andrews dd65cba6c8 backport missing win32 isc_time_formatISO8601 2013-01-11 13:40:21 +11:00
Evan HuntandMark Andrews 09bffc43ad [v9_6] contrib/dane/mkdane.sh
3409.	[contrib]	contrib/dane/mkdane.sh: Tool to generate TLSA RR's
			from X.509 certificates, for use with DANE
			(DNS-based Authentication of Named Entities).
			[RT #30513]
2013-01-11 13:34:38 +11:00
Mark Andrews 6d5e5310fb Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2013-01-11 12:50:37 +11:00
Mark Andrews 14d71a66fc spelling; whitespace 2013-01-11 12:38:32 +11:00
Tinderbox User 0be50bb94f regen v9_6 2013-01-11 01:06:55 +00:00
Mark Andrews 152a3c7a0a 9.6-ESV-R9b1 2013-01-11 12:03:12 +11:00
Mark Andrews aa19c3d96e record 9.8.x range info 2013-01-11 11:52:33 +11:00
Tinderbox User 70df3d06bc 9.6-ESV-R9b1 2013-01-11 00:33:16 +00:00
Tinderbox User ce69235dce update copyright notice 2013-01-10 23:45:15 +00:00
Tinderbox User 77e30358a8 newcopyrights 2013-01-10 23:30:06 +00:00
Tinderbox User 159c34de3f regen v9_6 2013-01-10 20:22:34 +00:00
Evan Hunt fe73aec175 [v9_6] doc clarification about dig & resolv.conf 2013-01-10 11:50:10 -08:00
Mark Andrews e252b8b8da 3461. [bug] Negative responses could incorrectly have AD=1
set. [RT #32237]
2013-01-10 21:55:05 +11:00
Mark Andrews e80cd3be84 remove dead code 2013-01-10 18:13:01 +11:00
Mark Andrews 4e290bf392 remove methods not used in 9.6.x 2013-01-10 18:07:55 +11:00
Mark Andrews 04902c6369 2512. [func] Print a summary of the cached records which make up
the negative response.  [RT #18885]
2013-01-10 11:43:05 +11:00
Tinderbox User 55d5562536 update copyright notice 2013-01-09 23:45:13 +00:00
Mark Andrews 51c914b976 update 2013-01-10 10:40:24 +11:00
Mark Andrews 997176a75e Merge remote-tracking branch 'refs/remotes/origin/v9_6' into v9_6 2013-01-10 10:39:00 +11:00
Mark Andrews 6132d502b9 3458. [bug] Return FORMERR when presented with a overly long
domain named in a request. [RT #29682]
2013-01-10 10:35:37 +11:00
Tinderbox User f057f3c98a newcopyrights 2013-01-09 23:30:22 +00:00
Evan Hunt 6035caf7a3 [v9_6] typo 2013-01-09 14:35:01 -08:00
Mark Andrews 15dba50013 3457. [protocol] Add ILNP records (NID, LP, L32, L64). [RT #31836] 2013-01-10 08:38:13 +11:00
Mark Andrews 3f9f034f89 3456. [port] g++47: aft fails to compile. [RT #32012] 2013-01-09 22:33:59 +11:00
Mark Andrews 46f93322c7 remove dead code 2013-01-09 21:51:42 +11:00
Mark Andrews 0983eab761 3455. [contrib] queryperf: fix getopt option list. [RT #32338] 2013-01-09 21:41:16 +11:00
Mark Andrews 087cf7aa6c use known length for known algorithns in fromtext_dlv cf fromtext_ds 2013-01-09 21:08:38 +11:00
Mark Andrews bfcc458e8e test eighth interface 2013-01-09 19:10:41 +11:00
Mark Andrews 3d0c95fe2d 3373. [bug] win32: open raw files in binary mode. [RT #30944]
was not complete openfile_raw should be using mode "rb" rather than "r".
2013-01-09 17:07:26 +11:00
Mark Andrews 7bc28859b9 3454. [port] sparc64: improve atomic support. [RT #25182] 2013-01-09 12:57:30 +11:00
Tinderbox User 2b59928888 update copyright notice 2013-01-08 23:45:11 +00:00
Tinderbox User 86b746428f newcopyrights 2013-01-08 23:30:02 +00:00
Mark Andrews 30194165fa queryperf: fix getopt option string 2013-01-08 22:58:08 +11:00
Mark Andrews c535907383 spelling 2013-01-08 11:06:35 +11:00
Mark Andrews 1db4de0cc0 3452. [bug] Accept duplicate singlton records. [RT #32329] 2013-01-08 10:59:49 +11:00
Tinderbox User ea03a55dc5 update copyright notice 2013-01-06 23:45:10 +00:00
Tinderbox User 5c38fb079f newcopyrights 2013-01-06 23:30:02 +00:00
Mark Andrews 138b7ad44a 3451. [port] Increase per thread stack size from 64K to 1M.
[RT #32230]
2013-01-07 09:54:37 +11:00
Tinderbox User 0782358696 update copyright notice 2013-01-05 23:45:11 +00:00
Tinderbox User 6717184461 newcopyrights 2013-01-05 23:30:02 +00:00
Mark Andrews d6ad0ec371 3450. [bug] Stop logfileconfig system test spam system logs.
[RT #32315]

Squashed commit of the following:

commit ad40744e2c7dc253b70857bb229def5dd194b418
Author: Mark Andrews <marka@isc.org>
Date:   Fri Jan 4 17:24:45 2013 +1100

    logfileconfig spams the system log files

Conflicts:
	bin/named/main.c

Conflicts:
	bin/tests/system/logfileconfig/tests.sh

Conflicts:
	bin/named/main.c
	bin/tests/system/logfileconfig/tests.sh
2013-01-06 08:03:51 +11:00
Mark Andrews eb0fce9258 remove dead code 2013-01-06 07:46:54 +11:00
Tinderbox User bd002de585 regen v9_6 2013-01-05 01:07:06 +00:00
Tinderbox User 0701549b85 update copyright notice 2013-01-04 23:45:11 +00:00
Tinderbox User 4350719d29 newcopyrights 2013-01-04 23:30:04 +00:00
Mark Andrews 8a1c58d755 make static 2013-01-05 00:33:44 +11:00
Mark Andrews 2931e83af7 silence compiler warning 2013-01-04 15:57:46 +11:00
Evan Hunt 81083aaa75 [v9_6] add print.h 2013-01-03 18:24:06 -08:00
Mark Andrews 1c4083048e Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2013-01-04 12:29:24 +11:00
Mark Andrews 5a1d49a1ef 3445. [bug] Warn about zone files with blank owner names
immediately after $ORIGIN directives. [RT #31848]

Conflicts:
	lib/dns/tests/master_test.c
2013-01-04 12:28:57 +11:00
Tinderbox User b7e251c4a2 regen v9_6 2013-01-04 01:07:04 +00:00
Mark Andrews e7df3e584e 3449. [bug] gen.c: use the pre-processor to construct format
strings so that compiler can perform sanity checks;
                        check the snprintf results. [RT #17576]

Conflicts:
	lib/dns/gen.c
2013-01-04 11:09:39 +11:00
Evan Hunt 7a904931ad [v9_6] allow-query-on works now
3448.	[bug]		The allow-query-on ACL was not processed correctly.
			[RT #29486]
(cherry picked from commit 222d38735f)
(cherry picked from commit 8d9207a17b)
(cherry picked from commit ba2599657b)
2013-01-03 15:39:21 -08:00
Tinderbox User 59c0cfc789 update copyright notice 2013-01-02 23:45:10 +00:00
Tinderbox User 3dfef43868 newcopyrights 2013-01-02 23:30:01 +00:00
Tinderbox User c3fe41869f update copyright notice 2013-01-01 23:45:10 +00:00
Tinderbox User bd3e5de6d9 newcopyrights 2013-01-01 23:30:01 +00:00
Mark Andrews 6f7a7dc5eb 3447. [port] Add support for libxml2-2.9.x [RT #32231] 2013-01-01 23:15:11 +00:00
Mark Andrews 5f8762c504 remove extranous rdata in nxrrset call as it is not ingnored in Net::DNS 0.70 2012-12-21 14:14:28 +11:00
Mark Andrews d66b536512 sign_tcp_continuation doesn't work with the newer versions of
Net:DNS.  Code has been submitted so we don't need to use
the sign_tcp_continuation hack in future.
2012-12-21 13:02:03 +11:00
Tinderbox User a66479c66d update copyright notice 2012-12-20 23:45:10 +00:00
Evan Hunt eef1314b8b [v9_6] remove unnecessary memcpy 2012-12-20 10:34:44 -08:00
Mark Andrews 78738be0e1 TSIG no longer has a mac_size method; arcount no longer need to be adjusted 2012-12-21 00:31:44 +11:00
Mark Andrews 6995c4567c update 2012-12-20 11:57:47 +11:00
Mark Andrews e83ec5e03f adjust test to account for blank owner after origin now being rejected 2012-12-19 14:37:23 +11:00
Mark Andrews 1503ea6472 -H not -i sets iterations 2012-12-19 14:18:50 +11:00
Mark Andrews 40535921ab fix genrandom path 2012-12-19 13:36:28 +11:00
Mark Andrews e06306eb09 remove redundant $ORIGINs 2012-12-19 13:35:19 +11:00
Mark Andrews cc63b4f7f5 silence signed/unsigned warning; rename log -> fctx_log 2012-12-19 12:41:01 +11:00
Evan Hunt d191810ed3 [v9_6] include SRCID in windows builds
3446.	[port]		win32: Add source ID (see change #3400) to build.
			[RT #31683]
(cherry picked from commit 2dd959aa18)
2012-12-18 16:31:41 -08:00
Evan Hunt 9b6378026c [v9_6] reject $ORIGIN before inherited name
3445.	[bug]		Reject zone files with blank owner names immediately
			after $ORIGIN directives. [RT #31848]
(cherry picked from commit 3ad3e9c948)
(cherry picked from commit cdea02bf60)
2012-12-18 16:26:11 -08:00
Evan Hunt 52cc5ff8db [v9_6] fix change number 2012-12-18 16:25:19 -08:00
Tinderbox User e60b4aa460 update copyright notice 2012-12-18 23:45:11 +00:00
Mark Andrews c973a1dee7 3443. [bug] The NOQNAME proof was not being returned from cached
insecure responses. [RT #21409]

Conflicts:
	bin/tests/system/conf.sh.in
	lib/dns/include/dns/nsec3.h
	lib/dns/validator.c
2012-12-19 10:31:27 +11:00
Mark Andrews b77bdaa5ce 3442. [port] Net::DNS 0.69 introduced a non backwards compatible
change. [RT #32216]
2012-12-19 08:49:35 +11:00
Mark Andrews 84dde6383c Net::DNS 0.{70,71} doesn't force the TTL to zero for yxrrset, nxrrset and rr_del 2012-12-18 11:45:17 +11:00
Mark Andrews 68f2c843be don't wipe out named.run when restarting 2012-12-14 17:48:11 +11:00
Mark Andrews 4f1853005d 3441. [maint] D.ROOT-SERVERS.NET is now 199.7.91.13. 2012-12-14 12:47:51 +11:00
Mark Andrews 1b9f10181b 3440. [bug] Reorder get_key_struct to not trigger a assertion when
cleaning up due to out of memory error. [RT #32131]
2012-12-13 11:20:21 +11:00
Mark Andrews ff2d989592 3439. [bug] contrib/dlz error checking fixes. [RT #32102]
Conflicts:
	contrib/dlz/example/dlz_example.c
	contrib/dlz/example/dlz_minimal.h

Conflicts:
	contrib/dlz/drivers/dlz_filesystem_driver.c
	contrib/dlz/example/dlz_example.c
	contrib/dlz/example/dlz_minimal.h
2012-12-11 13:29:34 +11:00
Mark Andrews 0fcbd40175 throw fatal error on realloc failure 2012-12-10 10:18:03 +11:00
Tinderbox User 38215b46b7 update copyright notice 2012-12-08 23:45:12 +00:00
Tinderbox User a4e7c840ca newcopyrights 2012-12-08 23:30:02 +00:00
Mark Andrews 2f74870f49 RETTOK -> RETERR 2012-12-09 07:46:35 +11:00
Mark Andrews 4b6f307bd7 isc_buffer_init -> isc_buffer_constinit 2012-12-09 07:16:04 +11:00
Mark Andrews 22407050fe DIG -> $DIG 2012-12-08 15:33:10 +11:00
Mark Andrews c35c678e1a 3438. [bug] Don't accept unknown data escape in quotes. [RT #32031]
Squashed commit of the following:

commit 7ad3daade513c94a1c92ee7c91c112f161d13ef4
Author: Mark Andrews <marka@isc.org>
Date:   Mon Dec 3 15:03:44 2012 +1100

    look at the second token to determine if a TXT record in of unknown format or not

commit 7df32138462646f6aee84ffa56d02ac24ec8d672
Author: Mark Andrews <marka@isc.org>
Date:   Mon Dec 3 12:42:18 2012 +1100

    '"\#"' was incorrectly being treated as a unknown data escape sequence.
2012-12-08 14:14:04 +11:00
Mark Andrews 4871328f72 3437. [bug] isc_buffer_init -> isc_buffer_constinit to initialise
buffers with constant data. [RT #32064]

Squashed commit of the following:

commit 3433b96bf11f8c90ccbe412f01d02a6d8bbc2d33
Author: Mark Andrews <marka@isc.org>
Date:   Sat Dec 8 12:41:16 2012 +1100

    isc_buffer_init -> isc_buffer_constinit

commit c22dbcc1122a0a44f7b46068e0ccbc25353a57d5
Author: Mark Andrews <marka@isc.org>
Date:   Sat Dec 8 12:38:39 2012 +1100

    isc_buffer_init -> isc_buffer_constinit

commit 900820416c45c1887d0d22d7a010df60a903bd56
Author: Mark Andrews <marka@isc.org>
Date:   Sat Dec 8 12:24:19 2012 +1100

    remove isc_buffer_reconstinit

commit f815711c17b05f9961786a90b9bae902d3c01494
Author: Mark Andrews <marka@isc.org>
Date:   Wed Dec 5 15:42:57 2012 +1100

    add isc_buffer_constinit
2012-12-08 13:08:03 +11:00
Tinderbox User 240a1f6813 update copyright notice 2012-12-07 23:45:11 +00:00
Tinderbox User 68e6bc8c55 newcopyrights 2012-12-07 23:30:02 +00:00
Evan Hunt 4fe7f9e64d [v9_6] check malloc/calloc return values
3436.	[bug]		Check malloc/calloc return values. [RT #32088]
(cherry picked from commit 45f3693294)
2012-12-07 12:24:54 -08:00
Mark Andrews a6aeebda20 3435. [bug] Cross compilation support in configure was broken.
[RT #32078]

Squashed commit of the following:

commit 9c67d7a52346dffeb7609f08d3aaa8a8689d8094
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:31:50 2012 +1100

    regen

commit 4c1874dd3a98ea8e50b0860b107bd2deb8550af0
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:31:10 2012 +1100

    improve cross compile support; tidy --help output

commit 15ba411a728cc35c904804935477b15c8a65ebbd
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:28:46 2012 +1100

    add util/xc

commit 165bc538fa6590752d7006348285a3ba48713498
Author: Mark Andrews <marka@isc.org>
Date:   Fri Dec 7 13:27:35 2012 +1100

    test cross compiler

Conflicts:
	CHANGES
	config.h.in
	configure
	configure.in
2012-12-07 16:40:22 +11:00
Mark Andrews 40869b938b silence clang --analyser false positive 2012-12-05 11:43:54 +11:00
Mark Andrews 01d3af945b treat clang 3.x and 4.x as independent release streams 2012-12-03 09:09:19 +11:00
Mark Andrews 0f7c52af38 workaround only needed for clang 3.1 2012-12-03 07:59:34 +11:00
Mark Andrews 66d5cfe992 silence compiler warnings 2012-12-01 21:35:24 +11:00
Mark Andrews a978b24900 signed/unsigned comparision 2012-11-30 23:37:26 +11:00
Mark Andrews b04d25d98f silence clang --analyze warnings 2012-11-30 18:53:43 +11:00
Mark Andrews ba57636139 conditionally silence false positives from clang --analyze 2012-11-30 16:19:56 +11:00
Mark Andrews 3910d31e1d regen 2012-11-30 12:31:06 +11:00
Mark Andrews f2ed4e1c5e Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2012-11-30 12:25:59 +11:00
Mark Andrews 179d1bd965 add /opt/local/share/xsl/docbook-xsl to list of locations to look for docbook files 2012-11-30 12:20:59 +11:00
Tinderbox User b847e7105e regen v9_6 2012-11-30 01:15:10 +00:00
Mark Andrews 1f253dcf4d 3429. [bug] dns_zone_getserial2 could a return success without
returning a valid serial. [RT #32007]

Squashed commit of the following:

commit 0057f4b6e843c3998b987dbc7f32ceeee8afc150
Author: Mark Andrews <marka@isc.org>
Date:   Fri Nov 30 08:13:15 2012 +1100

    zone_get_from_db could return success without setting return valuses; serial is only valid if soacount is none zero

Conflicts:
	lib/dns/zone.c
2012-11-30 12:02:17 +11:00
Tinderbox User e266df465f update copyright notice 2012-11-29 23:45:10 +00:00
Jeremy C. ReedandMark Andrews 5a6d0a9844 Remove link to AUSCERT article about ACLs. It has been broken
for at least 6 years.
See ticket #16479 for details.
No CHANGES entry added.
This was not reviewed. It is minor.
2012-11-30 10:40:43 +11:00
Evan Hunt 1ff8b5bef5 [v9_6] add timezone to dig
3428.	[cleanup]	dig: Add timezone to date output. [RT #2269]
(cherry picked from commit 706219e547)
(cherry picked from commit df9aeb663d)
(cherry picked from commit 5d1b72e2ed)
2012-11-29 09:09:02 -08:00
Mark Andrews e1b09c2c48 use consistent type in sizeof and ultimate type cast 2012-11-30 00:56:31 +11:00
Mark Andrews 9dc8381ff4 null pointer derefernce on out of memory 2012-11-30 00:51:17 +11:00
Mark Andrews 133ca384d1 initialize the octet string to empty so that we don't free garbage on error 2012-11-29 18:13:27 +11:00
Evan Hunt 961e45050f [v9_6] fix dig +trace output
3427.	[bug]		dig +trace incorrectly displayed name server
			addresses instead of names. [RT #31641]
(cherry picked from commit 2f21adbc6a)
(cherry picked from commit 90dbd7c2e0)
(cherry picked from commit fddb023637)
2012-11-28 19:07:04 -08:00
Tinderbox User ab9d947465 regen v9_6 2012-11-29 01:07:54 +00:00
Mark Andrews 2346a15d6c update 2012-11-29 10:43:55 +11:00
Mark Andrews b6bfc7235d update 2012-11-29 10:43:27 +11:00
Mark Andrews 8338bbc282 link against @DNS_CRYPTO_LIBS@ 2012-11-29 07:27:41 +11:00
Evan Hunt 705e16c394 [v9_6] s/size spec/size_spec/ 2012-11-27 22:48:59 -08:00
Mark AndrewsandMark Andrews bc032a97bb update libtool support to version 2.4.2 2012-11-28 04:38:21 +00:00
Mark Andrews 4d5ef03723 adjust looping threshold from 10 to 15 2012-11-28 12:06:53 +11:00
Mark Andrews cecbe5bc42 3425. [bug] "acacheentry" reference counting was broken resulting
in use after free. [RT #31908]
2012-11-27 16:05:45 +11:00
Tinderbox User a9cf59c7cb update copyright notice 2012-11-21 23:45:10 +00:00
Mark Andrews 1aefd8ec88 3421. [bug] Named loops when re-signing if all keys are offline.
[RT #31916]

Squashed commit of the following:

commit f47af0ca6793687b9c8d08fd44b0c091ba5a4f9a
Author: Mark Andrews <marka@isc.org>
Date:   Wed Nov 21 17:45:21 2012 +1100

    dns_dns_zonediff_t -> dns_zonediff_t, clarify comment

commit 344edefc3ee90856a7ff990abe7971925ba843b2
Author: Mark Andrews <marka@isc.org>
Date:   Tue Nov 20 13:12:26 2012 +1100

    commit the zone changes if a keep was marked as being offline

commit cad2c2446ebfc20b6d8c4f6dd0d6596d7106cc0f
Author: Mark Andrews <marka@isc.org>
Date:   Tue Nov 20 13:08:29 2012 +1100

    check for looping when re-signing expiring.example

Conflicts:
	lib/dns/zone.c

Conflicts:
	lib/dns/zone.c
2012-11-21 20:48:01 +11:00
Mar Andrews 40f92e3040 3420. [bug] Address VPATH compilation issues. [RT #31879] 2012-11-17 09:54:28 +00:00
Mark Andrews 6b696ad957 3419. [bug] Memory leak on validation cancel. [RT #31869]
Squashed commit of the following:

commit 452b07ec7cb31784d90d9c2e45ca708df306302e
Author: Mark Andrews <marka@isc.org>
Date:   Wed Nov 14 23:36:36 2012 +1100

    destroy fetch when canceling validator
2012-11-15 11:21:14 +11:00
Mark Andrews caa58096b2 Redo
3415.   [bug]           named could die with a REQUIRE failure if a valdation
                        was canceled. [RT #31804]
2012-11-14 07:44:30 +11:00
Mark Andrews 5d8eaba029 spelling 2012-11-09 09:31:30 +11:00
Mark Andrews 25c877f032 3415. [bug] named could die with a REQUIRE failure id a valdation
was canceled. [RT #31804]

Squashed commit of the following:

commit d414d3cb4244daeca4159ac1f8a82322e4a20e5a
Author: Mark Andrews <marka@isc.org>
Date:   Wed Nov 7 14:19:28 2012 +1100

    check that val->fetch != NULL before calling dns_resolver_destroyfetch
2012-11-09 09:15:11 +11:00
Mark Andrews 39621f0a19 sock is potentially unused in use_min_mtu 2012-11-01 15:29:53 +11:00
Mark Andrews c772a63639 task used uninitalised 2012-11-01 15:20:45 +11:00
Mark Andrews fdfc5c763e uninitalised use 2012-11-01 13:55:29 +11:00
Mark Andrews dd03068db2 3412. [bug] Copy timeval structure from control message data.
[RT #31548]
2012-11-01 11:17:41 +11:00
Tinderbox User 5079524c7c update copyright notice 2012-10-31 23:45:11 +00:00
Mark Andrews 95eff34c01 address merge error 2012-11-01 10:42:01 +11:00
Mark Andrews 3474f269c6 More coverity fixes:
3410.   [bug]           Addressed Coverity warnings. [RT #31626]
Squashed commit of the following:

commit 6fec07bbb69ead784063052f2099674f8b52c6b3
Author: Mark Andrews <marka@isc.org>
Date:   Tue Oct 30 18:14:35 2012 +1100

    use strl{cat,cpy}

commit 19a5d3766f3dbc8a2944b21640a8226a89aae7ba
Author: Mark Andrews <marka@isc.org>
Date:   Tue Oct 30 14:38:55 2012 +1100

    address unchecked xmlTextWriter* calls

Conflicts:
	bin/named/statschannel.c
	lib/dns/cache.c
	lib/dns/include/dns/cache.h
	lib/isc/task.c

Conflicts:
	lib/isc/mem.c
	lib/isc/task.c
	lib/isc/unix/socket.c
	lib/isc/win32/socket.c
2012-11-01 10:35:08 +11:00
Mark Andrews 28cb874727 3411. [tuning] Use IPV6_USE_MIN_MTU or equivalent with TCP in addition to UDP. [RT #31690]
Squashed commit of the following:

commit bcbe9ae7a99e1f7f4236a22739a793b51ace8684
Author: Mark Andrews <marka@isc.org>
Date:   Wed Oct 31 15:10:53 2012 +1100

    Use IPV6_USE_MIN_MTU for TCP as well as UDP

Conflicts:
	lib/isc/win32/socket.c
2012-11-01 08:46:00 +11:00
Mark Andrews fb8813c89e spelling, whitespace
Conflicts:
	CHANGES

Conflicts:
	CHANGES
2012-10-31 07:40:41 +11:00
Evan Hunt 35e2c35de1 [v9_6] fix changes note
(cherry picked from commit a8ef22d88e)
2012-10-30 09:59:11 -07:00
Tinderbox User f9d075bb26 update copyright notice 2012-10-29 23:45:11 +00:00
Tinderbox User 980bd670b1 newcopyrights 2012-10-29 23:30:04 +00:00
Mark Andrews 9923c4fe57 <sys/errno.h> -> <errno.h> 2012-10-30 09:27:38 +11:00
Mark Andrews 2eacd1be5c 3410. [bug] Addressed Coverity warnings. [RT #31626]
Squashed commit of the following:

commit bce2efe66d69d60b746b85df49974ca341723169
Author: Mark Andrews <marka@isc.org>
Date:   Mon Oct 29 12:59:25 2012 +1100

    use 'static dns_rdata_xxxx_t xxxx'

commit 704d3c29acbf2dd350a26f2df82a57cb077ba72e
Author: Mark Andrews <marka@isc.org>
Date:   Mon Oct 29 12:35:16 2012 +1100

    return ISC_R_NOTFOUND if private record length does not make sense

commit 7596610c12c5685336fc0909860173d2fae359af
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 21:41:17 2012 +1100

    check private->length == 5

commit 3836365a3e3e83b057bd940350f032279e080296
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 21:40:50 2012 +1100

    properly set private->length

commit a295778ac53109d39ef3a8b233751100edae678b
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 21:13:30 2012 +1100

    check dns_rdata_tostruct result

commit e33c37ca9112159e0b2363615bb018d27fa7d1a5
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 21:10:43 2012 +1100

    check remove/fopen/chmod return values

commit 3a675e0666aae25d1c51f51ec7bd3fbe25545aae
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 20:59:10 2012 +1100

    check isc_socket_accept result

commit 696923344f4b07ce0dba4cf2675b1cbb6eba7e8e
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 20:55:40 2012 +1100

    change variable scopes

commit b9e9d9ad58270271003e463f10744e0ceaf9ad97
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 20:53:19 2012 +1100

    check inet_pton return value

commit 70698e9589da77e3745efb6ea24b8830addd6ae4
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 20:52:40 2012 +1100

    break -> /* NOTREACHED */

commit 88de9de2e8e201ab2fef16a868f241e8206ea826
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 20:52:06 2012 +1100

    strcpy -> strlcpy

commit 6ba79c7cec0e48014cdfa76e8a9406b7a921556e
Author: Mark Andrews <marka@isc.org>
Date:   Sat Oct 27 20:51:26 2012 +1100

    check dns_rdata_tostruct return values

Conflicts:
	bin/tests/rdata_test.c
	lib/dns/private.c
	lib/dns/tests/private_test.c
	lib/dns/zone.c

Conflicts:
	CHANGES
	bin/tests/rdata_test.c
	lib/dns/zone.c
2012-10-29 20:52:41 +11:00
Mark Andrews e5d6854aa2 extract repo from --remote 2012-10-29 02:56:56 +00:00
Evan Hunt 7331f3d84b [v9_6] address mem.c compilation problems
3406.	[bug]		mem.c: Fix compilation errors when building with
			ISC_MEM_TRACKLINES or ISC_MEMPOOL_NAMES disabled.
                        Also, ISC_MEM_DEBUG is no longer optional. [RT #31559]
(cherry picked from commit 2f57f353e8)
(cherry picked from commit 76e34eb2fd)
(cherry picked from commit 7c5941b4c2)
2012-10-25 19:07:13 -07:00
Tinderbox User 9b23de87dc update copyright notice 2012-10-25 23:46:14 +00:00
Tinderbox User 12a275a9fc newcopyrights 2012-10-25 23:30:03 +00:00
Mark Andrews e68ab11c16 3405. [bug] Handle time going backwards in acache. [RT #31253]
Squashed commit of the following:

commit fbf4c8fe2644c101bac870360d3f2c159a90f203
Author: Mark Andrews <marka@isc.org>
Date:   Wed Oct 24 14:43:14 2012 +1100

    remove INSIST and handle time going backwards
2012-10-25 14:30:09 +11:00
Evan Hunt 19842feafb Merge branch 'v9_6' of ssh://repo/proj/git/prod/bind9 into v9_6 2012-10-24 18:04:46 -07:00
Evan Hunt 620d76c6e0 [v9_6] remove spurious signatures from glue
3404.	[bug]		dnssec-signzone: When re-signing a zone, remove
			RRSIG and NSEC records from nodes that used to be
			in-zone but are now below a zone cut. [RT #31556]
(cherry picked from commit 4b3d727d96)
(cherry picked from commit d8861c4350)
(cherry picked from commit 3314b7cd78)
2012-10-24 18:02:29 -07:00
Tinderbox User 48a322e5be update copyright notice 2012-10-24 23:45:15 +00:00
Tinderbox User 4824bf6a6a newcopyrights 2012-10-24 23:30:04 +00:00
Evan Hunt b8888bfd55 [v9_6] silence warning 2012-10-24 15:40:45 -07:00
Evan Hunt c5987d9ebe [v9_6] fix CHANGES error 2012-10-24 13:20:43 -07:00
Evan Hunt ef70ea9f63 [v9_6] silence warnings in dnssec system test 2012-10-24 13:16:55 -07:00
Evan Hunt 148413ff38 [v9_6] silence noisy OpenSSL logging
3402.	[bug]		Correct interface numbers for IPv4 and IPv6 interfaces.
(cherry picked from commit 0e37e9e3d7)
(cherry picked from commit 152c393671)
(cherry picked from commit ab9d2ca4dd)
2012-10-24 13:16:38 -07:00
ckb dce5155b28 3402. [bug] Correct interface numbers for IPv4 and IPv6 interfaces.
[RT #25085]
2012-10-24 14:54:38 -05:00
Evan Hunt a86ff30111 [v9_6] silence coverity warnings
3401.	[bug]		Addressed Coverity warnings. [RT #31484]
(cherry picked from commit 47c5b8af92)
(cherry picked from commit 2589af5868)
(cherry picked from commit a53a622417)
2012-10-23 22:34:16 -07:00
Evan Hunt b87fa3e046 add CHANGES 2012-10-22 13:18:14 -07:00
Tinderbox User 3260441570 regen 2012-10-22 20:05:14 +00:00
Evan Hunt e9df78aa34 [rt31494] add gitID to kit.sh generated tarballs 2012-10-22 13:00:19 -07:00
Tinderbox User 2484c768ce update SRCID 2012-10-19 06:16:04 +00:00
Mark Andrews 8a8b37d36f remove redundant UNUSED(callbacks) 2012-10-19 16:29:47 +11:00
Tinderbox User 5bef8ce420 update SRCID 2012-10-19 00:15:54 +00:00
Tinderbox User 231b8abbc1 update copyright notice 2012-10-18 23:45:13 +00:00
Tinderbox User e2b9eb7d4e update SRCID 2012-10-18 23:15:36 +00:00
ckb cd20e4a109 3397. [bug] dig crashed when using +nssearch with +tcp. [RT #25298] 2012-10-18 17:56:27 -05:00
Tinderbox User a4c28497f5 update SRCID 2012-10-18 03:16:04 +00:00
Mark Andrews 49a924db3b 3396. [bug] OPT records were incorrectly removed from signed,
truncated responses. [RT #31439]
2012-10-18 13:27:36 +11:00
Tinderbox User 26e22c238e update SRCID 2012-10-17 02:15:40 +00:00
Mark Andrews 9f519425b2 missing space before other len after change #3389 2012-10-17 12:50:30 +11:00
Tinderbox User 14d738b6d8 update SRCID 2012-10-17 01:15:46 +00:00
Tinderbox User ad17ed2583 regen v9_6 2012-10-17 01:08:52 +00:00
Tinderbox User 5610034a78 update SRCID 2012-10-16 02:15:41 +00:00
Mark Andrews 659ab661a2 3395. [protocol] Add RFC 6598 reverse zones to built in empty zones
list, 64.100.IN-ADDR.ARPA ... 127.100.IN-ADDR.ARPA.
                        [RT #31336]
2012-10-16 12:46:42 +11:00
Tinderbox User 6ac3fb5c5c update SRCID 2012-10-16 01:15:44 +00:00
Mark Andrews f9d8debcd0 3394. [bug] Adjust 'sucessfully validated after lower casing
signer' log level and category. [RT #31414]
2012-10-16 11:57:05 +11:00
Tinderbox User 6589e64936 update SRCID 2012-10-16 00:16:49 +00:00
Mark Andrews cfee4fb8a2 test for directory existance before calling find 2012-10-16 10:56:06 +11:00
Mark Andrews c0dcb1e04e 3393. [bug] 'host -C' could core dump if REFUSED was received.
[RT #31381]
2012-10-16 10:44:47 +11:00
Tinderbox User 98787faea2 update SRCID 2012-10-10 02:15:34 +00:00
Mark Andrews 8a1b751171 fix typos in variable names 2012-10-10 13:11:54 +11:00
Tinderbox User f7f370829e update SRCID 2012-10-07 01:15:38 +00:00
Mark Andrews 8c4c5e5cec Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2012-10-07 11:37:23 +11:00
Tinderbox User 61711df30d update SRCID 2012-10-07 00:15:52 +00:00
Tinderbox User f88745517a update copyright notice 2012-10-06 23:45:13 +00:00
Tinderbox User 11b4085796 newcopyrights 2012-10-06 23:30:03 +00:00
Tinderbox User ce03256f84 update SRCID 2012-10-06 08:15:43 +00:00
Mark Andrews 12bab5c663 remove empty directories when cleaning 2012-10-06 17:26:58 +10:00
Mark Andrews efc3ad0392 update change description 2012-10-06 17:24:51 +10:00
Mark Andrews 79992558d9 Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2012-10-06 17:15:13 +10:00
Tinderbox User 00b0069eab update SRCID 2012-10-06 05:16:07 +00:00
Mark Andrews 6e8dc44545 3391. [bug] DNSKEY that encountered a CNAME failed. [RT #31262] 2012-10-06 15:06:58 +10:00
Mark Andrews e4e82b398c 3390. [bug] Silence clang compiler warnings. [RT #30417] 2012-10-06 12:26:50 +10:00
Tinderbox User d0e2f6c6ca update SRCID 2012-10-04 21:15:35 +00:00
Mark Andrews be6c81b03e 3389. [bug] Always return NOERROR (not 0) in TSIG. [RT #31275] 2012-10-05 06:58:52 +10:00
Tinderbox User 61b52746c5 update SRCID 2012-10-04 00:15:51 +00:00
Tinderbox User 918eee6228 newcopyrights 2012-10-03 23:30:02 +00:00
Tinderbox User 7e5d132c9c update SRCID 2012-10-03 22:15:31 +00:00
Mark Andrews b1a4dd1c07 Revert "include <isc/print.h> in gen.c"
This reverts commit 5bbba214b2.
2012-10-04 08:13:47 +10:00
Tinderbox User 8aeff24b3d update SRCID 2012-10-03 15:15:35 +00:00
Evan Hunt 5bbba214b2 include <isc/print.h> in gen.c 2012-10-03 08:01:41 -07:00
Tinderbox User 6103a5369b update SRCID 2012-10-03 07:15:53 +00:00
Evan Hunt 09b49ec9b4 fix coverity issues
3388.	[bug]		Fixed several Coverity warnings. [RT #30996]
2012-10-03 00:01:28 -07:00
Tinderbox User 4e24be19b6 update SRCID 2012-10-03 00:15:51 +00:00
Mark Andrews 21768e3aae 3386. [bug] Address locking violation when generating new NSEC /
NSEC3 chains. [RT #31224]
2012-10-03 10:05:55 +10:00
Tinderbox User 180e413931 update SRCID 2012-09-27 01:15:35 +00:00
Evan Hunt 9e09039ce8 fixed an exploitable hang bug
3383.	[security]	A certain combinations of records in the RBT could
                        cause named to hang while populating the additional
                        section of a response. [RT #31090]
2012-09-26 17:21:30 -07:00
Tinderbox User 21ee08520c update SRCID 2012-09-26 21:15:37 +00:00
Evan Hunt 2d4c6e30a0 use correct port range
3382.	[bug]		SOA query from slave used use-v6-udp-ports range,
			if set, regardless of the address family in use.
			[RT #24173]
2012-09-26 13:57:10 -07:00
Tinderbox User 59ca4e0f4e update SRCID 2012-09-26 06:16:42 +00:00
Evan Hunt 96530bc8c1 support more rrtypes in queryperf
3381.	[contrib]	Update queryperf to support more RR types.
			[RT #30762]
2012-09-25 22:55:10 -07:00
Mark Andrews 8e4dd15561 3380. [bug] named could die if a non-existant master list was
referenced in a also-notify. [RT #31004]
2012-09-26 15:29:38 +10:00
Mark Andrews 7f1fab8b88 3379. [bug] isc_interval_zero and isc_time_epoch should be
"const (type)* const". [RT #31069]
2012-09-26 15:21:18 +10:00
Tinderbox User 9c75dd9935 update SRCID 2012-09-19 04:15:56 +00:00
Mark Andrews 90530fa80f remove contrib/dbus/* 2012-09-19 14:04:06 +10:00
Tinderbox User f4b3864bf8 update SRCID 2012-09-18 22:15:33 +00:00
Evan Hunt d7befc6016 contrib/dbus is deprecated 2012-09-18 14:57:05 -07:00
Tinderbox User 6a15e57e2a update SRCID 2012-09-15 00:15:42 +00:00
Tinderbox User d5356fec3e update copyright notice 2012-09-14 23:45:12 +00:00
Tinderbox User 551b3d0216 newcopyrights 2012-09-14 23:30:06 +00:00
Tinderbox User 16dc282144 update SRCID 2012-09-14 01:15:43 +00:00
Mark Andrews 0365bb2101 3376. [bug] Lack of EDNS support was being recorded without a
successful response. [RT #30811]
2012-09-14 11:02:38 +10:00
Mark Andrews 1d6b9860c7 fix isc_begin_tests call 2012-09-14 10:38:15 +10:00
ckb 5f7545bf48 3375. [func] Check that 'rndc dumpdb' works on a empty cache.
[RT #30808]
2012-09-13 19:34:00 -05:00
Tinderbox User 4b97f08c1f update SRCID 2012-09-14 00:15:54 +00:00
Mark Andrews 93bad11f96 3375. [func] Check that 'rndc dumpdb' works on a empty cache.
[RT #30808]
2012-09-14 09:47:25 +10:00
Tinderbox User 006734c198 update SRCID 2012-09-13 00:15:57 +00:00
Tinderbox User 6e02beeec7 update copyright notice 2012-09-12 23:45:17 +00:00
Tinderbox User bc50f9cb0d newcopyrights 2012-09-12 23:30:04 +00:00
ckb e4263037ec 3374. [bug] isc_parse_uint32 failed to return a range error on
systems with 64 bit longs [RT #30232]
2012-09-12 15:39:30 -05:00
Tinderbox User 1fed19d4a9 update SRCID 2012-09-12 08:15:35 +00:00
Mark Andrews 2f5502d687 use binary mode for raw/fast 2012-09-12 17:45:13 +10:00
Tinderbox User 33197da4f9 update SRCID 2012-09-12 06:15:51 +00:00
Mark Andrews 4df15f2b94 Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2012-09-12 15:37:56 +10:00
Mark Andrews 44c8d0d555 turn binary mode on for raw/fast 2012-09-12 15:30:35 +10:00
Tinderbox User 986fe5d9a6 update SRCID 2012-09-12 04:16:01 +00:00
Mark Andrews 7278b54211 O_BINARY -> _O_BINARY 2012-09-12 13:56:22 +10:00
Tinderbox User 8cddf4ff35 update SRCID 2012-09-12 03:16:08 +00:00
Mark Andrews 22e5707efa 3373. [bug] win32: open raw files in binary mode. [RT #30944] 2012-09-12 12:04:25 +10:00
Tinderbox User 9b65e287fa update SRCID 2012-09-08 09:15:47 +00:00
Mark Andrews f4a0e3aaff 3372. [bug] Silence spurious "deleted from unreachable cache"
messages.  [RT #30501]
2012-09-08 18:16:42 +10:00
Tinderbox User 5e1cb0fff0 update SRCID 2012-09-01 00:16:02 +00:00
Tinderbox User 4d708d7eb8 newcopyrights 2012-08-31 23:30:04 +00:00
Tinderbox User c66dbce23d update SRCID 2012-08-31 02:15:43 +00:00
Mark Andrews 58085bf485 3371. [bug] AD=1 should behave like DO=1 when deciding whether to
add NS RRsets to the additional section or not.
                        [RT #30479]
2012-08-31 11:34:14 +10:00
Tinderbox User b19965e134 update SRCID 2012-08-30 04:15:56 +00:00
Mark Andrews 43f74fff0a don't call out to the internet when running test 2012-08-30 13:59:54 +10:00
Tinderbox User 19cb51c289 update SRCID 2012-08-24 07:15:50 +00:00
Mark Andrews 1221ba2fbf update 2012-08-24 17:01:22 +10:00
Tinderbox User 40f3ae7859 update SRCID 2012-08-24 05:16:58 +00:00
Mark Andrews c13f4beb43 9.6-ESV-R8 2012-08-24 14:17:25 +10:00
Mark Andrews b34173241e update CVE list 2012-08-24 14:11:57 +10:00
Mark Andrews ff56cee13c 3364. [security] Named could die on specially crafted record.
[RT #30416]
2012-08-24 14:10:48 +10:00
Tinderbox User 2bee7bd587 update SRCID 2012-08-23 08:15:58 +00:00
Mark Andrews 702cf023d3 handle doc/arm/*.html 2012-08-23 17:55:29 +10:00
Tinderbox User 145a695fc5 update SRCID 2012-08-23 06:16:04 +00:00
Mark Andrews 77ff7325ad 9.6-ESV-R8rc1 2012-08-23 15:32:45 +10:00
Tinderbox User 9b1fb5da85 update SRCID 2012-08-23 00:15:54 +00:00
Mark Andrews 5c4f03600a update 2012-08-23 09:59:17 +10:00
Tinderbox User 281b87dc88 update SRCID 2012-08-22 10:15:50 +00:00
Mark Andrews 977d6987ae change number 2012-08-22 19:24:55 +10:00
Tinderbox User fd7deb9201 update SRCID 2012-08-22 09:15:40 +00:00
Mark Andrews 58cbd8c4fd back port parse_rdata fix to handle NULL commandline 2012-08-22 18:38:46 +10:00
Tinderbox User 41ff983eeb update SRCID 2012-08-22 04:16:02 +00:00
Mark Andrews a6598d6709 3379. [bug] nsupdate terminated unexpectedly in interactive mode
if built with readline support. [RT #29550]
2012-08-22 13:55:39 +10:00
Tinderbox User 6a7dca8e8c update SRCID 2012-08-22 00:15:44 +00:00
Tinderbox User 4a8fb790b0 update copyright notice 2012-08-21 23:45:12 +00:00
Tinderbox User 1c53153757 newcopyrights 2012-08-21 23:30:03 +00:00
Tinderbox User 433a832300 update SRCID 2012-08-21 19:15:34 +00:00
Evan Hunt 6678d435cc spelling 2012-08-21 12:08:33 -07:00
Tinderbox User acba1a78d0 update SRCID 2012-08-21 07:16:09 +00:00
Mark Andrews 19f97857e4 3368. [bug] <dns/iptable.h> and <dns/zone.h> where not C++ safe. 2012-08-21 16:48:32 +10:00
Tinderbox User fb1c254dd0 update SRCID 2012-08-17 18:15:43 +00:00
ckb d026886b08 3366. [bug] Fixed Read-After-Write dependency violation for IA64
atomic operations. [RT #25181]
2012-08-17 13:07:11 -05:00
Tinderbox User 9623917ad8 update SRCID 2012-08-17 06:15:57 +00:00
Mark Andrews 734b0a4b9f clean testdir's as well 2012-08-17 16:06:24 +10:00
Tinderbox User 8bc478c05f update SRCID 2012-08-17 04:15:56 +00:00
Mark Andrews 02fefa5b52 we didn't catch a zero option at the global level when views are active 2012-08-17 13:56:20 +10:00
Tinderbox User 13e3932260 update SRCID 2012-08-16 22:15:31 +00:00
Mark Andrews 361165650f silence "t_names.c:130:7: warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage" 2012-08-17 07:21:38 +10:00
Tinderbox User 6cc8b4b8fd update SRCID 2012-08-16 19:15:42 +00:00
Evan Hunt ff413dbe66 remove spurious newlines in zone.c logging
3365.	[bug]		Removed spurious newlines from log messages in
			zone.c [RT #30675]
2012-08-16 10:50:06 -07:00
Tinderbox User 3782efb7d0 update SRCID 2012-08-16 05:17:04 +00:00
Evan Hunt 44f94b4af2 specify libtool mode in DLZBDB makefile 2012-08-15 21:54:27 -07:00
Tinderbox User 8e6b6115cd update SRCID 2012-08-15 00:15:41 +00:00
Tinderbox User 3fed8757e9 update copyright notice 2012-08-14 23:45:11 +00:00
Tinderbox User 6929f23913 newcopyrights 2012-08-14 23:30:04 +00:00
Tinderbox User c9da7da070 update SRCID 2012-08-14 06:15:42 +00:00
Evan Hunt 6202b2ec2a properly range-check fields that do not allow 0
3362.	[bug]		Setting some option values to 0 in named.conf
			could trigger an assertion failure on startup.
			[RT #27730]
2012-08-13 22:52:29 -07:00
Tinderbox User cb7e02ba7f update SRCID 2012-08-14 05:15:44 +00:00
Mark Andrews 112f7c3785 test against unsigned zero 2012-08-14 14:29:47 +10:00
Tinderbox User 136d2fada0 update SRCID 2012-08-14 01:16:00 +00:00
Mark Andrews 054a9cc454 3360. [bug] 'host -w' could die. [RT #18723] 2012-08-14 11:11:23 +10:00
Tinderbox User af724aff4e update SRCID 2012-08-12 05:16:08 +00:00
Mark Andrews 58ee862835 update 2012-08-12 14:52:40 +10:00
Tinderbox User 2f65d30ad9 update SRCID 2012-08-11 04:16:39 +00:00
Evan Hunt 8dc862fe22 address memory leak with bad tsig secret
3359.	[bug]		An improperly-formed TSIG secret could cause a
                        memory leak. [RT #30607]
2012-08-10 20:23:57 -07:00
Tinderbox User ee76b2ef38 update SRCID 2012-08-05 03:15:58 +00:00
Mark Andrews 53d0f8a914 3358 [bug] Fix declaration of fatal in bin/named/server.c
and bin/nsupdate/main.c. [RT #30522]
2012-08-05 13:09:07 +10:00
Tinderbox User c9acb5511f update SRCID 2012-08-04 15:15:43 +00:00
Mark Andrews 1486f91694 Fix declaration of fatal in bin/named/server.c. 2012-08-05 01:08:27 +10:00
Tinderbox User 0b029832cd update SRCID 2012-08-02 02:15:41 +00:00
Mar Andrews dd678452b9 3357. [port] Add support for libxml2-2.8.x [RT #30440] 2012-08-02 01:53:20 +00:00
Tinderbox User 61e1d262cd update SRCID 2012-07-26 06:15:56 +00:00
Evan Hunt 4dfb52131e Merge branch 'v9_6' of ssh://repo/proj/git/prod/bind9 into v9_6 2012-07-25 22:24:15 -07:00
Evan Hunt 2f16faf485 revert rt26429 due to incompatibilities with 9.6 2012-07-25 22:22:16 -07:00
Tinderbox User 4dd24fbcf1 update SRCID 2012-07-26 05:15:46 +00:00
Mark Andrews 817bceaf01 remove test skipping 2012-07-26 14:49:56 +10:00
Evan Hunt 0953cc2c36 fix merge errors 2012-07-25 21:19:51 -07:00
Tinderbox User c53306d856 update SRCID 2012-07-26 03:15:59 +00:00
Mark Andrews 9611cd2068 remove conflict marker 2012-07-26 13:11:56 +10:00
Tinderbox User 24c06f4799 update SRCID 2012-07-26 00:15:49 +00:00
Tinderbox User 2615007d77 update copyright notice 2012-07-25 23:45:12 +00:00
Tinderbox User 2c6afd50e8 newcopyrights 2012-07-25 23:30:06 +00:00
Tinderbox User ccdb39648f update SRCID 2012-07-25 23:15:41 +00:00
ckb 8d74549a5c 3356. [bug] Cap the TTL of signed RRsets when RRSIGs are
approaching their expiry, so they don't remain
			in caches after expiry. [RT #26429]
2012-07-25 17:38:47 -05:00
Tinderbox User 58d4e6452a update SRCID 2012-07-24 07:15:35 +00:00
Evan Hunt 779ec9984d Merge branch 'v9_6' of ssh://repo/proj/git/prod/bind9 into v9_6 2012-07-23 23:31:14 -07:00
Evan Hunt 8181ca0d97 update api 2012-07-23 23:31:00 -07:00
Tinderbox User bbe6cf8aed update SRCID 2012-07-24 03:16:04 +00:00
Mark Andrews d72d9d5858 cleanup unused variables 2012-07-24 12:26:54 +10:00
Tinderbox User 70fcea59c5 update SRCID 2012-07-24 00:15:45 +00:00
Tinderbox User f69f6d9d65 update copyright notice 2012-07-23 23:45:13 +00:00
Tinderbox User a8ac2df240 newcopyrights 2012-07-23 23:30:02 +00:00
Tinderbox User ddf3b86e0b update SRCID 2012-07-23 21:15:37 +00:00
Evan Hunt 9644984506 update 2012-07-23 13:35:33 -07:00
Tinderbox User 228aed11b2 update SRCID 2012-07-23 20:15:32 +00:00
Evan Hunt 1cac29a57c fix change note 3348, bug not security 2012-07-23 12:59:48 -07:00
Evan Hunt 7bd0a3c6a2 prep 9.6-ESV-R8b1 2012-07-23 12:58:45 -07:00
Tinderbox User 013e87384b update SRCID 2012-07-23 07:15:44 +00:00
Mark Andrews 29173e699a 3354. [func] Improve OpenSSL error logging. [RT #29932] 2012-07-23 16:30:55 +10:00
Tinderbox User 598a07a616 update SRCID 2012-07-20 05:16:35 +00:00
Tinderbox User 9a3a8f524c regen v9_6 2012-07-20 04:37:04 +00:00
Tinderbox User 71083d9a1a sync 2012-07-20 04:34:43 +00:00
Tinderbox User 3eae25e2ef update SRCID 2012-07-18 05:16:52 +00:00
Mark Andrews 88e814e0e4 3352. [bug] Ensure that learned server attributes timeout of the
adb cache. [RT #29856]
2012-07-18 14:20:09 +10:00
Tinderbox User 72f2207fc5 update SRCID 2012-07-18 00:15:43 +00:00
Mark Andrews 6439173dae 3350. [bug] Memory read overrun in isc___mem_reallocate if
ISC_MEM_DEBUGCTX memory debugging flag is set.
                        [RT #30240]
2012-07-18 09:54:25 +10:00
Tinderbox User d92f5ce987 update SRCID 2012-07-09 19:15:34 +00:00
ckb 960012de77 3348. [security] prevent RRSIG data from being cached if a negative
record matching the covering type exists at a higher
			trust level. Such data already can't be retrieved from
			the cache since change 3218 -- this prevents it
			being inserted into the cache as well. [RT #26809]
2012-07-09 13:29:42 -05:00
Tinderbox User 484b950181 update SRCID 2012-07-02 17:15:30 +00:00
Evan Hunt 28aae970ea fix bad-cache assert
3346.	[security]	Bad-cache data could be used before it was
			initialized, causing an assert. [RT #30025]
2012-07-02 10:05:20 -07:00
Evan Hunt bc892cc381 wrong RT number 2012-07-02 09:28:29 -07:00
Tinderbox User 794bd47f6d update SRCID 2012-06-30 00:15:44 +00:00
Tinderbox User ae47f254c7 update copyright notice 2012-06-29 23:45:10 +00:00
Tinderbox User f149d3087f newcopyrights 2012-06-29 23:30:03 +00:00
Tinderbox User 1ed281f48e update SRCID 2012-06-29 02:15:43 +00:00
Mark Andrews 77092470f0 lost line 2012-06-29 11:47:30 +10:00
Mark Andrews 0b51f38570 reverse bad copyright update 2012-06-29 11:47:25 +10:00
Tinderbox User a4da60cb18 update copyright notice 2012-06-29 01:21:32 +00:00
Tinderbox User 95dd83a7bc update SRCID 2012-06-29 01:15:21 +00:00
Mark Andrews cbe6d5d7e1 add support for python 2012-06-29 11:06:04 +10:00
Tinderbox User cbba858415 update SRCID 2012-06-27 00:15:28 +00:00
Mark Andrews 916d7e4d87 3343. [bug] Relax isc_random_jitter() REQUIRE tests. [RT# 19821] 2012-06-27 10:06:44 +10:00
Mark Andrews eb4ad81ccb 3342. [bug] Change #3314 broke saving of stub zones to disk
resulting in excessive cpu usage in some cases.
                        [RT #29952]
2012-06-27 09:45:41 +10:00
Tinderbox User 610e44c0e1 update SRCID 2012-06-25 02:15:32 +00:00
Mark Andrews abf344768f silence compiler warning by using offsetof to get structure element offsets 2012-06-25 12:05:14 +10:00
Tinderbox User aa6802d74b update SRCID 2012-06-22 00:15:28 +00:00
Tinderbox User cf77da1598 update copyright notice 2012-06-21 23:45:09 +00:00
Tinderbox User db54e2dd5c update SRCID 2012-06-21 06:15:40 +00:00
Evan Hunt 0c0c7ae630 fix secondkey test, properly 2012-06-20 22:48:20 -07:00
Tinderbox User e1b256f3b7 update SRCID 2012-06-21 05:15:27 +00:00
Mark Andrews abc4784748 remove rundundent call 'result = isc_parse_uint8(&ui, r.base, 10);' 2012-06-21 14:32:35 +10:00
Tinderbox User 779ceee98a update SRCID 2012-06-20 22:16:10 +00:00
Evan Hunt aa3ed1b594 fixed second-key test to use correct rndc.conf 2012-06-20 15:10:01 -07:00
Tinderbox User adb73a5926 update SRCID 2012-06-15 00:15:59 +00:00
Tinderbox User 981af8798a update copyright notice 2012-06-14 23:45:08 +00:00
Tinderbox User eae6301d93 update SRCID 2012-06-14 01:15:27 +00:00
Tinderbox User 1f6c540eb5 Merge branch 'v9_6' of /proj/git/prod/bind9 into v9_6 2012-06-14 01:15:26 +00:00
Tinderbox User 8c99375816 update SRCID 2012-06-14 00:15:28 +00:00
Mark Andrews d5eb49141a only use 9.6 features 2012-06-14 10:15:08 +10:00
Mark Andrews 0dce2c6123 update 2012-06-14 09:45:19 +10:00
Mark Andrews 242af366a8 add ./bin/tests/system/rndc/ns2/secondkey.key 2012-06-14 09:42:01 +10:00
Tinderbox User b0ef27d2d7 update SRCID 2012-06-13 07:15:27 +00:00
Mark Andrews 3024c922ff 3337. [bug] Change #3294 broke support for the multiple keys
in controls. [RT #29694]
2012-06-13 16:57:23 +10:00
Tinderbox User 3873426088 update SRCID 2012-06-08 05:16:38 +00:00
Evan Hunt df79d703ed nslookup exit with error if unsuccessful
3335.	[func]		nslookup: return a nonzero exit code when unable
			to get an answer. [RT #29492]
2012-06-07 22:09:47 -07:00
Tinderbox User 8cd91651ca update SRCID 2012-06-08 04:15:45 +00:00
Mark Andrews 5af98b88f1 add # 2012-06-08 13:58:45 +10:00
Tinderbox User 26cde354f2 update SRCID 2012-06-07 03:16:05 +00:00
Mark Andrews 11496d8be5 3332. [bug] Re-use cached DS rrsets if possible. [RT 29446] 2012-06-07 13:00:00 +10:00
Tinderbox User 855af5daaa update SRCID 2012-06-02 05:15:44 +00:00
Mark Andrews d932ee4853 Merge branch 'v9_6' of repo.isc.org:/proj/git/prod/bind9 into v9_6 2012-06-02 14:55:43 +10:00
Mark Andrews d1c848f8ca add missing change note 2012-06-02 14:54:10 +10:00
Tinderbox User 863cda8fd0 update SRCID 2012-06-02 00:15:48 +00:00
Tinderbox User b40e492c83 update copyright notice 2012-06-01 23:45:12 +00:00
Tinderbox User 718be0d6a2 newcopyrights 2012-06-01 23:42:45 +00:00
Mark Andrews 390bdd73d2 add ./bin/tests/system/unknown/large.out 2012-06-02 09:41:32 +10:00
Tinderbox User 01b8938dcb update SRCID 2012-06-01 17:15:26 +00:00
Evan Hunt c149639f1a security fix
3331.	[security]	dns_rdataslab_fromrdataset could produce bad
			rdataslabs. [RT #29644]
2012-06-01 10:04:46 -07:00
Tinderbox User 446f5852c6 update SRCID 2012-06-01 11:15:27 +00:00
Mark Andrews d4b59ed307 fixup merge conflict 2012-06-01 21:10:57 +10:00
Tinderbox User 9ab672f69e update SRCID 2012-06-01 01:15:39 +00:00
Tinderbox User 05e61fc99c regen v9_6 2012-06-01 01:06:53 +00:00
Tinderbox User 4c8eb049f1 sync 2012-06-01 01:04:36 +00:00
Tinderbox User c66c4e78c9 update SRCID 2012-05-31 01:15:37 +00:00
Tinderbox User 26c0f0424c regen v9_6 2012-05-31 01:07:19 +00:00
Tinderbox User bd575ac7ec update SRCID 2012-05-30 16:15:34 +00:00
Evan Hunt 798f680440 fixed ARM typo: s/replacable/replaceable/ 2012-05-30 08:17:25 -07:00
Tinderbox User ed9062cb49 update SRCID 2012-05-21 05:41:13 +00:00
Mark Andrews 938a013c39 portability awk add space between -v and it's argument, if anything has changed add ./COPYRIGHT 2012-05-21 15:19:21 +10:00
Tinderbox User f9e63ab5d9 update SRCID 2012-05-21 01:15:41 +00:00
Mark Andrews 83f94c2255 awk and toupper is not portable, use sed instead 2012-05-21 10:18:46 +10:00
Tinderbox User 84e7b77ba8 update SRCID 2012-05-21 00:15:27 +00:00
Tinderbox User 43da4bdf27 update SRCID 2012-05-20 00:15:22 +00:00
Tinderbox User c6076cafe2 update SRCID 2012-05-19 00:15:36 +00:00
Tinderbox User 37ab9b45c7 update SRCID 2012-05-18 00:15:47 +00:00
Tinderbox User 76c46f0fd3 update copyright notice 2012-05-17 23:45:10 +00:00
Evan Hunt 6de0ec806a Merge branch 'v9_6' of ssh://repo/proj/git/prod/bind9 into v9_6 2012-05-17 16:33:04 -07:00
Evan Hunt 1ac5fa17b0 fix check_data() usage
3328.   [bug]           Fixed inconsistent data checking in dst_parse.c.
                        [RT #29401]
2012-05-17 16:31:59 -07:00
Tinderbox User ba6db14388 newcopyrights 2012-05-17 23:30:09 +00:00
Tinderbox User 65c60ad5eb update SRCID 2012-05-17 22:15:27 +00:00
Evan Hunt cee7943a1b some files were not cleaned up 2012-05-17 14:59:33 -07:00
Tinderbox User 4bdc863453 update SRCID 2012-05-17 19:15:35 +00:00
Evan Hunt c92cfa7eae Handle RRSIG signer case consistently
3329.	[bug]	Handle RRSIG signer-name case consistently: We
		generate RRSIG records with the signer-name in
		lower case.  We accept them with any case, but if
		they fail to validate, we try again in lower case.
		[RT #27451]
2012-05-17 11:39:23 -07:00
Tinderbox User 511687b15b update SRCID 2012-05-17 00:15:20 +00:00
Tinderbox User 6950929fa4 update SRCID 2012-05-16 00:15:42 +00:00
Tinderbox User 4d588491b1 update SRCID 2012-05-15 00:15:42 +00:00
Tinderbox User a7021ba3f7 update SRCID 2012-05-14 00:15:35 +00:00
Tinderbox User 758ea2a01d update SRCID 2012-05-13 00:15:22 +00:00
Tinderbox User 522f945e0f update SRCID 2012-05-12 00:15:35 +00:00
Tinderbox User 857d8059b1 update SRCID 2012-05-11 00:15:35 +00:00
Tinderbox User f9d2229db9 update SRCID 2012-05-10 00:15:45 +00:00
Tinderbox User ed420395f8 update SRCID 2012-05-09 23:15:28 +00:00
473 changed files with 43935 additions and 37179 deletions
+284 -11
View File
@@ -1,7 +1,280 @@
--- 9.6-ESV-R9b1 released ---
3465. [bug] Handle isolated reserved ports. [RT #31778]
3462. [doc] Clarify server selection behavior of dig when using
-4 or -6 options. [RT #32181]
3461. [bug] Negative responses could incorrectly have AD=1
set. [RT #32237]
3458. [bug] Return FORMERR when presented with a overly long
domain named in a request. [RT #29682]
3457. [protocol] Add ILNP records (NID, LP, L32, L64). [RT #31836]
3456. [port] g++47: ATF failed to compile. [RT #32012]
3455. [contrib] queryperf: fix getopt option list. [RT #32338]
3454. [port] sparc64: improve atomic support. [RT #25182]
3452. [bug] Accept duplicate singleton records. [RT #32329]
3451. [port] Increase per thread stack size from 64K to 1M.
[RT #32230]
3450. [bug] Stop logfileconfig system test spam system logs.
[RT #32315]
3449. [bug] gen.c: use the pre-processor to construct format
strings so that compiler can perform sanity checks;
check the snprintf results. [RT #17576]
3448. [bug] The allow-query-on ACL was not processed correctly.
[RT #29486]
3447. [port] Add support for libxml2-2.9.x [RT #32231]
3446. [port] win32: Add source ID (see change #3400) to build.
[RT #31683]
3445. [bug] Warn about zone files with blank owner names
immediately after $ORIGIN directives. [RT #31848]
3444. [bug] The NOQNAME proof was not being returned from cached
insecure responses. [RT #21409]
3442. [port] Net::DNS 0.69 introduced a non backwards compatible
change. [RT #32216]
3441. [maint] D.ROOT-SERVERS.NET is now 199.7.91.13.
3440. [bug] Reorder get_key_struct to not trigger a assertion when
cleaning up due to out of memory error. [RT #32131]
3439. [bug] contrib/dlz error checking fixes. [RT #32102]
3438. [bug] Don't accept unknown data escape in quotes. [RT #32031]
3437. [bug] isc_buffer_init -> isc_buffer_constinit to initialize
buffers with constant data. [RT #32064]
3436. [bug] Check malloc/calloc return values. [RT #32088]
3435. [bug] Cross compilation support in configure was broken.
[RT #32078]
3430. [bug] win32: isc_time_formatISO8601 was missing the
'T' between the date and time. [RT #32044]
3429. [bug] dns_zone_getserial2 could a return success without
returning a valid serial. [RT #32007]
3428. [cleanup] dig: Add timezone to date output. [RT #2269]
3427. [bug] dig +trace incorrectly displayed name server
addresses instead of names. [RT #31641]
3425. [bug] "acacheentry" reference counting was broken resulting
in use after free. [RT #31908]
3421. [bug] Named loops when re-signing if all keys are offline.
[RT #31916]
3420. [bug] Address VPATH compilation issues. [RT #31879]
3419. [bug] Memory leak on validation cancel. [RT #31869]
3415. [bug] named could die with a REQUIRE failure if a valdation
was canceled. [RT #31804]
3412. [bug] Copy timeval structure from control message data.
[RT #31548]
3411. [tuning] Use IPV6_USE_MIN_MTU or equivalent with TCP in addition
to UDP. [RT #31690]
3410. [bug] Addressed Coverity warnings. [RT #31626]
3409. [contrib] contrib/dane/mkdane.sh: Tool to generate TLSA RR's
from X.509 certificates, for use with DANE
(DNS-based Authentication of Named Entities).
[RT #30513]
3406. [bug] mem.c: Fix compilation errors when building with
ISC_MEM_TRACKLINES or ISC_MEMPOOL_NAMES disabled.
Also, ISC_MEM_DEBUG is no longer optional. [RT #31559]
3405. [bug] Handle time going backwards in acache. [RT #31253]
3404. [bug] dnssec-signzone: When re-signing a zone, remove
RRSIG and NSEC records from nodes that used to be
in-zone but are now below a zone cut. [RT #31556]
3403. [bug] Silence noisy OpenSSL logging. [RT #31497]
3402. [test] The IPv6 interface numbers used for system
tests were incorrect on some platforms. [RT #25085]
3401. [bug] Addressed Coverity warnings. [RT #31484]
3400. [cleanup] "named -V" can now report a source ID string, defined
in the "srcid" file in the build tree and normally set
to the most recent git hash. [RT #31494]
3397. [bug] dig crashed when using +nssearch with +tcp. [RT #25298]
3396. [bug] OPT records were incorrectly removed from signed,
truncated responses. [RT #31439]
3395. [protocol] Add RFC 6598 reverse zones to built in empty zones
list, 64.100.IN-ADDR.ARPA ... 127.100.IN-ADDR.ARPA.
[RT #31336]
3394. [bug] Adjust 'successfully validated after lower casing
signer' log level and category. [RT #31414]
3393. [bug] 'host -C' could core dump if REFUSED was received.
[RT #31381]
3391. [bug] A DNSKEY lookup that encountered a CNAME failed.
[RT #31262]
3390. [bug] Silence clang compiler warnings. [RT #30417]
3389. [bug] Always return NOERROR (not 0) in TSIG. [RT #31275]
3388. [bug] Fixed several Coverity warnings.
Note: This change includes a fix for a bug that
was subsequently determined to be an exploitable
security vulnerability, CVE-2012-5688: named could
die on specific queries with dns64 enabled.
[RT #30996]
3386. [bug] Address locking violation when generating new NSEC /
NSEC3 chains. [RT #31224]
3382. [bug] SOA query from slave used use-v6-udp-ports range,
if set, regardless of the address family in use.
[RT #24173]
3381. [contrib] Update queryperf to support more RR types.
[RT #30762]
3380. [bug] named could die if a non-existant master list was
referenced in a also-notify. [RT #31004]
3379. [bug] isc_interval_zero and isc_time_epoch should be
"const (type)* const". [RT #31069]
3376. [bug] Lack of EDNS support was being recorded without a
successful response. [RT #30811]
3375. [func] Check that 'rndc dumpdb' works on a empty cache.
[RT #30808]
3374. [bug] isc_parse_uint32 failed to return a range error on
systems with 64 bit longs. [RT #30232]
3372. [bug] Silence spurious "deleted from unreachable cache"
messages. [RT #30501]
3371. [bug] AD=1 should behave like DO=1 when deciding whether to
add NS RRsets to the additional section or not.
[RT #30479]
2512. [func] Print a summary of the cached records which make up
the negative response. [RT #18885]
--- 9.6-ESV-R8 released ---
3383. [security] A certain combination of records in the RBT could
cause named to hang while populating the additional
section of a response. [RT #31090]
3373. [bug] win32: open raw files in binary mode. [RT #30944]
3364. [security] Named could die on specially crafted record.
[RT #30416]
--- 9.6-ESV-R8rc1 released ---
3369. [bug] nsupdate terminated unexpectedly in interactive mode
if built with readline support. [RT #29550]
3368. [bug] <dns/iptable.h> and <dns/zone.h> were not C++ safe.
3366. [bug] Fixed Read-After-Write dependency violation for IA64
atomic operations. [RT #25181]
3365. [bug] Removed spurious newlines from log messages in
zone.c [RT #30675]
3362. [bug] Setting some option values to 0 in named.conf
could trigger an assertion failure on startup.
[RT #27730]
3360. [bug] 'host -w' could die. [RT #18723]
3359. [bug] An improperly-formed TSIG secret could cause a
memory leak. [RT #30607]
3358. [bug] Fix declaration of fatal in bin/named/server.c
and bin/nsupdate/main.c. [RT #30522]
3357. [port] Add support for libxml2-2.8.x [RT #30440]
--- 9.6-ESV-R8b1 released ---
3354. [func] Improve OpenSSL error logging. [RT #29932]
3352. [bug] Ensure that learned server attributes timeout of the
adb cache. [RT #29856]
3350. [bug] Memory read overrun in isc___mem_reallocate if
ISC_MEM_DEBUGCTX memory debugging flag is set.
[RT #30240]
3348. [bug] Prevent RRSIG data from being cached if a negative
record matching the covering type exists at a higher
trust level. Such data already can't be retrieved from
the cache since change 3218 -- this prevents it
being inserted into the cache as well. [RT #26809]
3346. [security] Bad-cache data could be used before it was
initialized, causing an assert. [RT #30025]
3343. [bug] Relax isc_random_jitter() REQUIRE tests. [RT #29821]
3342. [bug] Change #3314 broke saving of stub zones to disk
resulting in excessive cpu usage in some cases.
[RT #29952]
3337. [bug] Change #3294 broke support for the multiple keys
in controls. [RT #29694]
3335. [func] nslookup: return a nonzero exit code when unable
to get an answer. [RT #29492]
3332. [bug] Re-use cached DS rrsets if possible. [RT #29446]
3331. [security] dns_rdataslab_fromrdataset could produce bad
rdataslabs. [RT #29644]
3329. [bug] Handle RRSIG signer-name case consistently: We
generate RRSIG records with the signer-name in
lower case. We accept them with any case, but if
they fail to validate, we try again in lower case.
[RT #27451]
3328. [bug] Fixed inconsistent data checking in dst_parse.c.
[RT #29401]
--- 9.6-ESV-R7 released ---
3318. [tuning] Reduce the amount of work performed while holding a
bucket lock when finshed with a fetch context.
bucket lock when finished with a fetch context.
[RT #29239]
3314. [bug] The masters list could be updated while refesh_callback
@@ -14,7 +287,7 @@
3310. [test] Increase table size for mutex profiling. [RT #28809]
3309. [bug] resolver.c:fctx_finddone() was not threadsafe.
3309. [bug] resolver.c:fctx_finddone() was not thread safe.
[RT #27995]
3307. [bug] Add missing ISC_LANG_BEGINDECLS and ISC_LANG_ENDDECLS.
@@ -79,7 +352,7 @@
despite succeeding over the loopback interface.
[RT #27782]
3374. [bug] Log when a zone is not reusable. Only set loadtime
3274. [bug] Log when a zone is not reusable. Only set loadtime
on successful loads. [RT #27650]
3268. [bug] Convert RRSIG expiry times to 64 timestamps to work
@@ -140,7 +413,7 @@
3234. [bug] 'make depend' produced invalid makefiles. [RT #26830]
3231. [bug] named could fail to send a uncompressable zone.
3231. [bug] named could fail to send a incompressible zone.
[RT #26796]
3230. [bug] 'dig axfr' failed to properly handle a multi-message
@@ -156,7 +429,7 @@
--- 9.6-ESV-R6b1 released ---
3221. [bug] Fixed a potential coredump on shutdown due to
3221. [bug] Fixed a potential core dump on shutdown due to
referencing fetch context after it's been freed.
[RT #26720]
@@ -172,7 +445,7 @@
list prior to adding a reference to it leading a
possible assertion failure. [RT #23219]
3208. [bug] 'dig -y' handle unknown tsig alorithm better.
3208. [bug] 'dig -y' handle unknown tsig algorithm better.
[RT #25522]
3207. [contrib] Fixed build error in Berkeley DB DLZ module. [RT #26444]
@@ -369,7 +642,7 @@
glue learn for zone named is authoritative for.
[RT #22842]
3071. [bug] has_nsec could be used unintialised in
3071. [bug] has_nsec could be used uninitialized in
update.c:next_active. [RT #20256]
3069. [cleanup] Silence warnings messages from clang static analysis.
@@ -399,7 +672,7 @@
max-cache-size, it was possible for cache memory
to be exhausted and not recovered. [RT #23371]
3051. [bug] NS records obsure DNAME records at the bottom of the
3051. [bug] NS records obscure DNAME records at the bottom of the
zone if both are present. [RT #23035]
3046. [bug] Use RRSIG original TTL to compute validated RRset
@@ -708,7 +981,7 @@
2862. [bug] nsupdate didn't default to the parent zone when
updating DS records. [RT #20896]
2859. [bug] When cancelling validation it was possible to leak
2859. [bug] When canceling validation it was possible to leak
memory. [RT #20800]
2858. [bug] RTT estimates were not being adjusted on ICMP errors.
@@ -770,7 +1043,7 @@
[RT #22062]
2952. [port] win32: named-checkzone and named-checkconf failed
to initialise winsock. [RT #21932]
to initialize winsock. [RT #21932]
2951. [bug] named failed to generate a correct signed response
in a optout, delegation only zone with no secure
@@ -1255,7 +1528,7 @@
2553. [bug] Reference leak on DNSSEC validation errors. [RT #19291]
2552. [bug] zero-no-soa-ttl-cache was not being honoured.
2552. [bug] zero-no-soa-ttl-cache was not being honored.
[RT #19340]
2551. [bug] Potential Reference leak on return. [RT #19341]
+1 -1
View File
@@ -1,4 +1,4 @@
Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
Copyright (C) 1996-2003 Internet Software Consortium.
Permission to use, copy, modify, and/or distribute this software for any
+155
View File
@@ -1,3 +1,128 @@
3464. [maint] Updates to PKCS#11 openssl patches, supporting
versions 0.9.8x, 1.0.0j, 1.0.1c [RT #29749]
3463. [doc] Clarify managed-keys syntax in ARM. [RT 32232]
3460. [bug] Only link against readline where needed. [RT #29810]
3453. [bug] 'rndc addzone' of a zone with 'inline-signing yes;'
failed. [RT #31960]
3443. [bug] ddns-confgen: Some TSIG algorithms were incorrectly
rejected when generating keys. [RT #31927]
3434. [bug] Pass client info to the DLZ findzone() entry
point in addition to lookup(). This makes it
possible for a database to answer differently
whether it's authoritative for a name depending
on the address of the client. [RT #31775]
3433. [bug] dlz_findzone() did not correctly handle
ISC_R_NOMORE. [RT #31172]
3431. [bug] ddns-confgen: Some valid key algorithms were
not accepted. [RT #31927]
3426. [bug] dnssec-checkds: Clearer output when records are not
found. [RT #31968]
3423. [bug] "rndc signing -nsec3param" didn't accept the full
range of possible values. Address portability issues.
[RT #31938]
3422. [bug] Added a clear error message for when the SOA does not
match the referral. [RT #31281]
3416. [bug] Named could die on shutdown if running with 128 UDP
dispatches per interface. [RT #31743]
3414. [bug] Address locking issues found by Coverity. [RT #31626]
3408. [bug] Some DNSSEC-related options (update-check-ksk,
dnssec-loadkeys-interval, dnssec-dnskey-kskonly)
are now legal in slave zones as long as
inline-signing is in use. [RT #31078]
3399. [port] netbsd: rename 'bool' parameter to avoid namespace
clash. [RT #31515]
3398. [bug] SOA parameters were not being updated with inline
signed zones if the zone was modified while the
server was offline. [RT #29272]
3385. [bug] named-checkconf didn't detect missing master lists
in also-notify clauses. [RT #30810]
3384. [bug] Improved logging of crypto errors. [RT #30963]
3378. [bug] Handle missing 'managed-keys-directory' better.
[RT #30625]
3377. [bug] Removed spurious newline from NSEC3 multiline
output. [RT #31044]
3375. [bug] 'rndc dumpdb' failed on empty caches. [RT #30808]
3370. [bug] Address use after free while shutting down. [RT #30241]
3368. [bug] <dns/iptable.h>, <dns/private.h> and <dns/zone.h>
were not C++ safe.
3367. [bug] dns_dnsseckey_create() result was not being checked.
[RT #30685]
3363. [bug] Need to allow "forward" and "fowarders" options
in static-stub zones; this had been overlooked.
[RT #30482]
3361. [bug] "rndc signing -nsec3param" didn't work correctly
when salt was set to '-' (no salt). [RT #30099]
3356. [bug] Cap the TTL of signed RRsets when RRSIGs are
approaching their expiry, so they don't remain
in caches after expiry. [RT #26429]
3355. [port] Use more portable awk in verify system test.
3353. [bug] Use a single task for task exclusive operations.
[RT #29872]
3351. [bug] isc_mem_put and isc_mem_putanddetach didn't report
caller if either ISC_MEM_DEBUGSIZE or ISC_MEM_DEBUGCTX
memory debugging flags are set. [RT #30243]
3349. [bug] Change #3345 was incomplete. [RT #30233]
3347. [bug] dnssec-settime: Issue a warning when writing a new
private key file would cause a change in the
permissions of the existing file. [RT #27724]
3345. [bug] Addressed race condition when removing the last item
or inserting the first item in an ISC_QUEUE.
[RT #29539]
3338. [bug] Address race condition in units tests: asyncload_zone
and asyncload_zt. [RT #26100]
3334. [bug] Hold a zone table reference while performing a
asyncronous load of a zone. [RT #28326]
3333. [bug] Setting resolver-query-timeout too low can cause
named to not recover if it loses connectivity.
[RT #29623]
3324. [test] Add better tests for ADB stats [RT #27057]
3317. [protocol] Add ECDSA support (RFC 6605). [RT #21918]
3316. [tuning] Improved locking performance when recursing.
[RT #28836]
3315. [tuning] Use multiple dispatch objects for sending upstream
queries; this can improve performance on busy
multiprocessor systems by reducing lock contention.
[RT #28605]
3312. [bug] named-checkconf didn't detect a bad dns64 clients acl.
[RT #27631]
@@ -101,6 +226,9 @@
3233. [bug] 'rndc freeze/thaw' didn't work for inline zones.
[RT #26632]
3229. [bug] Fix local variable to struct var assignment
found by CLANG warning.
3225. [bug] Silence spurious "setsockopt(517, IPV6_V6ONLY) failed"
messages. [RT #26507]
@@ -137,6 +265,10 @@
3195. [cleanup] Silence "file not found" warnings when loading
managed-keys zone. [RT #26340]
3188. [bug] zone.c:zone_refreshkeys() could fail to detach
references correctly when errors occurred, causing
a hang on shutdown. [RT #26372]
3186. [bug] Version/db mis-match in rpz code. [RT #26180]
3184. [bug] named had excessive cpu usage when a redirect zone was
@@ -156,6 +288,9 @@
sample external DLZ module in contrib/dlz/example.
[RT #26215]
3174. [bug] Always compute to revoked key tag from scratch.
[RT #26186]
3172. [port] darwin 10.* and freebsd [89] are now built threaded by
default.
@@ -176,6 +311,9 @@
concurrency problems with large numbers of threads.
[RT #26044]
3161. [bug] zone.c:del_sigs failed to always reset rdata leading
assertion failures. [RT #25880]
3160. [bug] When printing out a NSEC3 record in multiline form
the newline was not being printed causing type codes
to be run together. [RT #25873]
@@ -199,6 +337,8 @@
3141. [bug] Silence spurious "zone serial (0) unchanged" messages
associated with empty zones. [RT #25079]
3133. [bug] Change #3114 was incomplete. [RT #24577]
3131. [tuning] Improve scalability by allocating one zone task
per 100 zones at startup time, rather than using a
fixed-size task table. [RT #24406]
@@ -232,6 +372,9 @@
warning messages; removed #ifdef ALLOW_KSKLESS_ZONES
code (use -P instead). [RT #20852]
3107. [bug] dnssec-signzone: Report the correct number of ZSKs
when using -x. [RT #20852]
3105. [bug] GOST support can be suppressed by "configure
--without-gost" [RT #24367]
@@ -239,6 +382,9 @@
instead of in the options statement could trigger
an assertion failure in named-checkconf. [RT #24382]
3101. [bug] Zones using automatic key maintenance could fail
to check the key repository for updates. [RT #23744]
3100. [security] Certain response policy zone configurations could
trigger an INSIST when receiving a query of type
RRSIG. [RT #24280]
@@ -496,6 +642,12 @@
2832. [bug] Modify "struct stat" in lib/export/samples/nsprobe.c
to avoid redefinition in some OSs [RT 20831]
2829. [bug] Fixed potential node inconsistency in rbtdb.c.
[RT #20808]
2826. [bug] NSEC3->NSEC transitions could fail due to a lock not
being released. [RT #20740]
2824. [bug] "rndc sign" was not being run by the correct task.
[RT #20759]
@@ -508,6 +660,9 @@
2816. [bug] previous_closest_nsec() could fail to return
data for NSEC3 nodes [RT #29730]
2813. [bug] Better handling of unreadable DNSSEC key files.
[RT #20710]
2812. [bug] Make sure updates can't result in a zone with
NSEC-only keys and NSEC3 records. [RT #20748]
+12 -2
View File
@@ -48,9 +48,19 @@ BIND 9
For up-to-date release notes and errata, see
http://www.isc.org/software/bind9/releasenotes
BIND 9.6-ESV-R9 (Extended Support Version)
BIND 9.6-ESV-R9 is a maintenance release, fixing bugs in BIND
9.6-ESV-R8.
BIND 9.6-ESV-R8 (Extended Support Version)
BIND 9.6-ESV-R8 includes several bug fixes and patches security
flaws described in CVE-2012-1667, CVE-2012-3817 and CVE-2012-4244.
BIND 9.6-ESV-R7 (Extended Support Version)
BIND 9.4-ESV-R7 is a maintenance release, fixing bugs in BIND
BIND 9.6-ESV-R7 is a maintenance release, fixing bugs in BIND
9.6-ESV-R6.
BIND 9.6-ESV-R6 (Extended Support Version)
@@ -60,7 +70,7 @@ BIND 9.6-ESV-R6 (Extended Support Version)
BIND 9.6-ESV-R5 (Extended Support Version)
BIND 9.4-ESV-R5 is a maintenance release, fixing bugs in BIND
BIND 9.6-ESV-R5 is a maintenance release, fixing bugs in BIND
9.6-ESV-R4.
BIND 9.6.3/BIND 9.6-ESV-R4
Vendored
+5 -2
View File
@@ -1,2 +1,5 @@
sinclude(./libtool.m4)dnl
sinclude(libtool.m4/libtool.m4)dnl
sinclude(libtool.m4/ltoptions.m4)dnl
sinclude(libtool.m4/ltsugar.m4)dnl
sinclude(libtool.m4/ltversion.m4)dnl
sinclude(libtool.m4/lt~obsolete.m4)dnl
+10 -4
View File
@@ -196,6 +196,10 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
a->type == dns_rdatatype_a);
REQUIRE(aaaa == NULL || !dns_rdataset_isassociated(aaaa) ||
aaaa->type == dns_rdatatype_aaaa);
if (a == NULL || aaaa == NULL)
return (answer);
memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_CANONNAME;
hints.ai_family = PF_UNSPEC;
@@ -258,8 +262,7 @@ checkns(dns_zone_t *zone, dns_name_t *name, dns_name_t *owner,
}
return (ISC_TRUE);
}
if (a == NULL || aaaa == NULL)
return (answer);
/*
* Check that all glue records really exist.
*/
@@ -597,7 +600,7 @@ load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
dns_zone_settype(zone, dns_zone_master);
isc_buffer_init(&buffer, zonename, strlen(zonename));
isc_buffer_constinit(&buffer, zonename, strlen(zonename));
isc_buffer_add(&buffer, strlen(zonename));
dns_fixedname_init(&fixorigin);
origin = dns_fixedname_name(&fixorigin);
@@ -640,6 +643,9 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
{
isc_result_t result;
FILE *output = stdout;
const char *flags;
flags = (fileformat == dns_masterformat_text) ? "w+" : "wb+";
if (debug) {
if (filename != NULL && strcmp(filename, "-") != 0)
@@ -650,7 +656,7 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
}
if (filename != NULL && strcmp(filename, "-") != 0) {
result = isc_stdio_open(filename, "w+", &output);
result = isc_stdio_open(filename, flags, &output);
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "could not open output "
+1
View File
@@ -439,6 +439,7 @@ main(int argc, char **argv) {
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
program, isc_commandline_option);
/* FALLTHROUGH */
case 'h':
usage();
+1
View File
@@ -354,6 +354,7 @@ main(int argc, char **argv) {
if (isc_commandline_option != '?')
fprintf(stderr, "%s: invalid argument -%c\n",
prog_name, isc_commandline_option);
/* FALLTHROUGH */
case 'h':
usage();
+15 -6
View File
@@ -1,4 +1,4 @@
.\" Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2004-2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000-2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and/or distribute this software for any
@@ -57,7 +57,9 @@ allows multiple lookups to be issued from the command line.
Unless it is told to query a specific name server,
\fBdig\fR
will try each of the servers listed in
\fI/etc/resolv.conf\fR.
\fI/etc/resolv.conf\fR. If no usable server addreses are found,
\fBdig\fR
will send the query to the local host.
.PP
When no command line arguments or options are given,
\fBdig\fR
@@ -95,13 +97,20 @@ is the name or IP address of the name server to query. This can be an IPv4 addre
\fIserver\fR
argument is a hostname,
\fBdig\fR
resolves that name before querying that name server. If no
resolves that name before querying that name server.
.sp
If no
\fIserver\fR
argument is provided,
\fBdig\fR
consults
\fI/etc/resolv.conf\fR
and queries the name servers listed there. The reply from the name server that responds is displayed.
\fI/etc/resolv.conf\fR; if an address is found there, it queries the name server at that address. If either of the
\fB\-4\fR
or
\fB\-6\fR
options are in use, then only addresses for the corresponding transport will be tried. If no usable addresses are found,
\fBdig\fR
will send the query to the local host. The reply from the name server that responds is displayed.
.RE
.PP
\fBname\fR
@@ -562,7 +571,7 @@ RFC1035.
.PP
There are probably too many query options.
.SH "COPYRIGHT"
Copyright \(co 2004\-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
Copyright \(co 2004\-2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
.br
Copyright \(co 2000\-2003 Internet Software Consortium.
.br
+7 -3
View File
@@ -238,6 +238,8 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
isc_uint64_t diff;
isc_time_t now;
time_t tnow;
struct tm tmnow;
char time_str[100];
char fromtext[ISC_SOCKADDR_FORMATSIZE];
isc_sockaddr_format(from, fromtext, sizeof(fromtext));
@@ -249,7 +251,10 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
printf(";; Query time: %ld msec\n", (long int)diff/1000);
printf(";; SERVER: %s(%s)\n", fromtext, query->servname);
time(&tnow);
printf(";; WHEN: %s", ctime(&tnow));
tmnow = *localtime(&tnow);
if (strftime(time_str, sizeof(time_str),
"%a %b %d %T %Z %Y", &tmnow) > 0U)
printf(";; WHEN: %s\n", time_str);
if (query->lookup->doing_xfr) {
printf(";; XFR size: %u records (messages %u, "
"bytes %" ISC_PRINT_QUADFORMAT "u)\n",
@@ -257,7 +262,6 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
query->byte_count);
} else {
printf(";; MSG SIZE rcvd: %u\n", bytes);
}
if (key != NULL) {
if (!validated)
@@ -274,7 +278,7 @@ received(int bytes, isc_sockaddr_t *from, dig_query_t *query) {
"from %s(%s) in %d ms\n\n",
query->lookup->doing_xfr ?
query->byte_count : (isc_uint64_t)bytes,
fromtext, query->servname,
fromtext, query->userarg,
(int)diff/1000);
}
}
+24 -17
View File
@@ -2,7 +2,7 @@
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY mdash "&#8212;">]>
<!--
- Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -45,6 +45,7 @@
<year>2008</year>
<year>2009</year>
<year>2012</year>
<year>2013</year>
<holder>Internet Systems Consortium, Inc. ("ISC")</holder>
</copyright>
<copyright>
@@ -116,9 +117,10 @@
<para>
Unless it is told to query a specific name server,
<command>dig</command> will try each of the servers listed
in
<filename>/etc/resolv.conf</filename>.
<command>dig</command> will try each of the servers listed in
<filename>/etc/resolv.conf</filename>. If no usable server addreses
are found, <command>dig</command> will send the query to the local
host.
</para>
<para>
@@ -157,20 +159,25 @@
<term><constant>server</constant></term>
<listitem>
<para>
is the name or IP address of the name server to query. This can
be an IPv4
address in dotted-decimal notation or an IPv6
is the name or IP address of the name server to query. This
can be an IPv4 address in dotted-decimal notation or an IPv6
address in colon-delimited notation. When the supplied
<parameter>server</parameter> argument is a
hostname,
<command>dig</command> resolves that name before
querying that name
server. If no <parameter>server</parameter>
argument is provided,
<command>dig</command> consults <filename>/etc/resolv.conf</filename>
and queries the name servers listed there. The reply from the
name
server that responds is displayed.
<parameter>server</parameter> argument is a hostname,
<command>dig</command> resolves that name before querying
that name server.
</para>
<para>
If no <parameter>server</parameter> argument is
provided, <command>dig</command> consults
<filename>/etc/resolv.conf</filename>; if an
address is found there, it queries the name server at
that address. If either of the <option>-4</option> or
<option>-6</option> options are in use, then
only addresses for the corresponding transport
will be tried. If no usable addresses are found,
<command>dig</command> will send the query to the
local host. The reply from the name server that
responds is displayed.
</para>
</listitem>
</varlistentry>
+36 -28
View File
@@ -1,5 +1,5 @@
<!--
- Copyright (C) 2004-2009, 2012 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2004-2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000-2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and/or distribute this software for any
@@ -34,7 +34,7 @@
<div class="cmdsynopsis"><p><code class="command">dig</code> [global-queryopt...] [query...]</p></div>
</div>
<div class="refsect1" lang="en">
<a name="id2543522"></a><h2>DESCRIPTION</h2>
<a name="id2543525"></a><h2>DESCRIPTION</h2>
<p><span><strong class="command">dig</strong></span>
(domain information groper) is a flexible tool
for interrogating DNS name servers. It performs DNS lookups and
@@ -57,9 +57,10 @@
</p>
<p>
Unless it is told to query a specific name server,
<span><strong class="command">dig</strong></span> will try each of the servers listed
in
<code class="filename">/etc/resolv.conf</code>.
<span><strong class="command">dig</strong></span> will try each of the servers listed in
<code class="filename">/etc/resolv.conf</code>. If no usable server addreses
are found, <span><strong class="command">dig</strong></span> will send the query to the local
host.
</p>
<p>
When no command line arguments or options are given,
@@ -80,7 +81,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543595"></a><h2>SIMPLE USAGE</h2>
<a name="id2543604"></a><h2>SIMPLE USAGE</h2>
<p>
A typical invocation of <span><strong class="command">dig</strong></span> looks like:
</p>
@@ -91,22 +92,29 @@
</p>
<div class="variablelist"><dl>
<dt><span class="term"><code class="constant">server</code></span></dt>
<dd><p>
is the name or IP address of the name server to query. This can
be an IPv4
address in dotted-decimal notation or an IPv6
<dd>
<p>
is the name or IP address of the name server to query. This
can be an IPv4 address in dotted-decimal notation or an IPv6
address in colon-delimited notation. When the supplied
<em class="parameter"><code>server</code></em> argument is a
hostname,
<span><strong class="command">dig</strong></span> resolves that name before
querying that name
server. If no <em class="parameter"><code>server</code></em>
argument is provided,
<span><strong class="command">dig</strong></span> consults <code class="filename">/etc/resolv.conf</code>
and queries the name servers listed there. The reply from the
name
server that responds is displayed.
</p></dd>
<em class="parameter"><code>server</code></em> argument is a hostname,
<span><strong class="command">dig</strong></span> resolves that name before querying
that name server.
</p>
<p>
If no <em class="parameter"><code>server</code></em> argument is
provided, <span><strong class="command">dig</strong></span> consults
<code class="filename">/etc/resolv.conf</code>; if an
address is found there, it queries the name server at
that address. If either of the <code class="option">-4</code> or
<code class="option">-6</code> options are in use, then
only addresses for the corresponding transport
will be tried. If no usable addresses are found,
<span><strong class="command">dig</strong></span> will send the query to the
local host. The reply from the name server that
responds is displayed.
</p>
</dd>
<dt><span class="term"><code class="constant">name</code></span></dt>
<dd><p>
is the name of the resource record that is to be looked up.
@@ -126,7 +134,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2543686"></a><h2>OPTIONS</h2>
<a name="id2543707"></a><h2>OPTIONS</h2>
<p>
The <code class="option">-b</code> option sets the source IP address of the query
to <em class="parameter"><code>address</code></em>. This must be a valid
@@ -230,7 +238,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2544035"></a><h2>QUERY OPTIONS</h2>
<a name="id2544056"></a><h2>QUERY OPTIONS</h2>
<p><span><strong class="command">dig</strong></span>
provides a number of query options which affect
the way in which lookups are made and the results displayed. Some of
@@ -555,7 +563,7 @@
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545170"></a><h2>MULTIPLE QUERIES</h2>
<a name="id2545191"></a><h2>MULTIPLE QUERIES</h2>
<p>
The BIND 9 implementation of <span><strong class="command">dig </strong></span>
supports
@@ -601,7 +609,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545232"></a><h2>IDN SUPPORT</h2>
<a name="id2545253"></a><h2>IDN SUPPORT</h2>
<p>
If <span><strong class="command">dig</strong></span> has been built with IDN (internationalized
domain name) support, it can accept and display non-ASCII domain names.
@@ -615,14 +623,14 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545322"></a><h2>FILES</h2>
<a name="id2545344"></a><h2>FILES</h2>
<p><code class="filename">/etc/resolv.conf</code>
</p>
<p><code class="filename">${HOME}/.digrc</code>
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545339"></a><h2>SEE ALSO</h2>
<a name="id2545361"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">host</span>(1)</span>,
<span class="citerefentry"><span class="refentrytitle">named</span>(8)</span>,
<span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
@@ -630,7 +638,7 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2545377"></a><h2>BUGS</h2>
<a name="id2545398"></a><h2>BUGS</h2>
<p>
There are probably too many query options.
</p>
+48 -28
View File
@@ -767,6 +767,7 @@ make_empty_lookup(void) {
looknew->need_search = ISC_FALSE;
ISC_LINK_INIT(looknew, link);
ISC_LIST_INIT(looknew->q);
ISC_LIST_INIT(looknew->connecting);
ISC_LIST_INIT(looknew->my_server_list);
return (looknew);
}
@@ -788,11 +789,11 @@ clone_lookup(dig_lookup_t *lookold, isc_boolean_t servers) {
looknew = make_empty_lookup();
INSIST(looknew != NULL);
strncpy(looknew->textname, lookold->textname, MXNAME);
strlcpy(looknew->textname, lookold->textname, MXNAME);
#if DIG_SIGCHASE_TD
strncpy(looknew->textnamesigchase, lookold->textnamesigchase, MXNAME);
strlcpy(looknew->textnamesigchase, lookold->textnamesigchase, MXNAME);
#endif
strncpy(looknew->cmdline, lookold->cmdline, MXNAME);
strlcpy(looknew->cmdline, lookold->cmdline, MXNAME);
looknew->textname[MXNAME-1] = 0;
looknew->rdtype = lookold->rdtype;
looknew->qrdtype = lookold->qrdtype;
@@ -986,7 +987,7 @@ make_searchlist_entry(char *domain) {
if (search == NULL)
fatal("memory allocation failure in %s:%d",
__FILE__, __LINE__);
strncpy(search->origin, domain, MXNAME);
strlcpy(search->origin, domain, MXNAME);
search->origin[MXNAME-1] = 0;
ISC_LINK_INIT(search, link);
return (search);
@@ -1282,7 +1283,10 @@ clear_query(dig_query_t *query) {
if (lookup->current_query == query)
lookup->current_query = NULL;
ISC_LIST_UNLINK(lookup->q, query, link);
if (ISC_LINK_LINKED(query, link))
ISC_LIST_UNLINK(lookup->q, query, link);
if (ISC_LINK_LINKED(query, clink))
ISC_LIST_UNLINK(lookup->connecting, query, clink);
if (ISC_LINK_LINKED(&query->recvbuf, link))
ISC_LIST_DEQUEUE(query->recvlist, &query->recvbuf,
link);
@@ -1290,6 +1294,7 @@ clear_query(dig_query_t *query) {
ISC_LIST_DEQUEUE(query->lengthlist, &query->lengthbuf,
link);
INSIST(query->recvspace != NULL);
if (query->sock != NULL) {
isc_socket_detach(&query->sock);
sockcount--;
@@ -1317,13 +1322,22 @@ try_clear_lookup(dig_lookup_t *lookup) {
debug("try_clear_lookup(%p)", lookup);
if (ISC_LIST_HEAD(lookup->q) != NULL) {
if (ISC_LIST_HEAD(lookup->q) != NULL ||
ISC_LIST_HEAD(lookup->connecting) != NULL)
{
if (debugging) {
q = ISC_LIST_HEAD(lookup->q);
while (q != NULL) {
debug("query to %s still pending", q->servname);
q = ISC_LIST_NEXT(q, link);
}
q = ISC_LIST_HEAD(lookup->connecting);
while (q != NULL) {
debug("query to %s still connecting",
q->servname);
q = ISC_LIST_NEXT(q, clink);
}
}
return (ISC_FALSE);
}
@@ -1451,7 +1465,7 @@ start_lookup(void) {
= current_lookup->rdclassset;
current_lookup->rdclass = dns_rdataclass_in;
strncpy(current_lookup->textnamesigchase,
strlcpy(current_lookup->textnamesigchase,
current_lookup->textname, MXNAME);
current_lookup->trace_root_sigchase = ISC_TRUE;
@@ -1463,7 +1477,7 @@ start_lookup(void) {
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
r.base[r.length] = '\0';
strncpy(current_lookup->textname, (char*)r.base,
strlcpy(current_lookup->textname, (char*)r.base,
MXNAME);
isc_buffer_free(&b);
@@ -2104,7 +2118,6 @@ setup_lookup(dig_lookup_t *lookup) {
query->rr_count = 0;
query->msg_count = 0;
query->byte_count = 0;
ISC_LINK_INIT(query, link);
ISC_LIST_INIT(query->recvlist);
ISC_LIST_INIT(query->lengthlist);
query->sock = NULL;
@@ -2117,6 +2130,7 @@ setup_lookup(dig_lookup_t *lookup) {
isc_buffer_init(&query->slbuf, query->slspace, 2);
query->sendbuf = lookup->renderbuf;
ISC_LINK_INIT(query, clink);
ISC_LINK_INIT(query, link);
ISC_LIST_ENQUEUE(lookup->q, query, link);
}
@@ -2159,7 +2173,7 @@ send_done(isc_task_t *_task, isc_event_t *event) {
query->waiting_senddone = ISC_FALSE;
l = query->lookup;
if (l->ns_search_only && !l->trace_root) {
if (l->ns_search_only && !l->trace_root && !l->tcp_mode) {
debug("sending next, since searching");
next = ISC_LIST_NEXT(query, link);
if (next != NULL)
@@ -2238,6 +2252,7 @@ static void
force_timeout(dig_lookup_t *l, dig_query_t *query) {
isc_event_t *event;
debug("force_timeout ()");
event = isc_event_allocate(mctx, query, ISC_TIMEREVENT_IDLE,
connect_timeout, l,
sizeof(isc_event_t));
@@ -2305,6 +2320,7 @@ send_tcp_connect(dig_query_t *query) {
send_tcp_connect(next);
return;
}
INSIST(query->sock == NULL);
result = isc_socket_create(socketmgr,
isc_sockaddr_pf(&query->sockaddr),
@@ -2335,6 +2351,9 @@ send_tcp_connect(dig_query_t *query) {
if (l->ns_search_only && !l->trace_root) {
debug("sending next, since searching");
next = ISC_LIST_NEXT(query, link);
if (ISC_LINK_LINKED(query, link))
ISC_LIST_DEQUEUE(l->q, query, link);
ISC_LIST_ENQUEUE(l->connecting, query, clink);
if (next != NULL)
send_tcp_connect(next);
}
@@ -2415,7 +2434,7 @@ send_udp(dig_query_t *query) {
static void
connect_timeout(isc_task_t *task, isc_event_t *event) {
dig_lookup_t *l = NULL;
dig_query_t *query = NULL, *cq;
dig_query_t *query = NULL, *next, *cq;
UNUSED(task);
REQUIRE(event->ev_type == ISC_TIMEREVENT_IDLE);
@@ -2439,7 +2458,9 @@ connect_timeout(isc_task_t *task, isc_event_t *event) {
if (query->sock != NULL)
isc_socket_cancel(query->sock, NULL,
ISC_SOCKCANCEL_ALL);
send_tcp_connect(ISC_LIST_NEXT(cq, link));
next = ISC_LIST_NEXT(cq, link);
if (next != NULL)
send_tcp_connect(next);
}
UNLOCK_LOOKUP;
return;
@@ -2682,9 +2703,8 @@ connect_done(isc_task_t *task, isc_event_t *event) {
if (next != NULL) {
bringup_timer(next, TCP_TIMEOUT);
send_tcp_connect(next);
} else {
} else
check_next_lookup(l);
}
UNLOCK_LOOKUP;
return;
}
@@ -3241,6 +3261,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
if (n == 0)
docancel = ISC_TRUE;
l->trace_root = ISC_FALSE;
usesearch = ISC_FALSE;
} else
#ifdef DIG_SIGCHASE
if (!do_sigchase)
@@ -3417,15 +3438,19 @@ getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp) {
*/
void
do_lookup(dig_lookup_t *lookup) {
dig_query_t *query;
REQUIRE(lookup != NULL);
debug("do_lookup()");
lookup->pending = ISC_TRUE;
if (lookup->tcp_mode)
send_tcp_connect(ISC_LIST_HEAD(lookup->q));
else
send_udp(ISC_LIST_HEAD(lookup->q));
query = ISC_LIST_HEAD(lookup->q);
if (query != NULL) {
if (lookup->tcp_mode)
send_tcp_connect(query);
else
send_udp(query);
}
}
/*%
@@ -3895,7 +3920,7 @@ sigchase_scanname(dns_rdatatype_t type, dns_rdatatype_t covers,
check_result(result, "dns_name_totext");
isc_buffer_usedregion(b, &r);
r.base[r.length] = '\0';
strcpy(lookup->textname, (char*)r.base);
strlcpy(lookup->textname, (char*)r.base, sizeof(lookup->textname));
isc_buffer_free(&b);
if (type == dns_rdatatype_rrsig)
@@ -4020,7 +4045,7 @@ opentmpkey(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) {
return (ISC_R_NOMEMORY);
memset(tempnamekey, 0, tempnamekeylen);
strncpy(tempnamekey, tempname, tempnamelen);
strlcpy(tempnamekey, tempname, tempnamelen);
strcat(tempnamekey ,".key");
@@ -4154,7 +4179,7 @@ prepare_lookup(dns_name_t *name)
lookup->new_search = ISC_TRUE;
lookup->trace_root_sigchase = ISC_FALSE;
strncpy(lookup->textname, lookup->textnamesigchase, MXNAME);
strlcpy(lookup->textname, lookup->textnamesigchase, MXNAME);
lookup->rdtype = lookup->rdtype_sigchase;
lookup->rdtypeset = ISC_TRUE;
@@ -4213,7 +4238,7 @@ prepare_lookup(dns_name_t *name)
dns_rdata_totext(&aaaa, &ns.name, b);
isc_buffer_usedregion(b, &r);
r.base[r.length] = '\0';
strncpy(namestr, (char*)r.base,
strlcpy(namestr, (char*)r.base,
DNS_NAME_FORMATSIZE);
isc_buffer_free(&b);
dns_rdata_reset(&aaaa);
@@ -4242,7 +4267,7 @@ prepare_lookup(dns_name_t *name)
dns_rdata_totext(&a, &ns.name, b);
isc_buffer_usedregion(b, &r);
r.base[r.length] = '\0';
strncpy(namestr, (char*)r.base,
strlcpy(namestr, (char*)r.base,
DNS_NAME_FORMATSIZE);
isc_buffer_free(&b);
dns_rdata_reset(&a);
@@ -4421,7 +4446,6 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
{
isc_result_t result;
dns_rdata_t rdata = DNS_RDATA_INIT;
dst_key_t *trustedKey = NULL;
dst_key_t *dnsseckey = NULL;
int i;
@@ -4465,10 +4489,6 @@ contains_trusted_key(dns_name_t *name, dns_rdataset_t *rdataset,
dst_key_free(&dnsseckey);
} while (dns_rdataset_next(rdataset) == ISC_R_SUCCESS);
if (trustedKey != NULL)
dst_key_free(&trustedKey);
trustedKey = NULL;
return (ISC_R_NOTFOUND);
}
+12 -4
View File
@@ -446,10 +446,18 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
if (msg->rcode != 0) {
char namestr[DNS_NAME_FORMATSIZE];
dns_name_format(query->lookup->name, namestr, sizeof(namestr));
printf("Host %s not found: %d(%s)\n",
(msg->rcode != dns_rcode_nxdomain) ? namestr :
query->lookup->textname, msg->rcode,
rcode_totext(msg->rcode));
if (query->lookup->identify_previous_line)
printf("Nameserver %s:\n\t%s not found: %d(%s)\n",
query->servname,
(msg->rcode != dns_rcode_nxdomain) ? namestr :
query->lookup->textname, msg->rcode,
rcode_totext(msg->rcode));
else
printf("Host %s not found: %d(%s)\n",
(msg->rcode != dns_rcode_nxdomain) ? namestr :
query->lookup->textname, msg->rcode,
rcode_totext(msg->rcode));
return (ISC_R_SUCCESS);
}
+2
View File
@@ -168,6 +168,7 @@ isc_boolean_t sigchase;
dns_name_t *oname;
ISC_LINK(dig_lookup_t) link;
ISC_LIST(dig_query_t) q;
ISC_LIST(dig_query_t) connecting;
dig_query_t *current_query;
dig_serverlist_t my_server_list;
dig_searchlist_t *origin;
@@ -214,6 +215,7 @@ struct dig_query {
slspace[4];
isc_socket_t *sock;
ISC_LINK(dig_query_t) link;
ISC_LINK(dig_query_t) clink;
isc_sockaddr_t sockaddr;
isc_time_t time_sent;
isc_uint64_t byte_count;
+8 -1
View File
@@ -57,6 +57,7 @@ static isc_boolean_t in_use = ISC_FALSE;
static char defclass[MXRD] = "IN";
static char deftype[MXRD] = "A";
static isc_event_t *global_event = NULL;
static int query_error = 1, print_error = 0;
static char domainopt[DNS_NAME_MAXTEXT];
@@ -406,6 +407,9 @@ isc_result_t
printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
char servtext[ISC_SOCKADDR_FORMATSIZE];
/* I've we've gotten this far, we've reached a server. */
query_error = 0;
debug("printmessage()");
isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext));
@@ -433,6 +437,9 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) {
(msg->rcode != dns_rcode_nxdomain) ? nametext :
query->lookup->textname, rcode_totext(msg->rcode));
debug("returning with rcode == 0");
/* the lookup failed */
print_error |= 1;
return (ISC_R_SUCCESS);
}
@@ -903,5 +910,5 @@ main(int argc, char **argv) {
destroy_libs();
isc_app_finish();
return (0);
return (query_error | print_error);
}
+47 -3
View File
@@ -641,6 +641,8 @@ hashlist_add(hashlist_t *l, const unsigned char *hash, size_t len)
if (l->entries == l->size) {
l->size = l->size * 2 + 100;
l->hashbuf = realloc(l->hashbuf, l->size * l->length);
if (l->hashbuf == NULL)
fatal("unable to grow hashlist: out of memory");
}
memset(l->hashbuf + l->entries * l->length, 0, l->length);
memcpy(l->hashbuf + l->entries * l->length, hash, len);
@@ -1980,6 +1982,39 @@ remove_records(dns_dbnode_t *node, dns_rdatatype_t which) {
dns_rdatasetiter_destroy(&rdsiter);
}
/*
* Remove signatures covering the given type (0 == all signatures).
*/
static void
remove_sigs(dns_dbnode_t *node, dns_rdatatype_t which) {
isc_result_t result;
dns_rdatatype_t type, covers;
dns_rdatasetiter_t *rdsiter = NULL;
dns_rdataset_t rdataset;
dns_rdataset_init(&rdataset);
result = dns_db_allrdatasets(gdb, node, gversion, 0, &rdsiter);
check_result(result, "dns_db_allrdatasets()");
for (result = dns_rdatasetiter_first(rdsiter);
result == ISC_R_SUCCESS;
result = dns_rdatasetiter_next(rdsiter)) {
dns_rdatasetiter_current(rdsiter, &rdataset);
type = rdataset.type;
covers = rdataset.covers;
dns_rdataset_disassociate(&rdataset);
if (type == dns_rdatatype_rrsig &&
(covers == which || which == 0))
{
result = dns_db_deleterdataset(gdb, node, gversion,
type, covers);
check_result(result, "dns_db_deleterdataset()");
continue;
}
}
dns_rdatasetiter_destroy(&rdsiter);
}
/*%
* Generate NSEC records for the zone and remove NSEC3/NSEC3PARAM records.
*/
@@ -2061,9 +2096,11 @@ nsecify(void) {
if (delegation(name, node, &nsttl)) {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(name, zonecut, NULL);
remove_sigs(node, 0);
if (generateds)
add_ds(name, node, nsttl);
}
result = dns_dbiterator_next(dbiter);
nextnode = NULL;
while (result == ISC_R_SUCCESS) {
@@ -2081,6 +2118,8 @@ nsecify(void) {
(zonecut != NULL &&
dns_name_issubdomain(nextname, zonecut)))
{
remove_sigs(nextnode, 0);
remove_records(nextnode, dns_rdatatype_nsec);
dns_db_detachnode(gdb, &nextnode);
result = dns_dbiterator_next(dbiter);
continue;
@@ -2397,6 +2436,7 @@ nsec3ify(unsigned int hashalg, unsigned int iterations,
if (!dns_name_issubdomain(nextname, gorigin) ||
(zonecut != NULL &&
dns_name_issubdomain(nextname, zonecut))) {
remove_sigs(nextnode, 0);
dns_db_detachnode(gdb, &nextnode);
result = dns_dbiterator_next(dbiter);
continue;
@@ -2404,6 +2444,7 @@ nsec3ify(unsigned int hashalg, unsigned int iterations,
if (delegation(nextname, nextnode, &nsttl)) {
zonecut = dns_fixedname_name(&fzonecut);
dns_name_copy(nextname, zonecut, NULL);
remove_sigs(nextnode, 0);
if (generateds)
add_ds(nextname, nextnode, nsttl);
if (OPTOUT(nsec3flags) &&
@@ -2740,8 +2781,8 @@ warnifallksk(dns_db_t *db) {
"Supply non-KSK dnskey or use '-z'.\n",
program);
else
fatal("No non-KSK dnskey found. "
"Supply non-KSK dnskey or use '-z'.");
fatal("No non-KSK DNSKEY found; "
"supply a ZSK or use '-z'.");
}
}
@@ -3520,7 +3561,10 @@ main(int argc, char *argv[]) {
check_result(result, "isc_file_mktemplate");
fp = NULL;
result = isc_file_openunique(tempfile, &fp);
if (outputformat == dns_masterformat_text)
result = isc_file_openunique(tempfile, &fp);
else
result = isc_file_bopenunique(tempfile, &fp);
if (result != ISC_R_SUCCESS)
fatal("failed to open temporary output file: %s",
isc_result_totext(result));
+4
View File
@@ -21,6 +21,8 @@ top_srcdir = @top_srcdir@
@BIND9_VERSION@
@BIND9_SRCID@
@BIND9_CONFIGARGS@
@BIND9_MAKE_INCLUDES@
@@ -107,6 +109,7 @@ MANOBJS = ${MANPAGES} ${HTMLPAGES}
main.@O@: main.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DSRCID=\"${SRCID}\" \
-DCONFIGARGS="\"${CONFIGARGS}\"" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
@@ -114,6 +117,7 @@ main.@O@: main.c
config.@O@: config.c
${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
-DVERSION=\"${VERSION}\" \
-DSRCID=\"${SRCID}\" \
-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
-c ${srcdir}/config.c
+6 -4
View File
@@ -1377,10 +1377,9 @@ client_request(isc_task_t *task, isc_event_t *event) {
INSIST(client->recursionquota == NULL);
INSIST(client->state ==
TCP_CLIENT(client) ?
NS_CLIENTSTATE_READING :
NS_CLIENTSTATE_READY);
INSIST(client->state == (TCP_CLIENT(client) ?
NS_CLIENTSTATE_READING :
NS_CLIENTSTATE_READY));
ns_client_requests++;
@@ -2390,6 +2389,9 @@ ns_client_replace(ns_client_t *client) {
CTRACE("replace");
REQUIRE(client != NULL);
REQUIRE(client->manager != NULL);
result = ns_clientmgr_createclients(client->manager,
1, client->interface,
(TCP_CLIENT(client) ?
+8 -10
View File
@@ -601,17 +601,16 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
if (isc_sockaddr_getport(&addrs[i]) == 0)
isc_sockaddr_setport(&addrs[i], port);
keys[i] = NULL;
if (!cfg_obj_isstring(key)) {
i++;
i++; /* Increment here so that cleanup on error works. */
if (!cfg_obj_isstring(key))
continue;
}
keys[i] = isc_mem_get(mctx, sizeof(dns_name_t));
if (keys[i] == NULL)
keys[i - 1] = isc_mem_get(mctx, sizeof(dns_name_t));
if (keys[i - 1] == NULL)
goto cleanup;
dns_name_init(keys[i], NULL);
dns_name_init(keys[i - 1], NULL);
keystr = cfg_obj_asstring(key);
isc_buffer_init(&b, keystr, strlen(keystr));
isc_buffer_constinit(&b, keystr, strlen(keystr));
isc_buffer_add(&b, strlen(keystr));
dns_fixedname_init(&fname);
result = dns_name_fromtext(dns_fixedname_name(&fname), &b,
@@ -619,10 +618,9 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
if (result != ISC_R_SUCCESS)
goto cleanup;
result = dns_name_dup(dns_fixedname_name(&fname), mctx,
keys[i]);
keys[i - 1]);
if (result != ISC_R_SUCCESS)
goto cleanup;
i++;
}
if (pushed != 0) {
pushed--;
@@ -678,7 +676,7 @@ ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
if (addrs != NULL)
isc_mem_put(mctx, addrs, addrcount * sizeof(isc_sockaddr_t));
if (keys != NULL) {
for (j = 0; j <= i; j++) {
for (j = 0; j < i; j++) {
if (keys[j] == NULL)
continue;
if (dns_name_dynamic(keys[j]))
+1 -1
View File
@@ -61,7 +61,7 @@ command_compare(const char *text, const char *command) {
isc_result_t
ns_control_docommand(isccc_sexpr_t *message, isc_buffer_t *text) {
isccc_sexpr_t *data;
char *command;
char *command = NULL;
isc_result_t result;
int log_level;
#ifdef HAVE_LIBSCF
+4 -2
View File
@@ -373,8 +373,10 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) {
if (result == ISC_R_SUCCESS)
break;
isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret));
log_invalid(&conn->ccmsg, result);
goto cleanup;
if (result != ISCCC_R_BADAUTH) {
log_invalid(&conn->ccmsg, result);
goto cleanup;
}
}
if (key == NULL) {
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env perl
#
# Copyright (C) 2006-2008 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2006-2008, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+1
View File
@@ -0,0 +1 @@
!named
+7 -6
View File
@@ -161,12 +161,13 @@ struct ns_client {
#define NS_CLIENT_MAGIC ISC_MAGIC('N','S','C','c')
#define NS_CLIENT_VALID(c) ISC_MAGIC_VALID(c, NS_CLIENT_MAGIC)
#define NS_CLIENTATTR_TCP 0x01
#define NS_CLIENTATTR_RA 0x02 /*%< Client gets recursive service */
#define NS_CLIENTATTR_PKTINFO 0x04 /*%< pktinfo is valid */
#define NS_CLIENTATTR_MULTICAST 0x08 /*%< recv'd from multicast */
#define NS_CLIENTATTR_WANTDNSSEC 0x10 /*%< include dnssec records */
#define NS_CLIENTATTR_WANTNSID 0x20 /*%< include nameserver ID */
#define NS_CLIENTATTR_TCP 0x001
#define NS_CLIENTATTR_RA 0x002 /*%< Client gets recursive service */
#define NS_CLIENTATTR_PKTINFO 0x004 /*%< pktinfo is valid */
#define NS_CLIENTATTR_MULTICAST 0x008 /*%< recv'd from multicast */
#define NS_CLIENTATTR_WANTDNSSEC 0x010 /*%< include dnssec records */
#define NS_CLIENTATTR_WANTNSID 0x020 /*%< include nameserver ID */
#define NS_CLIENTATTR_WANTAD 0x100 /*%< want AD in response if possible */
extern unsigned int ns_client_requests;
+4 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2008, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2008, 2010, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -63,6 +63,7 @@ EXTERN isc_timermgr_t * ns_g_timermgr INIT(NULL);
EXTERN isc_socketmgr_t * ns_g_socketmgr INIT(NULL);
EXTERN cfg_parser_t * ns_g_parser INIT(NULL);
EXTERN const char * ns_g_version INIT(VERSION);
EXTERN const char * ns_g_srcid INIT(SRCID);
EXTERN const char * ns_g_configargs INIT(CONFIGARGS);
EXTERN in_port_t ns_g_port INIT(0);
EXTERN in_port_t lwresd_g_listenport INIT(0);
@@ -111,6 +112,7 @@ EXTERN isc_boolean_t ns_g_coreok INIT(ISC_TRUE);
EXTERN const char * ns_g_chrootdir INIT(NULL);
EXTERN isc_boolean_t ns_g_foreground INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_logstderr INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_nosyslog INIT(ISC_FALSE);
#if NS_RUN_PID_DIR
EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
@@ -134,6 +136,7 @@ EXTERN isc_boolean_t ns_g_memstatistics INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_clienttest INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_nosoa INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_noaa INIT(ISC_FALSE);
EXTERN isc_boolean_t ns_g_nonearest INIT(ISC_FALSE);
#undef EXTERN
#undef INIT
+2 -2
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2009, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2009, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2002 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -201,7 +201,7 @@ isc_result_t
ns_log_setdefaultcategory(isc_logconfig_t *lcfg) {
isc_result_t result;
if (! ns_g_logstderr) {
if (! ns_g_logstderr && ! ns_g_nosyslog) {
result = isc_log_usechannel(lcfg, "default_syslog",
ISC_LOGCATEGORY_DEFAULT, NULL);
if (result != ISC_R_SUCCESS)
+8 -6
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2007, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2007, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -246,14 +246,16 @@ channel_fromconf(const cfg_obj_t *channel, isc_logconfig_t *lctx) {
isc_result_totext(result));
} else
(void)isc_stdio_close(fp);
} else {
syslog(LOG_ERR, "isc_file_isplainfile '%s' failed: %s",
dest.file.name, isc_result_totext(result));
fprintf(stderr, "isc_file_isplainfile '%s' failed: %s",
dest.file.name, isc_result_totext(result));
goto done;
}
if (!ns_g_nosyslog)
syslog(LOG_ERR, "isc_file_isplainfile '%s' failed: %s",
dest.file.name, isc_result_totext(result));
fprintf(stderr, "isc_file_isplainfile '%s' failed: %s",
dest.file.name, isc_result_totext(result));
}
done:
return (result);
}
+1 -1
View File
@@ -368,7 +368,7 @@ ns_lwdmanager_create(isc_mem_t *mctx, const cfg_obj_t *lwres,
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
isc_buffer_init(&namebuf, searchstr,
isc_buffer_constinit(&namebuf, searchstr,
strlen(searchstr));
isc_buffer_add(&namebuf, strlen(searchstr));
result = dns_name_fromtext(name, &namebuf,
+9 -5
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -462,6 +462,10 @@ parse_command_line(int argc, char *argv[]) {
ns_g_nosoa = ISC_TRUE;
else if (!strcmp(isc_commandline_argument, "noaa"))
ns_g_noaa = ISC_TRUE;
else if (!strcmp(isc_commandline_argument, "nosyslog"))
ns_g_nosyslog = ISC_TRUE;
else if (!strcmp(isc_commandline_argument, "nonearest"))
ns_g_nonearest = ISC_TRUE;
else
fprintf(stderr, "unknown -T flag '%s\n",
isc_commandline_argument);
@@ -473,8 +477,8 @@ parse_command_line(int argc, char *argv[]) {
printf("BIND %s\n", ns_g_version);
exit(0);
case 'V':
printf("BIND %s built with %s\n", ns_g_version,
ns_g_configargs);
printf("BIND %s <id:%s> built with %s\n",
ns_g_version, ns_g_srcid, ns_g_configargs);
exit(0);
case '?':
usage();
@@ -909,9 +913,9 @@ main(int argc, char *argv[]) {
*/
strlcat(version,
#if defined(NO_VERSION_DATE) || !defined(__DATE__)
"named version: BIND " VERSION,
"named version: BIND " VERSION " <" SRCID ">",
#else
"named version: BIND " VERSION " (" __DATE__ ")",
"named version: BIND " VERSION " <" SRCID "> (" __DATE__ ")",
#endif
sizeof(version));
result = isc_file_progname(*argv, program_name, sizeof(program_name));
+71 -41
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -83,6 +83,10 @@
/*% Want DNSSEC? */
#define WANTDNSSEC(c) (((c)->attributes & \
NS_CLIENTATTR_WANTDNSSEC) != 0)
/*% Want WANTAD? */
#define WANTAD(c) (((c)->attributes & \
NS_CLIENTATTR_WANTAD) != 0)
/*% No authority? */
#define NOAUTHORITY(c) (((c)->query.attributes & \
NS_QUERYATTR_NOAUTHORITY) != 0)
@@ -608,7 +612,7 @@ query_validatezonedb(ns_client_t *client, dns_name_t *name,
{
isc_result_t result;
isc_boolean_t check_acl, new_zone;
dns_acl_t *queryacl;
dns_acl_t *queryacl, *queryonacl;
ns_dbversion_t *dbversion;
REQUIRE(zone != NULL);
@@ -645,6 +649,7 @@ query_validatezonedb(ns_client_t *client, dns_name_t *name,
result = DNS_R_SERVFAIL;
goto fail;
}
if (new_zone) {
check_acl = ISC_TRUE;
} else if (!dbversion->queryok) {
@@ -723,6 +728,24 @@ query_validatezonedb(ns_client_t *client, dns_name_t *name,
client->query.attributes |= NS_QUERYATTR_QUERYOKVALID;
}
/*
* If and only if we've gotten this far, check
* allow-query-on too
*/
if (result == ISC_R_SUCCESS) {
queryonacl = dns_zone_getqueryonacl(zone);
if (queryonacl == NULL)
queryonacl = client->view->queryonacl;
result = ns_client_checkaclsilent(client, NULL,
queryonacl, ISC_TRUE);
if ((options & DNS_GETDB_NOLOG) == 0 &&
result != ISC_R_SUCCESS)
ns_client_log(client, DNS_LOGCATEGORY_SECURITY,
NS_LOGMODULE_QUERY, ISC_LOG_INFO,
"query-on denied");
}
if (result != ISC_R_SUCCESS)
goto refuse;
}
@@ -1025,13 +1048,6 @@ query_isduplicate(ns_client_t *client, dns_name_t *name,
mname = NULL;
}
/*
* If the dns_name_t we're looking up is already in the message,
* we don't want to trigger the caller's name replacement logic.
*/
if (name == mname)
mname = NULL;
if (mnamep != NULL)
*mnamep = mname;
@@ -1230,6 +1246,7 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
if (dns_rdataset_isassociated(rdataset) &&
!query_isduplicate(client, fname, type, &mname)) {
if (mname != NULL) {
INSIST(mname != fname);
query_releasename(client, &fname);
fname = mname;
} else
@@ -1292,11 +1309,13 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
mname = NULL;
if (!query_isduplicate(client, fname,
dns_rdatatype_a, &mname)) {
if (mname != NULL) {
query_releasename(client, &fname);
fname = mname;
} else
need_addname = ISC_TRUE;
if (mname != fname) {
if (mname != NULL) {
query_releasename(client, &fname);
fname = mname;
} else
need_addname = ISC_TRUE;
}
ISC_LIST_APPEND(fname->list, rdataset, link);
added_something = ISC_TRUE;
if (sigrdataset != NULL &&
@@ -1338,11 +1357,13 @@ query_addadditional(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
mname = NULL;
if (!query_isduplicate(client, fname,
dns_rdatatype_aaaa, &mname)) {
if (mname != NULL) {
query_releasename(client, &fname);
fname = mname;
} else
need_addname = ISC_TRUE;
if (mname != fname) {
if (mname != NULL) {
query_releasename(client, &fname);
fname = mname;
} else
need_addname = ISC_TRUE;
}
ISC_LIST_APPEND(fname->list, rdataset, link);
added_something = ISC_TRUE;
if (sigrdataset != NULL &&
@@ -1865,22 +1886,24 @@ query_addadditional2(void *arg, dns_name_t *name, dns_rdatatype_t qtype) {
crdataset->type == dns_rdatatype_aaaa) {
if (!query_isduplicate(client, fname, crdataset->type,
&mname)) {
if (mname != NULL) {
/*
* A different type of this name is
* already stored in the additional
* section. We'll reuse the name.
* Note that this should happen at most
* once. Otherwise, fname->link could
* leak below.
*/
INSIST(mname0 == NULL);
if (mname != fname) {
if (mname != NULL) {
/*
* A different type of this name is
* already stored in the additional
* section. We'll reuse the name.
* Note that this should happen at most
* once. Otherwise, fname->link could
* leak below.
*/
INSIST(mname0 == NULL);
query_releasename(client, &fname);
fname = mname;
mname0 = mname;
} else
need_addname = ISC_TRUE;
query_releasename(client, &fname);
fname = mname;
mname0 = mname;
} else
need_addname = ISC_TRUE;
}
ISC_LIST_UNLINK(cfname.list, crdataset, link);
ISC_LIST_APPEND(fname->list, crdataset, link);
added_something = ISC_TRUE;
@@ -2638,6 +2661,14 @@ query_addbestns(ns_client_t *client) {
SECURE(client) && WANTDNSSEC(client))
goto cleanup;
/*
* If the answer is secure only add NS records if they are secure * when the client may be looking for AD in the response.
*/
if (SECURE(client) && (WANTDNSSEC(client) || WANTAD(client)) &&
((rdataset->trust != dns_trust_secure) ||
(sigrdataset != NULL && sigrdataset->trust != dns_trust_secure)))
goto cleanup;
/*
* If the client doesn't want DNSSEC we can discard the sigrdataset
* now.
@@ -4282,7 +4313,9 @@ query_find(ns_client_t *client, dns_fetchevent_t *event, dns_rdatatype_t qtype)
*/
if (found &&
dns_rdataset_isassociated(rdataset) &&
!dns_name_equal(qname, found))
!dns_name_equal(qname, found) &&
!(ns_g_nonearest &&
qtype != dns_rdatatype_ds))
{
unsigned int count;
unsigned int skip;
@@ -5019,7 +5052,6 @@ ns_query_start(ns_client_t *client) {
dns_rdatatype_t qtype;
unsigned int saved_extflags = client->extflags;
unsigned int saved_flags = client->message->flags;
isc_boolean_t want_ad;
CTRACE("ns_query_start");
@@ -5181,13 +5213,11 @@ ns_query_start(ns_client_t *client) {
client->query.attributes &= ~NS_QUERYATTR_SECURE;
/*
* Set 'want_ad' if the client has set AD in the query.
* Set NS_CLIENTATTR_WANTDNSSEC if the client has set AD in the query.
* This allows AD to be returned on queries without DO set.
*/
if ((message->flags & DNS_MESSAGEFLAG_AD) != 0)
want_ad = ISC_TRUE;
else
want_ad = ISC_FALSE;
client->attributes |= NS_CLIENTATTR_WANTAD;
/*
* This is an ordinary query.
@@ -5212,7 +5242,7 @@ ns_query_start(ns_client_t *client) {
* Set AD. We must clear it if we add non-validated data to a
* response.
*/
if (WANTDNSSEC(client) || want_ad)
if (WANTDNSSEC(client) || WANTAD(client))
message->flags |= DNS_MESSAGEFLAG_AD;
qclient = NULL;
+81 -15
View File
@@ -203,6 +203,72 @@ static const struct {
{ "31.172.IN-ADDR.ARPA", ISC_TRUE },
{ "168.192.IN-ADDR.ARPA", ISC_TRUE },
/* RFC 6598 */
{ "64.100.IN-ADDR.ARPA", ISC_FALSE },
{ "65.100.IN-ADDR.ARPA", ISC_FALSE },
{ "66.100.IN-ADDR.ARPA", ISC_FALSE },
{ "67.100.IN-ADDR.ARPA", ISC_FALSE },
{ "68.100.IN-ADDR.ARPA", ISC_FALSE },
{ "69.100.IN-ADDR.ARPA", ISC_FALSE },
{ "70.100.IN-ADDR.ARPA", ISC_FALSE },
{ "71.100.IN-ADDR.ARPA", ISC_FALSE },
{ "72.100.IN-ADDR.ARPA", ISC_FALSE },
{ "73.100.IN-ADDR.ARPA", ISC_FALSE },
{ "74.100.IN-ADDR.ARPA", ISC_FALSE },
{ "75.100.IN-ADDR.ARPA", ISC_FALSE },
{ "76.100.IN-ADDR.ARPA", ISC_FALSE },
{ "77.100.IN-ADDR.ARPA", ISC_FALSE },
{ "78.100.IN-ADDR.ARPA", ISC_FALSE },
{ "79.100.IN-ADDR.ARPA", ISC_FALSE },
{ "80.100.IN-ADDR.ARPA", ISC_FALSE },
{ "81.100.IN-ADDR.ARPA", ISC_FALSE },
{ "82.100.IN-ADDR.ARPA", ISC_FALSE },
{ "83.100.IN-ADDR.ARPA", ISC_FALSE },
{ "84.100.IN-ADDR.ARPA", ISC_FALSE },
{ "85.100.IN-ADDR.ARPA", ISC_FALSE },
{ "86.100.IN-ADDR.ARPA", ISC_FALSE },
{ "87.100.IN-ADDR.ARPA", ISC_FALSE },
{ "88.100.IN-ADDR.ARPA", ISC_FALSE },
{ "89.100.IN-ADDR.ARPA", ISC_FALSE },
{ "90.100.IN-ADDR.ARPA", ISC_FALSE },
{ "91.100.IN-ADDR.ARPA", ISC_FALSE },
{ "92.100.IN-ADDR.ARPA", ISC_FALSE },
{ "93.100.IN-ADDR.ARPA", ISC_FALSE },
{ "94.100.IN-ADDR.ARPA", ISC_FALSE },
{ "95.100.IN-ADDR.ARPA", ISC_FALSE },
{ "96.100.IN-ADDR.ARPA", ISC_FALSE },
{ "97.100.IN-ADDR.ARPA", ISC_FALSE },
{ "98.100.IN-ADDR.ARPA", ISC_FALSE },
{ "99.100.IN-ADDR.ARPA", ISC_FALSE },
{ "100.100.IN-ADDR.ARPA", ISC_FALSE },
{ "101.100.IN-ADDR.ARPA", ISC_FALSE },
{ "102.100.IN-ADDR.ARPA", ISC_FALSE },
{ "103.100.IN-ADDR.ARPA", ISC_FALSE },
{ "104.100.IN-ADDR.ARPA", ISC_FALSE },
{ "105.100.IN-ADDR.ARPA", ISC_FALSE },
{ "106.100.IN-ADDR.ARPA", ISC_FALSE },
{ "107.100.IN-ADDR.ARPA", ISC_FALSE },
{ "108.100.IN-ADDR.ARPA", ISC_FALSE },
{ "109.100.IN-ADDR.ARPA", ISC_FALSE },
{ "110.100.IN-ADDR.ARPA", ISC_FALSE },
{ "111.100.IN-ADDR.ARPA", ISC_FALSE },
{ "112.100.IN-ADDR.ARPA", ISC_FALSE },
{ "113.100.IN-ADDR.ARPA", ISC_FALSE },
{ "114.100.IN-ADDR.ARPA", ISC_FALSE },
{ "115.100.IN-ADDR.ARPA", ISC_FALSE },
{ "116.100.IN-ADDR.ARPA", ISC_FALSE },
{ "117.100.IN-ADDR.ARPA", ISC_FALSE },
{ "118.100.IN-ADDR.ARPA", ISC_FALSE },
{ "119.100.IN-ADDR.ARPA", ISC_FALSE },
{ "120.100.IN-ADDR.ARPA", ISC_FALSE },
{ "121.100.IN-ADDR.ARPA", ISC_FALSE },
{ "122.100.IN-ADDR.ARPA", ISC_FALSE },
{ "123.100.IN-ADDR.ARPA", ISC_FALSE },
{ "124.100.IN-ADDR.ARPA", ISC_FALSE },
{ "125.100.IN-ADDR.ARPA", ISC_FALSE },
{ "126.100.IN-ADDR.ARPA", ISC_FALSE },
{ "127.100.IN-ADDR.ARPA", ISC_FALSE },
/* RFC 5735 and RFC 5737 */
{ "0.IN-ADDR.ARPA", ISC_FALSE }, /* THIS NETWORK */
{ "127.IN-ADDR.ARPA", ISC_FALSE }, /* LOOPBACK */
@@ -228,7 +294,7 @@ static const struct {
{ NULL, ISC_FALSE }
};
ISC_PLATFORM_NORETURN_POST static void
ISC_PLATFORM_NORETURN_PRE static void
fatal(const char *msg, isc_result_t result) ISC_PLATFORM_NORETURN_POST;
static void
@@ -414,7 +480,7 @@ configure_view_dnsseckey(const cfg_obj_t *vconfig, const cfg_obj_t *key,
keystruct.common.rdtype,
&keystruct, &rrdatabuf));
dns_fixedname_init(&fkeyname);
isc_buffer_init(&namebuf, keynamestr, strlen(keynamestr));
isc_buffer_constinit(&namebuf, keynamestr, strlen(keynamestr));
isc_buffer_add(&namebuf, strlen(keynamestr));
CHECK(dns_name_fromtext(keyname, &namebuf,
dns_rootname, ISC_FALSE,
@@ -519,7 +585,7 @@ mustbesecure(const cfg_obj_t *mbs, dns_resolver_t *resolver)
{
obj = cfg_listelt_value(element);
str = cfg_obj_asstring(cfg_tuple_get(obj, "name"));
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
CHECK(dns_name_fromtext(name, &b, dns_rootname,
ISC_FALSE, NULL));
@@ -673,7 +739,7 @@ configure_order(dns_order_t *order, const cfg_obj_t *ent) {
else
str = "*";
addroot = ISC_TF(strcmp(str, "*") == 0);
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
dns_fixedname_init(&fixed);
result = dns_name_fromtext(dns_fixedname_name(&fixed), &b,
@@ -859,7 +925,7 @@ disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) {
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
str = cfg_obj_asstring(cfg_tuple_get(disabled, "name"));
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
CHECK(dns_name_fromtext(name, &b, dns_rootname, ISC_FALSE, NULL));
@@ -911,7 +977,7 @@ on_disable_list(const cfg_obj_t *disablelist, dns_name_t *zonename) {
{
value = cfg_listelt_value(element);
str = cfg_obj_asstring(value);
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
result = dns_name_fromtext(name, &b, dns_rootname,
ISC_TRUE, NULL);
@@ -1773,7 +1839,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
#endif
str = cfg_obj_asstring(cfg_tuple_get(obj,
"trust-anchor"));
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
dlv = dns_fixedname_name(&view->dlv_fixed);
CHECK(dns_name_fromtext(dlv, &b, dns_rootname,
@@ -1826,7 +1892,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
element = cfg_list_next(element)) {
exclude = cfg_listelt_value(element);
str = cfg_obj_asstring(exclude);
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
CHECK(dns_name_fromtext(name, &b, dns_rootname,
ISC_FALSE, NULL));
@@ -1880,7 +1946,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
result = ns_config_get(maps, "empty-server", &obj);
if (result == ISC_R_SUCCESS) {
str = cfg_obj_asstring(obj);
isc_buffer_init(&buffer, str, strlen(str));
isc_buffer_constinit(&buffer, str, strlen(str));
isc_buffer_add(&buffer, strlen(str));
CHECK(dns_name_fromtext(name, &buffer, dns_rootname,
ISC_FALSE, NULL));
@@ -1895,7 +1961,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
result = ns_config_get(maps, "empty-contact", &obj);
if (result == ISC_R_SUCCESS) {
str = cfg_obj_asstring(obj);
isc_buffer_init(&buffer, str, strlen(str));
isc_buffer_constinit(&buffer, str, strlen(str));
isc_buffer_add(&buffer, strlen(str));
CHECK(dns_name_fromtext(name, &buffer, dns_rootname,
ISC_FALSE, NULL));
@@ -1919,7 +1985,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config,
dns_forwarders_t *forwarders = NULL;
dns_view_t *pview = NULL;
isc_buffer_init(&buffer, empty, strlen(empty));
isc_buffer_constinit(&buffer, empty, strlen(empty));
isc_buffer_add(&buffer, strlen(empty));
/*
* Look for zone on drop list.
@@ -2113,7 +2179,7 @@ configure_alternates(const cfg_obj_t *config, dns_view_t *view,
isc_buffer_t buffer;
in_port_t myport = port;
isc_buffer_init(&buffer, str, strlen(str));
isc_buffer_constinit(&buffer, str, strlen(str));
isc_buffer_add(&buffer, strlen(str));
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
@@ -2375,7 +2441,7 @@ configure_zone(const cfg_obj_t *config, const cfg_obj_t *zconfig,
* Get the zone origin as a dns_name_t.
*/
zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name"));
isc_buffer_init(&buffer, zname, strlen(zname));
isc_buffer_constinit(&buffer, zname, strlen(zname));
isc_buffer_add(&buffer, strlen(zname));
dns_fixedname_init(&fixorigin);
CHECK(dns_name_fromtext(dns_fixedname_name(&fixorigin),
@@ -4442,7 +4508,7 @@ zone_from_args(ns_server_t *server, char *args, dns_zone_t **zonep) {
viewtxt = next_token(&input, " \t");
}
isc_buffer_init(&buf, zonetxt, strlen(zonetxt));
isc_buffer_constinit(&buf, zonetxt, strlen(zonetxt));
isc_buffer_add(&buf, strlen(zonetxt));
dns_fixedname_init(&name);
result = dns_name_fromtext(dns_fixedname_name(&name),
@@ -5204,7 +5270,7 @@ ns_server_flushname(ns_server_t *server, char *args) {
if (target == NULL)
return (ISC_R_UNEXPECTEDEND);
isc_buffer_init(&b, target, strlen(target));
isc_buffer_constinit(&b, target, strlen(target));
isc_buffer_add(&b, strlen(target));
dns_fixedname_init(&fixed);
name = dns_fixedname_name(&fixed);
+38 -3
View File
@@ -84,16 +84,19 @@ static const char *nsstats_desc[dns_nsstatscounter_max];
static const char *resstats_desc[dns_resstatscounter_max];
static const char *zonestats_desc[dns_zonestatscounter_max];
static const char *sockstats_desc[isc_sockstatscounter_max];
static const char *dnssecstats_desc[dns_dnssecstats_max];
#ifdef HAVE_LIBXML2
static const char *nsstats_xmldesc[dns_nsstatscounter_max];
static const char *resstats_xmldesc[dns_resstatscounter_max];
static const char *zonestats_xmldesc[dns_zonestatscounter_max];
static const char *sockstats_xmldesc[isc_sockstatscounter_max];
static const char *dnssecstats_xmldesc[dns_dnssecstats_max];
#else
#define nsstats_xmldesc NULL
#define resstats_xmldesc NULL
#define zonestats_xmldesc NULL
#define sockstats_xmldesc NULL
#define dnssecstats_xmldesc NULL
#endif /* HAVE_LIBXML2 */
#define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0)
@@ -107,6 +110,7 @@ static int nsstats_index[dns_nsstatscounter_max];
static int resstats_index[dns_resstatscounter_max];
static int zonestats_index[dns_zonestatscounter_max];
static int sockstats_index[isc_sockstatscounter_max];
static int dnssecstats_index[dns_dnssecstats_max];
static inline void
set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs,
@@ -408,6 +412,33 @@ init_desc(void) {
"FDwatchRecvErr");
INSIST(i == isc_sockstatscounter_max);
/* Initialize DNSSEC statistics */
for (i = 0; i < dns_dnssecstats_max; i++)
dnssecstats_desc[i] = NULL;
#ifdef HAVE_LIBXML2
for (i = 0; i < dns_dnssecstats_max; i++)
dnssecstats_xmldesc[i] = NULL;
#endif
#define SET_DNSSECSTATDESC(counterid, desc, xmldesc) \
do { \
set_desc(dns_dnssecstats_ ## counterid, \
dns_dnssecstats_max, \
desc, dnssecstats_desc,\
xmldesc, dnssecstats_xmldesc); \
dnssecstats_index[i++] = dns_dnssecstats_ ## counterid; \
} while (0)
i = 0;
SET_DNSSECSTATDESC(asis, "dnssec validation success with signer "
"\"as is\"", "DNSSECasis");
SET_DNSSECSTATDESC(downcase, "dnssec validation success with signer "
"lower cased", "DNSSECdowncase");
SET_DNSSECSTATDESC(wildcard, "dnssec validation of wildcard signature",
"DNSSECwild");
SET_DNSSECSTATDESC(fail, "dnssec validation failures", "DNSSECfail");
INSIST(i == dns_dnssecstats_max);
/* Sanity check */
for (i = 0; i < dns_nsstatscounter_max; i++)
INSIST(nsstats_desc[i] != NULL);
@@ -417,6 +448,8 @@ init_desc(void) {
INSIST(zonestats_desc[i] != NULL);
for (i = 0; i < isc_sockstatscounter_max; i++)
INSIST(sockstats_desc[i] != NULL);
for (i = 0; i < dns_dnssecstats_max; i++)
INSIST(dnssecstats_desc[i] != NULL);
#ifdef HAVE_LIBXML2
for (i = 0; i < dns_nsstatscounter_max; i++)
INSIST(nsstats_xmldesc[i] != NULL);
@@ -426,6 +459,8 @@ init_desc(void) {
INSIST(zonestats_xmldesc[i] != NULL);
for (i = 0; i < isc_sockstatscounter_max; i++)
INSIST(sockstats_xmldesc[i] != NULL);
for (i = 0; i < dns_dnssecstats_max; i++)
INSIST(dnssecstats_xmldesc[i] != NULL);
#endif
}
@@ -841,11 +876,11 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) {
TRY0(xmlTextWriterEndElement(writer)); /* views */
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "socketmgr"));
isc_socketmgr_renderxml(ns_g_socketmgr, writer);
TRY0(isc_socketmgr_renderxml(ns_g_socketmgr, writer));
TRY0(xmlTextWriterEndElement(writer)); /* socketmgr */
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "taskmgr"));
isc_taskmgr_renderxml(ns_g_taskmgr, writer);
TRY0(isc_taskmgr_renderxml(ns_g_taskmgr, writer));
TRY0(xmlTextWriterEndElement(writer)); /* taskmgr */
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "server"));
@@ -908,7 +943,7 @@ generatexml(ns_server_t *server, int *buflen, xmlChar **buf) {
TRY0(xmlTextWriterEndElement(writer)); /* server */
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "memory"));
isc_mem_renderxml(writer);
TRY0(isc_mem_renderxml(writer));
TRY0(xmlTextWriterEndElement(writer)); /* memory */
TRY0(xmlTextWriterEndElement(writer)); /* statistics */
+3 -3
View File
@@ -73,7 +73,7 @@ ns_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx,
if (result == ISC_R_SUCCESS) {
s = cfg_obj_asstring(cfg_tuple_get(obj, "name"));
n = cfg_obj_asuint32(cfg_tuple_get(obj, "keyid"));
isc_buffer_init(&b, s, strlen(s));
isc_buffer_constinit(&b, s, strlen(s));
isc_buffer_add(&b, strlen(s));
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
@@ -88,7 +88,7 @@ ns_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx,
result = cfg_map_get(options, "tkey-domain", &obj);
if (result == ISC_R_SUCCESS) {
s = cfg_obj_asstring(obj);
isc_buffer_init(&b, s, strlen(s));
isc_buffer_constinit(&b, s, strlen(s));
isc_buffer_add(&b, strlen(s));
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
@@ -108,7 +108,7 @@ ns_tkeyctx_fromconfig(const cfg_obj_t *options, isc_mem_t *mctx,
if (result == ISC_R_SUCCESS) {
s = cfg_obj_asstring(obj);
isc_buffer_init(&b, s, strlen(s));
isc_buffer_constinit(&b, s, strlen(s));
isc_buffer_add(&b, strlen(s));
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
+1 -1
View File
@@ -78,7 +78,7 @@ add_initial_keys(const cfg_obj_t *list, dns_tsig_keyring_t *ring,
* Create the key name.
*/
dns_name_init(&keyname, NULL);
isc_buffer_init(&keynamesrc, keyid, strlen(keyid));
isc_buffer_constinit(&keynamesrc, keyid, strlen(keyid));
isc_buffer_add(&keynamesrc, strlen(keyid));
isc_buffer_init(&keynamebuf, keynamedata, sizeof(keynamedata));
ret = dns_name_fromtext(&keyname, &keynamesrc, dns_rootname,
+2 -1
View File
@@ -3336,7 +3336,8 @@ add_signing_records(dns_db_t *db, dns_name_t *name, dns_dbversion_t *ver,
ISC_LIST_UNLINK(temp_diff.tuples, tuple, link);
ISC_LIST_APPEND(diff->tuples, tuple, link);
dns_rdata_tostruct(&tuple->rdata, &dnskey, NULL);
result = dns_rdata_tostruct(&tuple->rdata, &dnskey, NULL);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
if ((dnskey.flags &
(DNS_KEYFLAG_OWNERMASK|DNS_KEYTYPE_NOAUTH))
!= DNS_KEYOWNER_ZONE)
+14 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004-2009, 2011, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004-2009, 2011-2013 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1999-2003 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -50,6 +50,7 @@
typedef enum {
allow_notify,
allow_query,
allow_query_on,
allow_transfer,
allow_update,
allow_update_forwarding
@@ -96,6 +97,11 @@ configure_zone_acl(const cfg_obj_t *zconfig, const cfg_obj_t *vconfig,
aclp = &view->queryacl;
aclname = "allow-query";
break;
case allow_query_on:
if (view != NULL)
aclp = &view->queryonacl;
aclname = "allow-query-on";
break;
case allow_transfer:
if (view != NULL)
aclp = &view->transferacl;
@@ -242,7 +248,7 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone) {
dns_fixedname_init(&fident);
str = cfg_obj_asstring(identity);
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
result = dns_name_fromtext(dns_fixedname_name(&fident), &b,
dns_rootname, ISC_FALSE, NULL);
@@ -254,7 +260,7 @@ configure_zone_ssutable(const cfg_obj_t *zconfig, dns_zone_t *zone) {
dns_fixedname_init(&fname);
str = cfg_obj_asstring(dname);
isc_buffer_init(&b, str, strlen(str));
isc_buffer_constinit(&b, str, strlen(str));
isc_buffer_add(&b, strlen(str));
result = dns_name_fromtext(dns_fixedname_name(&fname), &b,
dns_rootname, ISC_FALSE, NULL);
@@ -536,6 +542,11 @@ ns_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
dns_zone_setqueryacl,
dns_zone_clearqueryacl));
RETERR(configure_zone_acl(zconfig, vconfig, config,
allow_query_on, ac, zone,
dns_zone_setqueryonacl,
dns_zone_clearqueryonacl));
obj = NULL;
result = ns_config_get(maps, "dialup", &obj);
INSIST(result == ISC_R_SUCCESS && obj != NULL);
+33 -20
View File
@@ -174,7 +174,7 @@ typedef struct nsu_requestinfo {
static void
sendrequest(isc_sockaddr_t *srcaddr, isc_sockaddr_t *destaddr,
dns_message_t *msg, dns_request_t **request);
ISC_PLATFORM_NORETURN_POST static void
ISC_PLATFORM_NORETURN_PRE static void
fatal(const char *format, ...)
ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
@@ -1011,7 +1011,7 @@ parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) {
isc_buffer_t source;
word = nsu_strsep(cmdlinep, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read owner name\n");
return (STATUS_SYNTAX);
}
@@ -1044,6 +1044,11 @@ parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass,
dns_rdatacallbacks_t callbacks;
isc_result_t result;
if (cmdline == NULL) {
rdata->flags = DNS_RDATA_UPDATE;
return (STATUS_MORE);
}
while (*cmdline != 0 && isspace((unsigned char)*cmdline))
cmdline++;
@@ -1110,7 +1115,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
*/
if (isrrset) {
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read class or type\n");
goto failure;
}
@@ -1126,7 +1131,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) {
* Now read the type.
*/
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read type\n");
goto failure;
}
@@ -1200,7 +1205,7 @@ evaluate_prereq(char *cmdline) {
ddebug("evaluate_prereq()");
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read operation code\n");
return (STATUS_SYNTAX);
}
@@ -1229,14 +1234,14 @@ evaluate_server(char *cmdline) {
long port;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read server name\n");
return (STATUS_SYNTAX);
}
server = word;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0)
if (word == NULL || *word == 0)
port = DNSDEFAULTPORT;
else {
char *endp;
@@ -1270,14 +1275,14 @@ evaluate_local(char *cmdline) {
struct in6_addr in6;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read server name\n");
return (STATUS_SYNTAX);
}
local = word;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0)
if (word == NULL || *word == 0)
port = 0;
else {
char *endp;
@@ -1326,7 +1331,7 @@ evaluate_key(char *cmdline) {
char *n;
namestr = nsu_strsep(&cmdline, " \t\r\n");
if (*namestr == 0) {
if (namestr == NULL || *namestr == 0) {
fprintf(stderr, "could not read key name\n");
return (STATUS_SYNTAX);
}
@@ -1350,7 +1355,7 @@ evaluate_key(char *cmdline) {
}
secretstr = nsu_strsep(&cmdline, "\r\n");
if (*secretstr == 0) {
if (secretstr == NULL || *secretstr == 0) {
fprintf(stderr, "could not read key secret\n");
return (STATUS_SYNTAX);
}
@@ -1391,7 +1396,7 @@ evaluate_zone(char *cmdline) {
isc_result_t result;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read zone name\n");
return (STATUS_SYNTAX);
}
@@ -1418,7 +1423,7 @@ evaluate_realm(char *cmdline) {
char buf[1024];
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
if (realm != NULL)
isc_mem_free(mctx, realm);
realm = NULL;
@@ -1443,7 +1448,7 @@ evaluate_ttl(char *cmdline) {
isc_uint32_t ttl;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not ttl\n");
return (STATUS_SYNTAX);
}
@@ -1477,7 +1482,7 @@ evaluate_class(char *cmdline) {
dns_rdataclass_t rdclass;
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read class name\n");
return (STATUS_SYNTAX);
}
@@ -1535,7 +1540,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
* If it's a delete, ignore a TTL if present (for compatibility).
*/
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
if (!isdelete) {
fprintf(stderr, "could not read owner ttl\n");
goto failure;
@@ -1576,7 +1581,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
*/
word = nsu_strsep(&cmdline, " \t\r\n");
parseclass:
if (*word == 0) {
if (word == NULL || *word == 0) {
if (isdelete) {
rdataclass = dns_rdataclass_any;
rdatatype = dns_rdatatype_any;
@@ -1600,7 +1605,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) {
* Now read the type.
*/
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
if (isdelete) {
rdataclass = dns_rdataclass_any;
rdatatype = dns_rdatatype_any;
@@ -1680,7 +1685,7 @@ evaluate_update(char *cmdline) {
ddebug("evaluate_update()");
word = nsu_strsep(&cmdline, " \t\r\n");
if (*word == 0) {
if (word == NULL || *word == 0) {
fprintf(stderr, "could not read operation code\n");
return (STATUS_SYNTAX);
}
@@ -1770,6 +1775,7 @@ get_next_command(void) {
char cmdlinebuf[MAXCMD];
char *cmdline;
char *word;
char *tmp;
ddebug("get_next_command()");
if (interactive) {
@@ -1781,11 +1787,18 @@ get_next_command(void) {
isc_app_unblock();
if (cmdline == NULL)
return (STATUS_QUIT);
/*
* Normalize input by removing any eol.
*/
tmp = cmdline;
(void)nsu_strsep(&tmp, "\r\n");
word = nsu_strsep(&cmdline, " \t\r\n");
if (feof(input))
return (STATUS_QUIT);
if (*word == 0)
if (word == NULL || *word == 0)
return (STATUS_SEND);
if (word[0] == ';')
return (STATUS_MORE);
+1
View File
@@ -755,6 +755,7 @@ main(int argc, char **argv) {
program, isc_commandline_option);
usage(1);
}
/* FALLTHROUGH */
case 'h':
usage(0);
break;
+1 -1
View File
@@ -245,7 +245,7 @@ lookup(const char *target) {
INSIST(target != NULL);
client = new_client();
isc_buffer_init(&t, target, strlen(target));
isc_buffer_constinit(&t, target, strlen(target));
isc_buffer_add(&t, strlen(target));
isc_buffer_init(&namebuf, namedata, sizeof(namedata));
dns_name_init(&name, NULL);
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -1
View File
@@ -58,7 +58,7 @@ t_create(const char *db_type, const char *origin, const char *class,
dns_fixedname_init(&dns_origin);
len = strlen(origin);
isc_buffer_init(&origin_buffer, origin, len);
isc_buffer_constinit(&origin_buffer, origin, len);
isc_buffer_add(&origin_buffer, len);
dns_result = dns_name_fromtext(dns_fixedname_name(&dns_origin),
&origin_buffer, NULL, ISC_FALSE, NULL);
+9 -2
View File
@@ -263,7 +263,7 @@ load(const char *filename, const char *origintext, isc_boolean_t cache) {
ISC_LINK_INIT(dbi, link);
len = strlen(origintext);
isc_buffer_init(&source, origintext, len);
isc_buffer_constinit(&source, origintext, len);
isc_buffer_add(&source, len);
dns_fixedname_init(&forigin);
origin = dns_fixedname_name(&forigin);
@@ -374,6 +374,7 @@ main(int argc, char *argv[]) {
dns_trust_t trust = 0;
unsigned int addopts;
isc_log_t *lctx = NULL;
size_t n;
dns_result_register();
@@ -395,7 +396,13 @@ main(int argc, char *argv[]) {
isc_result_totext(result));
break;
case 'd':
strcpy(dbtype, isc_commandline_argument);
n = strlcpy(dbtype, isc_commandline_argument,
sizeof(dbtype));
if (n >= sizeof(dbtype)) {
fprintf(stderr, "bad db type '%s'\n",
isc_commandline_argument);
exit(1);
}
break;
case 'g':
options |= (DNS_DBFIND_GLUEOK|DNS_DBFIND_VALIDATEGLUE);
+3 -3
View File
@@ -54,7 +54,7 @@ use(dst_key_t *key, isc_mem_t *mctx) {
*/
isc_buffer_add(&sigbuf, 1);
isc_buffer_init(&databuf, data, strlen(data));
isc_buffer_constinit(&databuf, data, strlen(data));
isc_buffer_add(&databuf, strlen(data));
isc_buffer_usedregion(&databuf, &datareg);
@@ -262,7 +262,7 @@ main(void) {
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
isc_buffer_init(&b, "test.", 5);
isc_buffer_constinit(&b, "test.", 5);
isc_buffer_add(&b, 5);
result = dns_name_fromtext(name, &b, NULL, ISC_FALSE, NULL);
if (result != ISC_R_SUCCESS)
@@ -274,7 +274,7 @@ main(void) {
io(name, 49667, DST_ALG_DSA, DST_TYPE_PRIVATE|DST_TYPE_PUBLIC, mctx);
io(name, 2, DST_ALG_RSAMD5, DST_TYPE_PRIVATE|DST_TYPE_PUBLIC, mctx);
isc_buffer_init(&b, "dh.", 3);
isc_buffer_constinit(&b, "dh.", 3);
isc_buffer_add(&b, 3);
result = dns_name_fromtext(name, &b, NULL, ISC_FALSE, NULL);
if (result != ISC_R_SUCCESS)
+71 -52
View File
@@ -61,6 +61,7 @@ cleandir(char *path) {
DIR *dirp;
struct dirent *pe;
char fullname[PATH_MAX + 1];
size_t l;
dirp = opendir(path);
if (dirp == NULL) {
@@ -73,11 +74,16 @@ cleandir(char *path) {
continue;
if (! strcmp(pe->d_name, ".."))
continue;
strcpy(fullname, path);
strcat(fullname, "/");
strcat(fullname, pe->d_name);
if (remove(fullname))
t_info("remove(%s) failed %d\n", fullname, errno);
(void)strlcpy(fullname, path, sizeof(fullname));
(void)strlcat(fullname, "/", sizeof(fullname));
l = strlcat(fullname, pe->d_name, sizeof(fullname));
if (l < sizeof(fullname)) {
if (remove(fullname))
t_info("remove(%s) failed %d\n", fullname,
errno);
} else
t_info("unable to remove '%s/%s': path too long\n",
path, pe->d_name);
}
(void)closedir(dirp);
@@ -98,7 +104,7 @@ use(dst_key_t *key, isc_mem_t *mctx, isc_result_t exp_result, int *nfails) {
dst_context_t *ctx = NULL;
isc_buffer_init(&sigbuf, sig, sizeof(sig));
isc_buffer_init(&databuf, data, strlen(data));
isc_buffer_constinit(&databuf, data, strlen(data));
isc_buffer_add(&databuf, strlen(data));
isc_buffer_usedregion(&databuf, &datareg);
@@ -179,7 +185,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
if (p == NULL) {
t_info("getcwd failed %d\n", errno);
++*nprobs;
return;
goto cleanup;
}
ret = dst_key_fromfile(name1, id1, alg, type, current, mctx, &key1);
@@ -187,7 +193,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_fromfile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
ret = dst_key_fromfile(name2, id2, alg, type, current, mctx, &key2);
@@ -195,7 +201,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_fromfile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
ret = isc_file_mktemplate("/tmp/", tmp, sizeof(tmp));
@@ -203,7 +209,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("isc_file_mktemplate failed %s\n",
isc_result_totext(ret));
++*nprobs;
return;
goto cleanup;
}
ret = isc_dir_createunique(tmp);
@@ -211,7 +217,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("isc_dir_createunique failed %s\n",
isc_result_totext(ret));
++*nprobs;
return;
goto cleanup;
}
ret = dst_key_tofile(key1, type, tmp);
@@ -219,7 +225,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_tofile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
ret = dst_key_tofile(key2, type, tmp);
@@ -227,7 +233,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_key_tofile(%d) returned: %s\n",
alg, dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
cleandir(tmp);
@@ -238,7 +244,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_computesecret() returned: %s\n",
dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
isc_buffer_init(&b2, array2, sizeof(array2));
@@ -247,7 +253,7 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
t_info("dst_computesecret() returned: %s\n",
dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
isc_buffer_usedregion(&b1, &r1);
@@ -256,11 +262,14 @@ dh(dns_name_t *name1, int id1, dns_name_t *name2, int id2, isc_mem_t *mctx,
{
t_info("computed secrets don't match\n");
++*nfails;
return;
goto cleanup;
}
dst_key_free(&key1);
dst_key_free(&key2);
cleanup:
if (key1 != NULL)
dst_key_free(&key1);
if (key2 != NULL)
dst_key_free(&key2);
}
static void
@@ -330,12 +339,14 @@ generate(int alg, isc_mem_t *mctx, int size, int *nfails) {
t_info("dst_key_generate(%d) returned: %s\n", alg,
dst_result_totext(ret));
++*nfails;
return;
goto cleanup;
}
if (alg != DST_ALG_DH)
use(key, mctx, ISC_R_SUCCESS, nfails);
dst_key_free(&key);
cleanup:
if (key != NULL)
dst_key_free(&key);
}
#define DBUFSIZ 25
@@ -403,7 +414,7 @@ t1(void) {
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
isc_buffer_init(&b, "test.", 5);
isc_buffer_constinit(&b, "test.", 5);
isc_buffer_add(&b, 5);
isc_result = dns_name_fromtext(name, &b, NULL, ISC_FALSE, NULL);
if (isc_result != ISC_R_SUCCESS) {
@@ -425,7 +436,7 @@ t1(void) {
io(name, 2, DST_ALG_RSAMD5, DST_TYPE_PRIVATE|DST_TYPE_PUBLIC,
mctx, DST_R_NULLKEY, &nfails, &nprobs);
isc_buffer_init(&b, "dh.", 3);
isc_buffer_constinit(&b, "dh.", 3);
isc_buffer_add(&b, 3);
isc_result = dns_name_fromtext(name, &b, NULL, ISC_FALSE, NULL);
if (isc_result != ISC_R_SUCCESS) {
@@ -555,25 +566,27 @@ sig_fromfile(char *path, isc_buffer_t *iscbuf) {
char *p;
char *buf;
rval = stat(path, &sb);
if (rval != 0) {
t_info("stat %s failed, errno == %d\n", path, errno);
return(1);
}
buf = (char *) malloc((sb.st_size + 1) * sizeof(unsigned char));
if (buf == NULL) {
t_info("malloc failed, errno == %d\n", errno);
return(1);
}
fd = open(path, O_RDONLY);
if (fd < 0) {
t_info("open failed, errno == %d\n", errno);
(void) free(buf);
return(1);
}
rval = fstat(fd, &sb);
if (rval != 0) {
t_info("stat %s failed, errno == %d\n", path, errno);
close(fd);
return(1);
}
buf = (char *) malloc((sb.st_size + 1) * sizeof(char));
if (buf == NULL) {
t_info("malloc failed, errno == %d\n", errno);
close(fd);
return(1);
}
len = sb.st_size;
p = buf;
while (len) {
@@ -646,28 +659,29 @@ t2_sigchk(char *datapath, char *sigpath, char *keyname,
/*
* Read data from file in a form usable by dst_verify.
*/
rval = stat(datapath, &sb);
if (rval != 0) {
t_info("t2_sigchk: stat (%s) failed %d\n", datapath, errno);
++*nprobs;
return;
}
data = (unsigned char *) malloc(sb.st_size * sizeof(char));
if (data == NULL) {
t_info("t2_sigchk: malloc failed %d\n", errno);
++*nprobs;
return;
}
fd = open(datapath, O_RDONLY);
if (fd < 0) {
t_info("t2_sigchk: open failed %d\n", errno);
(void) free(data);
++*nprobs;
return;
}
rval = fstat(fd, &sb);
if (rval != 0) {
t_info("t2_sigchk: stat (%s) failed %d\n", datapath, errno);
++*nprobs;
close(fd);
return;
}
data = (unsigned char *) malloc(sb.st_size * sizeof(unsigned char));
if (data == NULL) {
t_info("t2_sigchk: malloc failed %d\n", errno);
++*nprobs;
close(fd);
return;
}
p = data;
len = sb.st_size;
do {
@@ -684,7 +698,7 @@ t2_sigchk(char *datapath, char *sigpath, char *keyname,
*/
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
isc_buffer_init(&b, keyname, strlen(keyname));
isc_buffer_constinit(&b, keyname, strlen(keyname));
isc_buffer_add(&b, strlen(keyname));
isc_result = dns_name_fromtext(name, &b, dns_rootname, ISC_FALSE, NULL);
if (isc_result != ISC_R_SUCCESS) {
@@ -787,14 +801,20 @@ t2_sigchk(char *datapath, char *sigpath, char *keyname,
if (isc_result != ISC_R_SUCCESS) {
t_info("dst_context_create returned %s\n",
isc_result_totext(isc_result));
(void) free(data);
dst_key_free(&key);
++*nfails;
return;
}
isc_result = dst_context_adddata(ctx, &datareg);
if (isc_result != ISC_R_SUCCESS) {
t_info("dst_context_adddata returned %s\n",
isc_result_totext(isc_result));
(void) free(data);
dst_context_destroy(&ctx);
dst_key_free(&key);
++*nfails;
return;
}
isc_result = dst_context_verify(ctx, &sigreg);
if ( ((exp_res == 0) && (isc_result != ISC_R_SUCCESS)) ||
@@ -803,7 +823,6 @@ t2_sigchk(char *datapath, char *sigpath, char *keyname,
t_info("dst_context_verify returned %s, expected %s\n",
isc_result_totext(isc_result),
expected_result);
dst_context_destroy(&ctx);
++*nfails;
}
+21 -4
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2000, 2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -22,6 +22,8 @@
#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h> /* Non-portable. */
#include <sys/stat.h> /* Non-portable. */
@@ -35,10 +37,24 @@ int
main(void) {
isc_fsaccess_t access;
isc_result_t result;
FILE *fp;
int n;
remove(PATH);
fopen(PATH, "w");
chmod(PATH, 0);
n = remove(PATH);
if (n != 0 && errno != ENOENT) {
fprintf(stderr, "unable to remove(%s)\n", PATH);
exit(1);
}
fp = fopen(PATH, "w");
if (fp == NULL) {
fprintf(stderr, "unable to fopen(%s)\n", PATH);
exit(1);
}
n = chmod(PATH, 0);
if (n != 0) {
fprintf(stderr, "unable chmod(%s, 0)\n", PATH);
exit(1);
}
access = 0;
@@ -55,6 +71,7 @@ main(void) {
result = isc_fsaccess_set(PATH, access);
if (result != ISC_R_SUCCESS)
fprintf(stderr, "result = %s\n", isc_result_totext(result));
(void)fclose(fp);
return (0);
}
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -1
View File
@@ -9,4 +9,4 @@
# cishm is 0 if a case insensitive hash of testname1 should match a
# case insensitive hash of testname2, otherwise cishm != 0
#
a.b.c.d a.b.c.d. 0 0
a.b.c.d A.B.C.D 0 1
+194 -116
View File
@@ -25,8 +25,10 @@
#include <isc/buffer.h>
#include <isc/mem.h>
#include <isc/string.h>
#include <isc/util.h>
#include <dns/compress.h>
#include <dns/fixedname.h>
#include <dns/name.h>
#include <dns/result.h>
@@ -38,6 +40,39 @@
static char *Tokens[MAXTOKS + 1];
#define BINDABLE(name) \
((name->attributes & (DNS_NAMEATTR_READONLY|DNS_NAMEATTR_DYNAMIC)) \
== 0)
static isc_result_t
dns_name_fromstring2(dns_name_t *target, const char *src,
const dns_name_t *origin, unsigned int options,
isc_mem_t *mctx)
{
isc_result_t result;
isc_buffer_t buf;
dns_fixedname_t fn;
dns_name_t *name;
REQUIRE(src != NULL);
isc_buffer_constinit(&buf, src, strlen(src));
isc_buffer_add(&buf, strlen(src));
if (BINDABLE(target) && target->buffer != NULL)
name = target;
else {
dns_fixedname_init(&fn);
name = dns_fixedname_name(&fn);
}
result = dns_name_fromtext(name, &buf, origin, options, NULL);
if (result != ISC_R_SUCCESS)
return (result);
if (name != target)
result = dns_name_dupwithoffsets(name, mctx, target);
return (result);
}
#ifdef NEED_PBUF
@@ -121,20 +156,30 @@ chkdata(unsigned char *buf, size_t buflen, char *exp_data,
if (('0' <= *q) && (*q <= '9'))
*p = *q - '0';
else if (('a' <= *q) && (*q <= 'z'))
else if (('a' <= *q) && (*q <= 'f'))
*p = *q - 'a' + 10;
else if (('A' <= *q) && (*q <= 'Z'))
else if (('A' <= *q) && (*q <= 'F'))
*p = *q - 'A' + 10;
else {
t_info("malformed comparison data\n");
free(data);
return (-1);
}
++q;
*p <<= 4;
if (('0' <= *q) && (*q <= '9'))
*p |= ((*q - '0') & 0x0f);
else if (('a' <= *q) && (*q <= 'z'))
else if (('a' <= *q) && (*q <= 'f'))
*p |= ((*q - 'a' + 10) & 0x0f);
else if (('A' <= *q) && (*q <= 'Z'))
else if (('A' <= *q) && (*q <= 'F'))
*p |= ((*q - 'A' + 10) & 0x0f);
else {
t_info("malformed comparison data\n");
free(data);
return (-1);
}
++p;
++q;
++cnt;
@@ -156,7 +201,7 @@ chkdata(unsigned char *buf, size_t buflen, char *exp_data,
else {
t_info("bad data at position %lu, "
"got 0x%.2x, expected 0x%.2x\n",
(unsigned long)cnt, *p, *q);
(unsigned long)cnt, *p, *v);
result = cnt + 1;
}
(void)free(data);
@@ -174,13 +219,14 @@ chkdata(unsigned char *buf, size_t buflen, char *exp_data,
* setup the buffer and return the data length.
*/
static int
getmsg(char *datafile_name, unsigned char *buf, int buflen, isc_buffer_t *pbuf)
getmsg(char *datafile_name, isc_buffer_t *pbuf)
{
int c;
int len;
int cnt;
unsigned int len;
unsigned int cnt;
unsigned char *p;
FILE *fp;
unsigned int buflen;
fp = fopen(datafile_name, "r");
if (fp == NULL) {
@@ -188,7 +234,8 @@ getmsg(char *datafile_name, unsigned char *buf, int buflen, isc_buffer_t *pbuf)
return (0);
}
p = buf;
p = isc_buffer_used(pbuf);
buflen = isc_buffer_availablelength(pbuf);
cnt = 0;
len = 0;
while ((c = getc(fp)) != EOF) {
@@ -203,9 +250,9 @@ getmsg(char *datafile_name, unsigned char *buf, int buflen, isc_buffer_t *pbuf)
}
if (('0' <= c) && (c <= '9'))
val = c - '0';
else if (('a' <= c) && (c <= 'z'))
else if (('a' <= c) && (c <= 'f'))
val = c - 'a' + 10;
else if (('A' <= c) && (c <= 'Z'))
else if (('A' <= c) && (c <= 'F'))
val = c - 'A'+ 10;
else {
(void)fclose(fp);
@@ -237,7 +284,6 @@ getmsg(char *datafile_name, unsigned char *buf, int buflen, isc_buffer_t *pbuf)
}
*p = '\0';
isc_buffer_init(pbuf, buf, cnt);
isc_buffer_add(pbuf, cnt);
return (cnt);
}
@@ -320,41 +366,6 @@ hname_to_tname(char *src, char *target, size_t len) {
#endif /* NEED_HNAME_TO_TNAME */
/*%
* initialize a dns_name_t from a text name, hiding all
* buffer and other object initialization from the caller
*
*/
static isc_result_t
dname_from_tname(char *name, dns_name_t *dns_name) {
int len;
isc_buffer_t txtbuf;
isc_buffer_t *binbuf;
unsigned char *junk;
isc_result_t result;
len = strlen(name);
isc_buffer_init(&txtbuf, name, len);
isc_buffer_add(&txtbuf, len);
junk = (unsigned char *)malloc(sizeof(unsigned char) * BUFLEN);
binbuf = (isc_buffer_t *)malloc(sizeof(isc_buffer_t));
if ((junk != NULL) && (binbuf != NULL)) {
isc_buffer_init(binbuf, junk, BUFLEN);
dns_name_init(dns_name, NULL);
dns_name_setbuffer(dns_name, binbuf);
result = dns_name_fromtext(dns_name, &txtbuf,
NULL, ISC_FALSE, NULL);
} else {
result = ISC_R_NOSPACE;
if (junk != NULL)
(void)free(junk);
if (binbuf != NULL)
(void)free(binbuf);
}
return (result);
}
static const char *a3 = "dns_name_init initializes 'name' to the empty name";
static void
@@ -615,8 +626,10 @@ test_dns_name_hash(char *test_name1, char *test_name2,
isc_boolean_t match;
unsigned int hash1;
unsigned int hash2;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
isc_result_t result;
rval = T_UNRESOLVED;
@@ -624,12 +637,17 @@ test_dns_name_hash(char *test_name1, char *test_name2,
t_info("testing names %s and %s\n", test_name1, test_name2);
result = dname_from_tname(test_name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
result = dns_name_fromstring2(dns_name1, test_name1, NULL, 0, NULL);
if (result == ISC_R_SUCCESS) {
result = dname_from_tname(test_name2, &dns_name2);
result = dns_name_fromstring2(dns_name2, test_name2, NULL,
0, NULL);
if (result == ISC_R_SUCCESS) {
hash1 = dns_name_hash(&dns_name1, ISC_TRUE);
hash2 = dns_name_hash(&dns_name2, ISC_TRUE);
hash1 = dns_name_hash(dns_name1, ISC_TRUE);
hash2 = dns_name_hash(dns_name2, ISC_TRUE);
match = ISC_FALSE;
if (hash1 == hash2)
match = ISC_TRUE;
@@ -637,8 +655,8 @@ test_dns_name_hash(char *test_name1, char *test_name2,
++failures;
t_info("hash mismatch when ISC_TRUE\n");
}
hash1 = dns_name_hash(&dns_name1, ISC_FALSE);
hash2 = dns_name_hash(&dns_name2, ISC_FALSE);
hash1 = dns_name_hash(dns_name1, ISC_FALSE);
hash2 = dns_name_hash(dns_name2, ISC_FALSE);
match = ISC_FALSE;
if (hash1 == hash2)
match = ISC_TRUE;
@@ -651,11 +669,11 @@ test_dns_name_hash(char *test_name1, char *test_name2,
else
rval = T_FAIL;
} else {
t_info("dns_fromtext %s failed, result = %s\n",
t_info("dns_name_fromstring2 %s failed, result = %s\n",
test_name2, dns_result_totext(result));
}
} else {
t_info("dns_fromtext %s failed, result = %s\n",
t_info("dns_name_fromstring2 %s failed, result = %s\n",
test_name1, dns_result_totext(result));
}
return (rval);
@@ -757,8 +775,10 @@ test_dns_name_fullcompare(char *name1, char *name2,
int nfails;
int order;
unsigned int nlabels;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
isc_result_t dns_result;
dns_namereln_t dns_reln;
@@ -769,11 +789,16 @@ test_dns_name_fullcompare(char *name1, char *name2,
t_info("testing names %s and %s for relation %s\n", name1, name2,
dns_namereln_to_text(exp_dns_reln));
dns_result = dname_from_tname(name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name1, name1, NULL, 0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_result = dname_from_tname(name2, &dns_name2);
dns_result = dns_name_fromstring2(dns_name2, name2, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_reln = dns_name_fullcompare(&dns_name1, &dns_name2,
dns_reln = dns_name_fullcompare(dns_name1, dns_name2,
&order, &nlabels);
if (dns_reln != exp_dns_reln) {
@@ -805,11 +830,11 @@ test_dns_name_fullcompare(char *name1, char *name2,
else
result = T_FAIL;
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
@@ -898,8 +923,10 @@ test_dns_name_compare(char *name1, char *name2, int exp_order) {
int result;
int order;
isc_result_t dns_result;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
result = T_UNRESOLVED;
@@ -907,11 +934,16 @@ test_dns_name_compare(char *name1, char *name2, int exp_order) {
exp_order == 0 ? "==": (exp_order == -1 ? "<" : ">"),
name2);
dns_result = dname_from_tname(name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name1, name1, NULL, 0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_result = dname_from_tname(name2, &dns_name2);
dns_result = dns_name_fromstring2(dns_name2, name2, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
order = dns_name_compare(&dns_name1, &dns_name2);
order = dns_name_compare(dns_name1, dns_name2);
/*
* Normalize order.
*/
@@ -926,11 +958,11 @@ test_dns_name_compare(char *name1, char *name2, int exp_order) {
} else
result = T_PASS;
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
@@ -1001,19 +1033,26 @@ test_dns_name_rdatacompare(char *name1, char *name2, int exp_order) {
int result;
int order;
isc_result_t dns_result;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
result = T_UNRESOLVED;
t_info("testing %s %s %s\n", name1,
exp_order == 0 ? "==": (exp_order == -1 ? "<" : ">"), name2);
dns_result = dname_from_tname(name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name1, name1, NULL, 0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_result = dname_from_tname(name2, &dns_name2);
dns_result = dns_name_fromstring2(dns_name2, name2, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
order = dns_name_rdatacompare(&dns_name1, &dns_name2);
order = dns_name_rdatacompare(dns_name1, dns_name2);
/*
* Normalize order.
*/
@@ -1028,11 +1067,11 @@ test_dns_name_rdatacompare(char *name1, char *name2, int exp_order) {
} else
result = T_PASS;
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
@@ -1104,19 +1143,26 @@ test_dns_name_issubdomain(char *name1, char *name2, isc_boolean_t exp_rval) {
int result;
isc_boolean_t rval;
isc_result_t dns_result;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
result = T_UNRESOLVED;
t_info("testing %s %s a subdomain of %s\n", name1,
exp_rval == 0 ? "is not" : "is", name2);
dns_result = dname_from_tname(name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name1, name1, NULL, 0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_result = dname_from_tname(name2, &dns_name2);
dns_result = dns_name_fromstring2(dns_name2, name2, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
rval = dns_name_issubdomain(&dns_name1, &dns_name2);
rval = dns_name_issubdomain(dns_name1, dns_name2);
if (rval != exp_rval) {
t_info("expected return value of %s, got %s\n",
@@ -1126,11 +1172,11 @@ test_dns_name_issubdomain(char *name1, char *name2, isc_boolean_t exp_rval) {
} else
result = T_PASS;
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
@@ -1197,15 +1243,18 @@ test_dns_name_countlabels(char *test_name, unsigned int exp_nlabels) {
int result;
unsigned int nlabels;
isc_result_t dns_result;
dns_name_t dns_name;
dns_fixedname_t fixed;
dns_name_t *dns_name;
result = T_UNRESOLVED;
t_info("testing %s\n", test_name);
dns_result = dname_from_tname(test_name, &dns_name);
dns_fixedname_init(&fixed);
dns_name = dns_fixedname_name(&fixed);
dns_result = dns_name_fromstring2(dns_name, test_name, NULL, 0, NULL);
if (dns_result == ISC_R_SUCCESS) {
nlabels = dns_name_countlabels(&dns_name);
nlabels = dns_name_countlabels(dns_name);
if (nlabels != exp_nlabels) {
t_info("expected %d, got %d\n", exp_nlabels, nlabels);
@@ -1213,7 +1262,7 @@ test_dns_name_countlabels(char *test_name, unsigned int exp_nlabels) {
} else
result = T_PASS;
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(dns_result));
}
@@ -1287,8 +1336,10 @@ test_dns_name_getlabel(char *test_name1, int label1_pos, char *test_name2,
unsigned int cnt;
unsigned char *p;
unsigned char *q;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
dns_label_t dns_label1;
dns_label_t dns_label2;
isc_result_t dns_result;
@@ -1298,12 +1349,18 @@ test_dns_name_getlabel(char *test_name1, int label1_pos, char *test_name2,
t_info("testing with %s and %s\n", test_name1, test_name2);
dns_result = dname_from_tname(test_name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name1, test_name1, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_result = dname_from_tname(test_name2, &dns_name2);
dns_result = dns_name_fromstring2(dns_name2, test_name2, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_name_getlabel(&dns_name1, label1_pos, &dns_label1);
dns_name_getlabel(&dns_name2, label2_pos, &dns_label2);
dns_name_getlabel(dns_name1, label1_pos, &dns_label1);
dns_name_getlabel(dns_name2, label2_pos, &dns_label2);
if (dns_label1.length != dns_label2.length) {
t_info("label lengths differ\n");
++nfails;
@@ -1322,11 +1379,11 @@ test_dns_name_getlabel(char *test_name1, int label1_pos, char *test_name2,
else
result = T_FAIL;
} else {
t_info("dname_from_tname failed, result == %s",
t_info("dns_name_fromstring2 failed, result == %s",
dns_result_totext(result));
}
} else {
t_info("dname_from_tname failed, result == %s",
t_info("dns_name_fromstring2 failed, result == %s",
dns_result_totext(result));
}
return (result);
@@ -1400,8 +1457,10 @@ test_dns_name_getlabelsequence(char *test_name1, int label1_start,
unsigned int cnt;
unsigned char *p;
unsigned char *q;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_fixedname_t fixed1;
dns_fixedname_t fixed2;
dns_name_t *dns_name1;
dns_name_t *dns_name2;
dns_name_t dns_targetname1;
dns_name_t dns_targetname2;
isc_result_t dns_result;
@@ -1412,16 +1471,22 @@ test_dns_name_getlabelsequence(char *test_name1, int label1_start,
nfails = 0;
result = T_UNRESOLVED;
dns_result = dname_from_tname(test_name1, &dns_name1);
dns_fixedname_init(&fixed1);
dns_fixedname_init(&fixed2);
dns_name1 = dns_fixedname_name(&fixed1);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name1, test_name1, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_result = dname_from_tname(test_name2, &dns_name2);
dns_result = dns_name_fromstring2(dns_name2, test_name2, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
t_info("testing %s %s\n", test_name1, test_name2);
dns_name_init(&dns_targetname1, NULL);
dns_name_init(&dns_targetname2, NULL);
dns_name_getlabelsequence(&dns_name1, label1_start,
dns_name_getlabelsequence(dns_name1, label1_start,
range, &dns_targetname1);
dns_name_getlabelsequence(&dns_name2, label2_start,
dns_name_getlabelsequence(dns_name2, label2_start,
range, &dns_targetname2);
/*
@@ -1452,11 +1517,11 @@ test_dns_name_getlabelsequence(char *test_name1, int label1_start,
else
result = T_FAIL;
} else {
t_info("dname_from_tname failed, result == %s",
t_info("dns_name_fromstring2 failed, result == %s",
dns_result_totext(dns_result));
}
} else {
t_info("dname_from_tname failed, result == %s",
t_info("dns_name_fromstring2 failed, result == %s",
dns_result_totext(dns_result));
}
return (result);
@@ -1523,7 +1588,8 @@ test_dns_name_fromregion(char *test_name) {
int order;
unsigned int nlabels;
isc_result_t dns_result;
dns_name_t dns_name1;
dns_fixedname_t fixed1;
dns_name_t *dns_name1;
dns_name_t dns_name2;
dns_namereln_t dns_namereln;
isc_region_t region;
@@ -1532,21 +1598,23 @@ test_dns_name_fromregion(char *test_name) {
t_info("testing %s\n", test_name);
dns_result = dname_from_tname(test_name, &dns_name1);
dns_fixedname_init(&fixed1);
dns_name1 = dns_fixedname_name(&fixed1);
dns_result = dns_name_fromstring2(dns_name1, test_name, NULL, 0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_name_toregion(&dns_name1, &region);
dns_name_toregion(dns_name1, &region);
dns_name_init(&dns_name2, NULL);
dns_name_fromregion(&dns_name2, &region);
dns_namereln = dns_name_fullcompare(&dns_name1, &dns_name2,
dns_namereln = dns_name_fullcompare(dns_name1, &dns_name2,
&order, &nlabels);
if (dns_namereln == dns_namereln_equal)
result = T_PASS;
else
result = T_FAIL;
} else {
t_info("dname_from_tname failed, result == %s\n",
t_info("dns_name_fromstring2 failed, result == %s\n",
dns_result_totext(result));
}
return (result);
@@ -1975,14 +2043,18 @@ test_dns_name_fromwire(char *datafile_name, int testname_offset, int downcase,
char buf2[BUFLEN];
isc_buffer_t iscbuf1;
isc_buffer_t iscbuf2;
dns_fixedname_t fixed2;
dns_name_t dns_name1;
dns_name_t dns_name2;
dns_name_t *dns_name2;
isc_result_t dns_result;
dns_namereln_t dns_namereln;
dns_decompress_t dctx;
t_info("testing using %s\n", datafile_name);
len = getmsg(datafile_name, buf1, BIGBUFLEN, &iscbuf1);
isc_buffer_init(&iscbuf1, buf1, sizeof(buf1));
len = getmsg(datafile_name, &iscbuf1);
if (len == 0)
return (T_FAIL);
isc_buffer_setactive(&iscbuf1, len);
iscbuf1.current = testname_offset;
@@ -1997,10 +2069,13 @@ test_dns_name_fromwire(char *datafile_name, int testname_offset, int downcase,
if ((dns_result == exp_result) && (exp_result == ISC_R_SUCCESS)) {
dns_result = dname_from_tname(exp_name, &dns_name2);
dns_fixedname_init(&fixed2);
dns_name2 = dns_fixedname_name(&fixed2);
dns_result = dns_name_fromstring2(dns_name2, exp_name, NULL,
0, NULL);
if (dns_result == ISC_R_SUCCESS) {
dns_namereln = dns_name_fullcompare(&dns_name1,
&dns_name2,
dns_name2,
&order, &nlabels);
if (dns_namereln != dns_namereln_equal) {
t_info("dns_name_fullcompare returned %s\n",
@@ -2155,7 +2230,8 @@ static const char *a52 =
static int
test_dns_name_towire(char *testname, unsigned int dc_method, char *exp_data,
int exp_data_len, isc_result_t exp_result, size_t buflen)
size_t exp_data_len, isc_result_t exp_result,
size_t buflen)
{
int result;
int val;
@@ -2225,6 +2301,7 @@ t_dns_name_towire_x(const char *testfile, size_t buflen) {
int result;
unsigned int dc_method;
isc_result_t exp_result;
size_t exp_data_len;
char *p;
FILE *fp;
@@ -2254,11 +2331,12 @@ t_dns_name_towire_x(const char *testfile, size_t buflen) {
dc_method = t_dc_method_fromtext(Tokens[3]);
exp_result = t_dns_result_fromtext(Tokens[4]);
exp_data_len = strtoul(Tokens[3], NULL, 10);
result = test_dns_name_towire(Tokens[0],
dc_method,
Tokens[2],
atoi(Tokens[3]),
exp_data_len,
exp_result,
buflen);
} else {
+12
View File
@@ -1056,6 +1056,12 @@ t_dns_rbtnodechain_first(char *dbfile, char *expected_firstname,
dns_fixedname_t dns_origin;
isc_result_t expected_result;
REQUIRE(dbfile != NULL);
REQUIRE(expected_firstname != NULL);
REQUIRE(expected_firstorigin != NULL);
REQUIRE(expected_nextname != NULL);
REQUIRE(expected_nextorigin != NULL);
result = T_UNRESOLVED;
nfails = 0;
@@ -1247,6 +1253,12 @@ t_dns_rbtnodechain_last(char *dbfile, char *expected_lastname,
dns_fixedname_t dns_origin;
isc_result_t expected_result;
REQUIRE(dbfile != NULL);
REQUIRE(expected_lastname != NULL);
REQUIRE(expected_lastorigin != NULL);
REQUIRE(expected_prevname != NULL);
REQUIRE(expected_prevorigin != NULL);
result = T_UNRESOLVED;
nfails = 0;
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1999-2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+92 -92
View File
@@ -55,19 +55,19 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
switch (rdata->type) {
case dns_rdatatype_a6: {
dns_rdata_in_a6_t in_a6;
static dns_rdata_in_a6_t in_a6;
result = dns_rdata_tostruct(rdata, sp = &in_a6, NULL);
break;
}
case dns_rdatatype_a: {
switch (rdata->rdclass) {
case dns_rdataclass_hs: {
dns_rdata_hs_a_t hs_a;
static dns_rdata_hs_a_t hs_a;
result = dns_rdata_tostruct(rdata, sp = &hs_a, NULL);
break;
}
case dns_rdataclass_in: {
dns_rdata_in_a_t in_a;
static dns_rdata_in_a_t in_a;
result = dns_rdata_tostruct(rdata, sp = &in_a, NULL);
break;
}
@@ -78,12 +78,12 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
break;
}
case dns_rdatatype_aaaa: {
dns_rdata_in_aaaa_t in_aaaa;
static dns_rdata_in_aaaa_t in_aaaa;
result = dns_rdata_tostruct(rdata, sp = &in_aaaa, NULL);
break;
}
case dns_rdatatype_afsdb: {
dns_rdata_afsdb_t afsdb;
static dns_rdata_afsdb_t afsdb;
result = dns_rdata_tostruct(rdata, sp = &afsdb, NULL);
break;
}
@@ -94,7 +94,7 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
case dns_rdatatype_apl: {
switch (rdata->rdclass) {
case dns_rdataclass_in: {
dns_rdata_in_apl_t in_apl;
static dns_rdata_in_apl_t in_apl;
result = dns_rdata_tostruct(rdata, sp = &in_apl, NULL);
break;
}
@@ -105,202 +105,202 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
break;
}
case dns_rdatatype_cert: {
dns_rdata_cert_t cert;
static dns_rdata_cert_t cert;
result = dns_rdata_tostruct(rdata, sp = &cert, NULL);
break;
}
case dns_rdatatype_cname: {
dns_rdata_cname_t cname;
static dns_rdata_cname_t cname;
result = dns_rdata_tostruct(rdata, sp = &cname, NULL);
break;
}
case dns_rdatatype_dname: {
dns_rdata_dname_t dname;
static dns_rdata_dname_t dname;
result = dns_rdata_tostruct(rdata, sp = &dname, NULL);
break;
}
case dns_rdatatype_gpos: {
dns_rdata_gpos_t gpos;
static dns_rdata_gpos_t gpos;
result = dns_rdata_tostruct(rdata, sp = &gpos, NULL);
break;
}
case dns_rdatatype_hinfo: {
dns_rdata_hinfo_t hinfo;
static dns_rdata_hinfo_t hinfo;
result = dns_rdata_tostruct(rdata, sp = &hinfo, NULL);
break;
}
case dns_rdatatype_isdn: {
dns_rdata_isdn_t isdn;
static dns_rdata_isdn_t isdn;
result = dns_rdata_tostruct(rdata, sp = &isdn, NULL);
break;
}
case dns_rdatatype_key: {
dns_rdata_key_t key;
static dns_rdata_key_t key;
result = dns_rdata_tostruct(rdata, sp = &key, NULL);
break;
}
case dns_rdatatype_kx: {
dns_rdata_in_kx_t in_kx;
static dns_rdata_in_kx_t in_kx;
result = dns_rdata_tostruct(rdata, sp = &in_kx, NULL);
break;
}
case dns_rdatatype_loc: {
dns_rdata_loc_t loc;
static dns_rdata_loc_t loc;
result = dns_rdata_tostruct(rdata, sp = &loc, NULL);
break;
}
case dns_rdatatype_mb: {
dns_rdata_mb_t mb;
static dns_rdata_mb_t mb;
result = dns_rdata_tostruct(rdata, sp = &mb, NULL);
break;
}
case dns_rdatatype_md: {
dns_rdata_md_t md;
static dns_rdata_md_t md;
result = dns_rdata_tostruct(rdata, sp = &md, NULL);
break;
}
case dns_rdatatype_mf: {
dns_rdata_mf_t mf;
static dns_rdata_mf_t mf;
result = dns_rdata_tostruct(rdata, sp = &mf, NULL);
break;
}
case dns_rdatatype_mg: {
dns_rdata_mg_t mg;
static dns_rdata_mg_t mg;
result = dns_rdata_tostruct(rdata, sp = &mg, NULL);
break;
}
case dns_rdatatype_minfo: {
dns_rdata_minfo_t minfo;
static dns_rdata_minfo_t minfo;
result = dns_rdata_tostruct(rdata, sp = &minfo, NULL);
break;
}
case dns_rdatatype_mr: {
dns_rdata_mr_t mr;
static dns_rdata_mr_t mr;
result = dns_rdata_tostruct(rdata, sp = &mr, NULL);
break;
}
case dns_rdatatype_mx: {
dns_rdata_mx_t mx;
static dns_rdata_mx_t mx;
result = dns_rdata_tostruct(rdata, sp = &mx, NULL);
break;
}
case dns_rdatatype_naptr: {
dns_rdata_naptr_t naptr;
static dns_rdata_naptr_t naptr;
result = dns_rdata_tostruct(rdata, sp = &naptr, NULL);
break;
}
case dns_rdatatype_ns: {
dns_rdata_ns_t ns;
static dns_rdata_ns_t ns;
result = dns_rdata_tostruct(rdata, sp = &ns, NULL);
break;
}
case dns_rdatatype_nsap: {
dns_rdata_in_nsap_t in_nsap;
static dns_rdata_in_nsap_t in_nsap;
result = dns_rdata_tostruct(rdata, sp = &in_nsap, NULL);
break;
}
case dns_rdatatype_nsap_ptr: {
dns_rdata_in_nsap_ptr_t in_nsap_ptr;
static dns_rdata_in_nsap_ptr_t in_nsap_ptr;
result = dns_rdata_tostruct(rdata, sp = &in_nsap_ptr, NULL);
break;
}
case dns_rdatatype_null: {
dns_rdata_null_t null;
static dns_rdata_null_t null;
result = dns_rdata_tostruct(rdata, sp = &null, NULL);
break;
}
case dns_rdatatype_nxt: {
dns_rdata_nxt_t nxt;
static dns_rdata_nxt_t nxt;
result = dns_rdata_tostruct(rdata, sp = &nxt, NULL);
break;
}
case dns_rdatatype_opt: {
dns_rdata_opt_t opt;
static dns_rdata_opt_t opt;
result = dns_rdata_tostruct(rdata, sp = &opt, NULL);
break;
}
case dns_rdatatype_ptr: {
dns_rdata_ptr_t ptr;
static dns_rdata_ptr_t ptr;
result = dns_rdata_tostruct(rdata, sp = &ptr, NULL);
break;
}
case dns_rdatatype_px: {
dns_rdata_in_px_t in_px;
static dns_rdata_in_px_t in_px;
result = dns_rdata_tostruct(rdata, sp = &in_px, NULL);
break;
}
case dns_rdatatype_rp: {
dns_rdata_rp_t rp;
static dns_rdata_rp_t rp;
result = dns_rdata_tostruct(rdata, sp = &rp, NULL);
break;
}
case dns_rdatatype_rt: {
dns_rdata_rt_t rt;
static dns_rdata_rt_t rt;
result = dns_rdata_tostruct(rdata, sp = &rt, NULL);
break;
}
case dns_rdatatype_sig: {
dns_rdata_sig_t sig;
static dns_rdata_sig_t sig;
result = dns_rdata_tostruct(rdata, sp = &sig, NULL);
break;
}
case dns_rdatatype_soa: {
dns_rdata_soa_t soa;
static dns_rdata_soa_t soa;
result = dns_rdata_tostruct(rdata, sp = &soa, NULL);
break;
}
case dns_rdatatype_srv: {
dns_rdata_in_srv_t in_srv;
static dns_rdata_in_srv_t in_srv;
result = dns_rdata_tostruct(rdata, sp = &in_srv, NULL);
break;
}
case dns_rdatatype_tkey: {
dns_rdata_tkey_t tkey;
static dns_rdata_tkey_t tkey;
result = dns_rdata_tostruct(rdata, sp = &tkey, NULL);
break;
}
case dns_rdatatype_tsig: {
dns_rdata_any_tsig_t tsig;
static dns_rdata_any_tsig_t tsig;
result = dns_rdata_tostruct(rdata, sp = &tsig, NULL);
break;
}
case dns_rdatatype_txt: {
dns_rdata_txt_t txt;
static dns_rdata_txt_t txt;
result = dns_rdata_tostruct(rdata, sp = &txt, NULL);
break;
}
case dns_rdatatype_spf: {
dns_rdata_spf_t spf;
static dns_rdata_spf_t spf;
result = dns_rdata_tostruct(rdata, sp = &spf, NULL);
break;
}
case dns_rdatatype_unspec: {
dns_rdata_unspec_t unspec;
static dns_rdata_unspec_t unspec;
result = dns_rdata_tostruct(rdata, sp = &unspec, NULL);
break;
}
case dns_rdatatype_wks: {
dns_rdata_in_wks_t in_wks;
static dns_rdata_in_wks_t in_wks;
result = dns_rdata_tostruct(rdata, sp = &in_wks, NULL);
break;
}
case dns_rdatatype_x25: {
dns_rdata_x25_t x25;
static dns_rdata_x25_t x25;
result = dns_rdata_tostruct(rdata, sp = &x25, NULL);
break;
}
case dns_rdatatype_nsec: {
dns_rdata_nsec_t nsec;
static dns_rdata_nsec_t nsec;
result = dns_rdata_tostruct(rdata, sp = &nsec, NULL);
break;
}
case dns_rdatatype_rrsig: {
dns_rdata_rrsig_t rrsig;
static dns_rdata_rrsig_t rrsig;
result = dns_rdata_tostruct(rdata, sp = &rrsig, NULL);
break;
}
case dns_rdatatype_dnskey: {
dns_rdata_dnskey_t dnskey;
static dns_rdata_dnskey_t dnskey;
result = dns_rdata_tostruct(rdata, sp = &dnskey, NULL);
break;
}
@@ -317,19 +317,19 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
switch (rdata->type) {
case dns_rdatatype_a6: {
dns_rdata_in_a6_t in_a6;
static dns_rdata_in_a6_t in_a6;
result = dns_rdata_tostruct(rdata, sp = &in_a6, mctx);
break;
}
case dns_rdatatype_a: {
switch (rdata->rdclass) {
case dns_rdataclass_hs: {
dns_rdata_hs_a_t hs_a;
static dns_rdata_hs_a_t hs_a;
result = dns_rdata_tostruct(rdata, sp = &hs_a, mctx);
break;
}
case dns_rdataclass_in: {
dns_rdata_in_a_t in_a;
static dns_rdata_in_a_t in_a;
result = dns_rdata_tostruct(rdata, sp = &in_a, mctx);
break;
}
@@ -340,12 +340,12 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
break;
}
case dns_rdatatype_aaaa: {
dns_rdata_in_aaaa_t in_aaaa;
static dns_rdata_in_aaaa_t in_aaaa;
result = dns_rdata_tostruct(rdata, sp = &in_aaaa, mctx);
break;
}
case dns_rdatatype_afsdb: {
dns_rdata_afsdb_t afsdb;
static dns_rdata_afsdb_t afsdb;
result = dns_rdata_tostruct(rdata, sp = &afsdb, mctx);
break;
}
@@ -356,7 +356,7 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
case dns_rdatatype_apl: {
switch (rdata->rdclass) {
case dns_rdataclass_in: {
dns_rdata_in_apl_t in_apl;
static dns_rdata_in_apl_t in_apl;
result = dns_rdata_tostruct(rdata, sp = &in_apl, mctx);
break;
}
@@ -367,202 +367,202 @@ viastruct(dns_rdata_t *rdata, isc_mem_t *mctx,
break;
}
case dns_rdatatype_cert: {
dns_rdata_cert_t cert;
static dns_rdata_cert_t cert;
result = dns_rdata_tostruct(rdata, sp = &cert, mctx);
break;
}
case dns_rdatatype_cname: {
dns_rdata_cname_t cname;
static dns_rdata_cname_t cname;
result = dns_rdata_tostruct(rdata, sp = &cname, mctx);
break;
}
case dns_rdatatype_dname: {
dns_rdata_dname_t dname;
static dns_rdata_dname_t dname;
result = dns_rdata_tostruct(rdata, sp = &dname, mctx);
break;
}
case dns_rdatatype_gpos: {
dns_rdata_gpos_t gpos;
static dns_rdata_gpos_t gpos;
result = dns_rdata_tostruct(rdata, sp = &gpos, mctx);
break;
}
case dns_rdatatype_hinfo: {
dns_rdata_hinfo_t hinfo;
static dns_rdata_hinfo_t hinfo;
result = dns_rdata_tostruct(rdata, sp = &hinfo, mctx);
break;
}
case dns_rdatatype_isdn: {
dns_rdata_isdn_t isdn;
static dns_rdata_isdn_t isdn;
result = dns_rdata_tostruct(rdata, sp = &isdn, mctx);
break;
}
case dns_rdatatype_key: {
dns_rdata_key_t key;
static dns_rdata_key_t key;
result = dns_rdata_tostruct(rdata, sp = &key, mctx);
break;
}
case dns_rdatatype_kx: {
dns_rdata_in_kx_t in_kx;
static dns_rdata_in_kx_t in_kx;
result = dns_rdata_tostruct(rdata, sp = &in_kx, mctx);
break;
}
case dns_rdatatype_loc: {
dns_rdata_loc_t loc;
static dns_rdata_loc_t loc;
result = dns_rdata_tostruct(rdata, sp = &loc, mctx);
break;
}
case dns_rdatatype_mb: {
dns_rdata_mb_t mb;
static dns_rdata_mb_t mb;
result = dns_rdata_tostruct(rdata, sp = &mb, mctx);
break;
}
case dns_rdatatype_md: {
dns_rdata_md_t md;
static dns_rdata_md_t md;
result = dns_rdata_tostruct(rdata, sp = &md, mctx);
break;
}
case dns_rdatatype_mf: {
dns_rdata_mf_t mf;
static dns_rdata_mf_t mf;
result = dns_rdata_tostruct(rdata, sp = &mf, mctx);
break;
}
case dns_rdatatype_mg: {
dns_rdata_mg_t mg;
static dns_rdata_mg_t mg;
result = dns_rdata_tostruct(rdata, sp = &mg, mctx);
break;
}
case dns_rdatatype_minfo: {
dns_rdata_minfo_t minfo;
static dns_rdata_minfo_t minfo;
result = dns_rdata_tostruct(rdata, sp = &minfo, mctx);
break;
}
case dns_rdatatype_mr: {
dns_rdata_mr_t mr;
static dns_rdata_mr_t mr;
result = dns_rdata_tostruct(rdata, sp = &mr, mctx);
break;
}
case dns_rdatatype_mx: {
dns_rdata_mx_t mx;
static dns_rdata_mx_t mx;
result = dns_rdata_tostruct(rdata, sp = &mx, mctx);
break;
}
case dns_rdatatype_naptr: {
dns_rdata_naptr_t naptr;
static dns_rdata_naptr_t naptr;
result = dns_rdata_tostruct(rdata, sp = &naptr, mctx);
break;
}
case dns_rdatatype_ns: {
dns_rdata_ns_t ns;
static dns_rdata_ns_t ns;
result = dns_rdata_tostruct(rdata, sp = &ns, mctx);
break;
}
case dns_rdatatype_nsap: {
dns_rdata_in_nsap_t in_nsap;
static dns_rdata_in_nsap_t in_nsap;
result = dns_rdata_tostruct(rdata, sp = &in_nsap, mctx);
break;
}
case dns_rdatatype_nsap_ptr: {
dns_rdata_in_nsap_ptr_t in_nsap_ptr;
static dns_rdata_in_nsap_ptr_t in_nsap_ptr;
result = dns_rdata_tostruct(rdata, sp = &in_nsap_ptr, mctx);
break;
}
case dns_rdatatype_null: {
dns_rdata_null_t null;
static dns_rdata_null_t null;
result = dns_rdata_tostruct(rdata, sp = &null, mctx);
break;
}
case dns_rdatatype_nxt: {
dns_rdata_nxt_t nxt;
static dns_rdata_nxt_t nxt;
result = dns_rdata_tostruct(rdata, sp = &nxt, mctx);
break;
}
case dns_rdatatype_opt: {
dns_rdata_opt_t opt;
static dns_rdata_opt_t opt;
result = dns_rdata_tostruct(rdata, sp = &opt, mctx);
break;
}
case dns_rdatatype_ptr: {
dns_rdata_ptr_t ptr;
static dns_rdata_ptr_t ptr;
result = dns_rdata_tostruct(rdata, sp = &ptr, mctx);
break;
}
case dns_rdatatype_px: {
dns_rdata_in_px_t in_px;
static dns_rdata_in_px_t in_px;
result = dns_rdata_tostruct(rdata, sp = &in_px, mctx);
break;
}
case dns_rdatatype_rp: {
dns_rdata_rp_t rp;
static dns_rdata_rp_t rp;
result = dns_rdata_tostruct(rdata, sp = &rp, mctx);
break;
}
case dns_rdatatype_rt: {
dns_rdata_rt_t rt;
static dns_rdata_rt_t rt;
result = dns_rdata_tostruct(rdata, sp = &rt, mctx);
break;
}
case dns_rdatatype_sig: {
dns_rdata_sig_t sig;
static dns_rdata_sig_t sig;
result = dns_rdata_tostruct(rdata, sp = &sig, mctx);
break;
}
case dns_rdatatype_soa: {
dns_rdata_soa_t soa;
static dns_rdata_soa_t soa;
result = dns_rdata_tostruct(rdata, sp = &soa, mctx);
break;
}
case dns_rdatatype_srv: {
dns_rdata_in_srv_t in_srv;
static dns_rdata_in_srv_t in_srv;
result = dns_rdata_tostruct(rdata, sp = &in_srv, mctx);
break;
}
case dns_rdatatype_tkey: {
dns_rdata_tkey_t tkey;
static dns_rdata_tkey_t tkey;
result = dns_rdata_tostruct(rdata, sp = &tkey, mctx);
break;
}
case dns_rdatatype_tsig: {
dns_rdata_any_tsig_t tsig;
static dns_rdata_any_tsig_t tsig;
result = dns_rdata_tostruct(rdata, sp = &tsig, mctx);
break;
}
case dns_rdatatype_txt: {
dns_rdata_txt_t txt;
static dns_rdata_txt_t txt;
result = dns_rdata_tostruct(rdata, sp = &txt, mctx);
break;
}
case dns_rdatatype_spf: {
dns_rdata_spf_t spf;
static dns_rdata_spf_t spf;
result = dns_rdata_tostruct(rdata, sp = &spf, mctx);
break;
}
case dns_rdatatype_unspec: {
dns_rdata_unspec_t unspec;
static dns_rdata_unspec_t unspec;
result = dns_rdata_tostruct(rdata, sp = &unspec, mctx);
break;
}
case dns_rdatatype_wks: {
dns_rdata_in_wks_t in_wks;
static dns_rdata_in_wks_t in_wks;
result = dns_rdata_tostruct(rdata, sp = &in_wks, mctx);
break;
}
case dns_rdatatype_x25: {
dns_rdata_x25_t x25;
static dns_rdata_x25_t x25;
result = dns_rdata_tostruct(rdata, sp = &x25, mctx);
break;
}
case dns_rdatatype_nsec: {
dns_rdata_nsec_t nsec;
static dns_rdata_nsec_t nsec;
result = dns_rdata_tostruct(rdata, sp = &nsec, mctx);
break;
}
case dns_rdatatype_rrsig: {
dns_rdata_rrsig_t rrsig;
static dns_rdata_rrsig_t rrsig;
result = dns_rdata_tostruct(rdata, sp = &rrsig, mctx);
break;
}
case dns_rdatatype_dnskey: {
dns_rdata_dnskey_t dnskey;
static dns_rdata_dnskey_t dnskey;
result = dns_rdata_tostruct(rdata, sp = &dnskey, mctx);
break;
}
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -1
View File
@@ -262,7 +262,7 @@ main(int argc, char *argv[]) {
dns_fixedname_init(&fname);
name = dns_fixedname_name(&fname);
isc_buffer_init(&b, "child.example.", strlen("child.example."));
isc_buffer_constinit(&b, "child.example.", strlen("child.example."));
isc_buffer_add(&b, strlen("child.example."));
result = dns_name_fromtext(name, &b, dns_rootname, ISC_FALSE, NULL);
CHECK("dns_name_fromtext", result);
+4 -3
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 1998-2001 Internet Software Consortium.
*
* Permission to use, copy, modify, and/or distribute this software for any
@@ -205,8 +205,9 @@ my_listen(isc_task_t *task, isc_event_t *event) {
/*
* Queue another listen on this socket.
*/
isc_socket_accept(event->ev_sender, task, my_listen,
event->ev_arg);
RUNTIME_CHECK(isc_socket_accept(event->ev_sender, task,
my_listen, event->ev_arg)
== ISC_R_SUCCESS);
region.base = isc_mem_get(mctx, 20);
region.length = 20;
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2008 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2008, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+26
View File
@@ -0,0 +1,26 @@
#!/bin/sh
#
# Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: clean.sh,v 1.6 2007/09/26 03:22:44 marka Exp $
#
# Clean up after tests.
#
rm -f dig.out.*
rm -f */named.memstats
rm -f */named.conf
rm -f */named.run
@@ -0,0 +1,2 @@
# this server runs named with only one worker thread
-m record,size,mctx -c named.conf -d 99 -g -T clienttest -n 1
@@ -0,0 +1,62 @@
/*
* Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named.conf,v 1.5 2007/06/19 23:47:06 tbox Exp $ */
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
recursion no;
additional-from-auth no;
port 5300;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
notify no;
minimal-responses yes;
};
include "../../common/rndc.key";
controls {
inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
};
zone "rt.example" {
type master;
file "rt.db";
};
zone "naptr.example" {
type master;
file "naptr.db";
};
zone "rt2.example" {
type master;
file "rt2.db";
};
zone "naptr2.example" {
type master;
file "naptr2.db";
};
zone "nid.example" {
type master;
file "nid.db";
};
@@ -0,0 +1,62 @@
/*
* Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: named.conf,v 1.5 2007/06/19 23:47:06 tbox Exp $ */
options {
query-source address 10.53.0.1;
notify-source 10.53.0.1;
transfer-source 10.53.0.1;
recursion no;
additional-from-auth no;
port 5300;
pid-file "named.pid";
listen-on { 10.53.0.1; };
listen-on-v6 { none; };
notify no;
minimal-responses no;
};
include "../../common/rndc.key";
controls {
inet 10.53.0.1 port 9953 allow { any; } keys { rndc_key; };
};
zone "rt.example" {
type master;
file "rt.db";
};
zone "naptr.example" {
type master;
file "naptr.db";
};
zone "rt2.example" {
type master;
file "rt2.db";
};
zone "naptr2.example" {
type master;
file "naptr2.db";
};
zone "nid.example" {
type master;
file "nid.db";
};
+23
View File
@@ -0,0 +1,23 @@
; Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
$TTL 86400
@ IN SOA ns1 hostmaster ( 2 8H 2H 4W 1D );
NS ns1
ns1 A 127.0.0.0
nap IN NAPTR 50 50 "S" "SIPS+D2T" "" server
server SRV 0 0 5061 server
server A 192.168.2.9
server AAAA 192::9
+23
View File
@@ -0,0 +1,23 @@
; Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
$TTL 86400
@ IN SOA ns1 hostmaster ( 2 8H 2H 4W 1D );
NS ns1
ns1 A 127.0.0.0
nap IN NAPTR 50 50 "S" "SIPS+D2T" "" server.hang3a.zone.
www AAAA 192::99
www A 192.168.2.99
www X25 100099
+24
View File
@@ -0,0 +1,24 @@
; Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
$TTL 86400
@ IN SOA ns1 hostmaster ( 2 8H 2H 4W 1D );
NS ns1
ns1 A 127.0.0.0
ns1 NID 2 0:0:0:0
ns1 L64 2 0:0:0:0
ns1 L32 2 0.0.0.0
nid2 NID 2 0:0:0:1
nid2 LP 2 ns1
+23
View File
@@ -0,0 +1,23 @@
; Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
$TTL 86400
@ IN SOA ns1 hostmaster ( 2 8H 2H 4W 1D );
NS ns1
ns1 A 127.0.0.0
rt RT 2 www
www AAAA 192::99
www A 192.168.2.99
www X25 100099
+23
View File
@@ -0,0 +1,23 @@
; Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
$TTL 86400
@ IN SOA ns1 hostmaster ( 2 8H 2H 4W 1D );
NS ns1
ns1 A 127.0.0.0
rt RT 2 www.hang3b.zone.
server SRV 0 0 5061 server
server A 192.168.2.9
server AAAA 192::9
+17
View File
@@ -0,0 +1,17 @@
#!/bin/sh
#
# Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
cp -f ns1/named1.conf ns1/named.conf
+121
View File
@@ -0,0 +1,121 @@
#!/bin/sh
#
# Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: tests.sh,v 1.7 2011/11/06 23:46:40 tbox Exp $
SYSTEMTESTTOP=..
. $SYSTEMTESTTOP/conf.sh
status=0
n=0
dotests() {
n=`expr $n + 1`
echo "I:test with RT, single zone ($n)"
ret=0
$DIG -t RT rt.rt.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
n=`expr $n + 1`
echo "I:test with RT, two zones ($n)"
ret=0
$DIG -t RT rt.rt2.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
n=`expr $n + 1`
echo "I:test with NAPTR, single zone ($n)"
ret=0
$DIG -t NAPTR nap.naptr.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
n=`expr $n + 1`
echo "I:test with NAPTR, two zones ($n)"
ret=0
$DIG -t NAPTR nap.hang3b.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
n=`expr $n + 1`
echo "I:test with LP ($n)"
ret=0
$DIG -t LP nid2.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $minimal = no ] ; then
grep "L64" dig.out.$n > /dev/null || ret=1
grep "L32" dig.out.$n > /dev/null || ret=1
else
grep "L64" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
fi
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
n=`expr $n + 1`
echo "I:test with NID ($n)"
ret=0
$DIG -t NID ns1.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $minimal = no ] ; then
# change && to || when we support NID additional processing
grep "L64" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
else
grep "L64" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
fi
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
n=`expr $n + 1`
echo "I:test with NID + LP ($n)"
ret=0
$DIG -t NID nid2.nid.example @10.53.0.1 -p 5300 > dig.out.$n || ret=1
if [ $minimal = no ] ; then
# change && to || when we support NID additional processing
grep "LP" dig.out.$n > /dev/null && ret=1
grep "L64" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
else
grep "LP" dig.out.$n > /dev/null && ret=1
grep "L64" dig.out.$n > /dev/null && ret=1
grep "L32" dig.out.$n > /dev/null && ret=1
fi
if [ $ret -eq 1 ] ; then
echo "I: failed"; status=1
fi
}
echo "I:testing with 'minimal-responses yes;'"
minimal=yes
dotests
echo "I:reconfiguring server"
cp ns1/named2.conf ns1/named.conf
$RNDC -c ../common/rndc.conf -s 10.53.0.1 -p 9953 reconfig 2>&1 | sed 's/^/I:ns1 /'
sleep 2
echo "I:testing with 'minimal-responses no;'"
minimal=no
dotests
exit $status
@@ -0,0 +1,47 @@
/*
* Copyright (C) 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
controls { /* empty */ };
options {
port 5300;
pid-file "named.pid";
listen-on { 10.53.0.2; };
listen-on-v6 { none; };
recursion no;
};
include "../../common/controls.conf";
view "internal" {
allow-query-on { any; };
zone "." {
type hint;
file "../../common/root.hint";
};
zone "normal.example" {
type master;
file "normal.db";
};
zone "aclnotallow.example" {
type master;
file "aclnotallow.db";
allow-query-on { none; };
};
};
+18 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2010, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -612,6 +612,23 @@ grep '^a.normal.example' dig.out.ns2.$n > /dev/null && ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
# Test 57 - zones over views, zones disallow, query refused (allow-query-on)
n=`expr $n + 1`
cp -f ns2/named57.conf ns2/named.conf
$RNDC -c ../common/rndc.conf -s 10.53.0.2 -p 9953 reload 2>&1 | sed 's/^/I:ns2 /'
sleep 5
echo "I:test $n: zones over views, allow-query-on"
ret=0
$DIG $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.normal.example a > dig.out.ns2.1.$n || ret=1
grep 'status: NOERROR' dig.out.ns2.1.$n > /dev/null || ret=1
grep '^a.normal.example' dig.out.ns2.1.$n > /dev/null || ret=1
$DIG $DIGOPTS @10.53.0.2 -b 10.53.0.2 a.aclnotallow.example a > dig.out.ns2.2.$n || ret=1
grep 'status: REFUSED' dig.out.ns2.2.$n > /dev/null || ret=1
grep '^a.aclnotallow.example' dig.out.ns2.2.$n > /dev/null && ret=1
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:exit status: $status"
exit $status
+34 -11
View File
@@ -107,9 +107,16 @@ $SIG{TERM} = \&rmpid;
my @rules;
sub handleUDP {
my ($buf) = @_;
my $request;
my ($request, $err) = new Net::DNS::Packet(\$buf, 0);
$err and die $err;
if ($Net::DNS::VERSION > 0.68) {
$request = new Net::DNS::Packet(\$buf, 0);
$@ and die $@;
} else {
my $err;
($request, $err) = new Net::DNS::Packet(\$buf, 0);
$err and die $err;
}
my @questions = $request->question;
my $qname = $questions[0]->qname;
@@ -155,11 +162,13 @@ sub handleUDP {
# function will attempt to decrement it,
# which is incorrect in a response. Finally
# we set request_mac to the previous digest.
$packet->{"compnames"} = {};
$packet->{"header"}{"arcount"} += 1;
$packet->{"compnames"} = {}
if ($Net::DNS::VERSION < 0.70);
$packet->{"header"}{"arcount"} += 1
if ($Net::DNS::VERSION < 0.70);
if (defined($prev_tsig)) {
my $rmac = pack('n H*',
$prev_tsig->mac_size,
length($prev_tsig->mac)/2,
$prev_tsig->mac);
$tsig->{"request_mac"} =
unpack("H*", $rmac);
@@ -288,9 +297,16 @@ sub sign_tcp_continuation {
sub handleTCP {
my ($buf) = @_;
my $request;
my ($request, $err) = new Net::DNS::Packet(\$buf, 0);
$err and die $err;
if ($Net::DNS::VERSION > 0.68) {
$request = new Net::DNS::Packet(\$buf, 0);
$@ and die $@;
} else {
my $err;
($request, $err) = new Net::DNS::Packet(\$buf, 0);
$err and die $err;
}
my @questions = $request->question;
my $qname = $questions[0]->qname;
@@ -306,6 +322,7 @@ sub handleTCP {
# get the existing signature if any, and clear the additional section
my $prev_tsig;
my $signer;
my $continuation = 0;
while (my $rr = $request->pop("additional")) {
if ($rr->type eq "TSIG") {
$prev_tsig = $rr;
@@ -342,19 +359,25 @@ sub handleTCP {
# function will attempt to decrement it,
# which is incorrect in a response. Finally
# we set request_mac to the previous digest.
$packet->{"compnames"} = {};
$packet->{"header"}{"arcount"} += 1;
$packet->{"compnames"} = {}
if ($Net::DNS::VERSION < 0.70);
$packet->{"header"}{"arcount"} += 1
if ($Net::DNS::VERSION < 0.70);
if (defined($prev_tsig)) {
my $rmac = pack('n H*',
$prev_tsig->mac_size,
length($prev_tsig->mac)/2,
$prev_tsig->mac);
$tsig->{"request_mac"} =
unpack("H*", $rmac);
}
$tsig->sign_func($signer) if defined($signer);
$tsig->continuation($continuation)
if ($Net::DNS::VERSION >= 0.71);
$packet->sign_tsig($tsig);
$signer = \&sign_tcp_continuation;
$signer = \&sign_tcp_continuation
if ($Net::DNS::VERSION < 0.70);
$continuation = 1;
my $copy =
Net::DNS::Packet->new(\($packet->data));
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -3
View File
@@ -1,4 +1,4 @@
; Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2001 Internet Software Consortium.
;
; Permission to use, copy, modify, and/or distribute this software for any
@@ -606,7 +606,6 @@ NS0 IN A 202.12.30.131
ns1 IN A 202.12.30.33
$ORIGIN WIDE.AD.JP.
NS IN A 203.178.136.63
$ORIGIN co.JP.
IN MX 10 integra.s-integra.co.jp.
$ORIGIN s-integra.co.JP.
integra IN A 210.162.202.34
@@ -1175,7 +1174,6 @@ $ORIGIN ADVSYS.CO.UK.
BARNEY IN A 194.72.124.2
$ORIGIN WR.UMIST.AC.UK.
AARDVARK IN A 130.88.146.3
$ORIGIN UCL.AC.UK.
IN A 128.16.5.31
IN MX 10 bells.cs.ucl.ac.uk.
IN MX 11 haig.cs.ucl.ac.uk.
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+24
View File
@@ -0,0 +1,24 @@
/*
* Copyright (C) 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id$ */
/* Bad secret */
key "badtsig" {
algorithm hmac-md5;
secret "jEdD+BPKg==";
};
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh
#
# Copyright (C) 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id$
rm -f badzero.conf
+45 -1
View File
@@ -27,11 +27,55 @@ if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I: checking that named-checkconf handles a known bad config"
ret=1
$CHECKCONF bad.conf > /dev/null 2>&1 || ret=0
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I: checking that named-checkconf handles a known bad tsig secret"
ret=0
$CHECKCONF badtsig.conf > /dev/null 2>&1
if [ $? != 1 ]; then echo "I:failed"; ret=1; fi
status=`expr $status + $ret`
echo "I: range checking fields that do not allow zero"
ret=0
for field in max-retry-time min-retry-time max-refresh-time min-refresh-time; do
cat > badzero.conf << EOF
options {
$field 0;
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
[ $? -eq 1 ] || { echo "I: options $field failed" ; ret=1; }
cat > badzero.conf << EOF
view dummy {
$field 0;
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
[ $? -eq 1 ] || { echo "I: view $field failed" ; ret=1; }
cat > badzero.conf << EOF
options {
$field 0;
};
view dummy {
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
[ $? -eq 1 ] || { echo "I: options + view $field failed" ; ret=1; }
cat > badzero.conf << EOF
zone dummy {
type slave;
masters { 0.0.0.0; };
$field 0;
};
EOF
$CHECKCONF badzero.conf > /dev/null 2>&1
[ $? -eq 1 ] || { echo "I: zone $field failed" ; ret=1; }
done
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
echo "I:exit status: $status"
exit $status
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
+1 -1
View File
@@ -24,7 +24,7 @@ for db in zones/good*.db
do
echo "I:checking $db ($n)"
ret=0
$CHECKZONE example $db > test.out.$n 2>&1 || ret=1
$CHECKZONE -i local example $db > test.out.$n 2>&1 || ret=1
n=`expr $n + 1`
if [ $ret != 0 ]; then echo "I:failed"; fi
status=`expr $status + $ret`
+2 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -35,4 +35,5 @@ status=0
for d in $SUBDIRS
do
test ! -f $d/clean.sh || ( cd $d && sh clean.sh )
test -d $d && find $d -type d -exec rmdir '{}' \; 2> /dev/null
done
+7 -6
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -43,11 +43,12 @@ CHECKCONF=$TOP/bin/check/named-checkconf
# The "stress" test is not run by default since it creates enough
# load on the machine to make it unusable to other users.
# v6synth
SUBDIRS="acl allow_query builtin cacheclean checkconf checknames checkzone
database dlv dlz dname dnssec forward glue ixfr
limits logfileconfig lwresd masterfile masterformat notify
nsupdate pending resolver rrsetorder sortlist stub tkey
unknown upforwd views xfer xferquota zonechecks"
SUBDIRS="acl additional allow_query builtin cacheclean checkconf
checknames checkzone database dlv dlz dname dnssec formerr
forward glue ixfr limits logfileconfig lwresd masterfile
masterformat notify nsupdate pending resolver rndc rrsetorder
sortlist stub tkey unknown upforwd views wildcard xfer
xferquota zonechecks"
# PERL will be an empty string if no perl interpreter was found.
PERL=@PERL@
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/perl
#
# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000, 2001 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
+10 -2
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2004, 2007, 2008, 2010-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2007, 2008, 2010-2013 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2002 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -34,13 +34,21 @@ rm -f ns3/optout-unknown.example.db ns3/optout.example.db
rm -f ns3/expired.example.db ns3/update-nsec3.example.db
rm -f ns7/multiple.example.bk ns7/nsec3.example.bk ns7/optout.example.bk
rm -f */named.memstats
rm -f */named.run
rm -f ns3/nsec3.nsec3.example.db
rm -f ns3/nsec3.optout.example.db
rm -f ns3/optout.nsec3.example.db
rm -f ns3/optout.optout.example.db
rm -f ns3/secure.nsec3.example.db
rm -f ns3/secure.optout.example.db
rm -f signer/example.db
rm -f signer/*.db
rm -f ns2/algroll.db
rm -f signer/example.db.after signer/example.db.before
rm -f signer/example.db.changed
rm -f ns3/lower.example.db ns3/upper.example.db ns3/upper.example.db.lower
rm -f ns3/secure.below-cname.example.db
rm -f ns3/expiring.example.db
rm -f ns6/optout-tld.db
rm -f nosign.before
rm -f signing.out*
rm -f canonical?.*
+3 -1
View File
@@ -1,4 +1,4 @@
; Copyright (C) 2004, 2007, 2010, 2012 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2004, 2007, 2010, 2012, 2013 Internet Systems Consortium, Inc. ("ISC")
; Copyright (C) 2000, 2001 Internet Software Consortium.
;
; Permission to use, copy, modify, and/or distribute this software for any
@@ -32,3 +32,5 @@ dlv. NS ns2.dlv.
ns2.dlv. A 10.53.0.2
algroll NS ns2.algroll
ns2.algroll. A 10.53.0.2
optout-tld NS ns6.optout-tld.
ns6.optout-tld. A 10.53.0.6
+4 -2
View File
@@ -1,6 +1,6 @@
#!/bin/sh -e
#
# Copyright (C) 2004, 2006-2012 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2004, 2006-2013 Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 2000-2003 Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
@@ -27,14 +27,16 @@ infile=root.db.in
zonefile=root.db
(cd ../ns2 && sh sign.sh )
(cd ../ns6 && sh sign.sh )
cp ../ns2/dsset-example. .
cp ../ns2/dsset-dlv. .
grep "8 [12] " ../ns2/dsset-algroll. > dsset-algroll.
cp ../ns6/dsset-optout-tld. .
keyname=`$KEYGEN -r $RANDFILE -a RSAMD5 -b 768 -n zone $zone`
cat $infile $keyname.key dsset-example. dsset-dlv. dsset-algroll. > $zonefile
cat $infile $keyname.key dsset-example. dsset-dlv. dsset-algroll. dsset-optout-tld. > $zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
@@ -119,3 +119,9 @@ ns.insecure.below-cname A 10.53.0.3
secure.below-cname NS ns.secure.below-cname
ns.secure.below-cname A 10.53.0.3
upper NS ns.upper
ns.upper A 10.53.0.3
LOWER NS NS.LOWER
NS.LOWER A 10.53.0.3
+1 -1
View File
@@ -32,7 +32,7 @@ zonefile=example.db
for subdomain in secure bogus dynamic keyless nsec3 optout nsec3-unknown \
optout-unknown multiple rsasha256 rsasha512 update-nsec3 \
secure.below-cname expired
secure.below-cname expired upper lower
do
cp ../ns3/keyset-$subdomain.example. .
done
@@ -0,0 +1,26 @@
; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
; $Id: lower.example.db.in,v 1.1.2.1 2012/01/17 08:31:00 marka Exp $
$TTL 300 ; 5 minutes
@ IN SOA MNAME1. . (
2012042407 ; serial
20 ; refresh (20 seconds)
20 ; retry (20 seconds)
1814400 ; expire (3 weeks)
3600 ; minimum (1 hour)
)
@ NS NS
NS A 10.53.0.3
+10
View File
@@ -188,4 +188,14 @@ zone "secure.below-cname.example" {
file "secure.below-cname.example.db.signed";
};
zone "upper.example" {
type master;
file "upper.example.db.signed";
};
zone "LOWER.EXAMPLE" {
type master;
file "lower.example.db.signed";
};
include "trusted.conf";
@@ -44,3 +44,7 @@ ns.nosoa A 10.53.0.7
normalthenrrsig A 10.0.0.28
rrsigonly A 10.0.0.29
cnameandkey CNAME @
cnamenokey CNAME @
dnameandkey DNAME @
+31 -1
View File
@@ -26,9 +26,11 @@ zone=secure.example.
infile=secure.example.db.in
zonefile=secure.example.db
cnameandkey=`$KEYGEN -k -r $RANDFILE -a RSASHA1 -b 768 -n host cnameandkey.$zone`
dnameandkey=`$KEYGEN -k -r $RANDFILE -a RSASHA1 -b 768 -n host dnameandkey.$zone`
keyname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 768 -n zone $zone`
cat $infile $keyname.key >$zonefile
cat $infile $cnameandkey.key $dnameandkey.key $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null
@@ -283,3 +285,31 @@ zonefile=secure.below-cname.example.db
keyname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 1024 -n zone $zone`
cat $infile $keyname.key >$zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null 2>&1
#
# A zone where the signer's name has been forced to uppercase.
#
zone="upper.example."
infile="upper.example.db.in"
zonefile="upper.example.db"
lower="upper.example.db.lower"
signedfile="upper.example.db.signed"
kskname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 1024 $zone`
zskname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 1024 -f KSK $zone`
cat $infile $kskname.key $zskname.key > $zonefile
$SIGNER -P -r $RANDFILE -o $zone -f $lower $zonefile > /dev/null 2>&1
$CHECKZONE -D upper.example $lower 2>&- | \
sed '/RRSIG/s/ upper.example. / UPPER.EXAMPLE. /' > $signedfile
#
# Check that the signer's name is in lower case when zone name is in
# upper case.
#
zone="LOWER.EXAMPLE."
infile="lower.example.db.in"
zonefile="lower.example.db"
signedfile="lower.example.db.signed"
kskname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 1024 $zone`
zskname=`$KEYGEN -r $RANDFILE -a RSASHA1 -b 1024 -f KSK $zone`
cat $infile $kskname.key $zskname.key > $zonefile
$SIGNER -P -r $RANDFILE -o $zone $zonefile > /dev/null 2>&1
@@ -0,0 +1,26 @@
; Copyright (C) 2012 Internet Systems Consortium, Inc. ("ISC")
;
; Permission to use, copy, modify, and/or distribute this software for any
; purpose with or without fee is hereby granted, provided that the above
; copyright notice and this permission notice appear in all copies.
;
; THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
; REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
; AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
; INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
; LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
; OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
; PERFORMANCE OF THIS SOFTWARE.
; $Id: upper.example.db.in,v 1.1.2.1 2012/01/17 08:31:00 marka Exp $
$TTL 300 ; 5 minutes
@ IN SOA mname1. . (
2012042407 ; serial
20 ; refresh (20 seconds)
20 ; retry (20 seconds)
1814400 ; expire (3 weeks)
3600 ; minimum (1 hour)
)
@ NS ns
ns A 10.53.0.3
+1
View File
@@ -0,0 +1 @@
-m record,size,mctx -c named.conf -d 99 -g -T nonearest -T clienttest
+6 -1
View File
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2004, 2006, 2007 Internet Systems Consortium, Inc. ("ISC")
* Copyright (C) 2004, 2006, 2007, 2013 Internet Systems Consortium, Inc. ("ISC")
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -42,4 +42,9 @@ zone "." {
file "../../common/root.hint";
};
zone "optout-tld" {
type master;
file "optout-tld.db.signed";
};
include "trusted.conf";

Some files were not shown because too many files have changed in this diff Show More