krb5 commit [krb5-1.17]: Eliminate qualname.plin

Greg Hudson <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.cvs
Message-ID <[email protected]>
https://github.com/krb5/krb5/commit/a0a13c7d8e601cc950422a8dcc898a812122946b
commit a0a13c7d8e601cc950422a8dcc898a812122946b
Author: Greg Hudson <[email protected]>
Date:   Tue Jul 30 23:59:27 2019 -0400

    Eliminate qualname.plin
    
    Rewriting the qualname Perl script to use getaddrinfo created an
    unchecked dependency on Perl 5.14.  Instead, remove the script and use
    the C program in tests/resolve for the kadmin and gssrpc test suites.
    
    (cherry picked from commit 2a852b1f3fb00c7d19f4dbfba76f5ff7ebccd2c7)

 src/kadmin/testing/scripts/Makefile.in         |    2 +-
 src/kadmin/testing/scripts/env-setup.shin      |    4 +++-
 src/kadmin/testing/scripts/init_db             |    6 ++----
 src/kadmin/testing/scripts/qualname.plin       |   20 --------------------
 src/kadmin/testing/scripts/start_servers       |    3 +--
 src/kadmin/testing/scripts/start_servers_local |    2 --
 src/lib/rpc/unit-test/lib/helpers.exp          |    2 +-
 src/lib/rpc/unit-test/rpc_test_setup.sh        |    5 +----
 8 files changed, 9 insertions(+), 35 deletions(-)

diff --git a/src/kadmin/testing/scripts/Makefile.in b/src/kadmin/testing/scripts/Makefile.in
index 8c0d236..4b3c75c 100644
--- a/src/kadmin/testing/scripts/Makefile.in
+++ b/src/kadmin/testing/scripts/Makefile.in
@@ -5,7 +5,7 @@ PERL_PATH=@PERL_PATH@
 .SUFFIXES: .plin .pl
 
 GEN_SCRIPTS = compare_dump.pl make-host-keytab.pl \
-	simple_dump.pl verify_xrunner_report.pl qualname.pl
+	simple_dump.pl verify_xrunner_report.pl
 
 all: env-setup.sh $(GEN_SCRIPTS)
 
diff --git a/src/kadmin/testing/scripts/env-setup.shin b/src/kadmin/testing/scripts/env-setup.shin
index c8d866f..273cf69 100755
--- a/src/kadmin/testing/scripts/env-setup.shin
+++ b/src/kadmin/testing/scripts/env-setup.shin
@@ -69,12 +69,14 @@ MAKE_KEYTAB=$TESTDIR/scripts/make-host-keytab.pl; export MAKE_KEYTAB
 LOCAL_MAKE_KEYTAB=$TESTDIR/scripts/make-host-keytab.pl
 export LOCAL_MAKE_KEYTAB
 SIMPLE_DUMP=$TESTDIR/scripts/simple_dump.pl; export SIMPLE_DUMP
-QUALNAME=$TESTDIR/scripts/qualname.pl; export QUALNAME
 TCLUTIL=$STESTDIR/tcl/util.t; export TCLUTIL
 BSDDB_DUMP=$TESTDIR/util/bsddb_dump; export BSDDB_DUMP
 CLNTTCL=$TESTDIR/util/kadm5_clnt_tcl; export CLNTTCL
 SRVTCL=$TESTDIR/util/kadm5_srv_tcl; export SRVTCL
 
+QUALNAME=`$BUILDTOP/tests/resolve/resolve -q | tr '[A-Z]' '[a-z]'`
+export QUALNAME
+
 KRB5_CONFIG=$K5ROOT/krb5.conf; export KRB5_CONFIG
 KRB5_KDC_PROFILE=$K5ROOT/kdc.conf; export KRB5_KDC_PROFILE
 KRB5_KTNAME=$K5ROOT/ovsec_adm.srvtab; export KRB5_KTNAME
diff --git a/src/kadmin/testing/scripts/init_db b/src/kadmin/testing/scripts/init_db
index cd71656..c41d290 100755
--- a/src/kadmin/testing/scripts/init_db
+++ b/src/kadmin/testing/scripts/init_db
@@ -77,11 +77,9 @@ fi
 # 	esac
 # done
 
-qualname=`$QUALNAME`
-
 sed -e "s/__REALM__/$REALM/g" -e "s#__K5ROOT__#$K5ROOT#g" \
-	-e "s/__KDCHOST__/$qualname/g" \
-	-e "s/__LOCALHOST__/$qualname/g" \
+	-e "s/__KDCHOST__/$QUALNAME/g" \
+	-e "s/__LOCALHOST__/$QUALNAME/g" \
 	-e "s#__MODDIR__#$MODDIR#g" \
 	< $STESTDIR/proto/krb5.conf.proto > $K5ROOT/krb5.conf
 sed -e "s/__REALM__/$REALM/g" -e "s#__K5ROOT__#$K5ROOT#g" \
