Diff for /loncom/lond between versions 1.489.2.43.2.2 and 1.489.2.43.2.4

version 1.489.2.43.2.2, 2022/02/07 12:12:07 version 1.489.2.43.2.4, 2022/02/25 10:00:00
Line 4723  sub get_domain_handler { Line 4723  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/) {      if (($namespace =~ /^enc/) || ($namespace eq 'private')) {
         &Failure( $client, "refused\n", $userinput);          &Failure( $client, "refused\n", $userinput);
     } else {      } else {
         my $res = LONCAPA::Lond::get_dom($userinput);          my $res = LONCAPA::Lond::get_dom($userinput);
Line 4743  sub encrypted_get_domain_handler { Line 4743  sub encrypted_get_domain_handler {
   
     my $userinput = "$cmd:$tail";      my $userinput = "$cmd:$tail";
   
     my $res = LONCAPA::Lond::get_dom($userinput);      my ($udom,$namespace,$what) = split(/:/,$tail,3);
     if ($res =~ /^error:/) {      if ($namespace eq 'private') {
         &Failure($client, \$res, $userinput);          &Failure( $client, "refused\n", $userinput);
     } else {      } else {
         if ($cipher) {          my $res = LONCAPA::Lond::get_dom($userinput);
             my $cmdlength=length($res);          if ($res =~ /^error:/) {
             $res.="         ";              &Failure($client, \$res, $userinput);
             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 {          } else {
             &Failure( $client, "error:no_key\n",$userinput);              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",$userinput);
               } else {
                   &Failure( $client, "error:no_key\n",$userinput);
               }
         }          }
     }      }
     return 1;      return 1;
Line 7741  sub validate_user { Line 7746  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 username 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.2  
changed lines
  Added in v.1.489.2.43.2.4


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