+4929. [func] Add the ability to set RA and TC in queries made by
+ dig (+[no]raflag, +[no]tcflag). [GL #213]
+
4928. [func] The "dnskey-sig-validity" option allows
"sig-validity-interval" to be overriden for signatures
covering DNSKEY RRsets. [GL #145]
" +padding=### (Set padding block size [0])\n"
" +[no]qr (Print question before sending)\n"
" +[no]question (Control display of question section)\n"
+" +[no]raflag (Set RA flag in query (+[no]raflag))\n"
" +[no]rdflag (Recursive mode (+[no]recurse))\n"
" +[no]recurse (Recursive mode (+[no]rdflag))\n"
" +retry=### (Set number of UDP retries) [2]\n"
" +[no]split=## (Split hex/base64 fields into chunks)\n"
" +[no]stats (Control display of statistics)\n"
" +subnet=addr (Set edns-client-subnet option)\n"
+" +[no]tcflag (Set TC flag in query (+[no]tcflag))\n"
" +[no]tcp (TCP mode (+[no]vc))\n"
" +timeout=### (Set query timeout) [5]\n"
" +[no]trace (Trace delegation down from root [+dnssec])\n"
break;
case 'r':
switch (cmd[1]) {
+ case 'a': /* raflag */
+ FULLCHECK("raflag");
+ lookup->raflag = state;
+ break;
case 'd': /* rdflag */
FULLCHECK("rdflag");
lookup->recurse = state;
case 't':
switch (cmd[1]) {
case 'c': /* tcp */
- FULLCHECK("tcp");
- if (!is_batchfile) {
- lookup->tcp_mode = state;
- lookup->tcp_mode_set = ISC_TRUE;
+ switch (cmd[2]) {
+ case 'f':
+ FULLCHECK("tcflag");
+ lookup->tcflag = state;
+ break;
+ case 'p':
+ FULLCHECK("tcp");
+ if (!is_batchfile) {
+ lookup->tcp_mode = state;
+ lookup->tcp_mode_set = ISC_TRUE;
+ }
+ break;
+ default:
+ goto invalid_option;
}
break;
case 'i': /* timeout */
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>+[no]raflag</option></term>
+ <listitem>
+ <para>
+ Set [do not set] the RA (Recursion Available) bit in
+ the query. The default is +noraflag. This bit should
+ be ignored by the server for QUERY.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>+[no]rdflag</option></term>
<listitem>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><option>+[no]tcflag</option></term>
+ <listitem>
+ <para>
+ Set [do not set] the TC (TrunCation) bit in the query.
+ The default is +notcflag. This bit should be ignored
+ by the server for QUERY.
+ </para>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term><option>+[no]tcp</option></term>
<listitem>
looknew->aaonly = ISC_FALSE;
looknew->adflag = ISC_FALSE;
looknew->cdflag = ISC_FALSE;
+ looknew->raflag = ISC_FALSE;
+ looknew->tcflag = ISC_FALSE;
looknew->print_unknown_format = ISC_FALSE;
looknew->zflag = ISC_FALSE;
looknew->ns_search_only = ISC_FALSE;
looknew->aaonly = lookold->aaonly;
looknew->adflag = lookold->adflag;
looknew->cdflag = lookold->cdflag;
+ looknew->raflag = lookold->raflag;
+ looknew->tcflag = lookold->tcflag;
looknew->print_unknown_format = lookold->print_unknown_format;
looknew->zflag = lookold->zflag;
looknew->ns_search_only = lookold->ns_search_only;
lookup->sendmsg->flags |= DNS_MESSAGEFLAG_CD;
}
+ if (lookup->raflag) {
+ debug("RA query");
+ lookup->sendmsg->flags |= DNS_MESSAGEFLAG_RA;
+ }
+
+ if (lookup->tcflag) {
+ debug("TC query");
+ lookup->sendmsg->flags |= DNS_MESSAGEFLAG_TC;
+ }
+
if (lookup->zflag) {
debug("Z query");
lookup->sendmsg->flags |= 0x0040U;
aaonly,
adflag,
cdflag,
+ raflag,
+ tcflag,
zflag,
trace, /*% dig +trace */
trace_root, /*% initial query for either +trace or +nssearch */
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
+ n=`expr $n + 1`
echo_i "checking dig +header-only works ($n)"
ret=0
$DIG $DIGOPTS +tcp @10.53.0.3 +header-only example > dig.out.test$n || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=`expr $status + $ret`
+ n=`expr $n + 1`
+ echo_i "checking dig +raflag works ($n)"
+ ret=0
+ $DIG $DIGOPTS +tcp @10.53.0.3 +raflag +qr example > dig.out.test$n || ret=1
+ grep "^;; flags: rd ra ad; QUERY: 1, ANSWER: 0," < dig.out.test$n > /dev/null || ret=1
+ grep "^;; flags: qr rd ra; QUERY: 1, ANSWER: 0," < dig.out.test$n > /dev/null || ret=1
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=`expr $status + $ret`
+
+ n=`expr $n + 1`
+ echo_i "checking dig +tcflag works ($n)"
+ ret=0
+ $DIG $DIGOPTS +tcp @10.53.0.3 +tcflag +qr example > dig.out.test$n || ret=1
+ grep "^;; flags: tc rd ad; QUERY: 1, ANSWER: 0" < dig.out.test$n > /dev/null || ret=1
+ grep "^;; flags: qr rd ra; QUERY: 1, ANSWER: 0," < dig.out.test$n > /dev/null || ret=1
+ if [ $ret != 0 ]; then echo_i "failed"; fi
+ status=`expr $status + $ret`
+
n=`expr $n + 1`
echo_i "checking dig +header-only works (with class and type set) ($n)"
ret=0