version 1.447, 2010/07/17 20:01:56
|
version 1.448, 2010/07/20 02:42:27
|
Line 66 my $currentdomainid;
|
Line 66 my $currentdomainid;
|
my $client; |
my $client; |
my $clientip; # IP address of client. |
my $clientip; # IP address of client. |
my $clientname; # LonCAPA name of client. |
my $clientname; # LonCAPA name of client. |
my $clientversion; # LonCAPA version running on client |
my $clientversion; # LonCAPA version running on client. |
my @clientdoms; # Array of domains on $clientip |
my $clienthomedom; # LonCAPA domain of homeID for client. |
|
# primary library server. |
|
|
my $server; |
my $server; |
|
|
Line 1072 sub pong_handler {
|
Line 1073 sub pong_handler {
|
# Implicit Inputs: |
# Implicit Inputs: |
# $currenthostid - Global variable that carries the name of the host |
# $currenthostid - Global variable that carries the name of the host |
# known as. |
# known as. |
# $clientname - Global variable that carries the name of the hsot we're connected to. |
# $clientname - Global variable that carries the name of the host we're connected to. |
# Returns: |
# Returns: |
# 1 - Ok to continue processing. |
# 1 - Ok to continue processing. |
# 0 - Program should exit. |
# 0 - Program should exit. |
Line 1111 sub establish_key_handler {
|
Line 1112 sub establish_key_handler {
|
# Implicit Inputs: |
# Implicit Inputs: |
# $currenthostid - Global variable that carries the name of the host |
# $currenthostid - Global variable that carries the name of the host |
# known as. |
# known as. |
# $clientname - Global variable that carries the name of the hsot we're connected to. |
# $clientname - Global variable that carries the name of the host we're connected to. |
# Returns: |
# Returns: |
# 1 - Ok to continue processing. |
# 1 - Ok to continue processing. |
# 0 - Program should exit. |
# 0 - Program should exit. |
Line 1148 sub load_handler {
|
Line 1149 sub load_handler {
|
# Implicit Inputs: |
# Implicit Inputs: |
# $currenthostid - Global variable that carries the name of the host |
# $currenthostid - Global variable that carries the name of the host |
# known as. |
# known as. |
# $clientname - Global variable that carries the name of the hsot we're connected to. |
# $clientname - Global variable that carries the name of the host we're connected to. |
# Returns: |
# Returns: |
# 1 - Ok to continue processing. |
# 1 - Ok to continue processing. |
# 0 - Program should exit |
# 0 - Program should exit |
Line 1657 sub server_loncaparev_handler {
|
Line 1658 sub server_loncaparev_handler {
|
} |
} |
®ister_handler("serverloncaparev", \&server_loncaparev_handler, 0, 1, 0); |
®ister_handler("serverloncaparev", \&server_loncaparev_handler, 0, 1, 0); |
|
|
|
sub server_homeID_handler { |
|
my ($cmd,$tail,$client) = @_; |
|
my $userinput = "$cmd:$tail"; |
|
&Reply($client,\$perlvar{'lonHostID'},$userinput); |
|
return 1; |
|
} |
|
®ister_handler("serverhomeID", \&server_homeID_handler, 0, 1, 0); |
|
|
# Process a reinit request. Reinit requests that either |
# Process a reinit request. Reinit requests that either |
# lonc or lond be reinitialized so that an updated |
# lonc or lond be reinitialized so that an updated |
# host.tab or domain.tab can be processed. |
# host.tab or domain.tab can be processed. |
Line 1778 sub authenticate_handler {
|
Line 1787 sub authenticate_handler {
|
if($pwdcorrect) { |
if($pwdcorrect) { |
my $canhost = 1; |
my $canhost = 1; |
unless ($clientcancheckhost) { |
unless ($clientcancheckhost) { |
unless (grep(/^\Q$udom\E$/,@clientdoms)) { |
my $uprimary_id = &Apache::lonnet::domain($udom,'primary'); |
|
my $uint_dom = &Apache::lonnet::internet_dom($uprimary_id); |
|
my @intdoms = &Apache::lonnet::get_internet_names($clientname); |
|
unless ($uint_dom ne '' && grep(/^\Q$uint_dom\E$/,@intdoms)) { |
my ($remote,$hosted); |
my ($remote,$hosted); |
my $remotesession = &get_usersession_config($udom,'remotesession'); |
my $remotesession = &get_usersession_config($udom,'remotesession'); |
if (ref($remotesession) eq 'HASH') { |
if (ref($remotesession) eq 'HASH') { |
$remote = $remotesession->{'remote'} |
$remote = $remotesession->{'remote'} |
} |
} |
my $hostedsession = &get_usersession_config($clientdoms[0],'hostedsession'); |
my $hostedsession = &get_usersession_config($clienthomedom,'hostedsession'); |
if (ref($hostedsession) eq 'HASH') { |
if (ref($hostedsession) eq 'HASH') { |
$hosted = $hostedsession->{'hosted'}; |
$hosted = $hostedsession->{'hosted'}; |
} |
} |
$canhost = &Apache::lonnet::can_host_session($udom,$currentdomainid,$clientversion, |
$canhost = &Apache::lonnet::can_host_session($udom,$clientname, |
|
$clientversion, |
$remote,$hosted); |
$remote,$hosted); |
} |
} |
} |
} |
Line 6490 sub make_new_child {
|
Line 6503 sub make_new_child {
|
# ------------------------------------------------------------ Process requests |
# ------------------------------------------------------------ Process requests |
my $keep_going = 1; |
my $keep_going = 1; |
my $user_input; |
my $user_input; |
@clientdoms = (); |
my $clienthost = &Apache::lonnet::hostname($clientname); |
if (ref($iphost{$clientip}) eq 'ARRAY') { |
my $clientserverhomeID = &Apache::lonnet::get_server_homeID($clienthost); |
foreach my $id (@{$iphost{$clientip}}) { |
$clienthomedom = &Apache::lonnet::host_domain($clientserverhomeID); |
my $clientdom = &Apache::lonnet::host_domain($id); |
|
unless (grep(/^\Q$clientdom\E/,@clientdoms)) { |
|
push(@clientdoms,$clientdom); |
|
} |
|
} |
|
} |
|
while(($user_input = get_request) && $keep_going) { |
while(($user_input = get_request) && $keep_going) { |
alarm(120); |
alarm(120); |
Debug("Main: Got $user_input\n"); |
Debug("Main: Got $user_input\n"); |