New function `k_afsklog_uid'.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@934 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1996-11-04 21:50:45 +00:00
parent 0c15f80285
commit b88b39d799

View File

@@ -254,7 +254,7 @@ aix_setup(void)
*/ */
static static
int int
k_afslog_file(char *file, char *krealm) k_afslog_file(char *file, char *krealm, uid_t uid)
{ {
FILE *f; FILE *f;
char cell[64]; char cell[64];
@@ -266,7 +266,7 @@ k_afslog_file(char *file, char *krealm)
char *nl = strchr(cell, '\n'); char *nl = strchr(cell, '\n');
if (nl) if (nl)
*nl = 0; *nl = 0;
err = k_afsklog(cell, krealm); err = k_afsklog_uid(cell, krealm, uid);
} }
fclose(f); fclose(f);
return err; return err;
@@ -274,24 +274,24 @@ k_afslog_file(char *file, char *krealm)
static static
int int
k_afsklog_all_local_cells(char *krealm) k_afsklog_all_local_cells(char *krealm, uid_t uid)
{ {
int err = KFAILURE; int err = KFAILURE;
char *p, home[MaxPathLen]; char *p, home[MaxPathLen];
if ((p = getenv("HOME"))) { if ((p = getenv("HOME"))) {
sprintf(home, "%s/.TheseCells", p); sprintf(home, "%s/.TheseCells", p);
err = k_afslog_file(home, krealm); err = k_afslog_file(home, krealm, uid);
} }
if(k_afslog_file(_PATH_THESECELLS, krealm) == 0) if(k_afslog_file(_PATH_THESECELLS, krealm, uid) == 0)
err = 0; err = 0;
if(k_afslog_file(_PATH_THISCELL, krealm) == 0) if(k_afslog_file(_PATH_THISCELL, krealm, uid) == 0)
err = 0; err = 0;
return err; return err;
} }
int int
k_afsklog(char *cell, char *krealm) k_afsklog_uid(char *cell, char *krealm, uid_t uid)
{ {
int k_errno; int k_errno;
CREDENTIALS c; CREDENTIALS c;
@@ -302,7 +302,7 @@ k_afsklog(char *cell, char *krealm)
char CELL[64]; char CELL[64];
if (cell == 0 || cell[0] == 0) if (cell == 0 || cell[0] == 0)
return k_afsklog_all_local_cells (krealm); return k_afsklog_all_local_cells (krealm, uid);
foldup(CELL, cell); foldup(CELL, cell);
vl_realm = realm_of_cell(cell); vl_realm = realm_of_cell(cell);
@@ -378,7 +378,7 @@ k_afsklog(char *cell, char *krealm)
*/ */
ct.AuthHandle = c.kvno; ct.AuthHandle = c.kvno;
memcpy (ct.HandShakeKey, c.session, sizeof(c.session)); memcpy (ct.HandShakeKey, c.session, sizeof(c.session));
ct.ViceId = getuid(); /* is this always valid? */ ct.ViceId = uid; /* is this always valid? */
ct.BeginTimestamp = 1 + c.issue_date; ct.BeginTimestamp = 1 + c.issue_date;
ct.EndTimestamp = krb_life_to_time(c.issue_date, c.lifetime); ct.EndTimestamp = krb_life_to_time(c.issue_date, c.lifetime);
@@ -425,6 +425,13 @@ k_afsklog(char *cell, char *krealm)
return k_errno; return k_errno;
} }
int
k_afsklog(char *cell, char *krealm)
{
return k_afsklog_uid (cell, krealm, getuid());
}
#define NO_ENTRY_POINT 0 #define NO_ENTRY_POINT 0
#define SINGLE_ENTRY_POINT 1 #define SINGLE_ENTRY_POINT 1
#define MULTIPLE_ENTRY_POINT 2 #define MULTIPLE_ENTRY_POINT 2