--- loncom/auth/migrateuser.pm 2020/10/22 19:23:22 1.48 +++ loncom/auth/migrateuser.pm 2020/12/18 15:23:03 1.49 @@ -1,7 +1,7 @@ # The LearningOnline Network # Starts a user off based of an existing token. # -# $Id: migrateuser.pm,v 1.48 2020/10/22 19:23:22 raeburn Exp $ +# $Id: migrateuser.pm,v 1.49 2020/12/18 15:23:03 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -319,10 +319,11 @@ sub logout { } my %temp=('logout' => time); &Apache::lonnet::put('email_status',\%temp); + my $ip = &Apache::lonnet::get_requestor_ip(); &Apache::lonnet::log($env{'user.domain'}, $env{'user.name'}, $env{'user.home'}, - "Logout $ENV{'REMOTE_ADDR'}"); + "Logout $ip"); &Apache::loncommon::content_type($r,'text/html'); @@ -345,7 +346,7 @@ sub logout { } my $lonhost = $r->dir_config('lonHostID'); if (ref($data) eq 'HASH') { - %user_info=('ip' => $ENV{'REMOTE_ADDR'}, + %user_info=('ip' => $ip, 'domain' => $data->{'domain'}, 'username' => $data->{'username'}, 'home' => $data->{'home'}, @@ -541,7 +542,7 @@ sub do_server_switch { } sub log_switch { - my ($r,$data,$lti_env) = @_; + my ($r,$data,$lti_env,$ip) = @_; my $lonhost = $r->dir_config('lonHostID'); return unless ((ref($data) eq 'HASH') && (ref($lti_env) eq 'HASH')); my $now = time; @@ -557,7 +558,7 @@ sub log_switch { } else { $logmsg .= " (no role)"; } - $logmsg .= ' '.$ENV{'REMOTE_ADDR'}; + $logmsg .= ' '.$ip; &Apache::lonnet::log($data->{'domain'},$data->{'username'},$data->{'home'},$logmsg); } @@ -587,9 +588,10 @@ sub handler { } my ($home,@ids); @ids=&Apache::lonnet::current_machine_ids(); - if ($data{'ip'} ne $ENV{'REMOTE_ADDR'}) { + my $ip = &Apache::lonnet::get_requestor_ip(); + if ($data{'ip'} ne $ip) { &Apache::lonnet::logthis('IP change when session migration requested -- was: '. - $data{'ip'}.'; now: '.$ENV{'REMOTE_ADDR'}.' for '.$data{'username'}.':'.$data{'domain'}); + $data{'ip'}.'; now: '.$ip.' for '.$data{'username'}.':'.$data{'domain'}); return &ip_changed($r,$data{'domain'},$data{'server'},\@ids,\%data); } if ($data{'loncfail'}) { @@ -680,7 +682,7 @@ sub handler { my $switchfrom = $data{'server'}; if (@conlosts) { if (grep(/^\Q$switchfrom\E$/,@conlosts)) { - &log_switch($r,\%data,$extra_env); + &log_switch($r,\%data,$extra_env,$ip); } } }