Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
883475d92f | ||
|
|
3265b85f0d |
@@ -96,7 +96,6 @@ doc/man/pkcs11-tokens.8in
|
||||
/GPATH
|
||||
/GRTAGS
|
||||
/GTAGS
|
||||
TAGS
|
||||
# Emacs specific files
|
||||
\.dir-locals-2.el
|
||||
/emacs.desktop
|
||||
|
||||
+411
-233
File diff suppressed because it is too large
Load Diff
+11
-12
@@ -11,7 +11,7 @@ See the COPYRIGHT file distributed with this work for additional
|
||||
information regarding copyright ownership.
|
||||
-->
|
||||
## BIND 9 Source Access and Contributor Guidelines
|
||||
*Nov 26, 2024*
|
||||
*May 28, 2020*
|
||||
|
||||
### Contents
|
||||
|
||||
@@ -72,13 +72,13 @@ To clone the repository, use:
|
||||
> $ git clone https://gitlab.isc.org/isc-projects/bind9.git
|
||||
|
||||
Release branch names are of the form `bind-9.X`, where X represents the second
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.20
|
||||
number in the BIND 9 version number. So, to check out the BIND 9.18
|
||||
branch, use:
|
||||
|
||||
> $ git checkout bind-9.20
|
||||
> $ git checkout bind-9.18
|
||||
|
||||
Whenever a branch is ready for publication, a tag is placed of the
|
||||
form `v9.X.Y`. The 9.20.0 release, for instance, is tagged as `v9.20.0`.
|
||||
form `v9.X.Y`. The 9.18.0 release, for instance, is tagged as `v9.18.0`.
|
||||
|
||||
The branch in which the next major release is being developed is called
|
||||
`main`.
|
||||
@@ -121,9 +121,8 @@ patch will be applied.
|
||||
#### <a name="bind"></a>BIND code
|
||||
|
||||
Patches for BIND may be submitted directly via merge requests in
|
||||
[ISC's GitLab](https://gitlab.isc.org/isc-projects/bind9/) source repository for
|
||||
BIND. Please contact ISC and provide your GitLab username in order to be allowed
|
||||
to fork the project and submit merge requests.
|
||||
[ISC's GitLab](https://gitlab.isc.org/isc-projects/bind9/) source
|
||||
repository for BIND.
|
||||
|
||||
Patches can also be submitted as diffs against a specific version of
|
||||
BIND -- preferably the current top of the `main` branch. Diffs may
|
||||
@@ -145,8 +144,8 @@ we're busy with other work, it may take us a long time to get to it.
|
||||
To ensure your patch is acted on as promptly as possible, please:
|
||||
|
||||
* Try to adhere to the [BIND 9 coding style](doc/dev/style.md).
|
||||
* Run unit and system tests to ensure your change hasn't caused any
|
||||
functional regressions (these can be checked in the CI pipeline).
|
||||
* Run `make check` to ensure your change hasn't caused any
|
||||
functional regressions.
|
||||
* Document your work, both in the patch itself and in the
|
||||
accompanying email.
|
||||
* In patches that make non-trivial functional changes, include system
|
||||
@@ -157,12 +156,12 @@ To ensure your patch is acted on as promptly as possible, please:
|
||||
##### Changes to `configure`
|
||||
|
||||
If you need to make changes to `configure`, you should not edit it
|
||||
directly; instead, edit `configure.ac`, then run `autoconf`. Similarly,
|
||||
instead of editing `config.h.in` directly, edit `configure.ac` and run
|
||||
directly; instead, edit `configure.in`, then run `autoconf`. Similarly,
|
||||
instead of editing `config.h.in` directly, edit `configure.in` and run
|
||||
`autoheader`.
|
||||
|
||||
When submitting a patch as a diff, it's fine to omit the `configure`
|
||||
diffs to save space. Just send the `configure.ac` diffs and we'll
|
||||
diffs to save space. Just send the `configure.in` diffs and we'll
|
||||
generate the new `configure` during the review process.
|
||||
|
||||
##### Documentation
|
||||
|
||||
+15
-43
@@ -88,8 +88,7 @@
|
||||
|
||||
#define MAXNAME (DNS_NAME_MAXTEXT + 1)
|
||||
|
||||
#define MAX_QUERIES 50
|
||||
#define MAX_TOTAL 200
|
||||
#define MAX_QUERIES 32
|
||||
#define MAX_RESTARTS 11
|
||||
|
||||
/* Variables used internally by delv. */
|
||||
@@ -135,7 +134,6 @@ static bool showcomments = true, showdnssec = true, showtrust = true,
|
||||
yaml = false, fulltrace = false;
|
||||
|
||||
static uint32_t maxqueries = MAX_QUERIES;
|
||||
static uint32_t maxtotal = MAX_TOTAL;
|
||||
static uint32_t restarts = MAX_RESTARTS;
|
||||
|
||||
static bool resolve_trace = false, validator_trace = false,
|
||||
@@ -1199,46 +1197,22 @@ plus_option(char *option) {
|
||||
break;
|
||||
case 'm':
|
||||
switch (cmd[1]) {
|
||||
case 'a':
|
||||
switch (cmd[3]) {
|
||||
case 'q': /* maxqueries */
|
||||
FULLCHECK("maxqueries");
|
||||
if (value == NULL) {
|
||||
goto need_value;
|
||||
}
|
||||
if (!state) {
|
||||
goto invalid_option;
|
||||
}
|
||||
result = parse_uint(&maxqueries, value,
|
||||
UINT_MAX, "maxqueries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("Couldn't parse maxqueries");
|
||||
}
|
||||
if (maxqueries == 0) {
|
||||
fatal("maxqueries must be nonzero");
|
||||
}
|
||||
break;
|
||||
case 't': /* maxtotalqueries */
|
||||
FULLCHECK("maxtotalqueries");
|
||||
if (value == NULL) {
|
||||
goto need_value;
|
||||
}
|
||||
if (!state) {
|
||||
goto invalid_option;
|
||||
}
|
||||
result = parse_uint(&maxtotal, value, UINT_MAX,
|
||||
"maxtotalqueries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("Couldn't parse maxtotalqueries");
|
||||
}
|
||||
if (maxtotal == 0) {
|
||||
fatal("maxtotalqueries must be "
|
||||
"nonzero");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
case 'a': /* maxqueries */
|
||||
FULLCHECK("maxqueries");
|
||||
if (value == NULL) {
|
||||
goto need_value;
|
||||
}
|
||||
if (!state) {
|
||||
goto invalid_option;
|
||||
}
|
||||
result = parse_uint(&maxqueries, value, UINT_MAX,
|
||||
"maxqueries");
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
fatal("Couldn't parse maxqueries");
|
||||
}
|
||||
if (maxqueries == 0) {
|
||||
fatal("maxqueries must be nonzero");
|
||||
}
|
||||
break;
|
||||
case 't': /* mtrace */
|
||||
FULLCHECK("mtrace");
|
||||
@@ -1961,7 +1935,6 @@ run_resolve(void *arg) {
|
||||
CHECK(dns_client_create(mctx, loopmgr, netmgr, 0, tlsctx_client_cache,
|
||||
&client, srcaddr4, srcaddr6));
|
||||
dns_client_setmaxrestarts(client, restarts);
|
||||
dns_client_setmaxqueries(client, maxtotal);
|
||||
|
||||
/* Set the nameserver */
|
||||
if (server != NULL) {
|
||||
@@ -2227,7 +2200,6 @@ run_server(void *arg) {
|
||||
dns_cache_detach(&cache);
|
||||
dns_view_setdstport(view, destport);
|
||||
dns_view_setmaxrestarts(view, restarts);
|
||||
dns_view_setmaxqueries(view, maxtotal);
|
||||
|
||||
CHECK(dns_rootns_create(mctx, dns_rdataclass_in, hintfile, &roothints));
|
||||
dns_view_sethints(view, roothints);
|
||||
|
||||
+1
-6
@@ -347,12 +347,7 @@ assign values to options like the timeout interval. They have the form
|
||||
.. option:: +maxqueries
|
||||
|
||||
This option specifies the maximum number of queries to send to resolve
|
||||
a name before giving up. The default is 50.
|
||||
|
||||
.. option:: +maxtotalqueries
|
||||
|
||||
This option specifies the maximum number of queries to send to resolve
|
||||
a client request before giving up. The default is 200.
|
||||
a name before giving up. The default is 32.
|
||||
|
||||
.. option:: +trust, +notrust
|
||||
|
||||
|
||||
+8
-14
@@ -60,7 +60,6 @@
|
||||
#include <isc/xml.h>
|
||||
|
||||
#include <dns/byaddr.h>
|
||||
#include <dns/ede.h>
|
||||
#include <dns/fixedname.h>
|
||||
#include <dns/log.h>
|
||||
#include <dns/message.h>
|
||||
@@ -2786,12 +2785,6 @@ _cancel_lookup(dig_lookup_t *lookup, const char *file, unsigned int line) {
|
||||
check_if_done();
|
||||
}
|
||||
|
||||
static inline const char *
|
||||
get_tls_sni_hostname(dig_query_t *query) {
|
||||
return query->lookup->tls_hostname_set ? query->lookup->tls_hostname
|
||||
: query->userarg;
|
||||
}
|
||||
|
||||
static isc_tlsctx_t *
|
||||
get_create_tls_context(dig_query_t *query, const bool is_https,
|
||||
isc_tlsctx_client_session_cache_t **psess_cache) {
|
||||
@@ -2838,7 +2831,10 @@ get_create_tls_context(dig_query_t *query, const bool is_https,
|
||||
}
|
||||
|
||||
if (store != NULL) {
|
||||
const char *hostname = get_tls_sni_hostname(query);
|
||||
const char *hostname =
|
||||
query->lookup->tls_hostname_set
|
||||
? query->lookup->tls_hostname
|
||||
: query->userarg;
|
||||
/*
|
||||
* According to RFC 8310, Subject field MUST NOT be
|
||||
* inspected when verifying hostname for DoT. Only
|
||||
@@ -3052,8 +3048,7 @@ start_tcp(dig_query_t *query) {
|
||||
}
|
||||
isc_nm_streamdnsconnect(netmgr, &localaddr, &query->sockaddr,
|
||||
tcp_connected, connectquery,
|
||||
local_timeout, tlsctx,
|
||||
get_tls_sni_hostname(query), sess_cache,
|
||||
local_timeout, tlsctx, sess_cache,
|
||||
proxy_type, ppi);
|
||||
#if HAVE_LIBNGHTTP2
|
||||
} else if (query->lookup->https_mode) {
|
||||
@@ -3073,15 +3068,14 @@ start_tcp(dig_query_t *query) {
|
||||
|
||||
isc_nm_httpconnect(netmgr, &localaddr, &query->sockaddr, uri,
|
||||
!query->lookup->https_get, tcp_connected,
|
||||
connectquery, tlsctx,
|
||||
get_tls_sni_hostname(query), sess_cache,
|
||||
connectquery, tlsctx, sess_cache,
|
||||
local_timeout, proxy_type, ppi);
|
||||
#endif
|
||||
} else {
|
||||
isc_nm_streamdnsconnect(netmgr, &localaddr, &query->sockaddr,
|
||||
tcp_connected, connectquery,
|
||||
local_timeout, NULL, NULL, NULL,
|
||||
proxy_type, ppi);
|
||||
local_timeout, NULL, NULL, proxy_type,
|
||||
ppi);
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
@@ -80,7 +80,6 @@ struct rtype rtypes[] = { { 1, "has address" },
|
||||
{ 25, "has key" },
|
||||
{ 28, "has IPv6 address" },
|
||||
{ 29, "location" },
|
||||
{ dns_rdatatype_https, "has HTTP service bindings" },
|
||||
{ 0, NULL } };
|
||||
|
||||
static char *
|
||||
@@ -458,16 +457,6 @@ printmessage(dig_query_t *query, const isc_buffer_t *msgbuf, dns_message_t *msg,
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
}
|
||||
lookup = clone_lookup(query->lookup, false);
|
||||
if (lookup != NULL) {
|
||||
strlcpy(lookup->textname, namestr,
|
||||
sizeof(lookup->textname));
|
||||
lookup->rdtype = dns_rdatatype_https;
|
||||
lookup->rdtypeset = true;
|
||||
lookup->origin = NULL;
|
||||
lookup->retries = tries;
|
||||
ISC_LIST_APPEND(lookup_list, lookup, link);
|
||||
}
|
||||
}
|
||||
|
||||
if (!short_form) {
|
||||
|
||||
+1
-1
@@ -122,7 +122,7 @@ Options
|
||||
CNAME, NS, SOA, TXT, DNSKEY, AXFR, etc.
|
||||
|
||||
When no query type is specified, :program:`host` automatically selects an
|
||||
appropriate query type. By default, it looks for A, AAAA, MX, and HTTPS
|
||||
appropriate query type. By default, it looks for A, AAAA, and MX
|
||||
records. If the :option:`-C` option is given, queries are made for SOA
|
||||
records. If ``name`` is a dotted-decimal IPv4 address or
|
||||
colon-delimited IPv6 address, :program:`host` queries for PTR records.
|
||||
|
||||
@@ -194,7 +194,7 @@ usage(void) {
|
||||
"(default: AUTHCONF)\n");
|
||||
fprintf(stderr, " -h: print usage and exit\n");
|
||||
fprintf(stderr, " -m <memory debugging mode>:\n");
|
||||
fprintf(stderr, " usage | trace | record\n");
|
||||
fprintf(stderr, " usage | trace | record | size | mctx\n");
|
||||
fprintf(stderr, " -v <level>: set verbosity level (0 - 10)\n");
|
||||
fprintf(stderr, " -V: print version information\n");
|
||||
fprintf(stderr, "Timing options:\n");
|
||||
|
||||
@@ -420,9 +420,10 @@ keythatsigned(dns_rdata_rrsig_t *rrsig) {
|
||||
dns_dnsseckey_create(mctx, &privkey, &key);
|
||||
} else {
|
||||
dns_dnsseckey_create(mctx, &pubkey, &key);
|
||||
key->pubkey = true;
|
||||
}
|
||||
|
||||
key->force_publish = false;
|
||||
key->force_sign = false;
|
||||
key->index = keycount++;
|
||||
ISC_LIST_APPEND(keylist, key, link);
|
||||
|
||||
@@ -540,7 +541,7 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
}
|
||||
|
||||
while (result == ISC_R_SUCCESS) {
|
||||
bool expired, refresh, future, offline;
|
||||
bool expired, future;
|
||||
bool keep = false, resign = false;
|
||||
|
||||
dns_rdataset_current(&sigset, &sigrdata);
|
||||
@@ -551,10 +552,8 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
future = isc_serial_lt(now, rrsig.timesigned);
|
||||
|
||||
key = keythatsigned(&rrsig);
|
||||
offline = (key != NULL) ? key->pubkey : false;
|
||||
sig_format(&rrsig, sigstr, sizeof(sigstr));
|
||||
expired = isc_serial_gt(now, rrsig.timeexpire);
|
||||
refresh = isc_serial_gt(now + cycle, rrsig.timeexpire);
|
||||
expired = isc_serial_gt(now + cycle, rrsig.timeexpire);
|
||||
|
||||
if (isc_serial_gt(rrsig.timesigned, rrsig.timeexpire)) {
|
||||
/* rrsig is dropped and not replaced */
|
||||
@@ -583,21 +582,15 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
} else if (issigningkey(key)) {
|
||||
wassignedby[key->index] = true;
|
||||
|
||||
if (!refresh && rrsig.originalttl == set->ttl &&
|
||||
if (!expired && rrsig.originalttl == set->ttl &&
|
||||
setverifies(name, set, key->key, &sigrdata))
|
||||
{
|
||||
vbprintf(2, "\trrsig by %s retained\n", sigstr);
|
||||
keep = true;
|
||||
} else if (offline) {
|
||||
vbprintf(2,
|
||||
"\trrsig by %s retained - private key "
|
||||
"missing\n",
|
||||
sigstr);
|
||||
keep = true;
|
||||
} else {
|
||||
vbprintf(2, "\trrsig by %s dropped - %s\n",
|
||||
sigstr,
|
||||
refresh ? "refresh"
|
||||
expired ? "expired"
|
||||
: rrsig.originalttl != set->ttl
|
||||
? "ttl change"
|
||||
: "failed to "
|
||||
@@ -610,32 +603,25 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
} else if (iszonekey(key)) {
|
||||
wassignedby[key->index] = true;
|
||||
|
||||
if (!refresh && rrsig.originalttl == set->ttl &&
|
||||
if (!expired && rrsig.originalttl == set->ttl &&
|
||||
setverifies(name, set, key->key, &sigrdata))
|
||||
{
|
||||
vbprintf(2, "\trrsig by %s retained\n", sigstr);
|
||||
keep = true;
|
||||
} else if (offline) {
|
||||
vbprintf(2,
|
||||
"\trrsig by %s retained - private key "
|
||||
"missing\n",
|
||||
sigstr);
|
||||
keep = true;
|
||||
} else {
|
||||
vbprintf(2, "\trrsig by %s dropped - %s\n",
|
||||
sigstr,
|
||||
refresh ? "refresh"
|
||||
expired ? "expired"
|
||||
: rrsig.originalttl != set->ttl
|
||||
? "ttl change"
|
||||
: "failed to "
|
||||
"verify");
|
||||
}
|
||||
} else if (!refresh) {
|
||||
} else if (!expired) {
|
||||
vbprintf(2, "\trrsig by %s retained\n", sigstr);
|
||||
keep = true;
|
||||
} else {
|
||||
vbprintf(2, "\trrsig by %s %s\n", sigstr,
|
||||
expired ? "expired" : "needs refresh");
|
||||
vbprintf(2, "\trrsig by %s expired\n", sigstr);
|
||||
}
|
||||
|
||||
if (keep) {
|
||||
@@ -692,10 +678,6 @@ signset(dns_diff_t *del, dns_diff_t *add, dns_dbnode_t *node, dns_name_t *name,
|
||||
for (key = ISC_LIST_HEAD(keylist); key != NULL;
|
||||
key = ISC_LIST_NEXT(key, link))
|
||||
{
|
||||
if (REVOKE(key->key) && set->type != dns_rdatatype_dnskey) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (nowsignedby[key->index]) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -183,11 +183,6 @@ Options
|
||||
days. Therefore, if any existing RRSIG records are due to expire in
|
||||
less than 7.5 days, they are replaced.
|
||||
|
||||
Note that the calculation of cycle interval is based upon the validity
|
||||
period of the replacement signatures that would be generated by
|
||||
``dnssec-signzone``, not on the valid lifetimes of the input RRSIGs being
|
||||
considered for pre-expiry replacement.
|
||||
|
||||
.. option:: -I input-format
|
||||
|
||||
This option sets the format of the input zone file. Possible formats are
|
||||
@@ -283,7 +278,7 @@ Options
|
||||
with cached copies of the old DNSKEY RRset. The :option:`-Q` option forces
|
||||
:program:`dnssec-signzone` to remove signatures from keys that are no longer
|
||||
active. This enables ZSK rollover using the procedure described in
|
||||
:rfc:`6781#section-4.1.1.1` ("Pre-Publish Zone Signing Key Rollover").
|
||||
:rfc:`6781#4.1.1.1` ("Pre-Publish Key Rollover").
|
||||
|
||||
.. option:: -q
|
||||
|
||||
@@ -300,7 +295,7 @@ Options
|
||||
This option is similar to :option:`-Q`, except it forces
|
||||
:program:`dnssec-signzone` to remove signatures from keys that are no longer
|
||||
published. This enables ZSK rollover using the procedure described in
|
||||
:rfc:`6781#section-4.1.1.2` ("Double Signature Zone Signing Key
|
||||
:rfc:`6781#4.1.1.2` ("Double Signature Zone Signing Key
|
||||
Rollover").
|
||||
|
||||
.. option:: -S
|
||||
|
||||
@@ -489,7 +489,9 @@ key_collision(dst_key_t *dstkey, dns_name_t *name, const char *dir,
|
||||
dns_secalg_t alg;
|
||||
isc_stdtime_t now = isc_stdtime_now();
|
||||
|
||||
SET_IF_NOT_NULL(exact, false);
|
||||
if (exact != NULL) {
|
||||
*exact = false;
|
||||
}
|
||||
|
||||
id = dst_key_id(dstkey);
|
||||
rid = dst_key_rid(dstkey);
|
||||
|
||||
@@ -931,7 +931,6 @@
|
||||
<th>Messages Received</th>
|
||||
<th>Records Received</th>
|
||||
<th>Bytes Received</th>
|
||||
<th>Transfer Rate (B/s)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -960,7 +959,6 @@
|
||||
<td><xsl:value-of select="nmsg"/></td>
|
||||
<td><xsl:value-of select="nrecs"/></td>
|
||||
<td><xsl:value-of select="nbytes"/></td>
|
||||
<td><xsl:value-of select="rate"/></td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</tbody>
|
||||
|
||||
+33
-25
@@ -112,8 +112,6 @@ options {\n\
|
||||
session-keyname local-ddns;\n\
|
||||
startup-notify-rate 20;\n\
|
||||
sig0checks-quota 1;\n\
|
||||
sig0key-checks-limit 16;\n\
|
||||
sig0message-checks-limit 2;\n\
|
||||
statistics-file \"named.stats\";\n\
|
||||
tcp-advertised-timeout 300;\n\
|
||||
tcp-clients 150;\n\
|
||||
@@ -174,8 +172,7 @@ options {\n\
|
||||
max-clients-per-query 100;\n\
|
||||
max-ncache-ttl 10800; /* 3 hours */\n\
|
||||
max-recursion-depth 7;\n\
|
||||
max-recursion-queries 50;\n\
|
||||
max-query-count 200;\n\
|
||||
max-recursion-queries 32;\n\
|
||||
max-query-restarts 11;\n\
|
||||
max-stale-ttl 86400; /* 1 day */\n\
|
||||
message-compression yes;\n\
|
||||
@@ -239,7 +236,6 @@ options {\n\
|
||||
max-transfer-time-out 120;\n\
|
||||
min-refresh-time 300;\n\
|
||||
min-retry-time 500;\n\
|
||||
min-transfer-rate-in 10240 5;\n\
|
||||
multi-master no;\n\
|
||||
notify yes;\n\
|
||||
notify-delay 5;\n\
|
||||
@@ -338,7 +334,7 @@ dnssec-policy \"insecure\" {\n\
|
||||
|
||||
"# END TRUST ANCHORS\n\
|
||||
\n\
|
||||
remote-servers " DEFAULT_IANA_ROOT_ZONE_PRIMARIES " {\n\
|
||||
primaries " DEFAULT_IANA_ROOT_ZONE_PRIMARIES " {\n\
|
||||
2801:1b8:10::b; # b.root-servers.net\n\
|
||||
2001:500:2::c; # c.root-servers.net\n\
|
||||
2001:500:2f::f; # f.root-servers.net\n\
|
||||
@@ -510,9 +506,9 @@ named_config_getzonetype(const cfg_obj_t *zonetypeobj) {
|
||||
return ztype;
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
named_config_getremotesdef(const cfg_obj_t *cctx, const char *list,
|
||||
const char *name, const cfg_obj_t **ret) {
|
||||
static isc_result_t
|
||||
getremotesdef(const cfg_obj_t *cctx, const char *list, const char *name,
|
||||
const cfg_obj_t **ret) {
|
||||
isc_result_t result;
|
||||
const cfg_obj_t *obj = NULL;
|
||||
const cfg_listelt_t *elt;
|
||||
@@ -539,6 +535,23 @@ named_config_getremotesdef(const cfg_obj_t *cctx, const char *list,
|
||||
return ISC_R_NOTFOUND;
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
named_config_getremotesdef(const cfg_obj_t *cctx, const char *list,
|
||||
const char *name, const cfg_obj_t **ret) {
|
||||
isc_result_t result;
|
||||
|
||||
if (strcmp(list, "parental-agents") == 0) {
|
||||
return getremotesdef(cctx, list, name, ret);
|
||||
} else if (strcmp(list, "primaries") == 0) {
|
||||
result = getremotesdef(cctx, list, name, ret);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
result = getremotesdef(cctx, "masters", name, ret);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
return ISC_R_NOTFOUND;
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
named_config_getname(isc_mem_t *mctx, const cfg_obj_t *obj,
|
||||
dns_name_t **namep) {
|
||||
@@ -587,12 +600,10 @@ named_config_getname(isc_mem_t *mctx, const cfg_obj_t *obj,
|
||||
oldlen = newlen; \
|
||||
}
|
||||
|
||||
static const char *remotesnames[4] = { "remote-servers", "parental-agents",
|
||||
"primaries", "masters" };
|
||||
|
||||
isc_result_t
|
||||
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
||||
isc_mem_t *mctx, dns_ipkeylist_t *ipkl) {
|
||||
named_config_getipandkeylist(const cfg_obj_t *config, const char *listtype,
|
||||
const cfg_obj_t *list, isc_mem_t *mctx,
|
||||
dns_ipkeylist_t *ipkl) {
|
||||
uint32_t addrcount = 0, srccount = 0;
|
||||
uint32_t keycount = 0, tlscount = 0;
|
||||
uint32_t listcount = 0, l = 0, i = 0;
|
||||
@@ -675,6 +686,8 @@ newlist:
|
||||
isc_sockaddr_any6(&src6);
|
||||
}
|
||||
|
||||
result = ISC_R_NOMEMORY;
|
||||
|
||||
element = cfg_list_first(addrlist);
|
||||
resume:
|
||||
for (; element != NULL; element = cfg_list_next(element)) {
|
||||
@@ -705,22 +718,17 @@ resume:
|
||||
continue;
|
||||
}
|
||||
list = NULL;
|
||||
tresult = ISC_R_NOTFOUND;
|
||||
for (size_t n = 0; n < ARRAY_SIZE(remotesnames); n++) {
|
||||
tresult = named_config_getremotesdef(
|
||||
config, remotesnames[n], listname,
|
||||
&list);
|
||||
if (tresult == ISC_R_SUCCESS) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
tresult = named_config_getremotesdef(config, listtype,
|
||||
listname, &list);
|
||||
if (tresult == ISC_R_NOTFOUND) {
|
||||
cfg_obj_log(addr, named_g_lctx, ISC_LOG_ERROR,
|
||||
"remote-servers \"%s\" not found",
|
||||
"%s \"%s\" not found", listtype,
|
||||
listname);
|
||||
|
||||
result = tresult;
|
||||
goto cleanup;
|
||||
}
|
||||
if (tresult != ISC_R_SUCCESS) {
|
||||
result = tresult;
|
||||
goto cleanup;
|
||||
}
|
||||
lists[l++].name = listname;
|
||||
|
||||
@@ -229,8 +229,6 @@ named_control_docommand(isccc_sexpr_t *message, bool readonly,
|
||||
command_compare(command, NAMED_COMMAND_SIGN))
|
||||
{
|
||||
result = named_server_rekey(named_g_server, lex, text);
|
||||
} else if (command_compare(command, NAMED_COMMAND_MEMPROF)) {
|
||||
result = named_server_togglememprof(lex);
|
||||
} else if (command_compare(command, NAMED_COMMAND_MKEYS)) {
|
||||
result = named_server_mkeys(named_g_server, lex, text);
|
||||
} else if (command_compare(command, NAMED_COMMAND_NOTIFY)) {
|
||||
|
||||
@@ -57,8 +57,9 @@ named_config_getremotesdef(const cfg_obj_t *cctx, const char *list,
|
||||
const char *name, const cfg_obj_t **ret);
|
||||
|
||||
isc_result_t
|
||||
named_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
|
||||
isc_mem_t *mctx, dns_ipkeylist_t *ipkl);
|
||||
named_config_getipandkeylist(const cfg_obj_t *config, const char *listtype,
|
||||
const cfg_obj_t *list, isc_mem_t *mctx,
|
||||
dns_ipkeylist_t *ipkl);
|
||||
|
||||
isc_result_t
|
||||
named_config_getport(const cfg_obj_t *config, const char *type,
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
#define NAMED_COMMAND_FREEZE "freeze"
|
||||
#define NAMED_COMMAND_HALT "halt"
|
||||
#define NAMED_COMMAND_LOADKEYS "loadkeys"
|
||||
#define NAMED_COMMAND_MEMPROF "memprof"
|
||||
#define NAMED_COMMAND_MKEYS "managed-keys"
|
||||
#define NAMED_COMMAND_MODZONE "modzone"
|
||||
#define NAMED_COMMAND_NOTIFY "notify"
|
||||
|
||||
@@ -391,15 +391,3 @@ named_server_fetchlimit(named_server_t *server, isc_lex_t *lex,
|
||||
*/
|
||||
isc_result_t
|
||||
named_server_skr(named_server_t *server, isc_lex_t *lex, isc_buffer_t **text);
|
||||
|
||||
/*%
|
||||
* Toggle memory profiling if supported.
|
||||
*/
|
||||
isc_result_t
|
||||
named_server_togglememprof(isc_lex_t *lex);
|
||||
|
||||
/*%
|
||||
* Get status of memory profiling.
|
||||
*/
|
||||
const char *
|
||||
named_server_getmemprof(void);
|
||||
|
||||
+1
-1
@@ -313,7 +313,7 @@ usage(void) {
|
||||
" [-S sockets] [-t chrootdir] [-u "
|
||||
"username] [-U listeners]\n"
|
||||
" [-m "
|
||||
"{usage|trace|record}]\n"
|
||||
"{usage|trace|record|size|mctx}]\n"
|
||||
" [-M fill|nofill]\n"
|
||||
"usage: named [-v|-V|-C]\n");
|
||||
}
|
||||
|
||||
+1
-1
@@ -117,7 +117,7 @@ Options
|
||||
.. option:: -m flag
|
||||
|
||||
This option turns on memory usage debugging flags. Possible flags are ``usage``,
|
||||
``trace`` and ``record``. These correspond to the
|
||||
``trace``, ``record``, ``size``, and ``mctx``. These correspond to the
|
||||
``ISC_MEM_DEBUGXXXX`` flags described in ``<isc/mem.h>``.
|
||||
|
||||
.. option:: -n #cpus
|
||||
|
||||
+94
-318
@@ -142,15 +142,6 @@
|
||||
#include <named/smf_globals.h>
|
||||
#endif /* ifdef HAVE_LIBSCF */
|
||||
|
||||
/* On DragonFly BSD the header does not provide jemalloc API */
|
||||
#if defined(HAVE_MALLOC_NP_H) && !defined(__DragonFly__)
|
||||
#include <malloc_np.h>
|
||||
#define JEMALLOC_API_SUPPORTED 1
|
||||
#elif defined(HAVE_JEMALLOC)
|
||||
#include <jemalloc/jemalloc.h>
|
||||
#define JEMALLOC_API_SUPPORTED 1
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LMDB
|
||||
#include <lmdb.h>
|
||||
#define configure_newzones configure_newzones_db
|
||||
@@ -262,6 +253,7 @@ struct dumpcontext {
|
||||
bool dumpcache;
|
||||
bool dumpzones;
|
||||
bool dumpadb;
|
||||
bool dumpbad;
|
||||
bool dumpexpired;
|
||||
bool dumpfail;
|
||||
FILE *fp;
|
||||
@@ -369,22 +361,6 @@ typedef struct {
|
||||
isc_result_t result;
|
||||
} ns_dzarg_t;
|
||||
|
||||
typedef enum {
|
||||
MEMPROF_UNSUPPORTED = 0x00,
|
||||
MEMPROF_INACTIVE = 0x01,
|
||||
MEMPROF_FAILING = 0x02,
|
||||
MEMPROF_OFF = 0x03,
|
||||
MEMPROF_ON = 0x04,
|
||||
} memprof_status;
|
||||
|
||||
static const char *memprof_status_text[] = {
|
||||
[MEMPROF_UNSUPPORTED] = "UNSUPPORTED",
|
||||
[MEMPROF_INACTIVE] = "INACTIVE",
|
||||
[MEMPROF_FAILING] = "FAILING",
|
||||
[MEMPROF_OFF] = "OFF",
|
||||
[MEMPROF_ON] = "ON",
|
||||
};
|
||||
|
||||
/*
|
||||
* These zones should not leak onto the Internet.
|
||||
*/
|
||||
@@ -1315,21 +1291,8 @@ get_view_querysource_dispatch(const cfg_obj_t **maps, int af,
|
||||
UNREACHABLE();
|
||||
}
|
||||
|
||||
if (cfg_obj_isvoid(obj)) {
|
||||
/*
|
||||
* We don't want to use this address family, let's
|
||||
* bail now. The dispatch object for this family will
|
||||
* be null then not used to run queries.
|
||||
*/
|
||||
return ISC_R_SUCCESS;
|
||||
} else {
|
||||
/*
|
||||
* obj _has_ to be sockaddr here, cfg_obj_assockaddr()
|
||||
* asserts this internally.
|
||||
*/
|
||||
sa = *(cfg_obj_assockaddr(obj));
|
||||
INSIST(isc_sockaddr_pf(&sa) == af);
|
||||
}
|
||||
sa = *(cfg_obj_assockaddr(obj));
|
||||
INSIST(isc_sockaddr_pf(&sa) == af);
|
||||
|
||||
/*
|
||||
* If we don't support this address family, we're done!
|
||||
@@ -1656,7 +1619,6 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
|
||||
(void)cfg_map_get(cpeer, "query-source-v6", &obj);
|
||||
}
|
||||
if (obj != NULL) {
|
||||
INSIST(cfg_obj_issockaddr(obj));
|
||||
result = dns_peer_setquerysource(peer, cfg_obj_assockaddr(obj));
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
goto cleanup;
|
||||
@@ -1857,7 +1819,9 @@ setquerystats(dns_zone_t *zone, isc_mem_t *mctx, dns_zonestat_level_t level) {
|
||||
static named_cache_t *
|
||||
cachelist_find(named_cachelist_t *cachelist, const char *cachename,
|
||||
dns_rdataclass_t rdclass) {
|
||||
for (named_cache_t *nsc = ISC_LIST_HEAD(*cachelist); nsc != NULL;
|
||||
named_cache_t *nsc;
|
||||
|
||||
for (nsc = ISC_LIST_HEAD(*cachelist); nsc != NULL;
|
||||
nsc = ISC_LIST_NEXT(nsc, link))
|
||||
{
|
||||
if (nsc->rdclass == rdclass &&
|
||||
@@ -1875,13 +1839,12 @@ cache_reusable(dns_view_t *originview, dns_view_t *view,
|
||||
bool new_zero_no_soattl) {
|
||||
if (originview->rdclass != view->rdclass ||
|
||||
originview->checknames != view->checknames ||
|
||||
dns_resolver_getzeronosoattl(originview->resolver) !=
|
||||
new_zero_no_soattl ||
|
||||
originview->acceptexpired != view->acceptexpired ||
|
||||
originview->enablevalidation != view->enablevalidation ||
|
||||
originview->maxcachettl != view->maxcachettl ||
|
||||
originview->maxncachettl != view->maxncachettl ||
|
||||
originview->resolver == NULL ||
|
||||
dns_resolver_getzeronosoattl(originview->resolver) !=
|
||||
new_zero_no_soattl)
|
||||
originview->maxncachettl != view->maxncachettl)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -3211,8 +3174,8 @@ configure_catz_zone(dns_view_t *view, dns_view_t *pview,
|
||||
obj = cfg_tuple_get(catz_obj, "default-primaries");
|
||||
}
|
||||
if (obj != NULL && cfg_obj_istuple(obj)) {
|
||||
result = named_config_getipandkeylist(config, obj, view->mctx,
|
||||
&opts->masters);
|
||||
result = named_config_getipandkeylist(
|
||||
config, "primaries", obj, view->mctx, &opts->masters);
|
||||
}
|
||||
|
||||
obj = cfg_tuple_get(catz_obj, "in-memory");
|
||||
@@ -4143,9 +4106,9 @@ static const char *const response_synonyms[] = { "response", NULL };
|
||||
static isc_result_t
|
||||
configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
cfg_obj_t *vconfig, named_cachelist_t *cachelist,
|
||||
named_cachelist_t *oldcachelist, dns_kasplist_t *kasplist,
|
||||
dns_keystorelist_t *keystores, const cfg_obj_t *bindkeys,
|
||||
isc_mem_t *mctx, cfg_aclconfctx_t *actx, bool need_hints) {
|
||||
dns_kasplist_t *kasplist, dns_keystorelist_t *keystores,
|
||||
const cfg_obj_t *bindkeys, isc_mem_t *mctx,
|
||||
cfg_aclconfctx_t *actx, bool need_hints) {
|
||||
const cfg_obj_t *maps[4];
|
||||
const cfg_obj_t *cfgmaps[3];
|
||||
const cfg_obj_t *optionmaps[3];
|
||||
@@ -4197,7 +4160,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
isc_stats_t *resstats = NULL;
|
||||
dns_stats_t *resquerystats = NULL;
|
||||
bool auto_root = false;
|
||||
named_cache_t *nsc = NULL;
|
||||
named_cache_t *nsc;
|
||||
bool zero_no_soattl;
|
||||
dns_acl_t *clients = NULL, *mapped = NULL, *excluded = NULL;
|
||||
unsigned int query_timeout;
|
||||
@@ -4206,7 +4169,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
dns_ntatable_t *ntatable = NULL;
|
||||
const char *qminmode = NULL;
|
||||
dns_adb_t *adb = NULL;
|
||||
bool oldcache = false;
|
||||
|
||||
REQUIRE(DNS_VIEW_VALID(view));
|
||||
|
||||
@@ -4760,96 +4722,83 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
} else {
|
||||
cachename = view->name;
|
||||
}
|
||||
|
||||
cache = NULL;
|
||||
nsc = cachelist_find(cachelist, cachename, view->rdclass);
|
||||
if (result == ISC_R_SUCCESS && nsc == NULL) {
|
||||
/*
|
||||
* If we're using 'attach-cache' but didn't find the
|
||||
* specified cache in the cache list already, check
|
||||
* the old list.
|
||||
*/
|
||||
nsc = cachelist_find(oldcachelist, cachename, view->rdclass);
|
||||
oldcache = true;
|
||||
}
|
||||
if (nsc != NULL) {
|
||||
if (!cache_sharable(nsc->primaryview, view, zero_no_soattl,
|
||||
max_cache_size, max_stale_ttl,
|
||||
stale_refresh_time))
|
||||
{
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_WARNING,
|
||||
"view %s can't use existing cache %s due "
|
||||
"to configuration parameter mismatch",
|
||||
view->name,
|
||||
dns_cache_getname(nsc->cache));
|
||||
nsc = NULL;
|
||||
} else {
|
||||
if (oldcache) {
|
||||
ISC_LIST_UNLINK(*oldcachelist, nsc, link);
|
||||
ISC_LIST_APPEND(*cachelist, nsc, link);
|
||||
nsc->primaryview = view;
|
||||
}
|
||||
dns_cache_attach(nsc->cache, &cache);
|
||||
shared_cache = true;
|
||||
}
|
||||
} else if (strcmp(cachename, view->name) == 0) {
|
||||
result = dns_viewlist_find(&named_g_server->viewlist, cachename,
|
||||
view->rdclass, &pview);
|
||||
if (result != ISC_R_NOTFOUND && result != ISC_R_SUCCESS) {
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"views %s and %s can't share the cache "
|
||||
"due to configuration parameter mismatch",
|
||||
nsc->primaryview->name, view->name);
|
||||
result = ISC_R_FAILURE;
|
||||
goto cleanup;
|
||||
}
|
||||
if (pview != NULL) {
|
||||
if (!cache_reusable(pview, view, zero_no_soattl)) {
|
||||
isc_log_write(named_g_lctx,
|
||||
NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(1),
|
||||
"cache cannot be reused "
|
||||
"for view %s due to "
|
||||
"configuration parameter "
|
||||
"mismatch",
|
||||
view->name);
|
||||
} else {
|
||||
INSIST(pview->cache != NULL);
|
||||
isc_log_write(named_g_lctx,
|
||||
NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(3),
|
||||
"reusing existing cache");
|
||||
dns_cache_attach(pview->cache, &cache);
|
||||
dns_cache_attach(nsc->cache, &cache);
|
||||
shared_cache = true;
|
||||
} else {
|
||||
if (strcmp(cachename, view->name) == 0) {
|
||||
result = dns_viewlist_find(&named_g_server->viewlist,
|
||||
cachename, view->rdclass,
|
||||
&pview);
|
||||
if (result != ISC_R_NOTFOUND && result != ISC_R_SUCCESS)
|
||||
{
|
||||
goto cleanup;
|
||||
}
|
||||
if (pview != NULL) {
|
||||
if (!cache_reusable(pview, view,
|
||||
zero_no_soattl))
|
||||
{
|
||||
isc_log_write(named_g_lctx,
|
||||
NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(1),
|
||||
"cache cannot be reused "
|
||||
"for view %s due to "
|
||||
"configuration parameter "
|
||||
"mismatch",
|
||||
view->name);
|
||||
} else {
|
||||
INSIST(pview->cache != NULL);
|
||||
isc_log_write(named_g_lctx,
|
||||
NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER,
|
||||
ISC_LOG_DEBUG(3),
|
||||
"reusing existing cache");
|
||||
dns_cache_attach(pview->cache, &cache);
|
||||
}
|
||||
dns_resolver_getstats(pview->resolver,
|
||||
&resstats);
|
||||
dns_resolver_getquerystats(pview->resolver,
|
||||
&resquerystats);
|
||||
dns_view_detach(&pview);
|
||||
}
|
||||
dns_resolver_getstats(pview->resolver, &resstats);
|
||||
dns_resolver_getquerystats(pview->resolver,
|
||||
&resquerystats);
|
||||
dns_view_detach(&pview);
|
||||
}
|
||||
}
|
||||
|
||||
if (nsc == NULL) {
|
||||
/*
|
||||
* Create a cache with the desired name. This normally
|
||||
* equals the view name, but may also be a forward
|
||||
* reference to a view that share the cache with this
|
||||
* view but is not yet configured. If it is not the
|
||||
* view name but not a forward reference either, then it
|
||||
* is simply a named cache that is not shared.
|
||||
*/
|
||||
if (cache == NULL) {
|
||||
/*
|
||||
* Create a cache with the desired name. This normally
|
||||
* equals the view name, but may also be a forward
|
||||
* reference to a view that share the cache with this
|
||||
* view but is not yet configured. If it is not the
|
||||
* view name but not a forward reference either, then it
|
||||
* is simply a named cache that is not shared.
|
||||
*/
|
||||
CHECK(dns_cache_create(named_g_loopmgr, view->rdclass,
|
||||
cachename, mctx, &cache));
|
||||
}
|
||||
|
||||
nsc = isc_mem_get(mctx, sizeof(*nsc));
|
||||
*nsc = (named_cache_t){
|
||||
.primaryview = view,
|
||||
.rdclass = view->rdclass,
|
||||
.link = ISC_LINK_INITIALIZER,
|
||||
};
|
||||
|
||||
nsc->cache = NULL;
|
||||
dns_cache_attach(cache, &nsc->cache);
|
||||
nsc->primaryview = view;
|
||||
nsc->needflush = false;
|
||||
nsc->adbsizeadjusted = false;
|
||||
nsc->rdclass = view->rdclass;
|
||||
ISC_LINK_INIT(nsc, link);
|
||||
ISC_LIST_APPEND(*cachelist, nsc, link);
|
||||
}
|
||||
|
||||
dns_view_setcache(view, cache, shared_cache);
|
||||
|
||||
dns_cache_setcachesize(cache, max_cache_size);
|
||||
@@ -4866,12 +4815,10 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
/*
|
||||
* Resolver.
|
||||
*/
|
||||
CHECK(get_view_querysource_dispatch(
|
||||
maps, AF_INET, &dispatch4,
|
||||
(ISC_LIST_PREV(view, link) == NULL)));
|
||||
CHECK(get_view_querysource_dispatch(
|
||||
maps, AF_INET6, &dispatch6,
|
||||
(ISC_LIST_PREV(view, link) == NULL)));
|
||||
CHECK(get_view_querysource_dispatch(maps, AF_INET, &dispatch4,
|
||||
ISC_LIST_PREV(view, link) == NULL));
|
||||
CHECK(get_view_querysource_dispatch(maps, AF_INET6, &dispatch6,
|
||||
ISC_LIST_PREV(view, link) == NULL));
|
||||
if (dispatch4 == NULL && dispatch6 == NULL) {
|
||||
UNEXPECTED_ERROR("unable to obtain either an IPv4 or"
|
||||
" an IPv6 dispatch");
|
||||
@@ -5149,19 +5096,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
dns_view_settransports(view, transports);
|
||||
dns_transport_list_detach(&transports);
|
||||
|
||||
/*
|
||||
* Configure SIG(0) check limits when matching a DNS message to a view.
|
||||
*/
|
||||
obj = NULL;
|
||||
result = named_config_get(maps, "sig0key-checks-limit", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->sig0key_checks_limit = cfg_obj_asuint32(obj);
|
||||
|
||||
obj = NULL;
|
||||
result = named_config_get(maps, "sig0message-checks-limit", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
view->sig0message_checks_limit = cfg_obj_asuint32(obj);
|
||||
|
||||
/*
|
||||
* Configure the view's TSIG keys.
|
||||
*/
|
||||
@@ -5665,11 +5599,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, cfg_obj_t *config,
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
dns_view_setmaxrestarts(view, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = named_config_get(maps, "max-query-count", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS);
|
||||
dns_view_setmaxqueries(view, cfg_obj_asuint32(obj));
|
||||
|
||||
obj = NULL;
|
||||
result = named_config_get(maps, "max-validations-per-fetch", &obj);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
@@ -7292,8 +7221,7 @@ tat_done(void *arg) {
|
||||
if (resp->db != NULL) {
|
||||
dns_db_detach(&resp->db);
|
||||
}
|
||||
|
||||
dns_resolver_freefresp(&resp);
|
||||
isc_mem_putanddetach(&resp->mctx, resp, sizeof(*resp));
|
||||
dns_resolver_destroyfetch(&tat->fetch);
|
||||
if (dns_rdataset_isassociated(&tat->rdataset)) {
|
||||
dns_rdataset_disassociate(&tat->rdataset);
|
||||
@@ -7431,8 +7359,8 @@ tat_send(void *arg) {
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
result = dns_resolver_createfetch(
|
||||
tat->view->resolver, tatname, dns_rdatatype_null,
|
||||
domain, &nameservers, NULL, NULL, 0, 0, 0, NULL, NULL,
|
||||
tat->loop, tat_done, tat, NULL, &tat->rdataset,
|
||||
domain, &nameservers, NULL, NULL, 0, 0, 0, NULL,
|
||||
tat->loop, tat_done, tat, &tat->rdataset,
|
||||
&tat->sigrdataset, &tat->fetch);
|
||||
}
|
||||
|
||||
@@ -8378,7 +8306,8 @@ load_configuration(const char *filename, named_server_t *server,
|
||||
dns_keystore_t *keystore = NULL;
|
||||
dns_keystore_t *keystore_next = NULL;
|
||||
dns_keystorelist_t tmpkeystorelist, keystorelist;
|
||||
const cfg_obj_t *views = NULL;
|
||||
const cfg_obj_t *views;
|
||||
|
||||
dns_view_t *view_next = NULL;
|
||||
dns_viewlist_t tmpviewlist;
|
||||
dns_viewlist_t viewlist, builtin_viewlist;
|
||||
@@ -8397,7 +8326,7 @@ load_configuration(const char *filename, named_server_t *server,
|
||||
uint32_t send_tcp_buffer_size;
|
||||
uint32_t recv_udp_buffer_size;
|
||||
uint32_t send_udp_buffer_size;
|
||||
named_cache_t *nsc = NULL;
|
||||
named_cache_t *nsc;
|
||||
named_cachelist_t cachelist, tmpcachelist;
|
||||
ns_altsecret_t *altsecret;
|
||||
ns_altsecretlist_t altsecrets, tmpaltsecrets;
|
||||
@@ -9359,8 +9288,7 @@ load_configuration(const char *filename, named_server_t *server,
|
||||
}
|
||||
|
||||
result = configure_view(view, &viewlist, config, vconfig,
|
||||
&cachelist, &server->cachelist,
|
||||
&server->kasplist,
|
||||
&cachelist, &server->kasplist,
|
||||
&server->keystorelist, bindkeys,
|
||||
named_g_mctx, named_g_aclconfctx, true);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -9382,8 +9310,7 @@ load_configuration(const char *filename, named_server_t *server,
|
||||
goto cleanup_cachelist;
|
||||
}
|
||||
result = configure_view(view, &viewlist, config, NULL,
|
||||
&cachelist, &server->cachelist,
|
||||
&server->kasplist,
|
||||
&cachelist, &server->kasplist,
|
||||
&server->keystorelist, bindkeys,
|
||||
named_g_mctx, named_g_aclconfctx, true);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -9413,9 +9340,8 @@ load_configuration(const char *filename, named_server_t *server,
|
||||
|
||||
result = configure_view(
|
||||
view, &viewlist, config, vconfig, &cachelist,
|
||||
&server->cachelist, &server->kasplist,
|
||||
&server->keystorelist, bindkeys, named_g_mctx,
|
||||
named_g_aclconfctx, false);
|
||||
&server->kasplist, &server->keystorelist, bindkeys,
|
||||
named_g_mctx, named_g_aclconfctx, false);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
dns_view_detach(&view);
|
||||
goto cleanup_cachelist;
|
||||
@@ -10753,39 +10679,6 @@ named_server_reloadwanted(void *arg, int signum) {
|
||||
isc_async_run(named_g_mainloop, named_server_reload, server);
|
||||
}
|
||||
|
||||
#ifdef JEMALLOC_API_SUPPORTED
|
||||
static isc_result_t
|
||||
memprof_toggle(bool active) {
|
||||
if (mallctl("prof.active", NULL, NULL, &active, sizeof(active)) != 0) {
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
memprof_dump(void) {
|
||||
if (mallctl("prof.dump", NULL, NULL, NULL, 0) != 0) {
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
#else
|
||||
static isc_result_t
|
||||
memprof_toggle(bool active) {
|
||||
UNUSED(active);
|
||||
|
||||
return ISC_R_NOTIMPLEMENTED;
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
memprof_dump(void) {
|
||||
return ISC_R_NOTIMPLEMENTED;
|
||||
}
|
||||
|
||||
#endif /* JEMALLOC_API_SUPPORTED */
|
||||
|
||||
void
|
||||
named_server_scan_interfaces(named_server_t *server) {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
@@ -11858,8 +11751,8 @@ resume:
|
||||
}
|
||||
}
|
||||
|
||||
if ((dctx->dumpadb || dctx->dumpfail) && dctx->cache == NULL &&
|
||||
dctx->view->view->cachedb != NULL)
|
||||
if ((dctx->dumpadb || dctx->dumpbad || dctx->dumpfail) &&
|
||||
dctx->cache == NULL && dctx->view->view->cachedb != NULL)
|
||||
{
|
||||
dns_db_attach(dctx->view->view->cachedb, &dctx->cache);
|
||||
}
|
||||
@@ -11969,6 +11862,7 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex,
|
||||
.mctx = server->mctx,
|
||||
.dumpcache = true,
|
||||
.dumpadb = true,
|
||||
.dumpbad = true,
|
||||
.dumpfail = true,
|
||||
.viewlist = ISC_LIST_INITIALIZER,
|
||||
};
|
||||
@@ -11996,12 +11890,14 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex,
|
||||
} else if (ptr != NULL && strcmp(ptr, "-zones") == 0) {
|
||||
/* only dump zones, suppress caches */
|
||||
dctx->dumpadb = false;
|
||||
dctx->dumpbad = false;
|
||||
dctx->dumpcache = false;
|
||||
dctx->dumpfail = false;
|
||||
dctx->dumpzones = true;
|
||||
ptr = next_token(lex, NULL);
|
||||
} else if (ptr != NULL && strcmp(ptr, "-adb") == 0) {
|
||||
/* only dump adb, suppress other caches */
|
||||
dctx->dumpbad = false;
|
||||
dctx->dumpcache = false;
|
||||
dctx->dumpfail = false;
|
||||
ptr = next_token(lex, NULL);
|
||||
@@ -12014,6 +11910,7 @@ named_server_dumpdb(named_server_t *server, isc_lex_t *lex,
|
||||
} else if (ptr != NULL && strcmp(ptr, "-fail") == 0) {
|
||||
/* only dump servfail cache, suppress other caches */
|
||||
dctx->dumpadb = false;
|
||||
dctx->dumpbad = false;
|
||||
dctx->dumpcache = false;
|
||||
ptr = next_token(lex, NULL);
|
||||
}
|
||||
@@ -12669,10 +12566,6 @@ named_server_status(named_server_t *server, isc_buffer_t **text) {
|
||||
: "OFF");
|
||||
CHECK(putstr(text, line));
|
||||
|
||||
snprintf(line, sizeof(line), "memory profiling is %s\n",
|
||||
named_server_getmemprof());
|
||||
CHECK(putstr(text, line));
|
||||
|
||||
snprintf(line, sizeof(line), "recursive clients: %u/%u/%u\n",
|
||||
isc_quota_getused(&server->sctx->recursionquota),
|
||||
isc_quota_getsoft(&server->sctx->recursionquota),
|
||||
@@ -15303,16 +15196,10 @@ named_server_dnssec(named_server_t *server, isc_lex_t *lex,
|
||||
/*
|
||||
* Output the DNSSEC status of the key and signing policy.
|
||||
*/
|
||||
isc_result_t r;
|
||||
LOCK(&kasp->lock);
|
||||
r = dns_keymgr_status(kasp, &keys, now, &output[0],
|
||||
sizeof(output));
|
||||
dns_keymgr_status(kasp, &keys, now, &output[0], sizeof(output));
|
||||
UNLOCK(&kasp->lock);
|
||||
CHECK(putstr(text, output));
|
||||
if (r != ISC_R_SUCCESS) {
|
||||
CHECK(putstr(text,
|
||||
"\n\nStatus output is truncated..."));
|
||||
}
|
||||
} else if (checkds) {
|
||||
/*
|
||||
* Mark DS record has been seen, so it may move to the
|
||||
@@ -16896,114 +16783,3 @@ cleanup:
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
isc_result_t
|
||||
named_server_togglememprof(isc_lex_t *lex) {
|
||||
isc_result_t result = ISC_R_FAILURE;
|
||||
bool active;
|
||||
char *ptr;
|
||||
|
||||
/* Skip the command name. */
|
||||
ptr = next_token(lex, NULL);
|
||||
if (ptr == NULL) {
|
||||
return ISC_R_UNEXPECTEDEND;
|
||||
}
|
||||
|
||||
ptr = next_token(lex, NULL);
|
||||
if (ptr == NULL) {
|
||||
return ISC_R_UNEXPECTEDEND;
|
||||
} else if (!strcasecmp(ptr, "dump")) {
|
||||
result = memprof_dump();
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"failed to dump memory profile");
|
||||
|
||||
} else {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||
"memory profile dumped");
|
||||
}
|
||||
|
||||
goto done;
|
||||
} else if (!strcasecmp(ptr, "on") || !strcasecmp(ptr, "yes") ||
|
||||
!strcasecmp(ptr, "enable") || !strcasecmp(ptr, "true"))
|
||||
{
|
||||
active = true;
|
||||
} else if (!strcasecmp(ptr, "off") || !strcasecmp(ptr, "no") ||
|
||||
!strcasecmp(ptr, "disable") || !strcasecmp(ptr, "false"))
|
||||
{
|
||||
active = false;
|
||||
} else {
|
||||
return DNS_R_SYNTAX;
|
||||
}
|
||||
|
||||
result = memprof_toggle(active);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_ERROR,
|
||||
"failed to toggle memory profiling");
|
||||
} else {
|
||||
isc_log_write(named_g_lctx, NAMED_LOGCATEGORY_GENERAL,
|
||||
NAMED_LOGMODULE_SERVER, ISC_LOG_INFO,
|
||||
"memory profiling %s",
|
||||
active ? "enabled" : "disabled");
|
||||
}
|
||||
|
||||
done:
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifdef JEMALLOC_API_SUPPORTED
|
||||
const char *
|
||||
named_server_getmemprof(void) {
|
||||
memprof_status status = MEMPROF_ON;
|
||||
bool is_enabled;
|
||||
size_t len = sizeof(is_enabled);
|
||||
|
||||
if (mallctl("config.prof", &is_enabled, &len, NULL, 0) != 0) {
|
||||
status = MEMPROF_FAILING;
|
||||
goto done;
|
||||
}
|
||||
|
||||
INSIST(len == sizeof(is_enabled));
|
||||
|
||||
if (!is_enabled) {
|
||||
status = MEMPROF_UNSUPPORTED;
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (mallctl("opt.prof", &is_enabled, &len, NULL, 0) != 0) {
|
||||
status = MEMPROF_FAILING;
|
||||
goto done;
|
||||
}
|
||||
|
||||
INSIST(len == sizeof(is_enabled));
|
||||
|
||||
if (!is_enabled) {
|
||||
status = MEMPROF_INACTIVE;
|
||||
goto done;
|
||||
}
|
||||
|
||||
len = sizeof(is_enabled);
|
||||
if (mallctl("prof.active", &is_enabled, &len, NULL, 0) != 0) {
|
||||
status = MEMPROF_FAILING;
|
||||
goto done;
|
||||
}
|
||||
|
||||
INSIST(len == sizeof(is_enabled));
|
||||
|
||||
if (!is_enabled) {
|
||||
status = MEMPROF_OFF;
|
||||
}
|
||||
|
||||
done:
|
||||
return memprof_status_text[status];
|
||||
}
|
||||
|
||||
#else /* JEMALLOC_API_SUPPORTED */
|
||||
const char *
|
||||
named_server_getmemprof(void) {
|
||||
return memprof_status_text[MEMPROF_UNSUPPORTED];
|
||||
}
|
||||
#endif /* JEMALLOC_API_SUPPORTED */
|
||||
|
||||
@@ -1478,7 +1478,6 @@ xfrin_xmlrender(dns_zone_t *zone, void *arg) {
|
||||
unsigned int nmsg = 0;
|
||||
unsigned int nrecs = 0;
|
||||
uint64_t nbytes = 0;
|
||||
uint64_t rate = 0;
|
||||
|
||||
statlevel = dns_zone_getstatlevel(zone);
|
||||
if (statlevel == dns_zonestat_none) {
|
||||
@@ -1607,13 +1606,9 @@ xfrin_xmlrender(dns_zone_t *zone, void *arg) {
|
||||
isc_sockaddr_format(addrp, addr_buf, sizeof(addr_buf));
|
||||
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR addr_buf));
|
||||
} else if (is_presoa) {
|
||||
if (dns_zone_getprimaryaddr(zone, &addr) == ISC_R_SUCCESS) {
|
||||
isc_sockaddr_format(&addr, addr_buf, sizeof(addr_buf));
|
||||
TRY0(xmlTextWriterWriteString(writer,
|
||||
ISC_XMLCHAR addr_buf));
|
||||
} else {
|
||||
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR "-"));
|
||||
}
|
||||
addr = dns_zone_getprimaryaddr(zone);
|
||||
isc_sockaddr_format(&addr, addr_buf, sizeof(addr_buf));
|
||||
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR addr_buf));
|
||||
} else {
|
||||
TRY0(xmlTextWriterWriteString(writer, ISC_XMLCHAR "-"));
|
||||
}
|
||||
@@ -1696,7 +1691,7 @@ xfrin_xmlrender(dns_zone_t *zone, void *arg) {
|
||||
TRY0(xmlTextWriterEndElement(writer));
|
||||
|
||||
if (is_running) {
|
||||
dns_xfrin_getstats(xfr, &nmsg, &nrecs, &nbytes, &rate);
|
||||
dns_xfrin_getstats(xfr, &nmsg, &nrecs, &nbytes);
|
||||
}
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "nmsg"));
|
||||
TRY0(xmlTextWriterWriteFormatString(writer, "%u", nmsg));
|
||||
@@ -1707,9 +1702,6 @@ xfrin_xmlrender(dns_zone_t *zone, void *arg) {
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "nbytes"));
|
||||
TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, nbytes));
|
||||
TRY0(xmlTextWriterEndElement(writer));
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "rate"));
|
||||
TRY0(xmlTextWriterWriteFormatString(writer, "%" PRIu64, rate));
|
||||
TRY0(xmlTextWriterEndElement(writer));
|
||||
|
||||
TRY0(xmlTextWriterStartElement(writer, ISC_XMLCHAR "ixfr"));
|
||||
if (is_running && is_first_data_received) {
|
||||
@@ -2560,7 +2552,6 @@ xfrin_jsonrender(dns_zone_t *zone, void *arg) {
|
||||
unsigned int nmsg = 0;
|
||||
unsigned int nrecs = 0;
|
||||
uint64_t nbytes = 0;
|
||||
uint64_t rate = 0;
|
||||
|
||||
statlevel = dns_zone_getstatlevel(zone);
|
||||
if (statlevel == dns_zonestat_none) {
|
||||
@@ -2668,15 +2659,10 @@ xfrin_jsonrender(dns_zone_t *zone, void *arg) {
|
||||
json_object_object_add(xfrinobj, "remoteaddr",
|
||||
json_object_new_string(addr_buf));
|
||||
} else if (is_presoa) {
|
||||
if (dns_zone_getprimaryaddr(zone, &addr) == ISC_R_SUCCESS) {
|
||||
isc_sockaddr_format(&addr, addr_buf, sizeof(addr_buf));
|
||||
json_object_object_add(
|
||||
xfrinobj, "remoteaddr",
|
||||
json_object_new_string(addr_buf));
|
||||
} else {
|
||||
json_object_object_add(xfrinobj, "remoteaddr",
|
||||
json_object_new_string("-"));
|
||||
}
|
||||
addr = dns_zone_getprimaryaddr(zone);
|
||||
isc_sockaddr_format(&addr, addr_buf, sizeof(addr_buf));
|
||||
json_object_object_add(xfrinobj, "remoteaddr",
|
||||
json_object_new_string(addr_buf));
|
||||
} else {
|
||||
json_object_object_add(xfrinobj, "remoteaddr",
|
||||
json_object_new_string("-"));
|
||||
@@ -2763,7 +2749,7 @@ xfrin_jsonrender(dns_zone_t *zone, void *arg) {
|
||||
}
|
||||
|
||||
if (is_running) {
|
||||
dns_xfrin_getstats(xfr, &nmsg, &nrecs, &nbytes, &rate);
|
||||
dns_xfrin_getstats(xfr, &nmsg, &nrecs, &nbytes);
|
||||
}
|
||||
json_object_object_add(xfrinobj, "nmsg",
|
||||
json_object_new_int64((int64_t)nmsg));
|
||||
@@ -2773,10 +2759,6 @@ xfrin_jsonrender(dns_zone_t *zone, void *arg) {
|
||||
xfrinobj, "nbytes",
|
||||
json_object_new_int64(nbytes > INT64_MAX ? INT64_MAX
|
||||
: (int64_t)nbytes));
|
||||
json_object_object_add(xfrinobj, "rate",
|
||||
json_object_new_int64(rate > INT64_MAX
|
||||
? INT64_MAX
|
||||
: (int64_t)rate));
|
||||
|
||||
if (is_running && is_first_data_received) {
|
||||
json_object_object_add(
|
||||
|
||||
+18
-40
@@ -61,6 +61,13 @@ typedef enum {
|
||||
allow_update_forwarding
|
||||
} acl_type_t;
|
||||
|
||||
#define RETERR(x) \
|
||||
do { \
|
||||
isc_result_t _r = (x); \
|
||||
if (_r != ISC_R_SUCCESS) \
|
||||
return ((_r)); \
|
||||
} while (0)
|
||||
|
||||
#define CHECK(x) \
|
||||
do { \
|
||||
result = (x); \
|
||||
@@ -551,12 +558,9 @@ configure_staticstub(const cfg_obj_t *zconfig, dns_zone_t *zone,
|
||||
isc_region_t region;
|
||||
|
||||
/* Create the DB beforehand */
|
||||
result = dns_db_create(mctx, dbtype, dns_zone_getorigin(zone),
|
||||
dns_dbtype_stub, dns_zone_getclass(zone), 0,
|
||||
NULL, &db);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return result;
|
||||
}
|
||||
RETERR(dns_db_create(mctx, dbtype, dns_zone_getorigin(zone),
|
||||
dns_dbtype_stub, dns_zone_getclass(zone), 0, NULL,
|
||||
&db));
|
||||
|
||||
dns_rdataset_init(&rdataset);
|
||||
|
||||
@@ -1282,8 +1286,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
dns_ipkeylist_t ipkl;
|
||||
dns_ipkeylist_init(&ipkl);
|
||||
|
||||
CHECK(named_config_getipandkeylist(config, obj, mctx,
|
||||
&ipkl));
|
||||
CHECK(named_config_getipandkeylist(config, "primaries",
|
||||
obj, mctx, &ipkl));
|
||||
dns_zone_setalsonotify(zone, ipkl.addrs, ipkl.sources,
|
||||
ipkl.keys, ipkl.tlss,
|
||||
ipkl.count);
|
||||
@@ -1638,8 +1642,9 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
if (parentals != NULL) {
|
||||
dns_ipkeylist_t ipkl;
|
||||
dns_ipkeylist_init(&ipkl);
|
||||
CHECK(named_config_getipandkeylist(config, parentals,
|
||||
mctx, &ipkl));
|
||||
CHECK(named_config_getipandkeylist(
|
||||
config, "parental-agents", parentals, mctx,
|
||||
&ipkl));
|
||||
dns_zone_setparentals(zone, ipkl.addrs, ipkl.sources,
|
||||
ipkl.keys, ipkl.tlss, ipkl.count);
|
||||
dns_ipkeylist_clear(mctx, &ipkl);
|
||||
@@ -1811,7 +1816,7 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
dns_name_equal(dns_zone_getorigin(zone), dns_rootname))
|
||||
{
|
||||
result = named_config_getremotesdef(
|
||||
named_g_config, "remote-servers",
|
||||
named_g_config, "primaries",
|
||||
DEFAULT_IANA_ROOT_ZONE_PRIMARIES, &obj);
|
||||
CHECK(result);
|
||||
}
|
||||
@@ -1819,8 +1824,8 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
dns_ipkeylist_t ipkl;
|
||||
dns_ipkeylist_init(&ipkl);
|
||||
|
||||
CHECK(named_config_getipandkeylist(config, obj, mctx,
|
||||
&ipkl));
|
||||
CHECK(named_config_getipandkeylist(config, "primaries",
|
||||
obj, mctx, &ipkl));
|
||||
dns_zone_setprimaries(mayberaw, ipkl.addrs,
|
||||
ipkl.sources, ipkl.keys,
|
||||
ipkl.tlss, ipkl.count);
|
||||
@@ -1840,33 +1845,6 @@ named_zone_configure(const cfg_obj_t *config, const cfg_obj_t *vconfig,
|
||||
}
|
||||
dns_zone_setoption(mayberaw, DNS_ZONEOPT_MULTIMASTER, multi);
|
||||
|
||||
obj = NULL;
|
||||
result = named_config_get(maps, "min-transfer-rate-in", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
uint32_t traffic_bytes =
|
||||
cfg_obj_asuint32(cfg_tuple_get(obj, "traffic_bytes"));
|
||||
uint32_t time_minutes =
|
||||
cfg_obj_asuint32(cfg_tuple_get(obj, "time_minutes"));
|
||||
if (traffic_bytes == 0) {
|
||||
cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR,
|
||||
"zone '%s': 'min-transfer-rate-in' bytes"
|
||||
"value can not be '0'",
|
||||
zname);
|
||||
CHECK(ISC_R_FAILURE);
|
||||
}
|
||||
/* Max. 28 days (in minutes). */
|
||||
const unsigned int time_minutes_max = 28 * 24 * 60;
|
||||
if (time_minutes < 1 || time_minutes > time_minutes_max) {
|
||||
cfg_obj_log(obj, named_g_lctx, ISC_LOG_ERROR,
|
||||
"zone '%s': 'min-transfer-rate-in' minutes"
|
||||
"value is out of range (1..%u)",
|
||||
zname, time_minutes_max);
|
||||
CHECK(ISC_R_FAILURE);
|
||||
}
|
||||
dns_zone_setminxfrratein(mayberaw, traffic_bytes,
|
||||
transferinsecs ? time_minutes
|
||||
: time_minutes * 60);
|
||||
|
||||
obj = NULL;
|
||||
result = named_config_get(maps, "max-transfer-time-in", &obj);
|
||||
INSIST(result == ISC_R_SUCCESS && obj != NULL);
|
||||
|
||||
@@ -143,10 +143,6 @@ command is one of the following:\n\
|
||||
Display RFC 5011 managed keys information\n\
|
||||
managed-keys sync [class [view]]\n\
|
||||
Write RFC 5011 managed keys to disk\n\
|
||||
memprof [ on | off | dump ]\n\
|
||||
Enable / disable memory profiling or dump the profile.\n\
|
||||
Requires named to built with jemalloc and run with the relevant\n\
|
||||
MALLOC_CONF environment variables.\n\
|
||||
modzone zone [class [view]] { zone-options }\n\
|
||||
Modify a zone's configuration.\n\
|
||||
Requires allow-new-zones option.\n\
|
||||
|
||||
@@ -313,19 +313,6 @@ Currently supported commands are:
|
||||
keys in the event of a trust anchor rollover, or as a brute-force
|
||||
repair for key maintenance problems.
|
||||
|
||||
.. option:: memprof [(on | off | dump)]
|
||||
|
||||
This command controls memory profiling. To have any effect, :iscman:`named` must be
|
||||
built with jemalloc, the library have profiling support enabled and run with the
|
||||
``prof:true`` allocator configuration. (either via ``MALLOC_CONF`` or ``/etc/malloc.conf``)
|
||||
|
||||
The ``prof_active:false`` option is recommended to ensure the profiling overhead does
|
||||
not affect :iscman:`named` when not needed.
|
||||
|
||||
The ``on`` and ``off`` options will start and stop the jemalloc memory profiling respectively.
|
||||
When run with the `dump` option, :iscman:`named` will dump the profile to the working
|
||||
directory. The name will be chosen automatically by jemalloc.
|
||||
|
||||
.. option:: modzone zone [class [view]] configuration
|
||||
|
||||
This command modifies the configuration of a zone while the server is running. This
|
||||
|
||||
@@ -86,7 +86,6 @@ TESTS = \
|
||||
autosign \
|
||||
builtin \
|
||||
cacheclean \
|
||||
camp \
|
||||
case \
|
||||
catz \
|
||||
cds \
|
||||
@@ -151,7 +150,6 @@ TESTS = \
|
||||
proxy \
|
||||
pipelined \
|
||||
qmin \
|
||||
query-source \
|
||||
reclimit \
|
||||
redirect \
|
||||
resolver \
|
||||
|
||||
@@ -279,7 +279,7 @@ n=$((n + 1))
|
||||
echo_i "testing with 'minimal-any no;' ($n)"
|
||||
ret=0
|
||||
$DIG $DIGOPTS -t ANY www.rt.example @10.53.0.1 >dig.out.$n || ret=1
|
||||
grep "ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 1" dig.out.$n >/dev/null || ret=1
|
||||
grep "ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 2" dig.out.$n >/dev/null || ret=1
|
||||
if [ $ret -eq 1 ]; then
|
||||
echo_i "failed"
|
||||
status=$((status + 1))
|
||||
|
||||
@@ -34,6 +34,6 @@ zone "." {
|
||||
file "redirect.db";
|
||||
};
|
||||
|
||||
remote-servers "test" {
|
||||
primaries "test" {
|
||||
10.53.0.99;
|
||||
};
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 300
|
||||
. IN SOA gson.nominum.com. a.root.servers.nil. (
|
||||
2000042100 ; serial
|
||||
600 ; refresh
|
||||
600 ; retry
|
||||
1200 ; expire
|
||||
600 ; minimum
|
||||
)
|
||||
. NS a.root-servers.nil.
|
||||
a.root-servers.nil. A 10.53.0.1
|
||||
|
||||
tld0. NS ns.tld0.
|
||||
ns.tld0. A 10.53.0.2
|
||||
|
||||
tld1. NS ns.tld1.
|
||||
ns.tld1. A 10.53.0.2
|
||||
|
||||
tld2. NS ns.tld2.
|
||||
ns.tld2. A 10.53.0.2
|
||||
|
||||
tld3. NS ns.tld3.
|
||||
ns.tld3. A 10.53.0.2
|
||||
|
||||
tld4. NS ns.tld4.
|
||||
ns.tld4. A 10.53.0.2
|
||||
|
||||
tld5. NS ns.tld5.
|
||||
ns.tld5. A 10.53.0.2
|
||||
|
||||
tld6. NS ns.tld6.
|
||||
ns.tld6. A 10.53.0.2
|
||||
|
||||
tld7. NS ns.tld7.
|
||||
ns.tld7. A 10.53.0.2
|
||||
|
||||
tld8. NS ns.tld8.
|
||||
ns.tld8. A 10.53.0.2
|
||||
|
||||
tld9. NS ns.tld9.
|
||||
ns.tld9. A 10.53.0.2
|
||||
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
// NS2
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.2;
|
||||
notify-source 10.53.0.2;
|
||||
transfer-source 10.53.0.2;
|
||||
port @PORT@;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.2; };
|
||||
listen-on-v6 { none; };
|
||||
recursion no;
|
||||
notify yes;
|
||||
};
|
||||
|
||||
zone "tld0" {
|
||||
type primary;
|
||||
file "tld0.db";
|
||||
};
|
||||
@@ -1,57 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# shellcheck source=conf.sh
|
||||
. ../../conf.sh
|
||||
|
||||
echo_i "ns2/setup.sh"
|
||||
|
||||
cp template.db.in tld0.db
|
||||
echo "final.tld0. IN NS ns.final.tld0." >>tld0.db
|
||||
echo "ns.final.tld0. IN A 10.53.0.3" >>tld0.db
|
||||
|
||||
DEPTH=5
|
||||
|
||||
tld=1
|
||||
while [ $tld -le $DEPTH ]; do
|
||||
|
||||
cat >>"named.conf" <<EOF
|
||||
zone "tld${tld}" {
|
||||
type primary;
|
||||
file "tld${tld}.db";
|
||||
};
|
||||
EOF
|
||||
|
||||
cp template.db.in tld${tld}.db
|
||||
|
||||
label=0
|
||||
while [ $label -le $DEPTH ]; do
|
||||
echo "label${label}.tld${tld}. IN NS ns.label${label}.tld${tld}." >>tld${tld}.db
|
||||
echo "ns.label${label}.tld${tld}. IN A 10.53.0.3" >>tld${tld}.db
|
||||
echo "" >>tld${tld}.db
|
||||
|
||||
label=$((label + 1))
|
||||
done
|
||||
|
||||
tld=$((tld + 1))
|
||||
done
|
||||
|
||||
goto=1
|
||||
tld=1
|
||||
while [ $goto -le $DEPTH ]; do
|
||||
echo "goto${goto}.tld${tld}. IN NS ns.goto${goto}.tld${tld}." >>tld${tld}.db
|
||||
echo "ns.goto${goto}.tld${tld}. IN A 10.53.0.3" >>tld${tld}.db
|
||||
echo "" >>tld${tld}.db
|
||||
|
||||
goto=$((goto + 1))
|
||||
done
|
||||
@@ -1,26 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 300
|
||||
@ IN SOA mname1. . (
|
||||
1 ; serial
|
||||
20 ; refresh (20 seconds)
|
||||
20 ; retry (20 seconds)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
|
||||
NS ns2
|
||||
ns2 A 10.53.0.2
|
||||
NS ns
|
||||
ns A 10.53.0.2
|
||||
|
||||
; camp attack
|
||||
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
// NS3
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.3;
|
||||
notify-source 10.53.0.3;
|
||||
transfer-source 10.53.0.3;
|
||||
port @PORT@;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.3; };
|
||||
listen-on-v6 { none; };
|
||||
recursion yes;
|
||||
dnssec-validation no;
|
||||
|
||||
max-query-count 150;
|
||||
};
|
||||
|
||||
key rndc_key {
|
||||
secret "1234abcd8765";
|
||||
algorithm @DEFAULT_HMAC@;
|
||||
};
|
||||
|
||||
controls {
|
||||
inet 10.53.0.3 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
|
||||
};
|
||||
|
||||
zone "final.tld0" {
|
||||
type primary;
|
||||
file "final.tld0.db";
|
||||
};
|
||||
@@ -1,79 +0,0 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
# shellcheck source=conf.sh
|
||||
. ../../conf.sh
|
||||
|
||||
echo_i "ns3/setup.sh"
|
||||
|
||||
cp template.db.in final.tld0.db
|
||||
echo "q.final.tld0. IN A 1.2.3.4" >>final.tld0.db
|
||||
|
||||
DEPTH=5
|
||||
|
||||
tld=1
|
||||
while [ $tld -le $DEPTH ]; do
|
||||
nexttld=$((tld + 1))
|
||||
|
||||
label=1
|
||||
while [ $label -le $DEPTH ]; do
|
||||
nextlabel=$((label + 1))
|
||||
|
||||
cat >>"named.conf" <<EOF
|
||||
zone "label${label}.tld${tld}" {
|
||||
type primary;
|
||||
file "label${label}.tld${tld}.db";
|
||||
};
|
||||
EOF
|
||||
|
||||
cp template.db.in label${label}.tld${tld}.db
|
||||
|
||||
if [ $label -eq $DEPTH ] && [ $tld -eq $DEPTH ]; then
|
||||
echo "q.label${label}.tld${tld}. IN CNAME q.goto1.tld1." >>label${label}.tld${tld}.db
|
||||
elif [ $tld -eq $DEPTH ]; then
|
||||
nextlabel=$((label + 1))
|
||||
echo "q.label${label}.tld${tld}. IN CNAME q.label${nextlabel}.tld1." >>label${label}.tld${tld}.db
|
||||
else
|
||||
echo "q.label${label}.tld${tld}. IN CNAME q.label${label}.tld${nexttld}." >>label${label}.tld${tld}.db
|
||||
fi
|
||||
|
||||
label=$nextlabel
|
||||
done
|
||||
|
||||
echo "" >>label${label}.tld${tld}.db
|
||||
tld=$nexttld
|
||||
done
|
||||
|
||||
goto=1
|
||||
tld=1
|
||||
while [ $goto -le $DEPTH ]; do
|
||||
nextgoto=$((goto + 1))
|
||||
|
||||
cat >>"named.conf" <<EOF
|
||||
zone "goto${goto}.tld${tld}" {
|
||||
type primary;
|
||||
file "goto${goto}.tld${tld}.db";
|
||||
};
|
||||
EOF
|
||||
|
||||
cp template.db.in goto${goto}.tld${tld}.db
|
||||
|
||||
if [ $goto -eq $DEPTH ]; then
|
||||
echo "q.goto${goto}.tld${tld}. IN CNAME q.final.tld0." >>goto${goto}.tld${tld}.db
|
||||
else
|
||||
echo "q.goto${goto}.tld${tld}. IN CNAME q.goto${nextgoto}.tld${tld}." >>goto${goto}.tld${tld}.db
|
||||
fi
|
||||
|
||||
echo "" >>label${label}.tld${tld}.db
|
||||
goto=$nextgoto
|
||||
done
|
||||
@@ -1,26 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 300
|
||||
@ IN SOA mname1. . (
|
||||
1 ; serial
|
||||
20 ; refresh (20 seconds)
|
||||
20 ; retry (20 seconds)
|
||||
1814400 ; expire (3 weeks)
|
||||
3600 ; minimum (1 hour)
|
||||
)
|
||||
|
||||
NS ns
|
||||
NS ns3
|
||||
ns A 10.53.0.3
|
||||
ns3 A 10.53.0.3
|
||||
|
||||
; camp attack
|
||||
@@ -1,13 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
. 60 IN NS a.root-servers.nil.
|
||||
a.root-servers.nil. A 10.53.0.1
|
||||
@@ -1,41 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
// NS9
|
||||
|
||||
options {
|
||||
query-source address 10.53.0.9;
|
||||
notify-source 10.53.0.9;
|
||||
transfer-source 10.53.0.9;
|
||||
port @PORT@;
|
||||
pid-file "named.pid";
|
||||
listen-on { 10.53.0.9; };
|
||||
listen-on-v6 { none; };
|
||||
recursion yes;
|
||||
dnssec-validation no;
|
||||
|
||||
max-recursion-queries 50;
|
||||
max-query-restarts 50;
|
||||
max-query-count 100;
|
||||
};
|
||||
|
||||
key rndc_key {
|
||||
secret "1234abcd8765";
|
||||
algorithm @DEFAULT_HMAC@;
|
||||
};
|
||||
|
||||
controls {
|
||||
inet 10.53.0.9 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
|
||||
};
|
||||
|
||||
zone "." { type hint; file "hints.db"; };
|
||||
@@ -1,36 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# See the COPYRIGHT file distributed with this work for additional
|
||||
# information regarding copyright ownership.
|
||||
|
||||
set -e
|
||||
|
||||
# shellcheck source=../conf.sh
|
||||
. ../conf.sh
|
||||
|
||||
dig_with_opts() {
|
||||
"${DIG}" -p "${PORT}" "${@}"
|
||||
}
|
||||
|
||||
status=0
|
||||
n=0
|
||||
|
||||
n=$((n + 1))
|
||||
echo_i "checking max-query-count is in effect ($n)"
|
||||
ret=0
|
||||
dig_with_opts q.label1.tld1. @10.53.0.9 a >dig.out.ns9.test${n} || ret=1
|
||||
grep "status: SERVFAIL" dig.out.ns9.test${n} >/dev/null || ret=1
|
||||
grep "exceeded global max queries resolving" ns9/named.run >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
echo_i "exit status: $status"
|
||||
[ $status -eq 0 ] || exit 1
|
||||
+1
-1
@@ -11,5 +11,5 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers duplicate { 1.2.3.4; };
|
||||
primaries duplicate { 1.2.3.4; };
|
||||
primaries duplicate { 4.3.2.1; };
|
||||
+2
-2
@@ -11,5 +11,5 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers a { 1.2.3.4; };
|
||||
remote-servers b { 1.2.3.4; };
|
||||
masters duplicate { 1.2.3.4; };
|
||||
primaries duplicate { 4.3.2.1; };
|
||||
@@ -1,15 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers duplicate { 1.2.3.4; };
|
||||
remote-servers duplicate { 4.3.2.1; };
|
||||
@@ -1,17 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
options {
|
||||
query-source none;
|
||||
query-source-v6 none;
|
||||
};
|
||||
@@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
view "test" {
|
||||
remote-servers "net" {
|
||||
parental-agents "net" {
|
||||
192.168.1.2;
|
||||
};
|
||||
zone "example.net" {
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers "net" {
|
||||
parental-agents "net" {
|
||||
192.168.1.1;
|
||||
};
|
||||
|
||||
remote-servers "net" {
|
||||
parental-agents "net" {
|
||||
192.168.1.2;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers "net" { };
|
||||
parental-agents "net" { };
|
||||
|
||||
zone "example.net" {
|
||||
type primary;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers "com" {
|
||||
parental-agents "com" {
|
||||
192.168.1.2;
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers "net" {
|
||||
primaries "net" {
|
||||
192.168.1.2;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
server fd92:7065:b8e:ffff::1 {
|
||||
query-source-v6 none;
|
||||
};
|
||||
+2
-3
@@ -11,6 +11,5 @@
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
server 1.2.3.4 {
|
||||
query-source none;
|
||||
};
|
||||
masters a { 1.2.3.4; };
|
||||
primaries b { 1.2.3.4; };
|
||||
@@ -1,28 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
remote-servers "one" {
|
||||
1.2.3.4;
|
||||
};
|
||||
|
||||
parental-agents "two" {
|
||||
1.2.3.5;
|
||||
};
|
||||
|
||||
primaries "three" {
|
||||
1.2.3.6;
|
||||
};
|
||||
|
||||
masters "four" {
|
||||
1.2.3.7;
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
options {
|
||||
query-source none;
|
||||
};
|
||||
@@ -1,16 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
*
|
||||
* SPDX-License-Identifier: MPL-2.0
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
*
|
||||
* See the COPYRIGHT file distributed with this work for additional
|
||||
* information regarding copyright ownership.
|
||||
*/
|
||||
|
||||
options {
|
||||
query-source-v6 none;
|
||||
};
|
||||
@@ -81,7 +81,6 @@ options {
|
||||
check-names primary warn;
|
||||
check-names secondary ignore;
|
||||
max-cache-size 20000000000000;
|
||||
max-query-count 100;
|
||||
max-query-restarts 10;
|
||||
nta-lifetime 604800;
|
||||
nta-recheck 604800;
|
||||
@@ -93,7 +92,7 @@ options {
|
||||
transfer-source 0.0.0.0;
|
||||
zone-statistics none;
|
||||
};
|
||||
remote-servers "parents" port 5353 source 10.10.10.10 port 5354 source-v6 2001:db8::10 port 5355 {
|
||||
parental-agents "parents" port 5353 source 10.10.10.10 port 5354 source-v6 2001:db8::10 port 5355 {
|
||||
10.10.10.11;
|
||||
2001:db8::11;
|
||||
};
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
*/
|
||||
|
||||
acl "transferees" {};
|
||||
remote-servers "stealthPrimaries" {127.0.0.1;};
|
||||
remote-servers "publicSecondaries" {127.0.0.1;};
|
||||
primaries "stealthPrimaries" {127.0.0.1;};
|
||||
primaries "publicSecondaries" {127.0.0.1;};
|
||||
zone "example.net" {
|
||||
type secondary;
|
||||
key-directory "/var/lib/bind/example.net";
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
*/
|
||||
|
||||
acl "transferees" {};
|
||||
remote-servers "stealthPrimaries" {127.0.0.1;};
|
||||
remote-servers "publicSecondaries" {127.0.0.1;};
|
||||
primaries "stealthPrimaries" {127.0.0.1;};
|
||||
primaries "publicSecondaries" {127.0.0.1;};
|
||||
zone "example.net" {
|
||||
type secondary;
|
||||
file "/var/cache/bind/example.net.db";
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
*/
|
||||
|
||||
acl "transferees" {};
|
||||
remote-servers "stealthPrimaries" {127.0.0.1;};
|
||||
remote-servers "publicSecondaries" {127.0.0.1;};
|
||||
primaries "stealthPrimaries" {127.0.0.1;};
|
||||
primaries "publicSecondaries" {127.0.0.1;};
|
||||
zone "example.net" {
|
||||
type secondary;
|
||||
key-directory "/var/lib/bind/example.net";
|
||||
|
||||
@@ -20,7 +20,3 @@ options {
|
||||
range 8610 8614;
|
||||
};
|
||||
};
|
||||
|
||||
server 1.2.3.4 {
|
||||
query-source 10.10.10.10;
|
||||
};
|
||||
|
||||
@@ -20,7 +20,3 @@ zone example {
|
||||
primaries { 1.2.3.4; };
|
||||
notify-source 10.53.0.1 port 100;
|
||||
};
|
||||
|
||||
server fd92:7065:b8e:ffff::1 {
|
||||
query-source-v6 fd92:7065:b8e:ffff::2;
|
||||
};
|
||||
|
||||
@@ -37,7 +37,7 @@ controls {
|
||||
inet 10.53.0.9 port @CONTROLPORT@ allow { any; } keys { rndc_key; };
|
||||
};
|
||||
|
||||
remote-servers "ns8" port @PORT@ {
|
||||
parental-agents "ns8" port @PORT@ {
|
||||
10.53.0.8;
|
||||
};
|
||||
|
||||
|
||||
@@ -44,10 +44,6 @@ for db in zones/bad*.db; do
|
||||
zones/bad-dns-sd-reverse.db | zones/bad-svcb-servername.db)
|
||||
$CHECKZONE -k fail -i local 0.0.0.0.in-addr.arpa $db >test.out.$n 2>&1 || v=$?
|
||||
;;
|
||||
bad-cname-and*.db)
|
||||
$CHECKZONE -i local example $db >test.out.$n 2>&1 || v=$?
|
||||
grep "CNAME and other data" test.out.$n >/dev/null || ret=1
|
||||
;;
|
||||
*)
|
||||
$CHECKZONE -i local example $db >test.out.$n 2>&1 || v=$?
|
||||
;;
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad A 192.0.2.1
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A6 0 ::1
|
||||
bad WKS 10.0.0.1 tcp telnet ftp 0 1 2
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad AAAA ::1
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad BAD 65535 .
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad APL
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad ATMA +61200000000
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad ATMRELAY 0 0 0
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad AVC foo:bar
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad CAA 128 tbs "Unknown"
|
||||
bad CNAME @
|
||||
@@ -1,20 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad CDNSKEY 512 ( 255 1 AQMFD5raczCJHViKtLYhWGz8hMY
|
||||
9UGRuniJDBzC7w0aRyzWZriO6i2odGWWQVucZqKV
|
||||
sENW91IOW4vqudngPZsY3GvQ/xVA8/7pyFj6b7Esg
|
||||
a60zyGW6LFe9r8n6paHrlG5ojqf0BaqHT+8= )
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad CDS 30795 1 1 310D27F4D82C1FC2400704EA9939FE6E1CEA A3B9
|
||||
bad CNAME @
|
||||
@@ -1,20 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad CERT 65534 65535 254 (
|
||||
MxFcby9k/yvedMfQgKzhH5er0Mu/vILz45I
|
||||
kskceFGgiWCn/GxHhai6VAuHAoNUz4YoU1t
|
||||
VfSCSqQYn6//11U6Nld80jEeC8aTrO+KKmCaY= )
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad CSYNC 0 0 A NS AAAA
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad DHCID AAIBY2/AuCccgoJbsaxcQc9TUapptP69l OjxfNuVAA2kjEA=
|
||||
bad CNAME @
|
||||
@@ -1,19 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad DLV 30795 1 1 (
|
||||
310D27F4D82C1FC2400704EA9939FE6E1CEA
|
||||
A3B9 )
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad DNAME @
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad DOA 0 1 2 "" aHR0cHM6Ly93d3cuaXNjLm9yZy8=
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad EID 12 89 AB
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad EUI48 01-23-45-67-89-ab
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad EUI64 01-23-45-67-89-ab-cd-ef
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad GPOS -22.6882 116.8652 250.0
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad HINFO . .
|
||||
bad CNAME @
|
||||
@@ -1,19 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad HIP ( 2 200100107B1A74DF365639CC39F1D578
|
||||
AwEAAbdxyhNuSutc5EMzxTs9LBPCIkOFH8cIvM4p9+LrV4e19WzK00+CI6zBCQTdtWsuxKbWIy87UOoJTwkUs7lBu+Upr1gsNrut79ryra+bSRGQb1slImA8YVJyuIDsj7kwzG7jnERNqnWxZ48AWkskmdHaVDP4BcelrTI3rMXdXF5D
|
||||
rvs.example.com. )
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad HTTPS 0 example.net.
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad IPSECKEY 10 1 2 192.0.2.38 AQNRU3mG7TVTO2BkR47usntb102uFJtugbo6BSGvgqt4AQ==
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad ISDN isdn-address
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad KX 10 kcd
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad L32 10 1.2.3.4
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad L64 10 0014:4fff:ff20:ee64
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad LOC 60 9 N 24 39 E 10 20 2000 20
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad LP 10 example.net.
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad MD madname
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad MG mgmname
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad MINFO . .
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad MX 10 .
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad NAPTR 0 0 "" "" "" .
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad NID 10 0014:4fff:ff20:ee64
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad NIMLOC 12 89 AB
|
||||
bad CNAME @
|
||||
@@ -1,17 +0,0 @@
|
||||
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
|
||||
;
|
||||
; SPDX-License-Identifier: MPL-2.0
|
||||
;
|
||||
; This Source Code Form is subject to the terms of the Mozilla Public
|
||||
; License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
;
|
||||
; See the COPYRIGHT file distributed with this work for additional
|
||||
; information regarding copyright ownership.
|
||||
|
||||
$TTL 600
|
||||
@ SOA ns hostmaster 2011012708 3600 1200 604800 1200
|
||||
NS ns
|
||||
ns A 192.0.2.1
|
||||
bad NINFO "foo"
|
||||
bad CNAME @
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user