Implement timeout for krb5 ticket retrieval during VPN connections

This commit is contained in:
Raphael Dannecker 2025-10-06 13:11:04 +02:00
parent 61833201cb
commit b4caaf036d

View file

@ -13,12 +13,17 @@ if [[ "$CONNECTION_ID" = "VPN-Schule" ]]; then
# Exit if server is already mounted # Exit if server is already mounted
findmnt /srv/samba/schools/default-school > /dev/null && exit 0 findmnt /srv/samba/schools/default-school > /dev/null && exit 0
if ! klist -s -c "${KRB5CCNAME}"; then counter=1
while ! klist -s -c "${KRB5CCNAME}"; do
(( counter > 30 )) && exit 0
echo "KRB5-Ticket is expired. Sleep 1 seconds and hope it will be renewed after." >&2
# if (( counter == 10 )); then
# echo "try to renew KRB5-Ticket" >&2 # echo "try to renew KRB5-Ticket" >&2
# sudo -u "${USERNAME}" kinit -R -c "${KRB5CCNAME}" # sudo -u "${USERNAME}" kinit -R -c "${KRB5CCNAME}"
echo "KRB5-Ticket is expired. Sleep 3 seconds and hope it will be renewed after." >&2 # fi
sleep 3 sleep 1
fi ((counter++))
done
echo "prepare mountpoints" >&2 echo "prepare mountpoints" >&2
umask 0002 umask 0002