|
|
1.1 root 1: /*
2: * $Source: /usr/src/kerberosIV/krb/RCS/kntoln.c,v $
3: * $Author: kfall $
4: *
5: * Copyright 1985, 1986, 1987, 1988 by the Massachusetts Institute
6: * of Technology.
7: *
8: * For copying and distribution information, please see the file
9: * <mit-copyright.h>.
10: */
11:
12: #ifndef lint
13: static char *rcsid_kntoln_c =
14: "$Header: /usr/src/kerberosIV/krb/RCS/kntoln.c,v 4.9 90/06/25 20:56:40 kfall Exp $";
15: #endif /* lint */
16:
17: #include <mit-copyright.h>
18: #include <des.h>
19: #include <krb.h>
20: #include <strings.h>
21:
22: /*
23: * krb_kntoln converts an auth name into a local name by looking up
24: * the auth name in the /etc/aname file. The format of the aname
25: * file is:
26: *
27: * +-----+-----+-----+-----+------+----------+-------+-------+
28: * | anl | inl | rll | lnl | name | instance | realm | lname |
29: * +-----+-----+-----+-----+------+----------+-------+-------+
30: * | 1by | 1by | 1by | 1by | name | instance | realm | lname |
31: * +-----+-----+-----+-----+------+----------+-------+-------+
32: *
33: * If the /etc/aname file can not be opened it will set the
34: * local name to the auth name. Thus, in this case it performs as
35: * the identity function.
36: *
37: * The name instance and realm are passed to krb_kntoln through
38: * the AUTH_DAT structure (ad).
39: *
40: * Now here's what it *really* does:
41: *
42: * Given a Kerberos name in an AUTH_DAT structure, check that the
43: * instance is null, and that the realm is the same as the local
44: * realm, and return the principal's name in "lname". Return
45: * KSUCCESS if all goes well, otherwise KFAILURE.
46: */
47:
48: krb_kntoln(ad,lname)
49: AUTH_DAT *ad;
50: char *lname;
51: {
52: static char lrealm[REALM_SZ] = "";
53:
54: if (!(*lrealm) && (krb_get_lrealm(lrealm,1) == KFAILURE))
55: return(KFAILURE);
56:
57: if (strcmp(ad->pinst,""))
58: return(KFAILURE);
59: if (strcmp(ad->prealm,lrealm))
60: return(KFAILURE);
61: (void) strcpy(lname,ad->pname);
62: return(KSUCCESS);
63: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.