diff options
author | Richard Basch <probe@mit.edu> | 1993-11-20 22:11:08 +0000 |
---|---|---|
committer | Richard Basch <probe@mit.edu> | 1993-11-20 22:11:08 +0000 |
commit | 5512dea2ef67a0d11db03f0161a1b56fbeb8a741 (patch) | |
tree | fea2c835eb324004294b060f65cb35d8ba079e00 /lib/ZGetSender.c | |
parent | b3f244ec2cad80f71388ef984f6aacc2844025c8 (diff) |
Look up the user's realm in the ticket file [marc]
Changed KERBEROS to Z_HaveKerberos
Diffstat (limited to 'lib/ZGetSender.c')
-rw-r--r-- | lib/ZGetSender.c | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/lib/ZGetSender.c b/lib/ZGetSender.c index 4cd9d92..cfe9f0f 100644 --- a/lib/ZGetSender.c +++ b/lib/ZGetSender.c @@ -18,7 +18,6 @@ static char rcsid_ZGetSender_c[] = #endif #include <zephyr/mit-copyright.h> - #include <zephyr/zephyr_internal.h> #include <pwd.h> @@ -28,8 +27,8 @@ uid_t getuid(); char *ZGetSender() { struct passwd *pw; -#ifdef KERBEROS - char pname[ANAME_SZ], pinst[INST_SZ]; +#ifdef Z_HaveKerberos + char pname[ANAME_SZ], pinst[INST_SZ], prealm[REALM_SZ]; static char sender[ANAME_SZ+INST_SZ+REALM_SZ+3] = ""; #else static char sender[128] = ""; @@ -39,16 +38,12 @@ char *ZGetSender() if (*sender) return (sender); -#ifdef KERBEROS - if (tf_init((char *)TKT_FILE, R_TKT_FIL) == KSUCCESS) { - if ((tf_get_pname(pname) == KSUCCESS) && - (tf_get_pinst(pinst) == KSUCCESS)) { - (void) sprintf(sender, "%s%s%s@%s", pname, (pinst[0]?".":""), - pinst, ZGetRealm ()); - tf_close(); - return (sender); - } - tf_close(); +#ifdef Z_HaveKerberos + if (krb_get_tf_fullname((char *)TKT_FILE, pname, pinst, prealm) == KSUCCESS) + { + (void) sprintf(sender, "%s%s%s@%s", pname, (pinst[0]?".":""), + pinst, prealm); + return (sender); } #endif @@ -57,6 +52,6 @@ char *ZGetSender() pw = getpwuid((int) getuid()); if (!pw) return ("unknown"); - (void) sprintf(sender, "%s@%s", pw->pw_name, ZGetRealm ()); + (void) sprintf(sender, "%s@%s", pw->pw_name, __Zephyr_realm); return (sender); } |