diff options
| author | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:10:16 +0100 |
|---|---|---|
| committer | Oliver Kiddle <opk@zsh.org> | 2025-01-27 23:34:59 +0100 |
| commit | 4e4274eda6012aead1f236502b163ba063bc465a (patch) | |
| tree | 6635dd84f2aff322e452a91dc8f5d67a8a2e434e /Completion/Linux/Command | |
| parent | 53326: completion updates for core Linux utils (diff) | |
| download | zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.gz zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.bz2 zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.lz zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.xz zsh-4e4274eda6012aead1f236502b163ba063bc465a.tar.zst zsh-4e4274eda6012aead1f236502b163ba063bc465a.zip | |
53328: completion options update
Diffstat (limited to 'Completion/Linux/Command')
| -rw-r--r-- | Completion/Linux/Command/_cpupower | 1 | ||||
| -rw-r--r-- | Completion/Linux/Command/_cryptsetup | 32 | ||||
| -rw-r--r-- | Completion/Linux/Command/_ethtool | 12 | ||||
| -rw-r--r-- | Completion/Linux/Command/_iptables | 166 | ||||
| -rw-r--r-- | Completion/Linux/Command/_selinux | 17 | ||||
| -rw-r--r-- | Completion/Linux/Command/_sshfs | 13 | ||||
| -rw-r--r-- | Completion/Linux/Command/_valgrind | 8 |
7 files changed, 227 insertions, 22 deletions
diff --git a/Completion/Linux/Command/_cpupower b/Completion/Linux/Command/_cpupower index d342b69d9..cb6f37fb0 100644 --- a/Completion/Linux/Command/_cpupower +++ b/Completion/Linux/Command/_cpupower @@ -20,7 +20,6 @@ cmds=( 'info:show global power parameters' 'set:set global power parameters' 'monitor:report frequency and idle statistics' - 'powercap-info:show powercapping related kernel and hardware configurations' 'help:print usage information' ) case $state in diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup index f7149a76f..897eb94f9 100644 --- a/Completion/Linux/Command/_cryptsetup +++ b/Completion/Linux/Command/_cryptsetup @@ -13,7 +13,7 @@ _arguments -s \ '(-y --verify-passphrase)'{-y,--verify-passphrase}'[query for password twice]' \ '(-d --key-file)'{-d+,--key-file=}'[set keyfile]:key file:_files' \ '--master-key-file=[set master key]:key file:_files' \ - '--dump-master-key[dump luks master key]' \ + '--dump-volume-key[dump volume key instead of keyslots info]' \ '(-s --key-size)'{-s+,--key-size=}'[set key size]:size (bits)' \ '(-l --keyfile-size)'{-l+,--keyfile-size=}'[set keyfile size]:size (bytes)' \ '--keyfile-offset=[specify number of bytes to skip in keyfile]:offset (bytes)' \ @@ -37,8 +37,35 @@ _arguments -s \ '--shared[share device with another non-overlapping crypt segment]' \ '--uuid=[set device UUID]:uuid' \ '--allow-discards[allow discard (aka TRIM) requests for device]' \ + '--cancel-deferred[cancel previously set deferred device removal]' \ + '--disable-blkid[disable blkid on-disk signature detection and wiping]' \ + '--disable-external-tokens[disable loading of external LUKS2 token plugins]' \ + "--disable-veracrypt[don't scan for VeraCrypt compatible device]" \ + '--dump-json-metadata[dump info in JSON format (LUKS2 only)]' \ + '--dump-volume-key[dump volume key instead of keyslots info]' \ + '--external-tokens-path=[specify path to directory with external token handlers (plugins)]:path:_directories' \ + '--force-offline-reencrypt[force offline LUKS2 reencryption and bypass active device detection]' \ '--header=[device or file with separated LUKS header]:file:_files' \ - '--test-passphrase[do not activate device, just check passphrase]' \ + '--hw-opal[use HW OPAL encryption together with SW encryption]' \ + '--hw-opal-factory-reset[wipe WHOLE OPAL disk on luksErase]' \ + '--hw-opal-only[use only HW OPAL encryption]' \ + '--keep-key[do not change volume key]' \ + '--link-vk-to-keyring=[set keyring where to link volume key]:string' \ + '--new-keyfile=[read the key for a new slot from a file]:file:_files' \ + '--new-key-slot=[specify slot number for new key]:slot [first free]' \ + '--new-token-id=[token number]:number [any]' \ + '--progress-json[print progress data in json format]' \ + "--test-args[don't run action, just validate all command line parameters]" \ + '--volume-key-file=[use the volume key from file]:file:_files' \ + '--volume-key-keyring=[use the specified keyring key as a volume key]:key' \ + '(-B --block-size)'{-B+,--block-size=}'[reencryption block size]:block size (MiB)' \ + '(-N --new)'{-N,--new}'[create new header on not encrypted device]' \ + '--use-directio[use direct-io when accessing devices]' \ + '--use-fsync[use fsync after each block]' \ + '--write-log[update log file after every block]' \ + "--test-passphrase[don't activate device, just check passphrase]" \ + '--token-replace[replace the current token]' \ + '--token-type=[restrict allowed token types used to retrieve LUKS2 key]:string' \ '--tcrypt-hidden[use hidden header (hidden TCRYPT device)]' \ '--tcrypt-system[device is system TCRYPT drive (with bootloader)]' \ '--tcrypt-backup[use backup (secondary) TCRYPT header]' \ @@ -118,6 +145,7 @@ case $state in 'luksDump:dump header information' 'tcryptDump:dump TCRYPT device information' 'bitlkDump:dump BITLK device information' + 'fvault2Dump:dump FVAULT2 device information' 'luksSuspend:suspend LUKS device and wipe key' 'luksResume:resume suspended LUKS device' 'luksHeaderBackup:store binary backup of headers' diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool index 3e3fc0b1d..8cff24e96 100644 --- a/Completion/Linux/Command/_ethtool +++ b/Completion/Linux/Command/_ethtool @@ -157,7 +157,7 @@ if [[ -n $state ]]; then _wanted files expl 'file' _files ;; rx-flow-hash) - _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} + _wanted flow-types expl 'flow type' compadd {tcp,udp,ah,esp,sctp}{4,6} gtp{c{4,6}{,t},u{4,6}{,e,u,d}} ;; rule) _message -e ids 'rule id' @@ -177,6 +177,9 @@ if [[ -n $state ]]; then hfunc) _message -e functions 'hash function' ;; + xfrm) + _wanted transformations expl transformation compadd symmetric-xor none + ;; flags) _message -e masks mask ;; @@ -186,6 +189,9 @@ if [[ -n $state ]]; then power-mode-policy) _wanted policies expl 'policy' compadd high auto ;; + tcp-data-split) + _wanted states expl state compadd auto on off + ;; *) case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in -a|--show-pause) @@ -209,7 +215,7 @@ if [[ -n $state ]]; then 'rx-mini[change number of ring entries for the RX Mini ring]' \ 'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \ 'tx[change number of ring entries for the TX ring]' \ - rx-buf-len cqe-size tx-push rx-push tx-push-buf-len + rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len ;; -d|--register-dump) _values -S ' ' -w 'option' \ @@ -306,7 +312,7 @@ if [[ -n $state ]]; then '(weight default)equal' \ '(equal default)weight' \ '(equal weight)default' \ - hkey hfunc delete + hkey hfunc xfrm delete ;; -f|--flash) if (( CURRENT == 4 )); then diff --git a/Completion/Linux/Command/_iptables b/Completion/Linux/Command/_iptables index 892c48710..0a901f0f2 100644 --- a/Completion/Linux/Command/_iptables +++ b/Completion/Linux/Command/_iptables @@ -128,6 +128,27 @@ while ) ;; comment) args+=( '--comment[add comment to rule]:comment' ) ;; + connbytes) + args+=( + '--connbytes:size (min\:[max])' + '--connbytes-dir:packets:(original reply both)' + '--connbytes-mode:mode:(packets bytes avgpkt)' + ) + ;; + connlabel) + args+=( + '--label[match if label name has been set on a connection]:label' + '--set[set label on connection]' + ) + ;; + connlimit) + args+=( + --connlimit-{upto,above}:connections + '--connlimit-mask:prefix length' + --connlimit-{s,d}addr + ) + ;; + connmark) args+=( --mark:value ) ;; conntrack) args+=( '--ctstate[match packet state]:state:->cfstates' @@ -136,18 +157,69 @@ while '--ctorigdst[match original destination address]:*^!:network:_hosts' '--ctreplsrc[match reply source address]:*^!:network:_hosts' '--ctrepldst[match reply destination address]:*^!:network:_hosts' + --ct{orig,repl}{src,dst}port':port:_ports' '--ctstatus[match internal conntrack states]:state:(NONE EXPECTED SEEN_REPLY ASSURED)' '--ctexpire[match remaining lifetime]:time' + '--ctdir:direction:(original reply)' + ) + ;; + cpu) args+=( --cpu:number ) ;; + dccp) + args+=( + --{s,d,source-,destination-}port:port:_ports + '--dccp-types:type:_sequence compadd - REQUEST RESPONSE DATA ACK DATAACK CLOSEREQ CLOSE RESET SYNC SYNCACK INVALID' + --dccp-option:option ) ;; + devgroup) args+=( --{src,dst}group:name ) ;; dscp) args+=( '--dscp[match DSCP field]:value' '--dscp-class[match the DiffServ class]:class' ) ;; + dst) args+=( --dst-len:length --dst-opts:type ) ;; + ecn) args+=( --ecn-{tcp-{cwr,ece},ip-ect} ) ;; esp) args+=( '--espspi[match SPIs in ESP header]:*^!:spi' ) ;; + frag) + args+=( + --fragid:id --fraglen:length + --frag{res,first,more,last} + ) + ;; + hashlimit) + args+=( + --hashlimit-{upto,above,burst}:amount + '--hashlimit-mode:object:_sequence compadd - srcip srcport dstip dstport' + --hashlimit-{src,dst}mask:prefix + --hashlimit-name:name + --hashlimit-htable-size:buckets + --hashlimit-htable-max:entries + --hashlimit-htable-{expire,gcinterval}:msec + --hashlimit-rate-match + --hashlimit-rate-intervale:sec + ) + ;; + hbh) args+=( --hbh-len:length --hbh-opts:type ) ;; helper) args+=( '--helper[match packets related to a conntrack-helper]:helper:(ftp)' ) ;; + hl) args+=( --hl-{eq,lt,gt}:value ) ;; + icmp) args+=( --icmp-type:type ) ;; + icmp6) args+=( --icmpv6-type:type ) ;; + iprange) args+=( --{src,dst}-range':IP range' ) ;; + ipv6header) + args+=( + --soft + '--header:header(hop dst route frag auth esp none prot)' + ) + ;; + ipvs) + args+=( + --ipvs --vproto:protocol --vaddr:address + --vport{,ctl}':port:_ports' + '--vdir:directory:(ORIGINAL REPLY)' + '--vmethod:method:(GATE IPIP MASQ)' + ) + ;; length) args+=( '--length[match packet length]:length' ) ;; limit) args+=( @@ -164,32 +236,120 @@ while '--ports[match where source and destination ports are equal]:ports:->port-list' ) ;; + nfacct) args+=( --nfacct-name:name ) ;; + osf) args+=( --genre:string --{ttl,log}:level ) ;; owner) args+=( '--uid-owner[match packet by user id of creating process]:user id' '--gid-owner[match packet by ggroup id of creating process]:group id' '--pid-owner[match packet by process id of creating process]:process id:_pids' '--sid-owner[match packet by session id of creating process]:session id' - '--cmd-owner[match packet by name of creating command]:command:_command_names -e' + --suppl-groups --socket-exists ) ;; physdev) args+=( '--physdev-in[specify bridge port via which packet is received]:name' '--physdev-out[specify bridge port via which packet is sent]:name' + --physdev-is-{in,out,bridged} ) ;; pkttype) args+=( '--pkt-type[match link-layer packet type]:type:(unicast broadcast multicast)' ) ;; + policy) + args+=( + '--dir:direction:(in out)' + '(--strict)--pol:policy:(none ipsec)' + '(--pol)--strict' + --reqid:id --spi:id + '--proto:encapsulation protocol:(ah esp ipcomp)' + '--mode:encapsulation mode:(tunnel transport)' + --tunnel-{src,dst}:addr --next + ) + ;; + quota) args+=( '--quota:quota (bytes)' ) ;; + rateest) + args+=( + --rateest-{delta,lt,gt,eq} + --rateest{,1,2}:name + --rateest-{bps,pps}{,1,2}:value + ) + ;; + realm) args+=( --realm:value ) ;; + recent) + args+=( + --name:name --r{source,dest} --mask:netmask + '(--rcheck --update --remove)--set' + '(--set --update --remove)--rcheck' + '(--set --rcheck --remove)--update' + '(--set --rcheck --update)--remove' + --seconds:seconds --reap --hitcount:hits --rttl + ) + ;; + rpfilter) args+=( --loose --validmark --accept-local --invert ) ;; + rt) + args+=( + --rt-type:type --rt-segsleft:number --rt-len:length + --rt-0-{res,not-strict} --rt-0-addrs:address + ) + ;; + sctp) + args+=( + --{s,d,source-,destination-}port:port:_ports + '--chunk-types:match type:(all any only):chunk type' + ) + ;; + set) + args+=( + '--match-set:set: :flag' + --return-nomatch --update-counters --update-subcounters + --{packet,byte}s-{eq,lt,gt}:value + ) + ;; + socket) args+=( --transparent --nowildcard --restore-skmark ) ;; state) args+=( '--state[match packet state]:state:->states' ) ;; + statistic) args+=( --mode:mode --{probability,every,packet}:value ) ;; + string) + args+=( + '--algo:strategy:(bm kmp)' + --{from,to}:offset + --{,hex}string:pattern + -icase + ) + ;; + tcp) + args+=( + --{s,d,source-,destination-}port:port:_ports + '--tcp-flags:mask:->tcp-flags:comp:->tcp-flags' + --syn --tcp-option:option + ) + ;; + tcpmss) args+=( --mss:value ) ;; + time) + args+=( + --date{start,stop}:date --time{start,stop}:time + --{month,week}days:day + --contiguous --kerneltz + ) + ;; tos) args+=( '--tos[match type of service field]:type of service:->tos' ) ;; - ttl) args+=( '--ttl[match type to live]:TTL value' ) ;; + ttl) args+=( '--ttl-'{eq,lt,gt}':TTL value' ) ;; + u32) args+=( '--u32:tests' ) ;; + udp) args+=( --{s,d,source-,destination-}port:port:_ports ) ;; esac done +if (( CURRENT > 2 )); then + if [[ $words[CURRENT-1] = (|\\)\! && ! -prefix - ]]; then + args+=( '*: :compadd -S "" - -' ) + else + args+=( '*:negation:(!)' ) + fi +fi + _arguments -C -s \ '(-)'{-h,--help}'[print program information]' \ '(-)'{-V,--version}'[print version information]' \ @@ -211,13 +371,13 @@ _arguments -C -s \ "($cmds -s --src --source)"{-s,--src,--source}'[specify source]:*^!:network:_sequence _hosts' \ "($cmds -d --dst --destination)"{-d,--dst,--destination}'[specify destination]:*^!:network:_sequence _hosts' \ "($cmds -j --jump)"{-j,--jump}'[specify rule target]:target:->targets' \ + "($cmds -g --goto)"{-g,--goto}'[jump to chain with no return]:target:->targets' \ "($cmds -i --in-interface)"{-i,--in-interface}'[specify interface via which packet is received]:*^!:interface:_net_interfaces' \ "($cmds -o --out-interface)"{-o,--out-interface}'[specify interface via which packet is to be sent]:*^!:interface:_net_interfaces' \ "($cmds -f --fragment)"{-f,--fragment}'[match second or further fragments only]' \ "($cmds -D --delete -c --set-counters)"{-c,--set-counters}'[initialise packet and byte counters]:packets: :bytes' \ '(-v --verbose)'{-v,--verbose}'[enable verbose output]' \ '(-w --wait)'{-w,--wait}'[specify maximum wait to acquire xtables lock before giving up]: :_numbers -u seconds -d 1 wait' \ - '(-W --wait-interval)'{-W,--wait-interval}'[specify wait time to try to acquire xtables lock]: :_numbers -u usecs -d "1 second" wait' \ '(-n --numeric)'{-n,--numeric}'[print IP addresses and port numbers in numeric format]' \ '(-x --exact)'{-x,--exact}'[expand numbers (display exact values)]' \ '--line-numbers[print line numbers when listing]' \ |
