--- loncom/lonnet/perl/lonnet.pm 2000/01/13 14:48:36 1.8 +++ loncom/lonnet/perl/lonnet.pm 2000/01/14 21:12:40 1.9 @@ -46,8 +46,8 @@ sub subreply { or return "con_lost"; print $client "$cmd\n"; my $answer=<$client>; - chomp($answer); if (!$answer) { $answer="con_lost"; } + chomp($answer); return $answer; } @@ -144,8 +144,10 @@ sub appenv { } for (my $i=0; $i<=$#oldenv; $i++) { chomp($oldenv[$i]); - my ($name,$value)=split(/=/,$oldenv[$i]); - $newenv{$name}=$value; + if ($oldenv[$i] ne '') { + my ($name,$value)=split(/=/,$oldenv[$i]); + $newenv{$name}=$value; + } } { my $fh; @@ -183,8 +185,14 @@ sub authenticate { ($udom eq $perlvar{'lonDefDomain'})) { my $answer=reply("encrypt:auth:$udom:$uname:$upass",$perlvar{'lonHostID'}); if ($answer =~ /authorized/) { - if ($answer eq 'authorized') { return $perlvar{'lonHostID'}; } - if ($answer eq 'non_authorized') { return 'no_host'; } + if ($answer eq 'authorized') { + &logthis("User $uname at $udom authorized by local server"); + return $perlvar{'lonHostID'}; + } + if ($answer eq 'non_authorized') { + &logthis("User $uname at $udom rejected by local server"); + return 'no_host'; + } } } @@ -193,10 +201,18 @@ sub authenticate { if ($hostdom{$tryserver} eq $udom) { my $answer=reply("enc:auth:$udom:$uname:$upass",$tryserver); if ($answer =~ /authorized/) { - if ($answer eq 'authorized') { return $tryserver; } + if ($answer eq 'authorized') { + &logthis("User $uname at $udom authorized by $tryserver"); + return $tryserver; + } + if ($answer eq 'non_authorized') { + &logthis("User $uname at $udom rejected by $tryserver"); + return 'no_host'; + } } } - } + } + &logthis("User $uname at $udom could not be authenticated"); return 'no_host'; } @@ -223,12 +239,10 @@ sub homeserver { # ----------------------------- Subscribe to a resource, return URL if possible sub subscribe { my $fname=shift; - &logthis($fname); my $author=$fname; $author=~s/\/home\/httpd\/html\/res\/([^\/]*)\/([^\/]*).*/$1\/$2/; my ($udom,$uname)=split(/\//,$author); my $home=homeserver($uname,$udom); - &logthis("$home $udom $uname"); if (($home eq 'no_host') || ($home eq $perlvar{'lonHostID'})) { return 'not_found'; } @@ -271,16 +285,29 @@ sub repcopy { if ($response->is_error()) { unlink($transname); my $message=$response->status_line; - $r->log_reason("LWP GET: $message",$filename); + &logthis("LWP GET: $message: $filename"); return HTTP_SERVICE_UNAVAILABLE; } else { rename($transname,$filename); - $r->filename($filename); return OK; } } } +# ----------------------------------------------------------------------- Store + +sub store { + my %storehash=shift; + my $command="store:$ENV{'user.domain'}:$ENV{'user.name'}:" + ."$ENV{'user.class'}:$ENV{'request.filename'}:"; +} + +# --------------------------------------------------------------------- Restore + +sub restore { + my $command="restore:$ENV{'user.domain'}:$ENV{'user.name'}:" + ."$ENV{'user.class'}:$ENV{'request.filename'}:"; +} # ================================================================ Main Program