#!/usr/local/bin/perl

use blib;
use Time::localtime;
use AFS::KAS;
use AFS::KTC_PRINCIPAL;
use AFS::KTC_TOKEN;
use AFS::KTC_EKEY;
use AFS qw(checkafs);

die "Usage: user\n" if ($#ARGV != 0);

my $user       = AFS::KTC_PRINCIPAL->new(shift);
checkafs('principal new');
my $key        = AFS::KTC_EKEY->ReadPassword($user->name."'s Password:");
checkafs('read passwd');
my $kas        = AFS::KAS->AuthServerConn(AFS::KTC_TOKEN->nulltoken, &AFS::KA_AUTHENTICATION_SERVICE);
checkafs('server conn');
my $token = $kas->Authenticate($user->name, $user->instance, &AFS::KA_TICKET_GRANTING_SERVICE, $key, time, time+600);
checkafs('authenticate');

print " Token  startTime = ", &ctime($token->startTime), "\n";
print "          endTime = ", &ctime($token->endTime), "\n";
