[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