1 /* This file is part of the Project Athena Zephyr Notification System.
2 * It contains source for the ZGetSender.c function.
4 * Created by: Robert French
7 * $Author: warmenhoven $
9 * Copyright (c) 1987, 1991 by the Massachusetts Institute of Technology.
10 * For copying and distribution information, see the file
18 static const char rcsid_ZGetSender_c
[] =
19 "$Id: ZGetSender.c 2096 2001-07-31 01:00:39Z warmenhoven $";
27 #ifdef ZEPHYR_USES_KERBEROS
28 char pname
[ANAME_SZ
], pinst
[INST_SZ
], prealm
[REALM_SZ
];
29 static char sender
[ANAME_SZ
+INST_SZ
+REALM_SZ
+3] = "";
31 static char sender
[128] = "";
34 /* Return it if already cached */
38 #ifdef ZEPHYR_USES_KERBEROS
39 if (krb_get_tf_fullname((char *)TKT_FILE
, pname
, pinst
, prealm
) == KSUCCESS
)
41 (void) sprintf(sender
, "%s%s%s@%s", pname
, (pinst
[0]?".":""),
47 /* XXX a uid_t is a u_short (now), but getpwuid
48 * wants an int. AARGH! */
49 pw
= getpwuid((int) getuid());
52 (void) sprintf(sender
, "%s@%s", pw
->pw_name
, __Zephyr_realm
);