--- loncom/auth/lonauth.pm 2005/04/07 06:56:21 1.66 +++ loncom/auth/lonauth.pm 2005/07/05 21:30:14 1.68 @@ -1,7 +1,7 @@ # The LearningOnline Network # User Authentication Module # -# $Id: lonauth.pm,v 1.66 2005/04/07 06:56:21 albertel Exp $ +# $Id: lonauth.pm,v 1.68 2005/07/05 21:30:14 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -138,6 +138,9 @@ sub success { print $idf "request.role=cm\n"; print $idf "request.role.adv=$env{'user.adv'}\n"; print $idf "request.host=$ENV{'REMOTE_ADDR'}\n"; + if ($username eq 'public' && $domain eq 'public') { + print $idf "environment.remote=off\n"; + } if ($FORM{'interface'}) { $FORM{'interface'}=~s/\W//gs; print $idf "browser.interface=$FORM{'interface'}\n"; @@ -172,6 +175,9 @@ sub success { # ------------------------------------------------------------ Get cookie ready + if ($username eq 'public' && $domain eq 'public') { + return $cookie; + } $cookie="lonID=$cookie; path=/"; # -------------------------------------------------------- Menu script and info my $windowinfo=&Apache::lonmenu::open($clientos); @@ -340,7 +346,7 @@ ENDFAILED $FORM{$name}=$value; } - if ((!$FORM{'uname'}) || (!$FORM{'upass'}) || (!$FORM{'udom'})) { + if ((!$FORM{'uname'}) || (!$FORM{'upass0'}) || (!$FORM{'udom'})) { failed($r,'Username, password and domain need to be specified.'); return OK; } @@ -381,14 +387,17 @@ ENDFAILED else { $cipher=new DES $keybin; } + my $upass=''; + for (my $i=0;$i<=2;$i++) { + my $chunk= + $cipher->decrypt(unpack("a8",pack("H16",substr($FORM{'upass'.$i},0,16)))); - my $upass=$cipher->decrypt( - unpack("a8",pack("H16",substr($FORM{'upass'},0,16)))); + $chunk.= + $cipher->decrypt(unpack("a8",pack("H16",substr($FORM{'upass'.$i},16,16)))); - $upass.=$cipher->decrypt( - unpack("a8",pack("H16",substr($FORM{'upass'},16,16)))); - - $upass=substr($upass,1,ord(substr($upass,0,1))); + $chunk=substr($chunk,1,ord(substr($chunk,0,1))); + $upass.=$chunk; + } # ---------------------------------------------------------------- Authenticate my $authhost=Apache::lonnet::authenticate($FORM{'uname'},