]> andersk Git - moira.git/blame - incremental/ksrvtgt.c
New database and column names for Moira2.
[moira.git] / incremental / ksrvtgt.c
CommitLineData
af85f541 1/*
2 * $Source$
3 * $Author$
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)
3ec7ac1b 11 * Modifed from the regular kerberos distribution in that it accepts
12 * the lifetime of the ticket as an command-line argument.
af85f541 13 *
14 */
15
16#include <stdio.h>
17#include <sys/param.h>
18#include <krb.h>
dead7a4c 19/*#include <conf.h>*/
af85f541 20
dead7a4c 21char rcsid[] =
af85f541 22 "$Header$";
23
dead7a4c 24
25void usage(argv)
26char **argv;
27{
28 fprintf(stderr,
29 "Usage: %s name instance [-r realm] [-s srvtab] [-l lifetime]\n",
30 argv[0]);
31 exit(1);
32}
33
34
af85f541 35main(argc,argv)
36 int argc;
37 char **argv;
38{
39 char realm[REALM_SZ + 1];
40 register int code;
dead7a4c 41 int i, lifetime = 1;
af85f541 42 char srvtab[MAXPATHLEN + 1];
43
44 bzero(realm, sizeof(realm));
45 bzero(srvtab, sizeof(srvtab));
46
dead7a4c 47 if (argc < 3)
48 usage(argv);
49
50 for (i = 3; i < argc; i++) {
51 if (argv[i][0] != '-')
52 usage(argv);
53 switch (argv[i][1]) {
54 case 'r':
55 if (i + 1 >= argc)
56 usage(argv);
57 strncpy(realm, argv[i++ + 1], sizeof(realm) - 1);
58 break;
59 case 's':
60 if (i + 1 >= argc)
61 usage(argv);
62 strncpy(srvtab, argv[i++ + 1], sizeof(srvtab) - 1);
63 break;
64 case 'l':
65 if (i + 1 >= argc)
66 usage(argv);
67 lifetime = atoi(argv[i++ + 1]);
68 if (lifetime < 5)
69 lifetime = 1;
70 else
71 lifetime /= 5;
72 if (lifetime > 255)
73 lifetime = 255;
74 break;
75 default:
76 usage();
77 }
af85f541 78 }
79
80 if (srvtab[0] == 0)
81 (void) strcpy(srvtab, KEYFILE);
82
83 if (realm[0] == 0)
dead7a4c 84 if (krb_get_lrealm(realm, 1) != KSUCCESS)
af85f541 85 (void) strcpy(realm, KRB_REALM);
86
87 code = krb_get_svc_in_tkt(argv[1], argv[2], realm,
dead7a4c 88 "krbtgt", realm, lifetime, srvtab);
af85f541 89 if (code)
90 fprintf(stderr, "%s\n", krb_err_txt[code]);
91 exit(code);
92}
dead7a4c 93
This page took 0.060383 seconds and 5 git commands to generate.