--- loncom/auth/lonlogin.pm 2006/04/05 22:39:55 1.74
+++ loncom/auth/lonlogin.pm 2006/09/28 00:59:02 1.81
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Login Screen
#
-# $Id: lonlogin.pm,v 1.74 2006/04/05 22:39:55 albertel Exp $
+# $Id: lonlogin.pm,v 1.81 2006/09/28 00:59:02 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -37,12 +37,26 @@ use Apache::loncommon();
use Apache::lonauth();
use Apache::lonlocal;
use Apache::migrateuser();
+use lib '/home/httpd/lib/perl/';
+use LONCAPA;
+
+
+sub additional_machine_domains {
+ my @domains;
+ open(my $fh,"<".$Apache::lonnet::perlvar{'lonTabDir'}.'/expected_domains.tab');
+ while( my $line = <$fh>) {
+ $line =~ s/\s//g;
+ push(@domains,$line);
+ }
+ return @domains;
+}
sub handler {
my $r = shift;
&Apache::loncommon::get_unprocessed_cgi
- ($ENV{'QUERY_STRING'}.'&'.$env{'request.querystring'},
+ (join('&',$ENV{'QUERY_STRING'},$env{'request.querystring'},
+ $ENV{'REDIRECT_QUERY_STRING'}),
['interface','username','domain','firsturl','localpath','localres',
'token']);
@@ -126,7 +140,8 @@ ENDFAILED
$r->dir_config('lonIconsURL');
my $domain = $r->dir_config('lonDefDomain');
my $testdomain=(split(/\./,$ENV{'HTTP_HOST'}))[0];
- foreach my $posdom (&Apache::lonnet::current_machine_domains()) {
+ foreach my $posdom (&Apache::lonnet::current_machine_domains(),
+ &additional_machine_domains()) {
if (lc($posdom) eq lc($testdomain)) { $domain=$posdom; }
}
if (($env{'form.domain'}) &&
@@ -142,6 +157,7 @@ ENDFAILED
my $include = $r->dir_config('lonIncludes');
my $expire = $r->dir_config('lonExpire');
my $version = $r->dir_config('lonVersion');
+ my $host_name = $Apache::lonnet::hostname{$lonhost};
# --------------------------------------------- Default values for login fields
@@ -159,7 +175,7 @@ ENDFAILED
my $userloadpercent=&Apache::lonnet::userload();
# ------------------------------------------------------- Do the load balancing
- my $otherserver='http://'.$ENV{'SERVER_NAME'};
+ my $otherserver= &Apache::lonnet::absolute_url($host_name);
my $firsturl=
($env{'request.firsturl'}?$env{'request.firsturl'}:$env{'form.firsturl'});
# ---------------------------------------- Are we access server and overloaded?
@@ -608,7 +624,7 @@ sub contactdisplay {
}
if ($showhelpdesk) {
$contactblock .= ' '.$$lt{'helpdesk'}.'
';
- my $thisurl = &Apache::lonnet::escape('/adm/login');
+ my $thisurl = &escape('/adm/login');
$$helpdeskscript = <<"ENDSCRIPT";