http://bugzilla.spamassassin.org/show_bug.cgi?id=4218


[EMAIL PROTECTED] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|dev@spamassassin.apache.org |[EMAIL PROTECTED]
             Status|REOPENED                    |ASSIGNED




------- Additional Comments From [EMAIL PROTECTED]  2005-04-11 19:57 -------
Created an attachment (id=2783)
 --> (http://bugzilla.spamassassin.org/attachment.cgi?id=2783&action=view)
fix 

argh, this looked easy and then wasn't ;)

sure enough, there was a bug.  Basically, a temporary PerMsgStatus object is
created *very* early on -- in lib/Mail/SpamAssassin/Message/Metadata/Received
-- before the plugin was loaded, resulting in the 'per_msg_finish' callbacks
being cached without the plugin's method in the list.

fix was to get that object created *once* in Mail::SpamAssassin -- not every
time a message is parsed.  (it's much more efficient this way anyway.)

long-term fix would be to get some of the DNS-lookup code out of Dns.pm, since
having it there means it unnecessarily relies on a PerMsgStatus object being in
existence... which is really not necessary for lookups in the Received header
parsing code.

couple of other minor fixes: added some doco to Plugin::per_msg_finish() to
note that only circular refs need to be cleaned up normally. and added a test
to the test suite.




------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

Reply via email to