Annotation of 43BSDReno/kerberosIV/krb/kntoln.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.