loses sometimes. Fixes [1151] in Moira.
#include <string.h>
#include <unistd.h>
+#include <krb.h>
+
RCSID("$Header$");
#define STARTCOL 0
int main(int argc, char *argv[])
{
void (*old_hook)(const char *, long, const char *, va_list);
- int use_menu = 1;
- char buf[BUFSIZ], *motd;
+ int use_menu = 1, k_errno;
+ char buf[BUFSIZ], pname[ANAME_SZ], *motd;
if ((whoami = strrchr(argv[0], '/')) == NULL)
whoami = argv[0];
current_li->modby = NULL;
current_li->modwith = NULL;
}
- if (!(username = getlogin()))
- username = getpwuid(getuid())->pw_name;
- username = username ? strdup(username) : "";
+
+ if ((k_errno = tf_init(TKT_FILE, R_TKT_FIL)) ||
+ (k_errno = tf_get_pname(pname)))
+ {
+ com_err(whoami, k_errno, "reading Kerberos ticket file");
+ exit(1);
+ }
+ tf_close();
+ username = pname;
printf("Connecting to database for %s...please hold on.\n", username);
#include <string.h>
#include <unistd.h>
+#include <krb.h>
+
RCSID("$Header$");
static void ErrorExit(char *buf, int status);
{
int status;
Menu *menu;
- char *motd, **arg;
+ char *motd, **arg, pname[ANAME_SZ];
struct sigaction act;
- if (!(user = getlogin()))
- user = getpwuid(getuid())->pw_name;
- user = (user && strlen(user)) ? strdup(user) : "";
+ if ((status = tf_init(TKT_FILE, R_TKT_FIL)) ||
+ (status = tf_get_pname(pname)))
+ {
+ com_err(whoami, status, "reading Kerberos ticket file");
+ exit(1);
+ }
+ tf_close();
+ user = pname;
if (!(program_name = strrchr(argv[0], '/')))
program_name = argv[0];
#include <string.h>
#include <unistd.h>
+#include <krb.h>
+
RCSID("$Header$");
int get_pobox(int argc, char **argv, void *callarg);
int main(int argc, char *argv[])
{
struct passwd *pwd;
- char *mrarg[3], buf[BUFSIZ];
+ char *mrarg[3], buf[BUFSIZ], pname[ANAME_SZ];
char *address, *uname, *machine, *motd;
uid_t u;
int c, setflag, prevpop, usageflag, status;
if (!uname)
{
- if (!(uname = getlogin()))
- usage();
-
- if (uname[0] == '\0')
+ if ((status = tf_init(TKT_FILE, R_TKT_FIL)) ||
+ (status = tf_get_pname(pname)))
{
- pwd = getpwuid(u);
- strcpy(uname, pwd->pw_name);
+ com_err(whoami, status, "reading Kerberos ticket file");
+ exit(1);
}
+ tf_close();
+ uname = pname;
}
mrarg[0] = uname;