Annotation of 43BSDReno/kerberosIV/krb/get_tf_fullname.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * $Source: /usr/src/kerberosIV/krb/RCS/get_tf_fullname.c,v $
                      3:  * $Author: kfall $
                      4:  *
                      5:  * Copyright 1987, 1988 by the Massachusetts Institute of Technology.
                      6:  *
                      7:  * For copying and distribution information, please see the file
                      8:  * <mit-copyright.h>.
                      9:  */
                     10: 
                     11: #ifndef lint
                     12: static char rcsid_get_tf_fullname_c[] =
                     13: "$Id: get_tf_fullname.c,v 4.2 90/06/25 20:56:14 kfall Exp $";
                     14: #endif /* lint */
                     15: 
                     16: #include <mit-copyright.h>
                     17: #include <des.h>
                     18: #include <krb.h>
                     19: #include <strings.h>
                     20: 
                     21: /*
                     22:  * This file contains a routine to extract the fullname of a user
                     23:  * from the ticket file.
                     24:  */
                     25: 
                     26: /*
                     27:  * krb_get_tf_fullname() takes four arguments: the name of the 
                     28:  * ticket file, and variables for name, instance, and realm to be
                     29:  * returned in.  Since the realm of a ticket file is not really fully 
                     30:  * supported, the realm used will be that of the the first ticket in 
                     31:  * the file as this is the one that was obtained with a password by
                     32:  * krb_get_in_tkt().
                     33:  */
                     34: 
                     35: krb_get_tf_fullname(ticket_file, name, instance, realm)
                     36:   char *ticket_file;
                     37:   char *name;
                     38:   char *instance;
                     39:   char *realm;
                     40: {
                     41:     int tf_status;
                     42:     CREDENTIALS c;
                     43: 
                     44:     if ((tf_status = tf_init(ticket_file, R_TKT_FIL)) != KSUCCESS)
                     45:        return(tf_status);
                     46: 
                     47:     if (((tf_status = tf_get_pname(c.pname)) != KSUCCESS) ||
                     48:        ((tf_status = tf_get_pinst(c.pinst)) != KSUCCESS))
                     49:        return (tf_status);
                     50:     
                     51:     if (name)
                     52:        strcpy(name, c.pname);
                     53:     if (instance)
                     54:        strcpy(instance, c.pinst);
                     55:     if ((tf_status = tf_get_cred(&c)) == KSUCCESS) {
                     56:        if (realm)
                     57:            strcpy(realm, c.realm);
                     58:     }
                     59:     else
                     60:        return(tf_status);
                     61:     
                     62:     (void) tf_close();
                     63:     
                     64:     return(tf_status);
                     65: }

unix.superglobalmegacorp.com

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