Always pass KRB5CCNAME to became. Though many vendors' sudo
configurations will retain it in the environment there is no guarantee
that will happen.
Canonicalise KRB5CCNAME which may sometimes be set to a file path
without the FILE: prefix, eg by krenew.
unalias kinit 2>/dev/null
if [ 1 = 0 -a -z "$OLDSOLARIS" -a -z "$OLDREDHAT" ]; then
if [ -t 0 ]; then
+ # Canonicalise the cache name.
+ if [ -n "$KRB5CCNAME" -a "${KRB5CCNAME##*:}" = "$KRB5CCNAME" ]; then
+ export KRB5CCNAME="FILE:$KRB5CCNAME"
+ fi
+
if [ ! "$SUDO_UID" ]; then
if klist -s 2>/dev/null; then
# We already have a ticket cache. Renew it.
if [ $kerberos = 1 ]; then
ccname=$(klist 2>/dev/null | sed -n 's/^Ticket cache: FILE://p')
if [ -f "$ccname" ]; then
+ echo >&3 "export KRB5CCNAME='$KRB5CCNAME'"
openssl=$(find_working openssl)
if [ -n "$openssl" ]; then
echo >&3 "KRB5OPENSSL='$openssl'"