/etc/bash_completion.d/heimdal is in bash-completion 1:1.3-1ubuntu8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 | # bash completion for heimdal
have ktutil && {
_heimdal_principals()
{
COMPREPLY=( $( compgen -W "$( kadmin -l dump 2>/dev/null | \
awk '{print $1}' )" -- "$cur" ) )
}
_heimdal_realms()
{
COMPREPLY=( $( compgen -W "( kadmin -l dump 2>/dev/null | \
awk '{print $1}' | awk -F@ '{print $2}' )" -- "$cur" ) )
}
_heimdal_encodings()
{
COMPREPLY=( $( compgen -W 'des-cbc-mcrc des-cbc-md4 des-cbc-md5 \
des3-cbc-sha1 arcfour-hmac-md5 aes128-cts-hmac-sha1-96 \
aes256-cts-hmac-sha1-96' -- "$cur" ) )
}
_ktutil()
{
local cur prev command options split=false
COMPREPLY=()
_get_comp_words_by_ref cur prev
_split_longopt && split=true
case $prev in
-p|--principal)
_heimdal_principals
return 0
;;
-e|--enctype)
_heimdal_encodings
return 0
;;
-a|--admin-server)
_known_hosts_real "$cur"
return 0
;;
-r|--realm)
_heimdal_realms
return 0
;;
-s|-k|--srvtab|--keytab)
_filedir
return 0
;;
esac
$split && return 0
commands='add change copy get list remove rename purge srvconvert \
srv2keytab srvcreate key2srvtab'
for (( i=1; i < COMP_CWORD; i++ )); do
case ${COMP_WORDS[i]} in
-k|--keytab)
i=$(($i+1))
;;
-*)
;;
*)
command=${COMP_WORDS[i]}
break
;;
esac
done
if [[ "$cur" == -* ]]; then
case $command in
add)
options='-p --principal -V -e --enctype -w --password -r \
--random -s --no-salt -h --hex'
;;
change)
options='-r --realm -a --admin-server -s --server-port'
;;
get)
options='-p --principal -e --enctype -r --realm -a \
--admin-server -s server --server-port'
;;
list)
options='--keys --timestamp'
;;
remove)
options='-p --principal -V --kvno -e --enctype'
;;
purge)
options='--age'
;;
srv2keytab|key2srvtab)
options='-s --srvtab'
;;
*)
options='-k --keytab -v --verbose --version -v --help'
;;
esac
COMPREPLY=( $( compgen -W "$options" -- "$cur" ) )
else
case $command in
copy)
_filedir
;;
get)
_heimdal_principals
;;
rename)
_heimdal_principals
;;
*)
COMPREPLY=( $( compgen -W "$commands" -- "$cur" ) )
;;
esac
fi
}
complete -F _ktutil ktutil
}
# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh
|