git: 040b82dd7e04 - main - dns/register-dnsclient: use mktemp for KRB5CCNAME, destroy ticket on exit, quote vars
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 01 Nov 2026 21:51:30 UTC
The branch main has been updated by michaelo:
URL: https://cgit.FreeBSD.org/ports/commit/?id=040b82dd7e049d249d66137ca59d0220947a3427
commit 040b82dd7e049d249d66137ca59d0220947a3427
Author: Michael Osipov <michaelo@FreeBSD.org>
AuthorDate: 2026-11-01 21:14:51 +0000
Commit: Michael Osipov <michaelo@FreeBSD.org>
CommitDate: 2026-11-01 21:51:17 +0000
dns/register-dnsclient: use mktemp for KRB5CCNAME, destroy ticket on exit, quote vars
KRB5CCNAME was a predictable, fixed path (/tmp/krb5cc_$name), shared by
every invocation and never cleaned up; use mktemp to get a private,
per-run ccache and destroy it via kdestroy in clean_exit. Quote
$KRB5_CLIENT_PRINCIPAL and the tr arguments to avoid word-splitting/glob
expansion and fix the broken backslash-escaped tr "\"[:lower:]\""
quoting, which only worked by accident under sh.
Bump PORTVERSION.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
---
dns/register-dnsclient/Makefile | 2 +-
dns/register-dnsclient/files/register-dnsclient.in | 10 ++++++----
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dns/register-dnsclient/Makefile b/dns/register-dnsclient/Makefile
index fec4660ba51a..ff50bb044099 100644
--- a/dns/register-dnsclient/Makefile
+++ b/dns/register-dnsclient/Makefile
@@ -1,5 +1,5 @@
PORTNAME= register-dnsclient
-PORTVERSION= 20260101
+PORTVERSION= 20261101
CATEGORIES= dns
DISTFILES=
diff --git a/dns/register-dnsclient/files/register-dnsclient.in b/dns/register-dnsclient/files/register-dnsclient.in
index af2674d3aaef..65942ca0c8a3 100644
--- a/dns/register-dnsclient/files/register-dnsclient.in
+++ b/dns/register-dnsclient/files/register-dnsclient.in
@@ -13,6 +13,8 @@ fi
clean_exit() {
local rc=$1
+ [ -f "$KRB5CCNAME" ] && %%GSSAPIBASE%%/bin/kdestroy
+
if [ ! -t 1 ]
then
exec 1>&3 3>&-
@@ -32,16 +34,16 @@ clean_exit() {
fi
}
-export KRB5CCNAME=/tmp/krb5cc_$name
+export KRB5CCNAME="$(mktemp /tmp/krb5cc_${name}.XXXXXXXXXX)"
KRB5_CLIENT_PRINCIPAL="$(hostname -s)\$"
-%%GSSAPIBASE%%/bin/kinit -k $KRB5_CLIENT_PRINCIPAL
+%%GSSAPIBASE%%/bin/kinit -k "$KRB5_CLIENT_PRINCIPAL"
rc=$?
if [ $rc -ne 0 ]
then
- KRB5_CLIENT_PRINCIPAL="$(hostname -s | tr \"[:lower:]\" \"[:upper:]\")\$"
+ KRB5_CLIENT_PRINCIPAL="$(hostname -s | tr '[:lower:]' '[:upper:]')\$"
>&2 echo "$name: retrying with $KRB5_CLIENT_PRINCIPAL"
- %%GSSAPIBASE%%/bin/kinit -k $KRB5_CLIENT_PRINCIPAL
+ %%GSSAPIBASE%%/bin/kinit -k "$KRB5_CLIENT_PRINCIPAL"
rc=$?
if [ $rc -ne 0 ]
then