1 /*
2 * $Source: /mit/kerberos/src/kuser/RCS/ksrvtgt.c,v $
3 * $Author: steiner $
4 *
5 * Copyright 1988 by the Massachusetts Institute of Technology.
6 *
7 * For copying and distribution information, please see the file
8 * <mit-copyright.h>.
9 *
10 * Get a ticket-granting-ticket given a service key file (srvtab)
11 * The lifetime is the shortest allowed [1 five-minute interval]
12 *
13 */
14
15 #include <stdio.h>
16 #include <kerberos/krb.h>
17 #include <kerberos/conf.h>
18
19 const char rcsid[] =
20 "$Header: ksrvtgt.c,v 4.2 89/01/13 18:05:19 steiner Exp $";
21
22 char realmbuf[REALM_SZ];
23 static char *realm = NULL;
24 static char *srvtab = NULL;
25 static char srvtabfile[] = KEYFILE;
26
main(argc,argv)27 main(argc,argv)
28 int argc;
29 char **argv;
30 {
31 register int code;
32 if (argc < 3 || argc > 5) {
33 fprintf(stderr, "Usage: %s name instance [[realm] srvtab]\n",
34 argv[0]);
35 exit(1);
36 }
37 if (argc == 5) {
38 realm = argv[3];
39 srvtab = argv[4];
40 }
41 else if (argc == 4)
42 srvtab = argv[3];
43
44 if(realm == NULL) {
45 if(krb_get_lrealm(realmbuf, 1) != KSUCCESS) {
46 fprintf(stderr, "Couldn't get local relm info.\n");
47 exit(1);
48 }
49 realm = realmbuf;
50 }
51
52 if(srvtab == NULL)
53 srvtab = srvtabfile;
54
55 code = krb_get_svc_in_tkt(argv[1], argv[2], realm,
56 "krbtgt", realm, 1, srvtab);
57 if (code != KSUCCESS)
58 fprintf(stderr, "%s\n", krb_err_txt[code]);
59 exit(code);
60 }
61