version 1.22, 2012/08/17 22:43:03
|
version 1.28, 2021/01/08 00:38:07
|
Line 97 use Apache::lonnet;
|
Line 97 use Apache::lonnet;
|
use Apache::lonlocal; |
use Apache::lonlocal; |
use DBI; |
use DBI; |
use Storable qw(nfreeze); |
use Storable qw(nfreeze); |
|
use Sys::Hostname::FQDN(); |
use strict; |
use strict; |
|
|
=pod |
=pod |
Line 210 while ((!$got_passwd) && ($trial < $maxt
|
Line 211 while ((!$got_passwd) && ($trial < $maxt
|
foreach (split(//,$firstpass)) {if ((ord($_)<32)||(ord($_)>126)){$pbad=1;}} |
foreach (split(//,$firstpass)) {if ((ord($_)<32)||(ord($_)>126)){$pbad=1;}} |
if ($pbad) { |
if ($pbad) { |
print(&mt('Password contains invalid characters.')."\n". |
print(&mt('Password contains invalid characters.')."\n". |
&mt('Password must consist of standard ASCII characters')."\n". |
&mt('Password must consist of standard ASCII characters.')."\n". |
&mt('Please try again.')."\n"); |
&mt('Please try again.')."\n"); |
} else { |
} else { |
$secondpass = &get_password(&mt('Enter password a second time')); |
$secondpass = &get_password(&mt('Enter password a second time')); |
Line 360 if ($pbad) {
|
Line 361 if ($pbad) {
|
"\n"); |
"\n"); |
} |
} |
|
|
my $distro; |
my ($distro,$nostdin); |
if (open(PIPE,"perl distprobe|")) { |
if (open(PIPE,"perl distprobe|")) { |
$distro = <PIPE>; |
$distro = <PIPE>; |
close(PIPE); |
close(PIPE); |
} |
} |
if ($distro =~ /^ubuntu|debian/) { |
if ($distro =~ /^ubuntu|debian/) { |
|
$nostdin = 1; |
|
} elsif ($distro =~ /^suse([\d.]+)$/) { |
|
if ($1 > 12.2) { |
|
$nostdin = 1; |
|
} |
|
} elsif ($distro =~ /^sles(\d+)$/) { |
|
if ($1 > 11) { |
|
$nostdin = 1; |
|
} |
|
} |
|
if ($nostdin) { |
open(OUT,"|usermod -p `mkpasswd $passwd` $username"); |
open(OUT,"|usermod -p `mkpasswd $passwd` $username"); |
close(OUT); |
close(OUT); |
} else { |
} else { |
Line 444 use GDBM_File; # A simplistic key-value
|
Line 456 use GDBM_File; # A simplistic key-value
|
my $rolesref=&LONCAPA::locking_hash_tie("$udpath/roles.db",&GDBM_WRCREAT()); |
my $rolesref=&LONCAPA::locking_hash_tie("$udpath/roles.db",&GDBM_WRCREAT()); |
if (!$rolesref) { |
if (!$rolesref) { |
print(&mt('Error').' '. |
print(&mt('Error').' '. |
&mt('unable to tie roles db: [_1]'."$udpath/roles.db")."\n"); |
&mt('unable to tie roles db: [_1].',"$udpath/roles.db")."\n"); |
exit; |
exit; |
} |
} |
my $now = time; |
my $now = time; |
Line 481 $domrolesref->{$domkey}= &LONCAPA::escap
|
Line 493 $domrolesref->{$domkey}= &LONCAPA::escap
|
my $domconfiguser = $domain.'-domainconfig'; |
my $domconfiguser = $domain.'-domainconfig'; |
my $subdir = $domconfiguser; |
my $subdir = $domconfiguser; |
$subdir =~ s/(.)(.)(.).*/$1\/$2\/$3/; |
$subdir =~ s/(.)(.)(.).*/$1\/$2\/$3/; |
|
$subdir .= "/$domconfiguser"; |
|
|
my $rolelogref = &LONCAPA::locking_hash_tie("$dompath/$subdir/$domconfiguser/nohist_rolelog.db",&GDBM_WRCREAT()); |
if (-d "$dompath/$subdir") { |
my $domlogkey = &LONCAPA::escape($now.'00000'.$$.'000000'); |
my $rolelogref = &LONCAPA::locking_hash_tie("$dompath/$subdir/nohist_rolelog.db",&GDBM_WRCREAT()); |
my $storehash = { |
my $domlogkey = &LONCAPA::escape($now.'00000'.$$.'000000'); |
role => 'dc', |
my $storehash = { |
start => $now, |
role => 'dc', |
end => 0, |
start => $now, |
context => 'server', |
end => 0, |
}; |
context => 'server', |
my $domlogvalue = { |
}; |
'exe_uname' => '', |
my $domlogvalue = { |
'exe_udom' => $domain, |
'exe_uname' => '', |
'exe_time' => $now, |
'exe_udom' => $domain, |
'exe_ip' => '127.0.0.1', |
'exe_time' => $now, |
'delflag' => '', |
'exe_ip' => '127.0.0.1', |
'logentry' => $storehash, |
'delflag' => '', |
'uname' => $username, |
'logentry' => $storehash, |
'udom' => $domain, |
'uname' => $username, |
}; |
'udom' => $domain, |
$rolelogref->{$domlogkey}=&freeze_escape($domlogvalue); |
}; |
&LONCAPA::locking_hash_untie($rolelogref); |
$rolelogref->{$domlogkey}=&freeze_escape($domlogvalue); |
|
&LONCAPA::locking_hash_untie($rolelogref); |
|
|
system('/bin/chown',"www:www","$dompath/$subdir/nohist_rolelog.db"); # Must be writeable by httpd process. |
system('/bin/chown',"www:www","$dompath/$subdir/nohist_rolelog.db"); # Must be writeable by httpd process. |
system('/bin/chown',"www:www","$dompath/$subdir/nohist_rolelog.db.lock"); |
system('/bin/chown',"www:www","$dompath/$subdir/nohist_rolelog.db.lock"); |
|
} else { |
|
print(&mt('Failed to log role creation as the path to the directory: "[_1]" does not exist.',"$dompath/$subdir/")."\n". |
|
&mt('Please run UPDATE from the top level directory of the extracted LON-CAPA tarball, i.e., two levels up from this current directory (loncom/build).')); |
|
} |
|
|
#Update allusers MySQL table |
#Update allusers MySQL table |
|
|
Line 522 by going to http://MACHINENAME/adm/creat
|
Line 540 by going to http://MACHINENAME/adm/creat
|
|
|
# Output success message, and inform sysadmin about how to further proceed. |
# Output success message, and inform sysadmin about how to further proceed. |
print("\n".&mt('[_1] is now a domain coordinator',$username)."\n"); # Output success message. |
print("\n".&mt('[_1] is now a domain coordinator',$username)."\n"); # Output success message. |
my $hostname=`hostname`; chomp($hostname); # Read in hostname. |
my $hostname = Sys::Hostname::FQDN::fqdn(); # Read in hostname. |
print("\n". |
print("\n". |
&mt('Once LON-CAPA is running, you should log-in and use: [_1] to further define this user.', |
&mt('Once LON-CAPA is running, you should log-in and use: [_1] to further define this user.', |
"\nhttp://$hostname/adm/createuser\n")."\n\n". |
"\nhttp://$hostname/adm/createuser\n")."\n\n". |