summaryrefslogtreecommitdiff
path: root/lib/ZGetSender.c
diff options
context:
space:
mode:
authorGravatar Richard Basch <probe@mit.edu>1993-11-20 22:11:08 +0000
committerGravatar Richard Basch <probe@mit.edu>1993-11-20 22:11:08 +0000
commit5512dea2ef67a0d11db03f0161a1b56fbeb8a741 (patch)
treefea2c835eb324004294b060f65cb35d8ba079e00 /lib/ZGetSender.c
parentb3f244ec2cad80f71388ef984f6aacc2844025c8 (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.c23
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);
}