From 4eaaf99e7103394fcb8fd652f39ccde2eb89bbb4 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Tue, 22 Aug 2006 23:11:33 +0000 Subject: Fix including warning with normal output for users with no addresses. --- localmkpostfixvirtual | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) (limited to 'localmkpostfixvirtual') diff --git a/localmkpostfixvirtual b/localmkpostfixvirtual index bc9aa70..40d12df 100755 --- a/localmkpostfixvirtual +++ b/localmkpostfixvirtual @@ -3,7 +3,7 @@ # /usr/local/sbin/localmkpostfixvirtual # Copyright 2001-2006 Jonas Smedegaard # -# $Id: localmkpostfixvirtual,v 1.27 2006-08-22 23:03:24 jonas Exp $ +# $Id: localmkpostfixvirtual,v 1.28 2006-08-22 23:11:33 jonas Exp $ # # Generate virtual file for postfix # @@ -85,31 +85,29 @@ sub print_accounts($$$$) { my ($username, $mailgroup, $maildomain, $pre_text, $post_fallback_text) = @_; ($pre_text) && print $pre_text . "\n"; - my $user_seen; my $joker_seen; #DEBUG: print STDERR "$mailgroup $maildomain\n"; #DEBUG: ($username eq "annette") and print STDERR Dumper(@{$addresshints{$username}}); - if (not &warnonce(defined(@{$addresshints{$username}}), "addresshints_$username", "Skipping non-hinted username \"$username\".")) { - return ''; - } - my @localparthints = @{$addresshints{$username}}; - my @localparts = grep {s/(.+)@($mailgroup|$maildomain)?$/$1/} @localparthints; - foreach my $localpart (@localparts) { - for ($localpart) { - if (/^\+$/) { - if (!$joker_seen) { - print "\@$maildomain $username\n"; - $joker_seen = $username; + if (&warnonce(defined(@{$addresshints{$username}}), "addresshints_$username", "Skipping non-hinted username \"$username\".")) { + my @localparthints = @{$addresshints{$username}}; + my @localparts = grep {s/(.+)@($mailgroup|$maildomain)?$/$1/} @localparthints; + foreach my $localpart (@localparts) { + for ($localpart) { + if (/^\+$/) { + if (!$joker_seen) { + print "\@$maildomain $username\n"; + $joker_seen = $username; + } else { + print "#WARNING: Catch-all for $maildomain already set to $joker_seen!"; + } } else { - print "#WARNING: Catch-all for $maildomain already set to $joker_seen!"; + print "$localpart\@$maildomain $username\n"; } - } else { - print "$localpart\@$maildomain $username\n"; } } - $user_seen++; + } else { + print $post_fallback_text . "\n" if ($post_fallback_text); } - print $post_fallback_text . "\n" if ($post_fallback_text && !$user_seen); print "\n"; } -- cgit v1.2.3