Diff for /loncom/lond between versions 1.489.2.43.2.1 and 1.489.2.44

version 1.489.2.43.2.1, 2021/12/31 14:50:30 version 1.489.2.44, 2022/02/25 09:46:25
Line 3536  sub dump_with_regexp { Line 3536  sub dump_with_regexp {
 }  }
 &register_handler("dump", \&dump_with_regexp, 0, 1, 0);  &register_handler("dump", \&dump_with_regexp, 0, 1, 0);
   
 #  
 #  Process the encrypted dump request. Original call should  
 #  be from lonnet::dump() with seventh arg ($encrypt) set to  
 #  1, to ensure that both request and response are encrypted.  
 #  
 #  Parameters:  
 #     $cmd               - Command keyword of request (edump).  
 #     $tail              - Tail of the command.  
 #                          See &dump_with_regexp for more  
 #                          information about this.  
 #     $client            - File open on the client.  
 #  Returns:  
 #     1      - Continue processing  
 #     0      - server should exit.  
 #  
   
 sub encrypted_dump_with_regexp {  
     my ($cmd, $tail, $client) = @_;  
     my $res = LONCAPA::Lond::dump_with_regexp($tail, $clientversion);  
   
     if ($res =~ /^error:/) {  
         Failure($client, \$res, "$cmd:$tail");  
     } else {  
         if ($cipher) {  
             my $cmdlength=length($res);  
             $res.="         ";  
             my $encres='';  
             for (my $encidx=0;$encidx<=$cmdlength;$encidx+=8) {  
                 $encres.= unpack("H16",  
                                  $cipher->encrypt(substr($res,  
                                                          $encidx,  
                                                          8)));  
             }  
             &Reply( $client,"enc:$cmdlength:$encres\n","$cmd:$tail");  
         } else {  
             &Failure( $client, "error:no_key\n","$cmd:$tail");  
         }  
     }  
 }  
 &register_handler("edump", \&encrypted_dump_with_regexp, 0, 1, 0);  
   
 #  Store a set of key=value pairs associated with a versioned name.  #  Store a set of key=value pairs associated with a versioned name.
 #  #
 #  Parameters:  #  Parameters:
Line 4723  sub get_domain_handler { Line 4682  sub get_domain_handler {
     my $userinput = "$cmd:$tail";      my $userinput = "$cmd:$tail";
   
     my ($udom,$namespace,$what)=split(/:/,$tail,3);      my ($udom,$namespace,$what)=split(/:/,$tail,3);
     if ($namespace =~ /^enc/) {  
         &Failure( $client, "refused\n", $userinput);  
     } else {  
         my $res = LONCAPA::Lond::get_dom($userinput);  
         if ($res =~ /^error:/) {  
             &Failure($client, \$res, $userinput);  
         } else {  
             &Reply($client, \$res, $userinput);  
         }  
     }  
   
     return 1;  
 }  
 &register_handler("getdom", \&get_domain_handler, 0, 1, 0);  
   
 sub encrypted_get_domain_handler {  
     my ($cmd, $tail, $client) = @_;  
   
     my $userinput = "$cmd:$tail";  
   
     my $res = LONCAPA::Lond::get_dom($userinput);      my $res = LONCAPA::Lond::get_dom($userinput);
     if ($res =~ /^error:/) {      if ($res =~ /^error:/) {
         &Failure($client, \$res, $userinput);          &Failure($client, \$res, $userinput);
     } else {      } else {
         if ($cipher) {          &Reply($client, \$res, $userinput);
             my $cmdlength=length($res);  
             $res.="         ";  
             my $encres='';  
             for (my $encidx=0;$encidx<=$cmdlength;$encidx+=8) {  
                 $encres.= unpack("H16",  
                                  $cipher->encrypt(substr($res,  
                                                          $encidx,  
                                                          8)));  
             }  
             &Reply( $client,"enc:$cmdlength:$encres\n",$userinput);  
         } else {  
             &Failure( $client, "error:no_key\n",$userinput);  
         }  
     }      }
   
     return 1;      return 1;
 }  }
 &register_handler("egetdom", \&encrypted_get_domain_handler, 1, 1, 0);  &register_handler("getdom", \&get_domain_handler, 0, 1, 0);
   
 #  #
 #  Puts an id to a domains id database.   #  Puts an id to a domains id database. 
Line 7676  sub validate_user { Line 7603  sub validate_user {
             } elsif ((($domdefaults{'auth_def'} eq 'krb4') ||               } elsif ((($domdefaults{'auth_def'} eq 'krb4') || 
                       ($domdefaults{'auth_def'} eq 'krb5')) &&                        ($domdefaults{'auth_def'} eq 'krb5')) &&
                      ($domdefaults{'auth_arg_def'} ne '')) {                       ($domdefaults{'auth_arg_def'} ne '')) {
                 $howpwd = $domdefaults{'auth_def'};                  #
                 $contentpwd = $domdefaults{'auth_arg_def'};                   # Don't attempt authentication for username and password supplied
                   # for user without an account if uername contains @ to avoid
                   # call to &Authen::Krb5::parse_name() which will result in con_lost
                   #
                   unless ($user =~ /\@/) {
                       $howpwd = $domdefaults{'auth_def'};
                       $contentpwd = $domdefaults{'auth_arg_def'};
                   }
             }              }
         }          }
     }      }

Removed from v.1.489.2.43.2.1  
changed lines
  Added in v.1.489.2.44


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>