chiark
/
gitweb
/
~ijackson
/
evade-mail-usrlocal.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Make "list" command suppress rejected addresses by default
[evade-mail-usrlocal.git]
/
evade-mail-admin
diff --git
a/evade-mail-admin
b/evade-mail-admin
index fb22d3943a8e7e91e66c5e922b572927881673c2..4e5be404f34b863de11d7ea24b49c2c70e7aaf54 100755
(executable)
--- a/
evade-mail-admin
+++ b/
evade-mail-admin
@@
-22,7
+22,7
@@
actions
choose [<genopts>] [<redirect>] [#<comment>] (interactively allocate)
update <addr> [<redirect>] [#<comment>]
show <addr>
choose [<genopts>] [<redirect>] [#<comment>] (interactively allocate)
update <addr> [<redirect>] [#<comment>]
show <addr>
- list
+ list
[-a] (-a also lists aliases set to reject)
list-actions
empty string for redirect means reject
remember to quote comments (to protect # from your shell)
list-actions
empty string for redirect means reject
remember to quote comments (to protect # from your shell)
@@
-409,9
+409,23
@@
sub listq ($) {
}
sub action_list {
}
sub action_list {
+ my $listall = 0;
+ $listall ||= $priv;
+ while (@ARGV) {
+ last unless $ARGV[0] =~ m/^-/;
+ $_ = shift @ARGV;
+ last if m/^--?$/;
+ if (m/^-a$/) {
+ $listall=1;
+ } else {
+ die "unknown option to list \`$_'\n";
+ }
+ }
nomoreargs;
nomoreargs;
- my $q = $dbh->prepare("SELECT * FROM addrs WHERE user=?".
- " ORDER BY localpart");
+ my $q = "SELECT * FROM addrs WHERE user=?";
+ $q .= " AND NOT redirect = ''" unless $listall;
+ $q .= " ORDER BY localpart";
+ $q = $dbh->prepare($q);
$q->execute($user);
listq($q);
}
$q->execute($user);
listq($q);
}