trading in tar for rsync for improved vpopmail support
authorjeff <jeff>
Mon, 18 Feb 2002 00:13:58 +0000 (00:13 +0000)
committerjeff <jeff>
Mon, 18 Feb 2002 00:13:58 +0000 (00:13 +0000)
FS/FS/Conf.pm
Makefile
bin/svc_acct.export
eg/vpopmailrestart [new file with mode: 0755]

index d5c0046..7a4a719 100644 (file)
@@ -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.',
index 283981a..3425973 100644 (file)
--- 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
 
index cee63bc..11178c9 100755 (executable)
@@ -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 (executable)
index 0000000..c716e2e
--- /dev/null
@@ -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
+