--- loncom/auth/lonlogin.pm 2015/03/03 22:06:55 1.161 +++ loncom/auth/lonlogin.pm 2016/04/19 18:09:11 1.166 @@ -1,7 +1,7 @@ # The LearningOnline Network # Login Screen # -# $Id: lonlogin.pm,v 1.161 2015/03/03 22:06:55 raeburn Exp $ +# $Id: lonlogin.pm,v 1.166 2016/04/19 18:09:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -113,7 +113,10 @@ sub handler { my %sessiondata; if ($env{'form.iptoken'}) { %sessiondata = &Apache::lonnet::tmpget($env{'form.iptoken'}); - my $delete = &Apache::lonnet::tmpdel($env{'form.token'}); + unless ($sessiondata{'sessionserver'}) { + my $delete = &Apache::lonnet::tmpdel($env{'form.iptoken'}); + delete($env{'form.iptoken'}); + } } # ----------------------------------------------------------- Process Interface $env{'form.interface'}=~s/\W//g; @@ -223,6 +226,12 @@ sub handler { } $tokenextras .= '&symb='.&escape($env{'form.symb'}); } + if ($env{'form.iptoken'}) { + if (!$tokenextras) { + $tokenextras = '&&'; + } + $tokenextras .= '&iptoken='.&escape($env{'form.iptoken'}); + } my $logtoken=Apache::lonnet::reply( 'tmpput:'.$ukey.$lkey.'&'.$firsturl.$tokenextras, $lonhost); @@ -343,19 +352,12 @@ uextkey=this.document.client.elements.ue lextkey=this.document.client.elements.lextkey.value; initkeys(); -this.document.server.elements.upass0.value - =this.document.client.elements.upass$now.value.substr(0,15); -this.document.server.elements.upass1.value - =this.document.client.elements.upass$now.value.substr(15,15); -this.document.server.elements.upass2.value - =this.document.client.elements.upass$now.value.substr(30,15); - if(this.document.server.action.substr(0,5) === 'http:'){ - for (var idx in [1,2,3]){ - this.document.server.elements['upass' + idx].value = - crypted(this.document.server.elements['upass' + idx].value); - } -} + this.document.server.elements.upass0.value + =getCrypted(this.document.client.elements.upass$now.value); +} else { + this.document.server.elements.upass0.value + =this.document.client.elements.upass$now.value; this.document.client.elements.uname.value=''; this.document.client.elements.upass$now.value=''; @@ -386,9 +388,20 @@ ENDSCRIPT alink => "$alink", onload => 'javascript:enableInput();',); - my %defaultdomconf = &Apache::loncommon::get_domainconf($defdom); - my $headextra = $defaultdomconf{$defdom.'.login.headtag_'.$lonhost}; - my $headextra_exempt = $defaultdomconf{$domain.'.login.headtag_exempt_'.$lonhost}; + my ($lonhost_in_use,$headextra,$headextra_exempt,@hosts,%defaultdomconf); + @hosts = &Apache::lonnet::current_machine_ids(); + $lonhost_in_use = $lonhost; + if (@hosts > 1) { + foreach my $hostid (@hosts) { + if (&Apache::lonnet::host_domain($hostid) eq $defdom) { + $lonhost_in_use = $hostid; + last; + } + } + } + %defaultdomconf = &Apache::loncommon::get_domainconf($defdom); + $headextra = $defaultdomconf{$defdom.'.login.headtag_'.$lonhost_in_use}; + $headextra_exempt = $defaultdomconf{$domain.'.login.headtag_exempt_'.$lonhost_in_use}; if ($headextra) { my $omitextra; if ($headextra_exempt ne '') { @@ -400,7 +413,7 @@ ENDSCRIPT } unless ($omitextra) { my $confname = $defdom.'-domainconfig'; - if ($headextra =~ m{^\Q/res/$defdom/$confname/login/headtag/$lonhost/\E}) { + if ($headextra =~ m{^\Q/res/$defdom/$confname/login/headtag/$lonhost_in_use/\E}) { my $extra = &Apache::lonnet::getfile(&Apache::lonnet::filelocation("",$headextra)); unless ($extra eq '-1') { $js .= "\n".$extra."\n"; @@ -459,8 +472,6 @@ ENDSCRIPT - -