From: Rainer Toebbicke Date: Tue, 10 Jul 2007 21:30:57 +0000 (+0000) Subject: STABLE14-pagsh-krb5-20070710 X-Git-Tag: openafs-stable-1_4_5-pre1~64 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=b98f454eec335166bda3d3aaa444ffae498d63b3;p=packages%2Fo%2Fopenafs.git STABLE14-pagsh-krb5-20070710 FIXES 54621 clean up the environment (cherry picked from commit 73087bd4bea8a15032b6d3309940ff183804a99d) --- diff --git a/src/sys/pagsh.c b/src/sys/pagsh.c index fcdbcc186..87ab91de8 100644 --- a/src/sys/pagsh.c +++ b/src/sys/pagsh.c @@ -119,18 +119,22 @@ ktc_newpag(void) afs_uint32 pag; struct stat sbuf; char fname[256], *prefix = "/ticket/"; + char fname5[256], *prefix5 = "FILE:/ticket/krb5cc_"; int numenv; char **newenv, **senv, **denv; if (stat("/ticket", &sbuf) == -1) { prefix = "/tmp/tkt"; + prefix5 = "FILE:/tmp/krb5cc_"; } pag = curpag() & 0xffffffff; if (pag == -1) { sprintf(fname, "%s%d", prefix, getuid()); + sprintf(fname5, "%s%d", prefix5, getuid()); } else { sprintf(fname, "%sp%ld", prefix, pag); + sprintf(fname5, "%sp%ld", prefix5, pag); } /* ktc_set_tkt_string(fname); */ @@ -139,13 +143,18 @@ ktc_newpag(void) newenv = (char **)malloc((numenv + 2) * sizeof(char *)); for (senv = environ, denv = newenv; *senv; *senv++) { - if (strncmp(*senv, "KRBTKFILE=", 10) != 0) + if (strncmp(*senv, "KRBTKFILE=", 10) != 0 && + strncmp(*senv, "KRB5CCNAME=", 11) != 0) *denv++ = *senv; } - *denv = malloc(10 + strlen(fname) + 1); + *denv = malloc(10+11 + strlen(fname) + strlen(fname5) + 2); strcpy(*denv, "KRBTKFILE="); strcat(*denv, fname); + *(denv+1) = *denv + strlen(*denv) + 1; + denv++; + strcpy(*denv, "KRB5CCNAME="); + strcat(*denv, fname5); *++denv = 0; environ = newenv; }