|
|
1.1 root 1: /*
2: * $Source: /usr/src/kerberosIV/krb/RCS/get_request.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_get_request_c =
14: "$Header: /usr/src/kerberosIV/krb/RCS/get_request.c,v 4.8 90/06/25 20:56:06 kfall Exp $";
15: #endif /* lint */
16:
17: #include <mit-copyright.h>
18: #include <des.h>
19: #include <krb.h>
20: #include <prot.h>
21:
22: /*
23: * This procedure is obsolete. It is used in the kerberos_slave
24: * code for Version 3 tickets.
25: *
26: * This procedure sets s_name, and instance to point to
27: * the corresponding fields from tne nth request in the packet.
28: * it returns the lifetime requested. Garbage will be returned
29: * if there are less than n requests in the packet.
30: */
31:
32: get_request(pkt, n, s_name, instance)
33: KTEXT pkt; /* The packet itself */
34: int n; /* Which request do we want */
35: char **s_name; /* Service name to be filled in */
36: char **instance; /* Instance name to be filled in */
37: {
38: /* Go to the beginning of the request list */
39: char *ptr = (char *) pkt_a_realm(pkt) + 6 +
40: strlen((char *)pkt_a_realm(pkt));
41:
42: /* Read requests until we hit the right one */
43: while (n-- > 1) {
44: ptr++;
45: ptr += 1 + strlen(ptr);
46: ptr += 1 + strlen(ptr);
47: }
48:
49: /* Set the arguments to point to the right place */
50: *s_name = 1 + ptr;
51: *instance = 2 + ptr + strlen(*s_name);
52:
53: /* Return the requested lifetime */
54: return((int) *ptr);
55: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.