Commit Graph
52 Commits
Author SHA1 Message Date
Mark Andrews fa35c67301 Check invalid alpn empty value 2024-08-01 10:20:55 +10:00
Mark Andrews a49b2a3568 Check invalid alpn produced due to missing double escapes 2024-08-01 10:20:55 +10:00
Mark Andrews e697d20f00 Test including a directory in a zone file 2024-05-07 10:01:12 +10:00
Mark Andrews 32535de856 Test $GENERATE in nibble mode with a negative value
Negative values used to cause $GENERATE to loop forever.
2024-05-07 09:19:43 +10:00
Evan Hunt 628fa8a3d6 make the qpzone database loadable
add database API methods needed for loading rdatasets into memory
(currentversion, beginload, endload), plus the methods used by
zone_postload() for zone consistency checks (getoriginnode, find,
findnode, findrdataset, attachnode, detachnode, deletedata).

the QP trie doesn't support the find callback mechanism available
in dns_rbt_findnode() which allows examination of intermediate nodes
while searching, so the detection of wildcard and delegation nodes
is now done by scanning QP chains after calling dns_qp_lookup().

Note that the lookup in previous_closest_nsec() cannot return
ISC_R_NOTFOUND. In RBTDB, we checked for this return value and
ovewrote the result with ISC_R_NOMORE if it occurred. In the
qpzone implementation, we insist that this return value cannot happen.
dns_qp_lookup() would only return ISC_R_NOTFOUND if we asked for a
name outside the zone's authoritative domain, and we never do that
when looking up a predecessor NSEC record.

named-checkzone is now able to load a zone and check it for errors,
but cannot dump it.
2024-03-08 15:36:49 -08:00
Mark Andrews e8e40e2e01 Check that DS records are only present at delegations
This extends the integrity check to look for stray DS records
in the zone.
2022-12-06 23:27:40 +11:00
Mark Andrews 7782c78d15 Add various zones containing bad _dns SVCB records 2022-10-29 00:22:54 +11:00
Mark Andrews 6d561d3886 Add support for 'dohpath' to SVCB (and HTTPS)
dohpath is specfied in draft-ietf-add-svcb-dns and has a value
of 7.  It must be a relative path (start with a /), be encoded
as UTF8 and contain the variable dns ({?dns}).
2022-10-04 14:21:41 +11:00
Mark Andrews c533e8bc5b Upgrade uses of hmac-sha1 to DEFAULT_HMAC
where the test is not hmac-sha1 specific
2022-07-07 10:11:42 +10:00
Mark AndrewsandEvan Hunt 7be64c0e94 Tighten $GENERATE directive parsing
The original sscanf processing allowed for a number of syntax errors
to be accepted.  This included missing the closing brace in
${modifiers}

Look for both comma and right brace as intermediate seperators as
well as consuming the final right brace in the sscanf processing
for ${modifiers}.  Check when we got right brace to determine if
the sscanf consumed more input than expected and if so behave as
if it had stopped at the first right brace.
2022-07-05 09:41:33 -07:00
Mark AndrewsandEvan Hunt 5327b9708f Check for overflow in $GENERATE computations
$GENERATE uses 'int' for its computations and some constructions
can overflow values that can be represented by an 'int' resulting
in undefined behaviour.  Detect these conditions and return a
range error.
2022-07-05 09:41:29 -07:00
Evan HuntandMark Andrews bd814b79d4 add a system test for $GENERATE with an integer overflow
the line "$GENERATE 19-28/2147483645 $ CNAME x" should generate
a single CNAME with the owner "19.example.com", but prior to the
overflow bug it generated several CNAMEs, half of them with large
negative values.

we now test for the bugfix by using "named-checkzone -D" and
grepping for a single CNAME in the output.
2022-04-01 07:56:52 +00:00
Ondřej Surý 58bd26b6cf Update the copyright information in all files in the repository
This commit converts the license handling to adhere to the REUSE
specification.  It specifically:

1. Adds used licnses to LICENSES/ directory

2. Add "isc" template for adding the copyright boilerplate

3. Changes all source files to include copyright and SPDX license
   header, this includes all the C sources, documentation, zone files,
   configuration files.  There are notes in the doc/dev/copyrights file
   on how to add correct headers to the new files.

4. Handle the rest that can't be modified via .reuse/dep5 file.  The
   binary (or otherwise unmodifiable) files could have license places
   next to them in <foo>.license file, but this would lead to cluttered
   repository and most of the files handled in the .reuse/dep5 file are
   system test files.
2022-01-11 09:05:02 +01:00
Mark Andrews f6bfc685aa Add check-names for svbc (https) server name examples 2021-08-18 13:49:48 +10:00
Mark Andrews 36f34a3e79 Parse and print HTTPS and SVCB records 2021-08-18 13:49:48 +10:00
Matthijs MekkingandEvan Hunt 6b79db1fdd Add test for allowing update CDS/CDNSKEY
Add tests to the nsupdate system test to make sure that CDS and/or
CDNSKEY that match an algorithm in the DNSKEY RRset are allowed. Also
add tests that updates are rejected if the algorithm does not match.

Remove the now redundant test cases from the dnssec system test.

