Diff for /loncom/lond between versions 1.96 and 1.97

version 1.96, 2002/09/13 02:46:12 version 1.97, 2002/09/16 13:26:21
Line 86  my $lastlog=''; Line 86  my $lastlog='';
 #  #
 #  The array below are password error strings."  #  The array below are password error strings."
 #  #
 my $lasterror    = 10; # Largest error number from lcpasswd.  my $lastpwderror    = 13; # Largest error number from lcpasswd.
 my @passwderrors = ("ok",  my @passwderrors = ("ok",
    "lcpasswd must be run as user 'www'",     "lcpasswd must be run as user 'www'",
    "lcpasswd got incorrect number of arguments",     "lcpasswd got incorrect number of arguments",
Line 97  my @passwderrors = ("ok", Line 97  my @passwderrors = ("ok",
    "lcpasswd Unable to su to root.",     "lcpasswd Unable to su to root.",
    "lcpasswd Cannot set new passwd.",     "lcpasswd Cannot set new passwd.",
    "lcpasswd Username has invalid characters",     "lcpasswd Username has invalid characters",
    "lcpasswd Invalid characters in password");     "lcpasswd Invalid characters in password",
       "11", "12",
       "lcpasswd Password mismatch");
   
   
   #  The array below are lcuseradd error strings.:
   
   my $lastadderror = 13;
   my @adderrors    = ("ok",
       "User ID mismatch, lcuseradd must run as user www",
       "lcuseradd Incorrect number of command line parameters must be 3",
       "lcuseradd Incorrect number of stdinput lines, must be 3",
       "lcuseradd Too many other simultaneous pwd changes in progress",
       "lcuseradd User does not exist",
       "lcuseradd Unabel to mak ewww member of users's group",
       "lcuseradd Unable to su to root",
       "lcuseradd Unable to set password",
       "lcuseradd Usrname has invbalid charcters",
       "lcuseradd Password has an invalid character",
       "lcuseradd User already exists",
       "lcuseradd Could not add user.",
       "lcuseradd Password mismatch");
   
   
 #  #
 #  Convert an error return code from lcpasswd to a string value.  #  Convert an error return code from lcpasswd to a string value.
 #  #
 sub lcpasswdstrerror {  sub lcpasswdstrerror {
     my $ErrorCode = shift;      my $ErrorCode = shift;
     if(($ErrorCode < 0) || ($ErrorCode > $lasterror)) {      if(($ErrorCode < 0) || ($ErrorCode > $lastpwderror)) {
  return "lcpasswd Unrecognized error return value ".$ErrorCode;   return "lcpasswd Unrecognized error return value ".$ErrorCode;
     } else {      } else {
  return $passwderrors($ErrorCode);   return $passwderrors($ErrorCode);
     }      }
 }  }
   
   #
   # Convert an error return code from lcuseradd to a string value:
   #
   sub lcuseraddstrerror {
       my $ErrorCode = shift;
       if(($ErrorCode < 0) || ($ErrorCode > $lastadderror)) {
    return "lcuseradd - Unrecognized error code: ".$ErrorCode;
       } else {
    return $adderrors($ErrorCode);
       }
   }
   
 # grabs exception and records it to log before exiting  # grabs exception and records it to log before exiting
 sub catchexception {  sub catchexception {
     my ($error)=@_;      my ($error)=@_;
Line 762  sub make_new_child { Line 796  sub make_new_child {
       die "Cannot invoke authentication";        die "Cannot invoke authentication";
   print PWAUTH "$uname\n$upass\n";    print PWAUTH "$uname\n$upass\n";
   close PWAUTH;    close PWAUTH;
   $pwdcorrect=!$?;    my $pwdcorrect=!$?;
       }        }
      if ($pwdcorrect) {       if ($pwdcorrect) {
  my $execdir=$perlvar{'lonDaemons'};   my $execdir=$perlvar{'lonDaemons'};
  my $pf = IO::File->new("|$execdir/lcpasswd");   my $pf = IO::File->new("|$execdir/lcpasswd");
  print $pf "$uname\n$npass\n$npass\n";   print $pf "$uname\n$npass\n$npass\n";
  close $pf;   close $pf;
  my $result = ($?>0 ? 'pwchange_failure'    my $err = $?;
    my $result = ($err>0 ? 'pwchange_failure' 
        : 'ok');         : 'ok');
  &logthis("Result of password change for $uname: ".   &logthis("Result of password change for $uname: ".
   &lcpasswdstrerror($?));    &lcpasswdstrerror($?));
Line 1660  sub make_passwd_file { Line 1695  sub make_passwd_file {
  print $se "$npass\n";   print $se "$npass\n";
  print $se "$npass\n";   print $se "$npass\n";
     }      }
       my $useraddok = $?;
       if($useraddok > 0) {
    &logthis("Failed lcuseradd: ".&lcuseraddstrerror($useraddok));
       }
     my $pf = IO::File->new(">$passfilename");      my $pf = IO::File->new(">$passfilename");
     print $pf "unix:\n";      print $pf "unix:\n";
  }   }

Removed from v.1.96  
changed lines
  Added in v.1.97


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