--- loncom/lonnet/perl/lonnet.pm 2003/12/05 16:03:53 1.455 +++ loncom/lonnet/perl/lonnet.pm 2003/12/08 13:50:57 1.457 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.455 2003/12/05 16:03:53 albertel Exp $ +# $Id: lonnet.pm,v 1.457 2003/12/08 13:50:57 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -506,38 +506,16 @@ sub changepass { sub queryauthenticate { my ($uname,$udom)=@_; - if (($perlvar{'lonRole'} eq 'library') && - ($udom eq $perlvar{'lonDefDomain'})) { - my $answer=reply("encrypt:currentauth:$udom:$uname", - $perlvar{'lonHostID'}); - unless ($answer eq 'unknown_user' or $answer eq 'refused') { - if (length($answer)) { - return $answer; - } - else { - &logthis("User $uname at $udom lacks an authentication mechanism"); - return 'no_host'; - } - } - } - - my $tryserver; - foreach $tryserver (keys %libserv) { - if ($hostdom{$tryserver} eq $udom) { - my $answer=reply("encrypt:currentauth:$udom:$uname",$tryserver); - unless ($answer eq 'unknown_user' or $answer eq 'refused') { - if (length($answer)) { - return $answer; - } - else { - &logthis("User $uname at $udom lacks an authentication mechanism"); - return 'no_host'; - } - } - } + my $uhome=&homeserver($uname,$udom); + if (!$uhome) { + &logthis("User $uname at $udom is unknown when looking for authentication mechanism"); + return 'no_host'; + } + my $answer=reply("encrypt:currentauth:$udom:$uname",$uhome); + if ($answer =~ /^(unknown_user|refused|con_lost)/) { + &logthis("User $uname at $udom threw error $answer when checking authentication mechanism"); } - &logthis("User $uname at $udom lacks an authentication mechanism"); - return 'no_host'; + return $answer; } # --------- Try to authenticate user from domain's lib servers (first this one) @@ -3178,7 +3156,7 @@ sub modify_student_enrollment { } $chome=$ENV{'course.'.$cid.'.home'}; if (!$chome) { - my $chome=&homeserver($uname,$udom); + $chome=&homeserver($cnum,$cdom); } if (!$chome) { return 'unknown_course'; } # Make sure the user exists @@ -3210,7 +3188,7 @@ sub modify_student_enrollment { my $fullname = &Apache::loncoursedata::ProcessFullName($last,$gene, $first,$middle); my $value=&escape($uname.':'.$udom).'='. - &escape(join(':',$end,$start,$uid,$usec,$fullname,undef,$type)); + &escape(join(':',$end,$start,$uid,$usec,$fullname,$type)); my $reply=critical('put:'.$cdom.':'.$cnum.':classlist:'.$value,$chome); unless (($reply eq 'ok') || ($reply eq 'delayed')) { return 'error: '.$reply;