From 5512dea2ef67a0d11db03f0161a1b56fbeb8a741 Mon Sep 17 00:00:00 2001 From: Richard Basch Date: Sat, 20 Nov 1993 22:11:08 +0000 Subject: Look up the user's realm in the ticket file [marc] Changed KERBEROS to Z_HaveKerberos --- lib/ZGetSender.c | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'lib/ZGetSender.c') 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 - #include #include @@ -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); } -- cgit v1.2.3