diff options
author | csgr <csgr@FreeBSD.org> | 1994-09-30 14:50:09 +0000 |
---|---|---|
committer | csgr <csgr@FreeBSD.org> | 1994-09-30 14:50:09 +0000 |
commit | 105186eeeeb6aa85d5ff5818e8abf65e3912cb7d (patch) | |
tree | 785c4a61d39a776700a06b092960ec07c3629dd6 /eBones/ksrvtgt | |
parent | d011ad6fdacef9638bbc4bd1d25bae91e6f1515b (diff) | |
download | FreeBSD-src-105186eeeeb6aa85d5ff5818e8abf65e3912cb7d.zip FreeBSD-src-105186eeeeb6aa85d5ff5818e8abf65e3912cb7d.tar.gz |
Initial import of eBones.
(Including all changes for FreeBSD - importing the original eBones distribution
would be too complex at this stage, since I don't have access to Piero's
CVS.)
(If you want to include eBones in your system, don't forget to include
MAKE_EBONES in /etc/make.conf.)
(This stuff is now also suppable from braae.ru.ac.za.)
Bones originally from MIT SIPB.
Original port to FreeBSD 1.x by Piero Serini.
Moved to FreeBSD 2.0 by Doug Rabson and Geoff Rehmet.
Nice bug fixes from Doug Rabson.
Diffstat (limited to 'eBones/ksrvtgt')
-rw-r--r-- | eBones/ksrvtgt/Makefile | 11 | ||||
-rw-r--r-- | eBones/ksrvtgt/ksrvtgt.1 | 51 | ||||
-rw-r--r-- | eBones/ksrvtgt/ksrvtgt.c | 60 |
3 files changed, 122 insertions, 0 deletions
diff --git a/eBones/ksrvtgt/Makefile b/eBones/ksrvtgt/Makefile new file mode 100644 index 0000000..5e8944d --- /dev/null +++ b/eBones/ksrvtgt/Makefile @@ -0,0 +1,11 @@ +# From: @(#)Makefile 5.1 (Berkeley) 6/25/90 +# $Id: Makefile,v 1.2 1994/07/19 19:26:54 g89r4222 Exp $ + +PROG= ksrvtgt +CFLAGS+=-DKERBEROS -DDEBUG -I${.CURDIR}/../include +DPADD= ${LIBKRB} ${LIBDES} +LDADD= -L${KRBOBJDIR} -lkrb -L${DESOBJDIR} -ldes +BINDIR= /usr/bin +NOMAN= noman + +.include <bsd.prog.mk> diff --git a/eBones/ksrvtgt/ksrvtgt.1 b/eBones/ksrvtgt/ksrvtgt.1 new file mode 100644 index 0000000..25fd939 --- /dev/null +++ b/eBones/ksrvtgt/ksrvtgt.1 @@ -0,0 +1,51 @@ +.\" from: ksrvtgt.1,v 4.1 89/01/24 14:36:28 jtkohl Exp $ +.\" $Id: ksrvtgt.1,v 1.2 1994/07/19 19:27:52 g89r4222 Exp $ +.\" Copyright 1989 by the Massachusetts Institute of Technology. +.\" +.\" For copying and distribution information, +.\" please see the file <Copyright.MIT>. +.\" +.TH KSRVTGT 1 "Kerberos Version 4.0" "MIT Project Athena" +.SH NAME +ksrvtgt \- fetch and store Kerberos ticket-granting-ticket using a +service key +.SH SYNOPSIS +.B ksrvtgt +name instance [[realm] srvtab] +.SH DESCRIPTION +.I ksrvtgt +retrieves a ticket-granting ticket with a lifetime of five (5) minutes +for the principal +.I name.instance@realm +(or +.I name.instance@localrealm +if +.I realm +is not supplied on the command line), decrypts the response using +the service key found in +.I srvtab +(or in +.B /etc/srvtab +if +.I srvtab +is not specified on the command line), and stores the ticket in the +standard ticket cache. +.PP +This command is intended primarily for use in shell scripts and other +batch-type facilities. +.SH DIAGNOSTICS +"Generic kerberos failure (kfailure)" can indicate a whole range of +problems, the most common of which is the inability to read the service +key file. +.SH FILES +.TP 2i +/etc/krb.conf +to get the name of the local realm. +.TP +/tmp/tkt[uid] +The default ticket file. +.TP +/etc/srvtab +The default service key file. +.SH SEE ALSO +kerberos(1), kinit(1), kdestroy(1) diff --git a/eBones/ksrvtgt/ksrvtgt.c b/eBones/ksrvtgt/ksrvtgt.c new file mode 100644 index 0000000..46bbd56 --- /dev/null +++ b/eBones/ksrvtgt/ksrvtgt.c @@ -0,0 +1,60 @@ +/* + * Copyright 1988 by the Massachusetts Institute of Technology. + * For copying and distribution information, please see the file + * <Copyright.MIT>. + * + * Get a ticket-granting-ticket given a service key file (srvtab) + * The lifetime is the shortest allowed [1 five-minute interval] + * + * from: ksrvtgt.c,v 4.3 89/07/28 10:17:28 jtkohl Exp $ + * $Id: ksrvtgt.c,v 1.2 1994/07/19 19:26:56 g89r4222 Exp $ + */ + +#ifndef lint +const char rcsid[] = +"$Id: ksrvtgt.c,v 1.2 1994/07/19 19:26:56 g89r4222 Exp $"; +#endif /* lint */ + +#include <stdio.h> +#include <sys/param.h> +#include <krb.h> +#include <conf.h> + +main(argc,argv) + int argc; + char **argv; +{ + char realm[REALM_SZ + 1]; + register int code; + char srvtab[MAXPATHLEN + 1]; + + bzero(realm, sizeof(realm)); + bzero(srvtab, sizeof(srvtab)); + + if (argc < 3 || argc > 5) { + fprintf(stderr, "Usage: %s name instance [[realm] srvtab]\n", + argv[0]); + exit(1); + } + + if (argc == 4) + (void) strncpy(srvtab, argv[3], sizeof(srvtab) -1); + + if (argc == 5) { + (void) strncpy(realm, argv[3], sizeof(realm) - 1); + (void) strncpy(srvtab, argv[4], sizeof(srvtab) -1); + } + + if (srvtab[0] == 0) + (void) strcpy(srvtab, KEYFILE); + + if (realm[0] == 0) + if (krb_get_lrealm(realm) != KSUCCESS) + (void) strcpy(realm, KRB_REALM); + + code = krb_get_svc_in_tkt(argv[1], argv[2], realm, + "krbtgt", realm, 1, srvtab); + if (code) + fprintf(stderr, "%s\n", krb_err_txt[code]); + exit(code); +} |