[Mimedefang] mimedefang vs. message/rfc822 attachments

Bryan Stansell bryan at stansell.org
Tue Jan 6 21:10:46 EST 2004


On Tue, Jan 06, 2004 at 07:11:56PM -0500, David F. Skoll wrote:
> On Tue, 6 Jan 2004, Bryan Stansell wrote:
> > i've replaced both the workaround and the line above with:
> 
> > 	my($subentity) = $in->dup;
> > 	$subentity->parts([]);  # delete all parts
> 
> Very nice... if it works for you, I think that will fix the bug.  Thanks!
> Have you tested it?

well, i've taken mimedefang.pl and chopped out everything but the parts
that rebuild the message.  then i added some $rebuilt->dump_skeleton()
calls and a $rebuilt->print() call.  i put various messages into an
INPUTMSG file and run the script, saving things to OUTPUT.  when i
compare the INPUTMSG to the print() portion of OUTPUT, i get the same
data, minus the initial header, which is expected (and possible
reformatting of base64 stuff, etc).  the embedded rfc822 messages and
such are intact, with headers.  so, without "putting it into
production", yeah, it works.  since you don't have a problem with the
philosophical aspect of it, and it seems to work in my "test" world, i'm
going to start using it for real.  if i see any problems, i'll let folks
know.

i assume it won't be a major impact on performance since the docs say a
dup() creates pointers to the files on disk that have the body of the
parts...so a 16MB file doesn't become two 16MB files (and you don't
have all the i/o).  if i'm wrong about that, i'd love to know it.

thanks!

Bryan



More information about the MIMEDefang mailing list