version 1.335, 2006/06/27 19:01:19
|
version 1.339, 2006/08/25 17:48:44
|
Line 835 sub AdjustOurHost {
|
Line 835 sub AdjustOurHost {
|
# Use the config line to get my hostname. |
# Use the config line to get my hostname. |
# Use gethostbyname to translate that into an IP address. |
# Use gethostbyname to translate that into an IP address. |
# |
# |
my ($id,$domain,$role,$name,$ip,$maxcon,$idleto,$mincon) = split(/:/,$ConfigLine); |
my ($id,$domain,$role,$name,$maxcon,$idleto,$mincon) = split(/:/,$ConfigLine); |
my $BinaryIp = gethostbyname($name); |
|
my $ip = inet_ntoa($ip); |
|
# |
# |
# Reassemble the config line from the elements in the list. |
# Reassemble the config line from the elements in the list. |
# Note that if the loncnew items were not present before, they will |
# Note that if the loncnew items were not present before, they will |
# be now even if they would be empty |
# be now even if they would be empty |
# |
# |
my $newConfigLine = $id; |
my $newConfigLine = $id; |
foreach my $item ($domain, $role, $name, $ip, $maxcon, $idleto, $mincon) { |
foreach my $item ($domain, $role, $name, $maxcon, $idleto, $mincon) { |
$newConfigLine .= ":".$item; |
$newConfigLine .= ":".$item; |
} |
} |
# Replace the line: |
# Replace the line: |
Line 890 sub EditFile {
|
Line 888 sub EditFile {
|
|
|
# Split the command into it's pieces: edit:filetype:script |
# Split the command into it's pieces: edit:filetype:script |
|
|
my ($request, $filetype, $script) = split(/:/, $request,3); # : in script |
my ($cmd, $filetype, $script) = split(/:/, $request,3); # : in script |
|
|
# Check the pre-coditions for success: |
# Check the pre-coditions for success: |
|
|
if($request != "edit") { # Something is amiss afoot alack. |
if($cmd != "edit") { # Something is amiss afoot alack. |
return "error:edit request detected, but request != 'edit'\n"; |
return "error:edit request detected, but request != 'edit'\n"; |
} |
} |
if( ($filetype ne "hosts") && |
if( ($filetype ne "hosts") && |
Line 1252 sub push_file_handler {
|
Line 1250 sub push_file_handler {
|
# |
# |
sub du_handler { |
sub du_handler { |
my ($cmd, $ududir, $client) = @_; |
my ($cmd, $ududir, $client) = @_; |
my ($ududir) = split(/:/,$ududir); # Make 'telnet' testing easier. |
($ududir) = split(/:/,$ududir); # Make 'telnet' testing easier. |
my $userinput = "$cmd:$ududir"; |
my $userinput = "$cmd:$ududir"; |
|
|
if ($ududir=~/\.\./ || $ududir!~m|^/home/httpd/|) { |
if ($ududir=~/\.\./ || $ududir!~m|^/home/httpd/|) { |
Line 2595 sub get_profile_entry_encrypted {
|
Line 2593 sub get_profile_entry_encrypted {
|
|
|
my $userinput = "$cmd:$tail"; |
my $userinput = "$cmd:$tail"; |
|
|
my ($cmd,$udom,$uname,$namespace,$what) = split(/:/,$userinput); |
my ($udom,$uname,$namespace,$what) = split(/:/,$tail); |
chomp($what); |
chomp($what); |
my $qresult = read_profile($udom, $uname, $namespace, $what); |
my $qresult = read_profile($udom, $uname, $namespace, $what); |
my ($first) = split(/:/, $qresult); |
my ($first) = split(/:/, $qresult); |
Line 3041 sub restore_handler {
|
Line 3039 sub restore_handler {
|
|
|
my $userinput = "$cmd:$tail"; # Only used for logging purposes. |
my $userinput = "$cmd:$tail"; # Only used for logging purposes. |
|
|
my ($cmd,$udom,$uname,$namespace,$rid) = split(/:/,$userinput); |
my ($udom,$uname,$namespace,$rid) = split(/:/,$tail); |
$namespace=~s/\//\_/g; |
$namespace=~s/\//\_/g; |
$namespace=~s/\W//g; |
$namespace=~s/\W//g; |
chomp($rid); |
chomp($rid); |
Line 3216 sub reply_query_handler {
|
Line 3214 sub reply_query_handler {
|
|
|
my $userinput = "$cmd:$tail"; |
my $userinput = "$cmd:$tail"; |
|
|
my ($cmd,$id,$reply)=split(/:/,$userinput); |
my ($id,$reply)=split(/:/,$tail); |
my $store; |
my $store; |
my $execdir=$perlvar{'lonDaemons'}; |
my $execdir=$perlvar{'lonDaemons'}; |
if ($store=IO::File->new(">$execdir/tmp/$id")) { |
if ($store=IO::File->new(">$execdir/tmp/$id")) { |
Line 3336 sub put_course_id_handler {
|
Line 3334 sub put_course_id_handler {
|
# institutional code - optional supplied code to filter |
# institutional code - optional supplied code to filter |
# the dump. Only courses with an institutional code |
# the dump. Only courses with an institutional code |
# that match the supplied code will be returned. |
# that match the supplied code will be returned. |
# owner - optional supplied username of owner to filter |
# owner - optional supplied username and domain of owner to |
# the dump. Only courses for which the course |
# filter the dump. Only courses for which the course |
# owner matches the supplied username will be |
# owner matches the supplied username and/or domain |
# returned. Implicit assumption that owner |
# will be returned. Pre-2.2.0 legacy entries from |
# is a user in the domain in which the |
# nohist_courseiddump will only contain usernames. |
# course database is defined. |
|
# $client - The socket open on the client. |
# $client - The socket open on the client. |
# Returns: |
# Returns: |
# 1 - Continue processing. |
# 1 - Continue processing. |
Line 3364 sub dump_course_id_handler {
|
Line 3361 sub dump_course_id_handler {
|
} else { |
} else { |
$instcodefilter='.'; |
$instcodefilter='.'; |
} |
} |
|
my ($ownerunamefilter,$ownerdomfilter); |
if (defined($ownerfilter)) { |
if (defined($ownerfilter)) { |
$ownerfilter=&unescape($ownerfilter); |
$ownerfilter=&unescape($ownerfilter); |
|
if ($ownerfilter ne '.' && defined($ownerfilter)) { |
|
if ($ownerfilter =~ /^([^:]*):([^:]*)$/) { |
|
$ownerunamefilter = $1; |
|
$ownerdomfilter = $2; |
|
} else { |
|
$ownerunamefilter = $ownerfilter; |
|
$ownerdomfilter = ''; |
|
} |
|
} |
} else { |
} else { |
$ownerfilter='.'; |
$ownerfilter='.'; |
} |
} |
|
|
if (defined($coursefilter)) { |
if (defined($coursefilter)) { |
$coursefilter=&unescape($coursefilter); |
$coursefilter=&unescape($coursefilter); |
} else { |
} else { |
Line 3405 sub dump_course_id_handler {
|
Line 3413 sub dump_course_id_handler {
|
} |
} |
unless ($ownerfilter eq '.' || !defined($ownerfilter)) { |
unless ($ownerfilter eq '.' || !defined($ownerfilter)) { |
my $unescapeOwner = &unescape($owner); |
my $unescapeOwner = &unescape($owner); |
unless (eval('$unescapeOwner=~/\Q$ownerfilter\E/i')) { |
if (($ownerunamefilter ne '') && ($ownerdomfilter ne '')) { |
$match = 0; |
if ($unescapeOwner =~ /:/) { |
|
if (eval('$unescapeOwner !~ |
|
/\Q$ownerunamefilter\E:\Q$ownerdomfilter\E$/i')) { |
|
$match = 0; |
|
} |
|
} else { |
|
if (eval('$unescapeOwner!~/\Q$ownerunamefilter\E/i')) { |
|
$match = 0; |
|
} |
|
} |
|
} elsif ($ownerunamefilter ne '') { |
|
if ($unescapeOwner =~ /:/) { |
|
if (eval('$unescapeOwner!~/\Q$ownerunamefilter\E:[^:]+$/i')) { |
|
$match = 0; |
|
} |
|
} else { |
|
if (eval('$unescapeOwner!~/\Q$ownerunamefilter\E/i')) { |
|
$match = 0; |
|
} |
|
} |
|
} elsif ($ownerdomfilter ne '') { |
|
if ($unescapeOwner =~ /:/) { |
|
if (eval('$unescapeOwner!~/^[^:]+:\Q$ownerdomfilter\E/')) { |
|
$match = 0; |
|
} |
|
} else { |
|
if ($ownerdomfilter ne $udom) { |
|
$match = 0; |
|
} |
|
} |
} |
} |
} |
} |
unless ($coursefilter eq '.' || !defined($coursefilter)) { |
unless ($coursefilter eq '.' || !defined($coursefilter)) { |
Line 4044 sub enrollment_enabled_handler {
|
Line 4081 sub enrollment_enabled_handler {
|
my $userinput = $cmd.":".$tail; # For logging purposes. |
my $userinput = $cmd.":".$tail; # For logging purposes. |
|
|
|
|
my $cdom = split(/:/, $tail); # Domain we're asking about. |
my ($cdom) = split(/:/, $tail, 2); # Domain we're asking about. |
|
|
my $outcome = &localenroll::run($cdom); |
my $outcome = &localenroll::run($cdom); |
&Reply($client, "$outcome\n", $userinput); |
&Reply($client, "$outcome\n", $userinput); |
|
|
Line 4100 sub validate_course_owner_handler {
|
Line 4138 sub validate_course_owner_handler {
|
my $userinput = "$cmd:$tail"; |
my $userinput = "$cmd:$tail"; |
my ($inst_course_id, $owner, $cdom) = split(/:/, $tail); |
my ($inst_course_id, $owner, $cdom) = split(/:/, $tail); |
|
|
|
$owner = &unescape($owner); |
my $outcome = &localenroll::new_course($inst_course_id,$owner,$cdom); |
my $outcome = &localenroll::new_course($inst_course_id,$owner,$cdom); |
&Reply($client, "$outcome\n", $userinput); |
&Reply($client, "$outcome\n", $userinput); |
|
|
Line 5280 sub make_new_child {
|
Line 5319 sub make_new_child {
|
my $remotereq=<$client>; |
my $remotereq=<$client>; |
chomp($remotereq); |
chomp($remotereq); |
Debug("Got init: $remotereq"); |
Debug("Got init: $remotereq"); |
my $inikeyword = split(/:/, $remotereq); |
|
if ($remotereq =~ /^init/) { |
if ($remotereq =~ /^init/) { |
&sethost("sethost:$perlvar{'lonHostID'}"); |
&sethost("sethost:$perlvar{'lonHostID'}"); |
# |
# |