diff --git a/src/kadmin/testing/scripts/qualname.plin b/src/kadmin/testing/scripts/qualname.plin
deleted file mode 100755
index ccc57e3..0000000
--- a/src/kadmin/testing/scripts/qualname.plin
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/perl
-use Socket qw(:addrinfo);
-use strict;
-
-my $hostname;
-if ($#ARGV == -1) {
-    chop($hostname = `hostname`);
-} else {
-    $hostname = $ARGV[0];
-}
-
-my ($gaerr, @addrs) = getaddrinfo($hostname, "", {flags => AI_CANONNAME});
-die "No such host: $hostname ($gaerr)" if $gaerr;
-my ($canonname, $addr) = ($addrs[0]->{canonname}, $addrs[0]->{addr});
-
-my ($gnerr, $name, $servicename) = getnameinfo($addr, NI_NAMEREQD);
-my $qualname = $gnerr ? $name : $name;
-
-$qualname =~ tr/A-Z/a-z/;	# lowercase our name for keytab use.
-print "$qualname\n";
diff --git a/src/kadmin/testing/scripts/start_servers b/src/kadmin/testing/scripts/start_servers
index 87bd52f..f23df06 100755
--- a/src/kadmin/testing/scripts/start_servers
+++ b/src/kadmin/testing/scripts/start_servers
@@ -35,10 +35,9 @@ fi
 if [ $local = 0 ]; then
 
 	# Fix up the local krb5.conf to point to the remote 
-	localname=`$QUALNAME`
 	sed -e "s/__REALM__/$REALM/g" -e "s#__K5ROOT__#$K5ROOT#g" \
 		-e "s/__KDCHOST__/$hostname/g" \
-		-e "s/__LOCALHOST__/$localname/g" \
+		-e "s/__LOCALHOST__/$QUALNAME/g" \
 		-e "s#__MODDIR__#$TOP/../plugins/kdb#g"\
 		-e "s#__PLUGIN_DIR__#$TOP/../plugins#g"\
 		< $STESTDIR/proto/krb5.conf.proto > $K5ROOT/krb5.conf
diff --git a/src/kadmin/testing/scripts/start_servers_local b/src/kadmin/testing/scripts/start_servers_local
index 0cbed46..f34444e 100755
--- a/src/kadmin/testing/scripts/start_servers_local
+++ b/src/kadmin/testing/scripts/start_servers_local
@@ -73,8 +73,6 @@ fi
 
 # allow admin to krlogin as root (for cleanup)
 DUMMY=${REALM=SECURE-TEST.OV.COM}; export REALM
-hostname=`hostname`
-QUALNAME=`$TOP/testing/scripts/qualname.pl $hostname`; export QUALNAME
 
 cat - > /tmp/start_servers_local$$ <<\EOF
 if { [catch {
diff --git a/src/lib/rpc/unit-test/lib/helpers.exp b/src/lib/rpc/unit-test/lib/helpers.exp
index a1b0783..a7f89f6 100644
--- a/src/lib/rpc/unit-test/lib/helpers.exp
+++ b/src/lib/rpc/unit-test/lib/helpers.exp
@@ -119,7 +119,7 @@ proc setup_database {} {
 }
 
 if ![info exists CANON_HOST] {
-    set CANON_HOST [exec $env(QUALNAME)]
+    set CANON_HOST $env(QUALNAME)
     setup_database
     file delete $env(RPC_TEST_SRVTAB)
     exec $env(MAKE_KEYTAB) -princ "server/$CANON_HOST" $env(RPC_TEST_SRVTAB)
diff --git a/src/lib/rpc/unit-test/rpc_test_setup.sh b/src/lib/rpc/unit-test/rpc_test_setup.sh
index 968f52a..d147a33 100755
--- a/src/lib/rpc/unit-test/rpc_test_setup.sh
+++ b/src/lib/rpc/unit-test/rpc_test_setup.sh
@@ -20,12 +20,9 @@ fi
 
 PATH=$TOP/install/admin:$PATH; export PATH
 
-CANON_HOST=`$QUALNAME`
-export CANON_HOST
-
 cat - > /tmp/rpc_test_setup$$ <<\EOF
 source $env(TCLUTIL)
-set h $env(CANON_HOST)
+set h $env(QUALNAME)
 puts stdout [kadm5_init admin admin $KADM5_ADMIN_SERVICE null $KADM5_STRUCT_VERSION $KADM5_API_VERSION_2 server_handle]
 if ![info exists server_handle] { exit 1 }
 puts stdout [kadm5_create_principal $server_handle [simple_principal server/$h] {KADM5_PRINCIPAL} admin]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.