#!/usr/local/bin/perl

require 'ctime.pl';

use AFS;

AFS::raise_exception(1);

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

$user = ktc_principal(shift);

$user->cell(localcell) if ($user ->cell eq'');

$key = ka_ReadPassword("Password:");

$kas = ka_AuthServerConn(ka_nulltoken, 
                   &AFS::KA_AUTHENTICATION_SERVICE,$user->cell);

$auth_token = $kas ->ka_Authenticate($user->name, $user->instance,
      &AFS::KA_TICKET_GRANTING_SERVICE,$key,time,time+600);

$kas = '';

$kas = ka_AuthServerConn($auth_token, 
                     &AFS::KA_TICKET_GRANTING_SERVICE, $user->cell);

$server = ktc_principal("afs","",$user->cell);

$token = $kas -> ka_GetToken($server->name,$server->instance,
                                        time,time+600, $auth_token);
setpag();

$pts = newpts(0,$user->cell);

#need some error checking here...

$id = $pts->id($user->name);
$user->name("AFS ID $id");

ktc_SetToken($server, $token, $user,0);

system "tokens";

