chiark / gitweb /
print doms
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 30 Aug 2013 13:39:57 +0000 (14:39 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 30 Aug 2013 13:39:57 +0000 (14:39 +0100)
fyvzl
fyvzl.service

diff --git a/fyvzl b/fyvzl
index 97b1d9b4e7dca71e2d9bb72a96e046445be592a1..3ccae97d32d6bf2cf8d6b69ba1bf4ac14ecad376 100755 (executable)
--- a/fyvzl
+++ b/fyvzl
@@ -1,6 +1,6 @@
 #!/usr/bin/perl -w
 #
-# usage: ../fyvzl [-lLENGTH] [-mMAXPERUSER] [-qQUALDOM] DATABASE-FILE ACTION ARG
+# usage: ../fyvzl [-lLENGTH] [-mMAXPERUSER] [-dDOM] [-qQUALDOM] DATABASE-FILE ACTION ARG
 # actions
 #   create [REDIRECT-TO]
 #   update LOCAL-PART REDIRECT-TO
@@ -22,6 +22,7 @@ our $randlength = 6;
 our $maxperuser = 10000;
 our $qualdom;
 our $dbh;
+our $dom;
 our $user;
 our $priv;
 
@@ -53,10 +54,12 @@ sub prow ($) {
        print "# user $u ".(isdisabled($u) ? 'disabled' : 'enabled')."\n";
        $last_u = $u;
     }
+    my $pa = $row->{'localpart'};
+    $pa .= '@'.$dom if defined $dom;
     if (defined $row->{'redirect'}) {
-       print "$row->{'localpart'}: $row->{'redirect'}\n";
+       print "$pa: $row->{'redirect'}\n";
     } else {
-       print "# reject $row->{'localpart'}\n";
+       print "# reject $pa\n";
     }
 }
 
@@ -216,6 +219,8 @@ while (@ARGV) {
        $randlength = $1;
     } elsif (m/^-m(\d+)$/) {
        $maxperuser = $1;
+    } elsif (m/^-d(\S+)$/) {
+       $dom = $1;
     } elsif (m/^-q(\S+)$/) {
        $qualdom = $1;
     } else {
index 91d2fe063075d9cbf142abb8f29ab80f5d001662..e9d1921efe4bf005664122fdd0bea56d2e515d6b 100644 (file)
@@ -6,6 +6,6 @@ if ( grep calling-user-shell /etc/shells
        no-set-environment
        no-disconnect-hup
        no-suppress-args
-       execute /usr/local/lib/fyvzl/fyvzl \
+       execute /usr/local/lib/fyvzl/fyvzl -dfyvzl.net \
                -qchiark.greenend.org.uk /var/lib/mail/fyvzl.db
 fi