version 1.489, 2012/04/11 06:22:04
|
version 1.489.2.2, 2012/10/06 14:44:50
|
Line 2373 sub fetch_user_file_handler {
|
Line 2373 sub fetch_user_file_handler {
|
unlink($transname); |
unlink($transname); |
&Failure($client, "failed\n", $userinput); |
&Failure($client, "failed\n", $userinput); |
} else { |
} else { |
|
if ($fname =~ /^default.+\.(page|sequence)$/) { |
|
my ($major,$minor) = split(/\./,$clientversion); |
|
if (($major < 2) || ($major == 2 && $minor < 11)) { |
|
my $now = time; |
|
&Apache::lonnet::do_cache_new('crschange',$udom.'_'.$uname,$now,600); |
|
my $key = &escape('internal.contentchange'); |
|
my $what = "$key=$now"; |
|
my $hashref = &tie_user_hash($udom,$uname,'environment', |
|
&GDBM_WRCREAT(),"P",$what); |
|
if ($hashref) { |
|
$hashref->{$key}=$now; |
|
if (!&untie_user_hash($hashref)) { |
|
&logthis("error: ".($!+0)." untie (GDBM) failed ". |
|
"when updating internal.contentchange"); |
|
} |
|
} |
|
} |
|
} |
&Reply($client, "ok\n", $userinput); |
&Reply($client, "ok\n", $userinput); |
} |
} |
} |
} |
Line 3248 sub dump_profile_database {
|
Line 3266 sub dump_profile_database {
|
# range - optional range of entries |
# range - optional range of entries |
# e.g., 10-20 would return the |
# e.g., 10-20 would return the |
# 10th to 19th items, etc. |
# 10th to 19th items, etc. |
# extra - optional ref to hash of |
|
# additional args. currently |
|
# skipcheck is only key used. |
|
# $client - Channel open on the client. |
# $client - Channel open on the client. |
# Returns: |
# Returns: |
# 1 - Continue processing. |
# 1 - Continue processing. |
Line 3263 sub dump_with_regexp {
|
Line 3278 sub dump_with_regexp {
|
|
|
my $userinput = "$cmd:$tail"; |
my $userinput = "$cmd:$tail"; |
|
|
my ($udom,$uname,$namespace,$regexp,$range,$extra)=split(/:/,$tail); |
my ($udom,$uname,$namespace,$regexp,$range)=split(/:/,$tail); |
if (defined($regexp)) { |
if (defined($regexp)) { |
$regexp=&unescape($regexp); |
$regexp=&unescape($regexp); |
} else { |
} else { |
Line 3281 sub dump_with_regexp {
|
Line 3296 sub dump_with_regexp {
|
} |
} |
my $hashref = &tie_user_hash($udom, $uname, $namespace, |
my $hashref = &tie_user_hash($udom, $uname, $namespace, |
&GDBM_READER()); |
&GDBM_READER()); |
my $skipcheck; |
|
if ($hashref) { |
if ($hashref) { |
my $qresult=''; |
my $qresult=''; |
my $count=0; |
my $count=0; |
# |
# |
# When dump is for roles.db, determine if LON-CAPA version checking is needed. |
# When dump is for roles.db, determine if LON-CAPA version checking is needed. |
# Sessions on 2.10 and later will include skipcheck => 1 in extra args ref, |
# Sessions on 2.10 and later do not require version checking, as that occurs |
# to indicate no version checking is needed (in this case, checking occurs |
# on the server hosting the user session, when constructing the roles/courses |
# on the server hosting the user session, when constructing the roles/courses |
|
# screen). |
# screen). |
# |
# |
if ($extra ne '') { |
my $skipcheck; |
$extra = &Apache::lonnet::thaw_unescape($extra); |
|
$skipcheck = $extra->{'skipcheck'}; |
|
} |
|
my @ids = &Apache::lonnet::current_machine_ids(); |
my @ids = &Apache::lonnet::current_machine_ids(); |
my (%homecourses,$major,$minor,$now); |
my (%homecourses,$major,$minor,$now); |
# |
# |
# If dump is for roles.db from a pre-2.10 server, determine the LON-CAPA |
# If dump is for roles.db from a pre-2.10 server, determine the LON-CAPA |
# version on the server which requested the data. For LON-CAPA 2.9, the |
# version on the server which requested the data. For LON-CAPA 2.9, the |
# client session will have sent its LON-CAPA version when initiating the |
# client session will have sent its LON-CAPA version when initiating the |
# connection. For LON-CAPA 2.8 and older, the version is retrieved from |
# connection. For LON-CAPA 2.8 and older, the version is retrieved from |
# the global %loncaparevs in lonnet.pm. |
# the global %loncaparevs in lonnet.pm. |
# |
# |
if (($namespace eq 'roles') && (!$skipcheck)) { |
# |
|
if ($namespace eq 'roles') { |
my $loncaparev = $clientversion; |
my $loncaparev = $clientversion; |
if ($loncaparev eq '') { |
if ($loncaparev eq '') { |
$loncaparev = $Apache::lonnet::loncaparevs{$clientname}; |
$loncaparev = $Apache::lonnet::loncaparevs{$clientname}; |
Line 3314 sub dump_with_regexp {
|
Line 3325 sub dump_with_regexp {
|
$major = $1; |
$major = $1; |
$minor = $2; |
$minor = $2; |
} |
} |
|
if (($major > 2) || (($major == 2) && ($minor > 9))) { |
|
$skipcheck = 1; |
|
} |
$now = time; |
$now = time; |
} |
} |
while (my ($key,$value) = each(%$hashref)) { |
while (my ($key,$value) = each(%$hashref)) { |
if ($namespace eq 'roles') { |
if (($namespace eq 'roles') && (!$skipcheck)) { |
if ($key =~ m{^/($LONCAPA::match_domain)/($LONCAPA::match_courseid)(/?[^_]*)_(cc|co|in|ta|ep|ad|st|cr)$}) { |
if ($key =~ m{^/($LONCAPA::match_domain)/($LONCAPA::match_courseid)(/?[^_]*)_(cc|co|in|ta|ep|ad|st|cr)$}) { |
my $cdom = $1; |
my $cdom = $1; |
my $cnum = $2; |
my $cnum = $2; |
unless ($skipcheck) { |
my ($role,$roleend,$rolestart) = split(/\_/,$value); |
my ($role,$roleend,$rolestart) = split(/\_/,$value); |
if (!$roleend || $roleend > $now) { |
if (!$roleend || $roleend > $now) { |
|
# |
# |
# For active course roles, check that requesting server is running a LON-CAPA |
# For active course roles, check that requesting server is running a LON-CAPA |
# version which meets any version requirements for the course. Do not include |
# version which meets any version requirements for the course. Do not include |
Line 3334 sub dump_with_regexp {
|
Line 3347 sub dump_with_regexp {
|
# homeserver is the current server, or whether it is a different server. |
# homeserver is the current server, or whether it is a different server. |
# In both cases, the course's version requirement needs to be retrieved. |
# In both cases, the course's version requirement needs to be retrieved. |
# |
# |
next unless (&releasereqd_check($cnum,$cdom,$key,$value,$major, |
next unless (&releasereqd_check($cnum,$cdom,$key,$value,$major, |
$minor,\%homecourses,\@ids)); |
$minor,\%homecourses,\@ids)); |
} |
|
} |
} |
} |
} |
} |
} |
Line 6565 sub make_new_child {
|
Line 6577 sub make_new_child {
|
#---------------------------------------------------- kerberos 5 initialization |
#---------------------------------------------------- kerberos 5 initialization |
&Authen::Krb5::init_context(); |
&Authen::Krb5::init_context(); |
unless (($dist eq 'fedora5') || ($dist eq 'fedora4') || |
unless (($dist eq 'fedora5') || ($dist eq 'fedora4') || |
($dist eq 'fedora6') || ($dist eq 'suse9.3')) { |
($dist eq 'fedora6') || ($dist eq 'suse9.3') || |
|
($dist eq 'suse12.2')) { |
&Authen::Krb5::init_ets(); |
&Authen::Krb5::init_ets(); |
} |
} |
|
|
Line 7914 Place in B<logs/lond.log>
|
Line 7927 Place in B<logs/lond.log>
|
|
|
stores hash in namespace |
stores hash in namespace |
|
|
=item rolesputy |
=item rolesput |
|
|
put a role into a user's environment |
put a role into a user's environment |
|
|