#!/usr/bin/perl

### HACK ###

sub perl {};
perl "/usr/lib/cherry/mkpasswd" if 0;
exit 0 if 0;

############

$TARGET = $ENV{'TARGET'};
require "/etc/cherry/cherry.cfg";
require "/etc/cherry/ucp.cfg";

if(-f "/usr/lib/cherry/admin/ucputil") {
	require "/usr/lib/cherry/admin/ucputil";
} else {
	package ucp;
	sub ucp_save {}
	1;
}

open(OUT, ">$CFG::PASSWD");

foreach $operator ( keys %operators::name ) {
	print "Operator: $operator\n";
	next if( @operators::options{$operator} =~ /DISABLED/);
	if( defined($operators::passwd{$operator}) ) { 
		$passwd = $operators::passwd{$operator}; 
	}
	else {
		$shell = `grep ^$operator: /etc/master.passwd`;
		($_, $passwd, $_) = split(':', $shell);
		$passwd = "__NOT_SET__" if(!$passwd);
		$operators::passwd{$operator} = $passwd;
	}
	$users = $users . " " . $operator;
	print OUT "$operator:$passwd\n";
}
close(OUT);


if( ! ($ARGV[0] eq "skip_ucp_save")) {
	&ucp::ucp_save('skip_mkpasswd');
}


open(OUT, ">/var/www/html/addon-modules/cherry/htdocs/.htaccess");
print OUT "order allow,deny\n";
print OUT "AuthType Basic\n";
print OUT "AuthName \"Cherry Project :: $CFG::COPANY_NAME\"\n";
print OUT "AuthUserFile $CFG::PASSWD\n"; 
print OUT "require user $users\n"; 
print OUT "allow from all\n";
close(OUT);

#system("find $CFG::BASE -exec chown -h cherry.cherry \\{\\} \\;");

system("chmod 775 $CFG::BASE/groups.cfg");
system("chmod 775 $CFG::BASE/company.cfg");
system("chmod 775 $CFG::BASE/ucp.cfg");
system("chmod 775 $CFG::BASE/radsrv.cfg");
system("chmod 775 $CFG::BASE/passwd");
system("chmod 775 /var/www/html/addon-modules/cherry/htdocs/.htaccess");

