version 1.222, 2004/08/04 21:11:16
|
version 1.224, 2004/08/06 10:27:53
|
Line 122 my @passwderrors = ("ok",
|
Line 122 my @passwderrors = ("ok",
|
"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 User already exists", |
"lcpasswd Password mismatch"); |
"lcpasswd Something went wrong with user addition.", |
|
"lcpasswd Password mismatch", |
|
"lcpasswd Error filename is invalid"); |
|
|
|
|
# The array below are lcuseradd error strings.: |
# The array below are lcuseradd error strings.: |
Line 192 sub LocalConnection {
|
Line 194 sub LocalConnection {
|
."$clientdns ne $thisserver </font>"); |
."$clientdns ne $thisserver </font>"); |
close $Socket; |
close $Socket; |
return undef; |
return undef; |
} |
} else { |
else { |
|
chomp($initcmd); # Get rid of \n in filename. |
chomp($initcmd); # Get rid of \n in filename. |
my ($init, $type, $name) = split(/:/, $initcmd); |
my ($init, $type, $name) = split(/:/, $initcmd); |
Debug(" Init command: $init $type $name "); |
Debug(" Init command: $init $type $name "); |
Line 324 sub InsecureConnection {
|
Line 325 sub InsecureConnection {
|
$answer =~s/\W//g; |
$answer =~s/\W//g; |
if($challenge eq $answer) { |
if($challenge eq $answer) { |
return 1; |
return 1; |
} |
} else { |
else { |
|
logthis("<font color='blue'>WARNING client did not respond to challenge</font>"); |
logthis("<font color='blue'>WARNING client did not respond to challenge</font>"); |
&status("No challenge reqply"); |
&status("No challenge reqply"); |
return 0; |
return 0; |
Line 654 sub PushFile {
|
Line 654 sub PushFile {
|
&logthis('<font color="red"> Pushfile: unable to install ' |
&logthis('<font color="red"> Pushfile: unable to install ' |
.$tablefile." $! </font>"); |
.$tablefile." $! </font>"); |
return "error:$!"; |
return "error:$!"; |
} |
} else { |
else { |
|
&logthis('<font color="green"> Installed new '.$tablefile |
&logthis('<font color="green"> Installed new '.$tablefile |
."</font>"); |
."</font>"); |
|
|
Line 1501 sub change_password_handler {
|
Line 1500 sub change_password_handler {
|
&Failure( $client, "auth_mode_error\n", $userinput); |
&Failure( $client, "auth_mode_error\n", $userinput); |
} |
} |
|
|
} |
} else { |
else { |
|
&Failure( $client, "non_authorized\n", $userinput); |
&Failure( $client, "non_authorized\n", $userinput); |
} |
} |
|
|
Line 1689 sub process_request {
|
Line 1687 sub process_request {
|
} else { |
} else { |
my $result=&make_passwd_file($uname, $umode,$npass, |
my $result=&make_passwd_file($uname, $umode,$npass, |
$passfilename); |
$passfilename); |
print $client $result; |
Reply($client, $result, $userinput); |
} |
} |
} else { |
} else { |
Reply($client, "refused\n", $userinput); |
Reply($client, "refused\n", $userinput); |
Line 2493 sub process_request {
|
Line 2491 sub process_request {
|
print $store2 "done\n"; |
print $store2 "done\n"; |
close $store2; |
close $store2; |
print $client "ok\n"; |
print $client "ok\n"; |
} |
} else { |
else { |
|
print $client "error: ".($!+0) |
print $client "error: ".($!+0) |
." IO::File->new Failed ". |
." IO::File->new Failed ". |
"while attempting queryreply\n"; |
"while attempting queryreply\n"; |
Line 3692 sub make_new_child {
|
Line 3689 sub make_new_child {
|
$inittype = ""; # This forces insecure attempt. |
$inittype = ""; # This forces insecure attempt. |
&logthis("<font color=\"blue\"> Certificates not " |
&logthis("<font color=\"blue\"> Certificates not " |
."installed -- trying insecure auth</font>"); |
."installed -- trying insecure auth</font>"); |
} |
} else { # SSL certificates are in place so |
else { # SSL certificates are in place so |
|
} # Leave the inittype alone. |
} # Leave the inittype alone. |
} |
} |
|
|
Line 3927 sub get_auth_type
|
Line 3923 sub get_auth_type
|
} |
} |
|
|
return "$authtype:$availinfo"; |
return "$authtype:$availinfo"; |
} |
} else { |
else { |
|
Debug("Returning nouser"); |
Debug("Returning nouser"); |
return "nouser"; |
return "nouser"; |
} |
} |
Line 4008 sub validate_user {
|
Line 4003 sub validate_user {
|
$password); |
$password); |
if(!$k4error) { |
if(!$k4error) { |
$validated = 1; |
$validated = 1; |
} |
} else { |
else { |
|
$validated = 0; |
$validated = 0; |
&logthis('krb4: '.$user.', '.$contentpwd.', '. |
&logthis('krb4: '.$user.', '.$contentpwd.', '. |
&Authen::Krb4::get_err_txt($Authen::Krb4::error)); |
&Authen::Krb4::get_err_txt($Authen::Krb4::error)); |
} |
} |
} |
} else { |
else { |
|
$validated = 0; # Password has a match with null. |
$validated = 0; # Password has a match with null. |
} |
} |
} |
} elsif ($howpwd eq "krb5") { # User is in kerberos 5 auth. domain. |
elsif ($howpwd eq "krb5") { # User is in kerberos 5 auth. domain. |
|
if(!($password =~ /$null/)) { # Null password not allowed. |
if(!($password =~ /$null/)) { # Null password not allowed. |
my $krbclient = &Authen::Krb5::parse_name($user.'@' |
my $krbclient = &Authen::Krb5::parse_name($user.'@' |
.$contentpwd); |
.$contentpwd); |
Line 4032 sub validate_user {
|
Line 4024 sub validate_user {
|
$password, |
$password, |
$credentials); |
$credentials); |
$validated = ($krbreturn == 1); |
$validated = ($krbreturn == 1); |
} |
} else { |
else { |
|
$validated = 0; |
$validated = 0; |
} |
} |
} |
} elsif ($howpwd eq "localauth") { |
elsif ($howpwd eq "localauth") { |
|
# Authenticate via installation specific authentcation method: |
# Authenticate via installation specific authentcation method: |
$validated = &localauth::localauth($user, |
$validated = &localauth::localauth($user, |
$password, |
$password, |
$contentpwd); |
$contentpwd); |
} |
} else { # Unrecognized auth is also bad. |
else { # Unrecognized auth is also bad. |
|
$validated = 0; |
$validated = 0; |
} |
} |
} else { |
} else { |
Line 4305 sub make_passwd_file {
|
Line 4294 sub make_passwd_file {
|
return "no_priv_account_error\n"; |
return "no_priv_account_error\n"; |
} |
} |
|
|
my $execpath="$perlvar{'lonDaemons'}/"."lcuseradd"; |
my $execpath ="$perlvar{'lonDaemons'}/"."lcuseradd"; |
|
|
|
my $lc_error_file = $execdir."/tmp/lcuseradd".$$.".status"; |
{ |
{ |
&Debug("Executing external: ".$execpath); |
&Debug("Executing external: ".$execpath); |
&Debug("user = ".$uname.", Password =". $npass); |
&Debug("user = ".$uname.", Password =". $npass); |
Line 4313 sub make_passwd_file {
|
Line 4304 sub make_passwd_file {
|
print $se "$uname\n"; |
print $se "$uname\n"; |
print $se "$npass\n"; |
print $se "$npass\n"; |
print $se "$npass\n"; |
print $se "$npass\n"; |
|
print $se "$lc_error_file\n"; # Status -> unique file. |
} |
} |
my $useraddok = $?; |
my $error = IO::File->new("< $lc_error_file"); |
|
my $useraddok = <$error>; |
|
$error->close; |
|
unlink($lc_error_file); |
|
|
|
chomp $useraddok; |
|
|
if($useraddok > 0) { |
if($useraddok > 0) { |
&logthis("Failed lcuseradd: ".&lcuseraddstrerror($useraddok)); |
my $error_text = &lcuseraddstrerror($useraddok); |
|
&logthis("Failed lcuseradd: $error_text"); |
|
$result = "lcuseradd_failed:$error_text\n"; |
|
} else { |
|
my $pf = IO::File->new(">$passfilename"); |
|
print $pf "unix:\n"; |
} |
} |
my $pf = IO::File->new(">$passfilename"); |
|
print $pf "unix:\n"; |
|
} |
} |
} elsif ($umode eq 'none') { |
} elsif ($umode eq 'none') { |
{ |
{ |
my $pf = IO::File->new(">$passfilename"); |
my $pf = IO::File->new("> $passfilename"); |
print $pf "none:\n"; |
print $pf "none:\n"; |
} |
} |
} else { |
} else { |