}
break;
case 'f': /* fail */
- FULLCHECK("fail");
- lookup->servfail_stops = state;
+ switch (cmd[1]) {
+ case 'a':
+ FULLCHECK("fail");
+ lookup->servfail_stops = state;
+ break;
+ case 'u':
+ FULLCHECK("fuzztime");
+ lookup->fuzzing = state;
+ if (lookup->fuzzing) {
+ if (value == NULL) {
+ lookup->fuzztime = 0x622acce1;
+ break;
+ }
+ result = parse_uint(&num, value, 0xffffffff,
+ "fuzztime");
+ if (result != ISC_R_SUCCESS) {
+ warn("Couldn't parse fuzztime");
+ goto exit_or_usage;
+ }
+ lookup->fuzztime = num;
+ }
+ break;
+ default:
+ goto invalid_option;
+ }
break;
case 'h':
switch (cmd[1]) {
to not try the next server, which is the reverse of normal stub
resolver behavior.
+.. option:: +fuzztime[=value], +nofuzztime
+
+ This option allows the signing time to be specified when generating
+ signed messages. If a value is specified it is the seconds since
+ 00:00:00 January 1, 1970 UTC ignoring leap seconds. If no value
+ is specified 1646972129 (Fri 11 Mar 2022 04:15:29 UTC) is used.
+ The default is ``+nofuzztime`` and the current time is used.
+
.. option:: +header-only, +noheader-only
This option sends a query with a DNS header without a question section. The
looknew->done_as_is = lookold->done_as_is;
looknew->dscp = lookold->dscp;
looknew->rrcomments = lookold->rrcomments;
+ looknew->fuzzing = lookold->fuzzing;
+ looknew->fuzztime = lookold->fuzztime;
if (lookold->ecs_addr != NULL) {
size_t len = sizeof(isc_sockaddr_t);
check_result(result, "dns_message_setsig0key");
}
+ if (lookup->fuzzing) {
+ lookup->sendmsg->fuzzing = true;
+ lookup->sendmsg->fuzztime = lookup->fuzztime;
+ }
+
lookup->sendspace = isc_mem_get(mctx, COMMSIZE);
result = dns_compress_init(&cctx, -1, mctx);
isc_refcount_t references;
bool aaonly, adflag, badcookie, besteffort, cdflag, cleared, comments,
dns64prefix, dnssec, doing_xfr, done_as_is, ednsneg, expandaaaa,
- expire, header_only, identify, /*%< Append an "on server <foo>"
- message */
- identify_previous_line, /*% Prepend a "Nameserver <foo>:"
- message, with newline and tab */
+ expire, fuzzing, header_only, identify, /*%< Append an "on
+ server <foo>" message
+ */
+ identify_previous_line, /*% Prepend a "Nameserver <foo>:"
+ message, with newline and tab */
idnin, idnout, ignore, multiline, need_search, new_search,
noclass, nocrypto, nottl, ns_search_only, /*%< dig +nssearch,
host -C */
char *tls_key_file;
isc_tlsctx_cache_t *tls_ctx_cache;
};
+ isc_stdtime_t fuzztime;
};
/*% The dig_query structure */
.UNINDENT
.INDENT 0.0
.TP
+.B +fuzztime[=value], +nofuzztime
+This option allows the signing time to be specified when generating
+signed messages. If a value is specified it is the seconds since
+00:00:00 January 1, 1970 UTC ignoring leap seconds. If no value
+is specified 1646972129 (Fri 11 Mar 2022 04:15:29 UTC) is used.
+The default is \fB+nofuzztime\fP and the current time is used.
+.UNINDENT
+.INDENT 0.0
+.TP
.B +header\-only, +noheader\-only
This option sends a query with a DNS header without a question section. The
default is to add a question section. The query type and query name