--- loncom/auth/lonauth.pm 2005/04/07 06:56:21 1.66 +++ loncom/auth/lonauth.pm 2005/06/07 02:14:28 1.67 @@ -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.67 2005/06/07 02:14:28 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -340,7 +340,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 +381,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'},