Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Email-LocalDelivery CPAN distribution.

Report information
The Basics
Id: 14077
Status: resolved
Priority: 0/
Queue: Email-LocalDelivery

People
Owner: Nobody in particular
Requestors: knew [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.09
Fixed in: (no value)



Subject: "Bug" in deliver(). Can cause corruption to the system.
The loop in deliver() which expands the mailbox filenames out and stores them into the to_deliver hash prior to delivery has a large problem. I'm guessing it's caused by a change in Email::FolderType. The bug results in the mailbox stored in the hash being the path to the relevant Email::FolderType module, instead of the mailbox passed in. At best this causes things just not to work (like the test suite). At worst, when running as a user with write permissions to said module file, this results in the email(s) being appended to the module file, after which it won't load any more. (nice example of this being running the CPAN shell as root; can you guess i got caught by this :/)
--- LocalDelivery.pm.prob 2004-12-17 17:16:10.000000000 +0000 +++ LocalDelivery.pm.works 2005-08-09 15:39:36.000000000 +0100 @@ -46,8 +46,9 @@ } my %to_deliver; - push @{$to_deliver{folder_type($_)}}, $_ - for map { expand_filename $_ } @boxes; + for my $box (map { expand_filename $_ } @boxes) { + push @{$to_deliver{folder_type($box)}}, $box; + } my @rv; for my $method (keys %to_deliver) { eval "require Email::LocalDelivery::$method";
I could not verify this bug, but I have had email delivery break enough times due to topicalization problems that I just removed the use of the topic from the offending code for safety's sake. This is fixed in Subversion. The next build will include the change.
Released. -- rjbs