diff options
author | markm <markm@FreeBSD.org> | 2003-03-08 12:55:48 +0000 |
---|---|---|
committer | markm <markm@FreeBSD.org> | 2003-03-08 12:55:48 +0000 |
commit | 508deb59f881236ef37872f9bd311690d6f5a52f (patch) | |
tree | 5248199756c9c4bedc55a990ad63d4d2cb595d51 /crypto/kerberosIV/kuser/kinit.c | |
parent | 98c95b963a4c3a3fc5d30f7a902a7f28f001b2b8 (diff) | |
download | FreeBSD-src-508deb59f881236ef37872f9bd311690d6f5a52f.zip FreeBSD-src-508deb59f881236ef37872f9bd311690d6f5a52f.tar.gz |
KerberosIV deorbit sequence: Re-entry. Thank you, faithful friend.
Enjoy your retirement in ports.
Diffstat (limited to 'crypto/kerberosIV/kuser/kinit.c')
-rw-r--r-- | crypto/kerberosIV/kuser/kinit.c | 159 |
1 files changed, 0 insertions, 159 deletions
diff --git a/crypto/kerberosIV/kuser/kinit.c b/crypto/kerberosIV/kuser/kinit.c deleted file mode 100644 index 96c0e4f..0000000 --- a/crypto/kerberosIV/kuser/kinit.c +++ /dev/null @@ -1,159 +0,0 @@ -/* - * Copyright 1987, 1988 by the Massachusetts Institute of Technology. - * - * For copying and distribution information, please see the file - * <mit-copyright.h>. - * - * Routine to initialize user to Kerberos. Prompts optionally for - * user, instance and realm. Authenticates user and gets a ticket - * for the Kerberos ticket-granting service for future use. - * - * Options are: - * - * -i[instance] - * -r[realm] - * -v[erbose] - * -l[ifetime] - * -p - * - * $FreeBSD$ - */ - -#include "kuser_locl.h" - -RCSID("$Id: kinit.c,v 1.17 1997/12/12 04:48:44 assar Exp $"); - -#define LIFE DEFAULT_TKT_LIFE /* lifetime of ticket in 5-minute units */ -#define CHPASSLIFE 2 - -static void -get_input(char *s, int size, FILE *stream) -{ - char *p; - - if (fgets(s, size, stream) == NULL) - exit(1); - if ( (p = strchr(s, '\n')) != NULL) - *p = '\0'; -} - - -static void -usage(void) -{ - fprintf(stderr, "Usage: %s [-irvlp] [name]\n", __progname); - exit(1); -} - -int -main(int argc, char **argv) -{ - char aname[ANAME_SZ]; - char inst[INST_SZ]; - char realm[REALM_SZ]; - char buf[MaxHostNameLen]; - char name[MAX_K_NAME_SZ]; - char *username = NULL; - int iflag, rflag, vflag, lflag, pflag, lifetime, k_errno; - int i; - - set_progname (argv[0]); - - *inst = *realm = '\0'; - iflag = rflag = vflag = lflag = pflag = 0; - lifetime = LIFE; - - while (--argc) { - if ((*++argv)[0] != '-') { - if (username) - usage(); - username = *argv; - continue; - } - for (i = 1; (*argv)[i] != '\0'; i++) - switch ((*argv)[i]) { - case 'i': /* Instance */ - ++iflag; - continue; - case 'r': /* Realm */ - ++rflag; - continue; - case 'v': /* Verbose */ - ++vflag; - continue; - case 'l': - ++lflag; - continue; - case 'p': - ++pflag; /* chpass-tickets */ - lifetime = CHPASSLIFE; - break; - default: - usage(); - } - } - if (username && - (k_errno = kname_parse(aname, inst, realm, username)) != KSUCCESS) { - warnx("%s", krb_get_err_text(k_errno)); - iflag = rflag = 1; - username = NULL; - } - if (gethostname(buf, MaxHostNameLen)) - err(1, "gethostname failed"); - printf("%s (%s)\n", ORGANIZATION, buf); - if (username) { - printf("Kerberos Initialization for \"%s", aname); - if (*inst) - printf(".%s", inst); - if (*realm) - printf("@%s", realm); - printf("\"\n"); - } else { - printf("Kerberos Initialization\n"); - printf("Kerberos name: "); - get_input(name, sizeof(name), stdin); - if (!*name) - return 0; - if ((k_errno = kname_parse(aname, inst, realm, name)) != KSUCCESS ) - errx(1, "%s", krb_get_err_text(k_errno)); - } - /* optional instance */ - if (iflag) { - printf("Kerberos instance: "); - get_input(inst, sizeof(inst), stdin); - if (!k_isinst(inst)) - errx(1, "bad Kerberos instance format"); - } - if (rflag) { - printf("Kerberos realm: "); - get_input(realm, sizeof(realm), stdin); - if (!k_isrealm(realm)) - errx(1, "bad Kerberos realm format"); - } - if (lflag) { - printf("Kerberos ticket lifetime (minutes): "); - get_input(buf, sizeof(buf), stdin); - lifetime = atoi(buf); - if (lifetime < 5) - lifetime = 1; - else - lifetime = krb_time_to_life(0, lifetime*60); - /* This should be changed if the maximum ticket lifetime */ - /* changes */ - if (lifetime > 255) - lifetime = 255; - } - if (!*realm && krb_get_lrealm(realm, 1)) - errx(1, "krb_get_lrealm failed"); - k_errno = krb_get_pw_in_tkt(aname, inst, realm, - pflag ? PWSERV_NAME : - KRB_TICKET_GRANTING_TICKET, - pflag ? KADM_SINST : realm, - lifetime, 0); - if (vflag) { - printf("Kerberos realm %s:\n", realm); - printf("%s\n", krb_get_err_text(k_errno)); - } else if (k_errno) - errx(1, "%s", krb_get_err_text(k_errno)); - exit(0); -} |