|
|
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.