#!/usr/bin/perl -w
#
-# $Id: svc_acct.export,v 1.25 2001-10-16 20:33:02 jeff Exp $
+# $Id: svc_acct.export,v 1.32 2002-02-15 20:21:56 jeff Exp $
#
# Create and export password, radius and vpopmail password files:
# passwd, passwd.adjunct, shadow, acp_passwd, acp_userinfo, acp_dialup
warn "using depriciated textradiusprepend file" if $textradiusprepend;
+
+my $radiusprepend =
+ $conf->exists('radiusprepend')
+ ? join("\n", $conf->config('radiusprepend'))
+ : '';
+
my @vpopmailmachines = $conf->config('vpopmailmachines')
if $conf->exists('vpopmailmachines');
my $vpopmailrestart = '';
setpriority(0,0,10);
+print USERS "$radiusprepend\n";
+
my %usernames; ## this hack helps keep the passwd files sane
my @sendmail;
foreach $svc_acct (qsearch('svc_acct', {'domsvc' => $svc_domain->svcnum})) {
my($password)=$svc_acct->getfield('_password');
my($cpassword,$rpassword);
- if ( ( length($password) <= 8 )
+ #if ( ( length($password) <= 8 )
+ if ( ( length($password) <= 12 )
&& ( $password ne '*' )
&& ( $password ne '!!' )
&& ( $password ne '' )
$username=$svc_acct->username . $svc_acct->domsvc;
} elsif ($userpolicy =~ /^append domain$/) {
$username=$svc_acct->username . $svc_domain->domain;
+ } elsif ($userpolicy =~ /^append domain$/) {
+ $username=$svc_acct->username . $svc_domain->domain;
+ } elsif ($userpolicy =~ /^append \@domain$/) {
+ $username=$svc_acct->username . '@'. $svc_domain->domain;
} else {
die "Unknown policy in username_policy\n";
}
'',
), "\n";
}
+ }
- ###
- # FORMAT OF THE VPASSWD FILE HERE
- print VPASSWD join(":",
- $svc_acct->username,
- $cpassword,
- '1',
- '0',
- $svc_acct->username,
- "$vpopdir/domains/" . $svc_domain->domain ."/" . $svc_acct->username,
- 'NOQUOTA',
- ), "\n";
+ ###
+ # FORMAT OF THE VPASSWD FILE HERE
+ print VPASSWD join(":",
+ $svc_acct->username,
+ $cpassword,
+ '1',
+ '0',
+ $svc_acct->username,
+ "$vpopdir/domains/" . $svc_domain->domain ."/" . $svc_acct->username,
+ 'NOQUOTA',
+ ), "\n";
- }
if ( $svc_acct->slipip ne '' ) {
ssh("root\@$bsdshellmachine",
"( ".
"mv /etc/passwd.new /etc/passwd; ".
- "mv /etc/master.passwd.new /etc/master.passwd; ".
+ #"mv /etc/master.passwd.new /etc/master.passwd; ".
+ "pwd_mkdb /etc/master.passwd.new; ".
" )"
)
== 0 or die "ssh error: $!";