[Mimedefang] tie'd files
Tuc at T-B-O-H.NET
ml at t-b-o-h.net
Sat Aug 30 21:37:52 EDT 2008
Hi,
I stole the following "filter_initialize" :
sub filter_initialize {
require DB_File;
use Fcntl;
my($key,$val);
tie %mailid, "DB_File", "/etc/mail/mailid.db", O_RDONLY;
tie %variout, "DB_File", "/etc/mail/variout.db", O_RDONLY;
}
and at the bottom of my filter_end I do :
$varilookup = $variout{$LookupRecipient};
if ($varilookup) {
$changeto = $varilookup;
}
pretty normal stuff. BESIDES the fact that the /etc/mail
maps are 640 (FreeBSD atleast) and owned by root/wheel, I'm running
into a more important problem...
If I update and remake the map, and then chmod it, the next
time the subroutine runs, it gets the OLD data. I've tried assigning
the tie to a variable, and then $variable->sync before and after any
use, but that doesn't seem to be helping.
It seems to be something I've run into before when I was
writing a perl helper for Squid. Any long running process seems
not to pick up changes to the DB_File formatted files unless the
process is stopped and restarted.
Am I fighting with a perl thats not working right, or
have I overlooked something?
Thanks, Tuc
More information about the MIMEDefang
mailing list