summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeff <jeff>2002-02-18 00:13:58 +0000
committerjeff <jeff>2002-02-18 00:13:58 +0000
commitb35b650a6078d645d6f97620f3c79ae941915dd9 (patch)
tree261a77e70d667bd0887b930b3855355d49db92e8
parent7158f85d129bdca437955fad1c4ca1df4718d7a2 (diff)
trading in tar for rsync for improved vpopmail support
-rw-r--r--FS/FS/Conf.pm7
-rw-r--r--Makefile6
-rwxr-xr-xbin/svc_acct.export39
-rwxr-xr-xeg/vpopmailrestart11
4 files changed, 48 insertions, 15 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index d5c00467d..7a4a71966 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -732,6 +732,13 @@ httemplate/docs/config.html
},
{
+ 'key' => 'vpopmailrestart',
+ 'section' => 'mail',
+ 'description' => 'If defined, the command which is run on vpopmail machines after files are copied. An example can be found in eg/vpopmailrestart of the source distribution.',
+ 'type' => 'text',
+ },
+
+ {
'key' => 'safe-part_pkg',
'section' => 'UI',
'description' => 'Validates package definition setup and recur expressions against a preset list. Useful for webdemos, annoying to powerusers.',
diff --git a/Makefile b/Makefile
index 283981a87..34259737b 100644
--- a/Makefile
+++ b/Makefile
@@ -6,8 +6,14 @@ DATASOURCE = DBI:Pg:host=localhost;dbname=freeside
DB_USER = freeside
DB_PASSWORD=
+<<<<<<< Makefile
+#TEMPLATE = asp
+#mason's a bit dodgy still
+TEMPLATE = mason
+=======
TEMPLATE = asp
#TEMPLATE = mason
+>>>>>>> 1.27
ASP_GLOBAL = /usr/local/etc/freeside/asp-global
diff --git a/bin/svc_acct.export b/bin/svc_acct.export
index cee63bcd5..11178c962 100755
--- a/bin/svc_acct.export
+++ b/bin/svc_acct.export
@@ -1,6 +1,6 @@
#!/usr/bin/perl -w
#
-# $Id: svc_acct.export,v 1.32 2002-02-15 20:21:56 jeff Exp $
+# $Id: svc_acct.export,v 1.33 2002-02-18 00:13:57 jeff Exp $
#
# Create and export password, radius and vpopmail password files:
# passwd, passwd.adjunct, shadow, acp_passwd, acp_userinfo, acp_dialup
@@ -22,6 +22,9 @@ use FS::svc_acct;
use FS::svc_domain;
use FS::svc_forward;
+my $ssh='ssh';
+my $rsync='rsync';
+
my $user = shift or die &usage;
adminsuidsetup $user;
@@ -648,26 +651,32 @@ foreach my $icradiusmachine ( @icradiusmachines ) {
close WRITER;
}
-my @args = ("/bin/tar", "c", "--force-local", "-C", "$spooldir", "-f", "$spooldir/vpoptarball", "domains");
+#my @args = ("/bin/tar", "c", "--force-local", "-C", "$spooldir", "-f", "$spooldir/vpoptarball", "domains");
-system {$args[0]} @args;
+#system {$args[0]} @args;
my($vpopmailmachine);
foreach $vpopmailmachine (@vpopmailmachines) {
my ($machine, $vpopdir, $vpopuid, $vpopgid) = split (/\s+/, $vpopmailmachine);
my $scp = new Net::SCP;
- $scp->scp("$spooldir/vpoptarball","root\@$machine:vpoptarball")
- or die "scp error: ". $scp->{errstr};
- ssh("root\@$machine",
- "( ".
- "tar xf vpoptarball; ".
- "chown -R $vpopuid:$vpopgid domains; ".
- "tar cf vpoptarball domains; ".
- "cd $vpopdir; ".
- "tar xf ~/vpoptarball; ".
- " )"
- )
- == 0 or die "ssh error: $!";
+# $scp->scp("$spooldir/vpoptarball","root\@$machine:vpoptarball")
+# or die "scp error: ". $scp->{errstr};
+# ssh("root\@$machine",
+# "( ".
+# "rm -rf domains; ".
+# "tar xf vpoptarball; ".
+# "chown -R $vpopuid:$vpopgid domains; ".
+# "tar cf vpoptarball domains; ".
+# "cd $vpopdir; ".
+# "tar xf ~/vpoptarball; ".
+# " )"
+# )
+# == 0 or die "ssh error: $!";
+
+ chdir $spooldir;
+ my @args = ("$rsync", "-rlpt", "-e", "$ssh", "domains/", "vpopmail\@$machine:$vpopdir/domains/");
+
+ system {$args[0]} @args;
$scp->scp("$spooldir/assign","root\@$machine:/var/qmail/users/assign")
or die "scp error: ". $scp->{errstr};
diff --git a/eg/vpopmailrestart b/eg/vpopmailrestart
new file mode 100755
index 000000000..c716e2e2b
--- /dev/null
+++ b/eg/vpopmailrestart
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+for domain in /home/vpopmail/domains/*
+do
+ /home/vpopmail/bin/vmkpasswd `/bin/basename $domain`
+done
+
+/var/qmail/bin/qmail-newu
+
+killall -HUP qmail-send
+