$dirhash
$icradius_dbh
@saltset @pw_set
- $rsync $ssh);
+ $rsync $ssh $exportdir $vpopdir);
use Carp;
use File::Path;
use Fcntl qw(:flock);
'domsvc' => $self->domsvc,
} );
+ if ( $self->svcnum ) {
+ my $cust_svc = qsearchs('cust_svc',{'svcnum'=>$self->svcnum});
+ unless ( $cust_svc ) {
+ $dbh->rollback if $oldAutoCommit;
+ return "no cust_svc record found for svcnum ". $self->svcnum;
+ }
+ $self->pkgnum($cust_svc->pkgnum);
+ $self->svcpart($cust_svc->svcpart);
+ }
+
my $part_svc = qsearchs( 'part_svc', { 'svcpart' => $self->svcpart } );
return "Unknown svcpart" unless $part_svc;
return "uid in use"
my( $username, $password, $domain, $vpopdir ) = @_;
(open(VPASSWD, ">>$exportdir/domains/$domain/vpasswd")
- and flock(VPASSWD,LOCK_EX|LOCK_NB)
+ and flock(VPASSWD,LOCK_EX)
) or die "can't open vpasswd file for $username\@$domain: $exportdir/domains/$domain/vpasswd";
print VPASSWD join(":",
$username,
mkdir "$exportdir/domains/$domain/$username/Maildir/tmp", 0700 or die "can't create Maildir";
my $queue = new FS::queue { 'job' => 'FS::svc_acct::vpopmail_sync' };
- $error = $queue->insert;
+ my $error = $queue->insert;
+ die $error if $error;
1;
}
my ($machine, $dir, $uid, $gid) = split (/\s+/, $vpopmailmachines[0]);
chdir $exportdir;
- my @args = ("$rsync", "-rlpt", "-e", "$ssh", "domains/", "vpopmail\@$machine:$pdir/domains/")
+ my @args = ("$rsync", "-rlpt", "-e", "$ssh", "domains/", "vpopmail\@$machine:$vpopdir/domains/");
system {$args[0]} @args;
}
my( $username, $domain ) = @_;
(open(VPASSWD, "$exportdir/domains/$domain/vpasswd")
- and flock(VPASSWD,LOCK_EX|LOCK_NB)
+ and flock(VPASSWD,LOCK_EX)
) or die "can't open $exportdir/domains/$domain/vpasswd: $!";
open(VPASSWDTMP, ">$exportdir/domains/$domain/vpasswd.tmp")
my( $username, $password, $domain ) = @_;
(open(VPASSWD, "$exportdir/domains/$domain/vpasswd")
- and flock(VPASSWD,LOCK_EX|LOCK_NB)
+ and flock(VPASSWD,LOCK_EX)
) or die "can't open $exportdir/domains/$domain/vpasswd: $!";
open(VPASSWDTMP, ">$exportdir/domains/$domain/vpasswd.tmp")
close(VPASSWD);
my $queue = new FS::queue { 'job' => 'FS::svc_acct::vpopmail_sync' };
- $error = $queue->insert;
+ my $error = $queue->insert;
+ die $error if $error;
1;
}