File:  [CSRG BSD Unix] / 43BSDReno / old / athena / ksrvtgt / ksrvtgt.c
Revision 1.1: download - view: text, annotated - select for diffs
Tue Apr 24 16:12:57 2018 UTC (8 years, 1 month ago) by root
CVS tags: MAIN, HEAD
Initial revision

/*
 * $Source: /var/lib/cvsd/repos/CSRG/43BSDReno/old/athena/ksrvtgt/ksrvtgt.c,v $
 * $Author: root $
 *
 * Copyright 1988 by the Massachusetts Institute of Technology. 
 *
 * For copying and distribution information, please see the file
 * <mit-copyright.h>. 
 *
 * Get a ticket-granting-ticket given a service key file (srvtab)
 * The lifetime is the shortest allowed [1 five-minute interval]
 *
 */

#include <stdio.h>
#include <kerberos/krb.h>
#include <kerberos/conf.h>

const char rcsid[] =
    "$Header: /var/lib/cvsd/repos/CSRG/43BSDReno/old/athena/ksrvtgt/ksrvtgt.c,v 1.1 2018/04/24 16:12:57 root Exp $";

char	realmbuf[REALM_SZ];
static	char *realm = NULL;
static	char *srvtab = NULL;
static	char srvtabfile[] = KEYFILE;

main(argc,argv)
	int argc;
	char **argv;
{
	register int code;
	if (argc < 3 || argc > 5) {
		fprintf(stderr, "Usage: %s name instance [[realm] srvtab]\n",
		argv[0]);
		exit(1);
	}
	if (argc == 5) {
		realm = argv[3];
		srvtab = argv[4];
	}
	else if (argc == 4)
		srvtab = argv[3];

	if(realm == NULL) {
		if(krb_get_lrealm(realmbuf, 1) != KSUCCESS) {
			fprintf(stderr, "Couldn't get local relm info.\n");
			exit(1);
		}
		realm = realmbuf;
	}

	if(srvtab == NULL)
		srvtab = srvtabfile;

	code = krb_get_svc_in_tkt(argv[1], argv[2], realm,
			      "krbtgt", realm, 1, srvtab);
	if (code != KSUCCESS)
		fprintf(stderr, "%s\n", krb_err_txt[code]);
	exit(code);
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.