Don't clobber the calling user's credentials cache in Kerberos test.
authorTom Lane <[email protected]>
Mon, 25 Jan 2021 19:53:13 +0000 (14:53 -0500)
committerTom Lane <[email protected]>
Mon, 25 Jan 2021 19:53:13 +0000 (14:53 -0500)
Embarrassing oversight in this test script, which fortunately is not
run by default.

Report and patch by Jacob Champion.

Discussion: https://postgr.es/m/1fcb175bafef6560f47a8c31229fa7c938486b8d[email protected]

src/test/kerberos/t/001_auth.pl

index 4b03ff561d53c3bff5b485924d60af643f05a91a..079321bbfc2954b8d6deb8d871072b744bd316dd 100644 (file)
@@ -68,6 +68,7 @@ my $realm    = 'EXAMPLE.COM';
 
 my $krb5_conf   = "${TestLib::tmp_check}/krb5.conf";
 my $kdc_conf    = "${TestLib::tmp_check}/kdc.conf";
+my $krb5_cache  = "${TestLib::tmp_check}/krb5cc";
 my $krb5_log    = "${TestLib::log_path}/krb5libs.log";
 my $kdc_log     = "${TestLib::log_path}/krb5kdc.log";
 my $kdc_port    = get_free_port();
@@ -139,8 +140,10 @@ $realm = {
 
 mkdir $kdc_datadir or die;
 
+# Ensure that we use test's config and cache files, not global ones.
 $ENV{'KRB5_CONFIG'}      = $krb5_conf;
 $ENV{'KRB5_KDC_PROFILE'} = $kdc_conf;
+$ENV{'KRB5CCNAME'}       = $krb5_cache;
 
 my $service_principal = "$ENV{with_krb_srvnam}/$host";