# # Courier::Filter::Module::AuthMailFrom # # NOTE: module trusting must be disabled # # Copyright (C) 2007, Otto Solares # Licensed under GPLv2. package Courier::Filter::Module::AuthMailFrom; use warnings; use strict; use base qw(Courier::Filter::Module); use constant TRUE => (0 == 0); use constant FALSE => not TRUE; sub match; sub match { my ($module, $message) = @_; my $class = ref($module); return if not $message->authenticated; return if not $message->trusted; $_ = lc($message->sender); my $user = lc($message->authenticated_user); return if not $_; return if not $user; return if (/^$user@.*/); return ($module->{response} || 'MAIL FROM <' . $_ . '> does not match AUTH LOGIN <' . $user . '>'); } TRUE;