|
|
1.1 ! root 1: /* ! 2: * $Source: /usr/src/kerberosIV/krb/RCS/get_svc_in_tkt.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_svc_in_tkt_c[] = ! 13: "$Header: /usr/src/kerberosIV/krb/RCS/get_svc_in_tkt.c,v 4.10 90/06/25 20:56:10 kfall Exp $"; ! 14: #endif /* lint */ ! 15: ! 16: #include <mit-copyright.h> ! 17: #include <des.h> ! 18: #include <krb.h> ! 19: #include <prot.h> ! 20: ! 21: #ifndef NULL ! 22: #define NULL 0 ! 23: #endif ! 24: ! 25: /* ! 26: * This file contains two routines: srvtab_to_key(), which gets ! 27: * a server's key from a srvtab file, and krb_get_svc_in_tkt() which ! 28: * gets an initial ticket for a server. ! 29: */ ! 30: ! 31: /* ! 32: * srvtab_to_key(): given a "srvtab" file (where the keys for the ! 33: * service on a host are stored), return the private key of the ! 34: * given service (user.instance@realm). ! 35: * ! 36: * srvtab_to_key() passes its arguments on to read_service_key(), ! 37: * plus one additional argument, the key version number. ! 38: * (Currently, the key version number is always 0; this value ! 39: * is treated as a wildcard by read_service_key().) ! 40: * ! 41: * If the "srvtab" argument is null, KEYFILE (defined in "krb.h") ! 42: * is passed in its place. ! 43: * ! 44: * It returns the return value of the read_service_key() call. ! 45: * The service key is placed in "key". ! 46: */ ! 47: ! 48: static int srvtab_to_key(user, instance, realm, srvtab, key) ! 49: char *user, *instance, *realm, *srvtab; ! 50: C_Block key; ! 51: { ! 52: if (!srvtab) ! 53: srvtab = KEYFILE; ! 54: ! 55: return(read_service_key(user, instance, realm, 0, srvtab, ! 56: (char *)key)); ! 57: } ! 58: ! 59: /* ! 60: * krb_get_svc_in_tkt() passes its arguments on to krb_get_in_tkt(), ! 61: * plus two additional arguments: a pointer to the srvtab_to_key() ! 62: * function to be used to get the key from the key file and a NULL ! 63: * for the decryption procedure indicating that krb_get_in_tkt should ! 64: * use the default method of decrypting the response from the KDC. ! 65: * ! 66: * It returns the return value of the krb_get_in_tkt() call. ! 67: */ ! 68: ! 69: krb_get_svc_in_tkt(user, instance, realm, service, sinstance, life, srvtab) ! 70: char *user, *instance, *realm, *service, *sinstance; ! 71: int life; ! 72: char *srvtab; ! 73: { ! 74: return(krb_get_in_tkt(user, instance, realm, service, sinstance, ! 75: life, srvtab_to_key, NULL, srvtab)); ! 76: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.