Update the checkzone system test: Change the algorithm of the CDS and
CDNSKEY records so that the zone is still rejected.
2021-07-14 12:10:11 -07:00
Matthijs Mekking f211c7c2a1 Allow CDS/CDNSKEY DELETE records in unsigned zone
While not useful, having a CDS/CDNSKEY DELETE record in an unsigned
zone is not an error and "named-checkzone" should not complain.
2021-03-22 10:25:30 +01:00
Mark AndrewsandMatthijs Mekking a3b2b86e7f Check that A record is accepted with _spf label present 2021-02-03 16:23:20 +01:00
Mark AndrewsandOndřej Surý 35a58d30c9 Reject primary zones with an DS record at the zone apex.
DS records only belong at delegation points and if present
at the zone apex are invariably the result of administrative
errors.  Additionally they can't be queried for with modern
resolvers as the parent servers will be queried.
2020-06-04 16:00:33 +02:00
Diego Fronza a3453c257b Added system test
Added a system test which ensures that named-checkzone works when
taking input data from stdin.
2020-02-20 11:19:13 -03:00
Mark Andrews 30610eb9a5 add good and bad CDS / CDNSKEY test zones 2019-08-28 15:46:41 +10:00
Mark Andrews 5e8b772ad1 Ensure base64/base32/hex fields in DNS records that should be non-empty are. 2019-01-09 18:04:21 +11:00
Ondřej Surý 55a10b7acd Remove $Id markers, Principal Author and Reviewed tags from the full source tree 2018-05-11 13:17:46 +02:00
Ondřej Surý 843d389661 Update license headers to not include years in copyright in all applicable files 2018-02-23 10:12:02 +01:00
Tinderbox User 3fda67b596 update copyright notice / whitespace 2018-01-22 23:46:02 +00:00
Mukund Sivaraman 8a4ce20172 Don't permit loading meta RR types such as TKEY from master files (#47009) 2018-01-22 14:26:04 +05:30
Tinderbox User 22eb446339 update copyright notice / whitespace 2017-08-17 23:46:21 +00:00
Mark Andrews 615b961e02 4682. [bug] Don't report errors on records below a DNAME.
[RT #44880]
2017-08-17 15:49:59 +10:00
Tinderbox User 3b443e87a0 update copyright notice / whitespace 2017-04-20 23:45:39 +00:00
Mark Andrews 600b027731 4587. [bug] named-checkzone failed to handle occulted data below
DNAMEs correctly. [RT #44877]
2017-04-20 13:28:48 +10:00
Mark Andrews 0c27b3fe77 4401. [misc] Change LICENSE to MPL 2.0. 2016-06-27 14:56:38 +10:00
Tinderbox User 262bebd081 update copyright notice / whitespace 2016-05-27 23:45:23 +00:00
Mark Andrews 9268297baa 4379. [bug] An INSIST could be triggered if a zone contains
RRSIG records with expiry fields that loop
                        using serial number arithmetic. [RT #40571]
2016-05-27 15:24:30 +10:00
Mark Andrews 0f2ecf4b5c 4207. [bug] Handle class mismatches with raw zone files.
[RT #40746]
2015-09-16 10:43:22 +10:00
Tinderbox User 0d5b7ed79d update copyright notice / whitespace 2015-08-25 23:45:27 +00:00
Mark Andrews 5855fd79e3 4191. [protocol] Accept DNS-SD non LDH PTR records in reverse zones
as per RFC 6763. [RT #37889]
2015-08-25 14:46:06 +10:00
Mark Andrews dc3912f3ca 4190. [protocol] Accept Active Diretory gc._msdcs.<forest> name as
valid with check-names.  <forest> still needs to be
                        LDH. [RT #40399]
2015-08-22 15:27:33 +10:00
Mukund Sivaraman 984d2bb9e5 Fix assertion failure in parsing UNSPEC(103) RR from text (#40274) 2015-08-14 13:30:52 +05:30
Mukund Sivaraman 474921d733 Fix assertion failure in parsing NSAP records from text 2015-08-14 13:11:26 +05:30
Tinderbox User 6e61135f10 update copyright notice / whitespace 2015-03-27 23:45:21 +00:00
Mukund Sivaraman f9f81abff0 Fix a crash while parsing malformed CAA RRs in presentation format (#39003) 2015-03-27 10:32:03 +05:30
Mark Andrews b0c18fffd3 4028. [bug] $GENERATE with a zero step was not being caught as a
error.  A $GENERATE with a / but no step was not being
                        caught as a error. [RT #38262]
2015-01-06 11:31:34 +11:00
Tinderbox User a3d2295829 update copyright notice / whitespace 2014-12-02 23:45:23 +00:00
Mark Andrews 6444de08d1 4014. [bug] When including a master file origin_changed was
not being properly set leading to a potentially
                        spurious 'inherited owner' warning. [RT #37919]
2014-12-03 09:42:30 +11:00
Mark Andrews c81d56c03e 3971. [bug] Reduce the cascasding failures due to a bad $TTL line
in named-checkconf / named-checkzone. [RT #37138]
2014-10-05 08:29:34 +11:00
Mark Andrews 36e5ac0033 3819. [bug] NSEC3 hashes need to be able to be entered and
displayed without padding.  This is not a issue for
                        currently defined algorithms but may be for future
                        hash algorithms. [RT #27925]
2014-04-24 18:58:03 +10:00
Evan Hunt 7b46a4aa41 [master] fix negative numbers in $GENERATE
3780.	[bug]		$GENERATE handled negative numbers incorrectly.
			[RT #25528]
2014-03-10 11:55:32 -07:00
Mark Andrews 26bb3b7a67 3559. [func] Check that both forms of Sender Policy Framework
records exist or do not exist. [RT #33355]
2013-04-30 13:49:41 +10:00
Evan Hunt 4bf686cf5d [master] zone parsing broken with embedded null
3534.	[bug]		Extra text after an embedded NULL was ignored when
			parsing zone files. [RT #32699]
2013-03-21 19:30:10 -07:00
Tinderbox User 5c6b95ba1b update copyright notice 2013-01-10 23:46:00 +00:00