mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-10-03 20:20:56 +02:00
42570: new completion for drill and factor out DNS type completion
This commit is contained in:
parent
bdf09270be
commit
20a92b857e
4 changed files with 59 additions and 10 deletions
|
@ -1,5 +1,9 @@
|
|||
2018-03-30 Oliver Kiddle <okiddle@yahoo.co.uk>
|
||||
|
||||
* 42570: Completion/Unix/Command/_drill,
|
||||
Completion/Unix/Command/_dig, Completion/Unix/Type/_dns_types:
|
||||
new completion for drill and factor out DNS type completion
|
||||
|
||||
* 42560: Src/utils.c: silence sign-compare compiler warnings
|
||||
|
||||
* 42566: Completion/Unix/Command/_strings: new strings completion
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
#compdef dig
|
||||
|
||||
_dns_types() {
|
||||
local expl
|
||||
_description dns-types expl 'DNS type'
|
||||
compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z}' \
|
||||
ANY A AAAA AFSDB APL AXFR CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME \
|
||||
DNSKEY DS HIP HINFO IPSECKEY IXFR KEY KX LOC MX NAPTR NS NSEC NSEC3 \
|
||||
NSEC3PARAM OPT PTR RRSIG RP SIG SOA SPF SRV SSHFP TA TKEY TLSA TSIG TXT
|
||||
}
|
||||
|
||||
local curcontext="$curcontext" state line expl
|
||||
local -a alts args
|
||||
[[ -prefix + ]] && args=(
|
||||
|
@ -66,7 +57,7 @@ local -a alts args
|
|||
'*+'{no,}'besteffort[try to parse even malformed messages]'
|
||||
'*+'{no,}'dnssec[request DNSSEC records]'
|
||||
'*+'{no,}'sigchase[chase DNSSEC signature chains]'
|
||||
'*+trusted-key=[specify file conrtaing trusted kets]:file:_files'
|
||||
'*+trusted-key=[specify file containing trusted keys]:file:_files'
|
||||
'*+'{no,}'topdown[do DNSSEC validation in top down mode]'
|
||||
'*+'{no,}'nsid[include EDNS name server ID request in query]'
|
||||
'*+'{no,}'ttlid[display the TTL whening printing the record]'
|
||||
|
|
46
Completion/Unix/Command/_drill
Normal file
46
Completion/Unix/Command/_drill
Normal file
|
@ -0,0 +1,46 @@
|
|||
#compdef drill
|
||||
|
||||
local curcontext="$curcontext" ret=1
|
||||
local -a state line expl
|
||||
|
||||
_arguments -s -S -C \
|
||||
'-D[enable DNSSEC (DO bit)]' \
|
||||
'-T[trace from the root down]' \
|
||||
'-S[chase signature(s) to a known key]' \
|
||||
'-I[specify source address to query from]:source address' \
|
||||
'(-Q)-V+[specify verbosity]:number (0-5)' \
|
||||
'(-V)-Q[quiet mode (overrules -V)]' \
|
||||
'-f+[read packet from file and send it]:file:_files' \
|
||||
'-i+[read packet from file and print it]:file:_files' \
|
||||
'-w+[write answer packet to file]:file:_files' \
|
||||
'-q+[write query packet to file]:file:_files' \
|
||||
'(- *)-h[display usage information]' \
|
||||
'(- *)-v[display version information]' \
|
||||
'(-6)-4[stay on ipv4]' \
|
||||
'(-4)-6[stay on ipv6]' \
|
||||
'-a[fallback to EDNS0 and TCP if the answer is truncated]' \
|
||||
'-b+[specify buffer size (defaults to 512 b)]:size (bytes) [512]' \
|
||||
'-c+[use specified file for rescursive nameserver configuration]:file [/etc/resolv.conf]:_files' \
|
||||
'-k+[specify a file that contains a trusted DNSSEC key]:file:_files' \
|
||||
'*-o+[set/unset header bits]:mnemonic (uppercase sets, lower unsets):_sequence compadd - QR qr AA aa TC tc RD rd CD cd RA ra AD ad' \
|
||||
'-p+[use specified remote port number]:port:_ports' \
|
||||
'-s[show the DS RR for each key in a packet]' \
|
||||
'-x[do a reverse lookup]' \
|
||||
'-r+[use specified file as root servers hint file]:file:_files' \
|
||||
'-t[send the query with tcp]' '!(-t)-u' \
|
||||
'-d+[use specified domain as the start point for the trace]:domain' \
|
||||
'-y+[specify named base64 tsig key, and optional algorithm]:name\:key\:algorithm [hmac-md5.sig-alg.reg.int]' \
|
||||
"-z[don't randomize the nameservers before use]" \
|
||||
'*:args:->args' && ret=0
|
||||
|
||||
if [[ -n $state ]]; then
|
||||
if compset -P @; then
|
||||
_wanted hosts expl 'DNS server' _hosts && ret=0;
|
||||
else
|
||||
_alternative 'hosts:host:_hosts' \
|
||||
'types:query type:_dns_types' \
|
||||
'classes:query class:compadd -M "m:{a-z}={A-Z}" - IN CS CH HS' && ret=0
|
||||
fi
|
||||
fi
|
||||
|
||||
return ret
|
8
Completion/Unix/Type/_dns_types
Normal file
8
Completion/Unix/Type/_dns_types
Normal file
|
@ -0,0 +1,8 @@
|
|||
#autoload
|
||||
|
||||
local expl
|
||||
_description dns-types expl 'DNS type'
|
||||
compadd "$@" "$expl[@]" -M 'm:{a-z}={A-Z}' \
|
||||
ANY A AAAA AFSDB APL AXFR CAA CDNSKEY CDS CERT CNAME DHCID DLV DNAME \
|
||||
DNSKEY DS HIP HINFO IPSECKEY IXFR KEY KX LOC MX NAPTR NS NSEC NSEC3 \
|
||||
NSEC3PARAM OPT PTR RRSIG RP SIG SOA SPF SRV SSHFP TA TKEY TLSA TSIG TXT
|
Loading…
Reference in a new issue