This needs to be done both at generation time, and at lookup time. Just
in case something tries to use upper-case letters.
if "${lookup pgsql { \
servers=db.distorted.org.uk/odin/exim/@PASSWORD@; \
SELECT recip FROM odin_maildeliver \
if "${lookup pgsql { \
servers=db.distorted.org.uk/odin/exim/@PASSWORD@; \
SELECT recip FROM odin_maildeliver \
- WHERE lpart = '${quote_pgsql:$local_part}' AND \
+ WHERE lpart = '${quote_pgsql:${lc:$local_part}}' AND \
dom = '$domain' } {!$value}{}}" matches "^(.+)\\$"
then
deliver ${s_1:$1}
dom = '$domain' } {!$value}{}}" matches "^(.+)\\$"
then
deliver ${s_1:$1}
my ($db, $gen) = @_;
for (my $try = 0; $try < $MAIL_MAXGENTRY; $try++) {
my ($db, $gen) = @_;
for (my $try = 0; $try < $MAIL_MAXGENTRY; $try++) {
return $l
unless $db->selectrow_arrayref
("SELECT 1 FROM odin_mailredir WHERE lpart = ? AND dom = ?",
return $l
unless $db->selectrow_arrayref
("SELECT 1 FROM odin_mailredir WHERE lpart = ? AND dom = ?",