version 1.489.2.36, 2020/05/04 15:15:16
|
version 1.489.2.39, 2020/10/26 03:47:15
|
Line 4589 sub course_sessions_handler {
|
Line 4589 sub course_sessions_handler {
|
next if ($filename=~/^\./); |
next if ($filename=~/^\./); |
next if ($filename=~/^publicuser_/); |
next if ($filename=~/^publicuser_/); |
next if ($filename=~/^[a-f0-9]+_(linked|lti_\d+)\.id$/); |
next if ($filename=~/^[a-f0-9]+_(linked|lti_\d+)\.id$/); |
if ($filename =~ /^($LONCAPA::match_user)_\d+_($LONCAPA::match_domain)_/) { |
if ($filename =~ /^($LONCAPA::match_username)_\d+_($LONCAPA::match_domain)_/) { |
my ($uname,$udom) = ($1,$2); |
my ($uname,$udom) = ($1,$2); |
next unless (-e "$perlvar{'lonDaemons'}/$uname$dbsuffix"); |
next unless (-e "$perlvar{'lonDaemons'}/tmp/$uname$dbsuffix"); |
my $mtime = (stat("$perlvar{'lonIDsDir'}/$filename"))[9]; |
my $mtime = (stat("$perlvar{'lonIDsDir'}/$filename"))[9]; |
my $since=$now-$mtime; |
|
if ($lastactivity < 0) { |
if ($lastactivity < 0) { |
next if ($since <= $lastactivity); |
next if ($mtime-$now > $lastactivity); |
} else { |
} else { |
next if ($since > $lastactivity); |
next if ($now-$mtime > $lastactivity); |
} |
} |
$sessions{$uname.':'.$udom} = $mtime; |
$sessions{$uname.':'.$udom} = $mtime; |
} |
} |
Line 5224 sub tmp_del_handler {
|
Line 5223 sub tmp_del_handler {
|
®ister_handler("tmpdel", \&tmp_del_handler, 0, 1, 0); |
®ister_handler("tmpdel", \&tmp_del_handler, 0, 1, 0); |
|
|
# |
# |
|
# Process the updatebalcookie command. This command updates a |
|
# cookie in the lonBalancedir directory on a load balancer node. |
|
# |
|
# Parameters: |
|
# $cmd - Command that got us here. |
|
# $tail - Tail of the request (escaped cookie: escaped current entry) |
|
# |
|
# $client - socket open on the client process. |
|
# |
|
# Returns: |
|
# 1 - Indicating processing should continue. |
|
# Side Effects: |
|
# A cookie file is updated from the lonBalancedir directory |
|
# A reply is sent to the client. |
|
# |
|
sub update_balcookie_handler { |
|
my ($cmd, $tail, $client) = @_; |
|
|
|
my $userinput= "$cmd:$tail"; |
|
chomp($tail); |
|
my ($cookie,$lastentry) = map { &unescape($_) } (split(/:/,$tail)); |
|
|
|
my $updatedone; |
|
if ($cookie =~ /^$LONCAPA::match_domain\_$LONCAPA::match_username\_[a-f0-9]{32}$/) { |
|
my $execdir=$perlvar{'lonBalanceDir'}; |
|
if (-e "$execdir/$cookie.id") { |
|
my $doupdate; |
|
if (open(my $fh,'<',"$execdir/$cookie.id")) { |
|
while (my $line = <$fh>) { |
|
chomp($line); |
|
if ($line eq $lastentry) { |
|
$doupdate = 1; |
|
last; |
|
} |
|
} |
|
close($fh); |
|
} |
|
if ($doupdate) { |
|
if (open(my $fh,'>',"$execdir/$cookie.id")) { |
|
print $fh $clientname; |
|
close($fh); |
|
$updatedone = 1; |
|
} |
|
} |
|
} |
|
} |
|
if ($updatedone) { |
|
&Reply($client, "ok\n", $userinput); |
|
} else { |
|
&Failure( $client, "error: ".($!+0)."file update failed ". |
|
"while attempting updatebalcookie\n", $userinput); |
|
} |
|
return 1; |
|
} |
|
®ister_handler("updatebalcookie", \&update_balcookie_handler, 0, 1, 0); |
|
|
|
# |
# Process the delbalcookie command. This command deletes a balancer |
# Process the delbalcookie command. This command deletes a balancer |
# cookie in the lonBalancedir directory created by switchserver |
# cookie in the lonBalancedir directory on a load balancer node. |
# |
# |
# Parameters: |
# Parameters: |
# $cmd - Command that got us here. |
# $cmd - Command that got us here. |
Line 5243 sub del_balcookie_handler {
|
Line 5299 sub del_balcookie_handler {
|
my $userinput= "$cmd:$cookie"; |
my $userinput= "$cmd:$cookie"; |
|
|
chomp($cookie); |
chomp($cookie); |
|
$cookie = &unescape($cookie); |
my $deleted = ''; |
my $deleted = ''; |
if ($cookie =~ /^$LONCAPA::match_domain\_$LONCAPA::match_username\_[a-f0-9]{32}$/) { |
if ($cookie =~ /^$LONCAPA::match_domain\_$LONCAPA::match_username\_[a-f0-9]{32}$/) { |
my $execdir=$perlvar{'lonBalanceDir'}; |
my $execdir=$perlvar{'lonBalanceDir'}; |