#!/usr/bin/perl -Tw
#
-# $Id: svc_acct_sm.export,v 1.2 1998-12-10 07:23:17 ivan Exp $
+# $Id: svc_acct_sm.export,v 1.5 2000-07-03 09:03:14 ivan Exp $
#
# Create and export config files for sendmail, qmail
#
# /var/spool/freeside/conf and sendmail updates ivan@sisd.com 98-aug-14
#
# $Log: svc_acct_sm.export,v $
-# Revision 1.2 1998-12-10 07:23:17 ivan
+# Revision 1.5 2000-07-03 09:03:14 ivan
+# added sendmailrestart and sendmailconfigpath config files
+#
+# Revision 1.4 2000/06/29 14:02:29 ivan
+# add sendmailrestart configuration file
+#
+# Revision 1.3 2000/06/12 08:37:56 ivan
+# sendmail fix from Jeff Finucane
+#
+# Revision 1.2 1998/12/10 07:23:17 ivan
# use FS::Conf, need user (for datasrc)
#
$conf = new FS::Conf;
-my($shellmachine);
-my(@qmailmachines);
+my($shellmachine, @qmailmachines);
if ( $conf->exists('qmailmachines') ) {
$shellmachine = $conf->config('shellmachine');
@qmailmachines = $conf->config('qmailmachines');
}
-my @sendmailmachines = $conf->config('sendmailmachines')
- if $conf->exists('sendmailmachines');
+my(@sendmailmachines, $sendmailconfigpath, $sendmailrestart);
+if $conf->exists('sendmailmachines') {
+ @sendmailmachines = $conf->config('sendmailmachines');
+ $sendmailconfigpath = $conf->config('sendmailconfigpath') || '/etc';
+ $sendmailrestart = $conf->config('sendmailrestart');
+}
my $mydomain = $conf->config('domain');
seek(EXPORT,0,0);
print EXPORT $$,"\n";
-my(@svc_acct_sm)=qsearch('svc_acct_sm',{});
-
( open(RCPTHOSTS,">$spooldir/rcpthosts")
and flock(RCPTHOSTS,LOCK_EX|LOCK_NB)
) or die "Can't open $spooldir/rcpthosts: $!";
print RECIPIENTMAP "$domuser\@$domain:$username\@$mydomain\n";
}
- print VIRTUSERTABLE @sendmail;
-
}
+print VIRTUSERTABLE @sendmail;
+
chmod 0644, "$spooldir/sendmail.cw",
"$spooldir/virtusertable",
"$spooldir/rcpthosts",
my($sendmailmachine);
foreach $sendmailmachine (@sendmailmachines) {
- scp("$spooldir/sendmail.cw","root\@$sendmailmachine:/etc/sendmail.cw.new")
+ scp("$spooldir/sendmail.cw","root\@$sendmailmachine:$sendmailconfigpath/sendmail.cw.new")
== 0 or die "scp error: $!";
- scp("$spooldir/virtusertable","root\@$sendmailmachine:/etc/virtusertable.new")
+ scp("$spooldir/virtusertable","root\@$sendmailmachine:$sendmailconfigpath/virtusertable.new")
== 0 or die "scp error: $!";
ssh("root\@$sendmailmachine",
"( ".
- "mv /etc/sendmail.cw.new /etc/sendmail.cw; ".
- "mv /etc/virtusertable.new /etc/virtusertable; ".
- #"/etc/init.d/sendmail restart; ".
+ "mv $sendmailconfigpath/sendmail.cw.new $sendmailconfigpath/sendmail.cw; ".
+ "mv $sendmailconfigpath/virtusertable.new $sendmailconfigpath/virtusertable; ".
+ $sendmailrestart.
" )"
)
== 0 or die "ssh error: $!";
+ if ( $conf->config('sendmailrestart') ) {
+ ssh("root\@$sendmailmachine", $conf->config('sendmailrestart') )
+ == 0 or die "ssh error: $!";
+ }
}
my($qmailmachine);