#!/usr/bin/perl

use Net::Sident qw( /IDENT_/ set_authtype set_authflag lookup query ) ; 

use Socket ; 

$| = 1 ; 

$timeout = 30 ; 

$status = set_authtype("KERBEROS_V4","/etc/leland/ident.srvtab");

($resp_port,$req_port,$id,$opsys,$charset,$status ) = 
    lookup(fileno(STDIN),$timeout) ; 

print "Responder port =$resp_port\n" ; 
print "Requester port =$req_port\n" ; 
print "Id =$id\n" ; 
print "Opsys =$opsys\n" ; 
print "Charset =$charset\n" ; 
print "Status code =$status\n" ; 

$theiraddr = getpeername(fileno( STDIN)) ; 
$theiraddr = getpeername(STDIN) ; 

($their_port,$their_ip) = sockaddr_in($theiraddr); 
$their_ip = inet_ntoa($their_ip); 
$myaddr  = getsockname(STDIN) ; 

($my_port,$my_ip) = sockaddr_in($myaddr); 
$my_ip = inet_ntoa($my_ip); 

($resp_port,$req_port,$id,$opsys,$charset,$status ) = 
    query($their_ip,$their_port,$my_ip,$my_port,$timeout) ; 


print "Responder port =$resp_port\n" ; 
print "Requester port =$req_port\n" ; 
print "Id =$id\n" ; 
print "Opsys =$opsys\n" ; 
print "Charset =$charset\n" ; 
print "Status code =$status\n" ; 

$status = set_authtype("GSSAPI", undef);

($resp_port,$req_port,$id,$opsys,$charset,$status ) = 
    query($their_ip,$their_port,$my_ip,$my_port,$timeout) ; 


print "Responder port =$resp_port\n" ; 
print "Requester port =$req_port\n" ; 
print "Id =$id\n" ; 
print "Opsys =$opsys\n" ; 
print "Charset =$charset\n" ; 
print "Status code =$status\n" ; 

exit ; 
