--- loncom/lond 2001/10/23 04:38:45 1.53 +++ loncom/lond 2001/11/15 23:33:57 1.54 @@ -16,8 +16,11 @@ # 03/24 Gerd Kortemeyer # 04/02 Scott Harrison # 05/11,05/28,08/30 Gerd Kortemeyer -# 9/30,10/22 Scott Harrison +# 9/30,10/22,11/13,11/15 Scott Harrison # +# $Id: lond,v 1.54 2001/11/15 23:33:57 harris41 Exp $ +### + # based on "Perl Cookbook" ISBN 1-56592-243-3 # preforker - server who forks first # runs as a daemon @@ -453,6 +456,28 @@ sub make_new_child { $loadavg =~ s/\s.*//g; my $loadpercent=100*$loadavg/$perlvar{'lonLoadLim'}; print $client "$loadpercent\n"; +# ----------------------------------------------------------------- currentauth + } elsif ($userinput =~ /^currentauth/) { + if ($wasenc==1) { + my ($cmd,$udom,$uname)=split(/:/,$userinput); + my $proname=propath($udom,$uname); + my $passfilename="$proname/passwd"; + if (-e $passfilename) { + my $pf = IO::File->new($passfilename); + my $realpasswd=<$pf>; + chomp($realpasswd); + my ($howpwd,$contentpwd)=split(/:/,$realpasswd); + my $availablecontent=''; + if ($howpwd eq 'krb4') { + $availablecontent=$contentpwd; + } + print $client "$howpwd:$availablecontent\n"; + } else { + print $client "unknown_user\n"; + } + } else { + print $client "refused\n"; + } # ------------------------------------------------------------------------ auth } elsif ($userinput =~ /^auth/) { if ($wasenc==1) { @@ -591,13 +616,16 @@ sub make_new_child { { my $execpath="$perlvar{'lonDaemons'}/". "lcuseradd"; - my $se = IO::File->new("|$execpath"); - print $se "$uname\n"; - print $se "$npass\n"; - print $se "$npass\n"; + { + my $se = IO::File->new("|$execpath"); + print $se "$uname\n"; + print $se "$npass\n"; + print $se "$npass\n"; + } my $pf = IO::File->new(">$passfilename"); print $pf "unix:\n"; } + print $client "ok\n"; } elsif ($umode eq 'none') { { my $pf = IO::File->new(">$passfilename");