[LON-CAPA-cvs] cvs: loncom(version_2_11_X) / lond
raeburn
raeburn at source.lon-capa.org
Tue May 1 20:30:19 EDT 2012
raeburn Wed May 2 00:30:19 2012 EDT
Modified files: (Branch: version_2_11_X)
/loncom lond
Log:
- Backport 1.491.
Index: loncom/lond
diff -u loncom/lond:1.489 loncom/lond:1.489.2.1
--- loncom/lond:1.489 Wed Apr 11 06:22:04 2012
+++ loncom/lond Wed May 2 00:30:19 2012
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.489 2012/04/11 06:22:04 raeburn Exp $
+# $Id: lond,v 1.489.2.1 2012/05/02 00:30:19 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -60,7 +60,7 @@
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.489 $'; #' stupid emacs
+my $VERSION='$Revision: 1.489.2.1 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -3248,9 +3248,6 @@
# range - optional range of entries
# e.g., 10-20 would return the
# 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.
# Returns:
# 1 - Continue processing.
@@ -3263,7 +3260,7 @@
my $userinput = "$cmd:$tail";
- my ($udom,$uname,$namespace,$regexp,$range,$extra)=split(/:/,$tail);
+ my ($udom,$uname,$namespace,$regexp,$range)=split(/:/,$tail);
if (defined($regexp)) {
$regexp=&unescape($regexp);
} else {
@@ -3281,31 +3278,27 @@
}
my $hashref = &tie_user_hash($udom, $uname, $namespace,
&GDBM_READER());
- my $skipcheck;
if ($hashref) {
my $qresult='';
my $count=0;
#
# 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,
-# to indicate no version checking is needed (in this case, checking occurs
-# on the server hosting the user session, when constructing the roles/courses
+# Sessions on 2.10 and later do not require version checking, as that occurs
+# on the server hosting the user session, when constructing the roles/courses
# screen).
-#
- if ($extra ne '') {
- $extra = &Apache::lonnet::thaw_unescape($extra);
- $skipcheck = $extra->{'skipcheck'};
- }
+#
+ my $skipcheck;
my @ids = &Apache::lonnet::current_machine_ids();
my (%homecourses,$major,$minor,$now);
-#
-# 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
+#
+# 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
# 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
# the global %loncaparevs in lonnet.pm.
#
- if (($namespace eq 'roles') && (!$skipcheck)) {
+#
+ if ($namespace eq 'roles') {
my $loncaparev = $clientversion;
if ($loncaparev eq '') {
$loncaparev = $Apache::lonnet::loncaparevs{$clientname};
@@ -3314,16 +3307,18 @@
$major = $1;
$minor = $2;
}
+ if (($major > 2) || (($major == 2) && ($minor > 9))) {
+ $skipcheck = 1;
+ }
$now = time;
}
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)$}) {
my $cdom = $1;
my $cnum = $2;
- unless ($skipcheck) {
- my ($role,$roleend,$rolestart) = split(/\_/,$value);
- if (!$roleend || $roleend > $now) {
+ my ($role,$roleend,$rolestart) = split(/\_/,$value);
+ if (!$roleend || $roleend > $now) {
#
# 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
@@ -3334,9 +3329,8 @@
# homeserver is the current server, or whether it is a different server.
# In both cases, the course's version requirement needs to be retrieved.
#
- next unless (&releasereqd_check($cnum,$cdom,$key,$value,$major,
- $minor,\%homecourses,\@ids));
- }
+ next unless (&releasereqd_check($cnum,$cdom,$key,$value,$major,
+ $minor,\%homecourses,\@ids));
}
}
}
More information about the LON-CAPA-cvs
mailing list