Hi,
Post by Dan FaerchDid you add other features, besides the Net::CIDR stuff? Then drop us a
list, so each suggested addition can be discussed here. Usually
everybody here has an opinion :). (which is good).
Honestly, I don't recall. If timestamps are to be believed, I last
messed with the code in late 2006.
Post by Dan FaerchPatches should be made against current CVS version. (not a perl-tidy'et
version ;)). If the patches are small and simple, its way easier to get
me to add them. (because a major restructuring of the code would take me
forever to verify and.. Well.. Yes i am that lazy ;)).
Yeah, that was sort of the problem. I tidied the code so I could
understand it well enough to refactor it. By doing so, I made it
impossible to diff in order to submit a patch. It's sad that a little
white space can screw one over so badly, but that's life. So I posted my
mangled version of the code so the changes were available, if not
integrated with the canonical source.
If the Net::CIDR addition is vital, I'll see what I can extract from my
hack and incorporate into the current non-tidied CVS version of sqlgrey
(the changes look small.) No point in letting the work go to waste, even
if I don't remember any of it :)
Also, FWIW, I used a tiny bit of eval() trickery to check if Net::CIDR
was available (also checked for Time::HiRes and Sys::Hostname the same
way.) I used Net::CIDR if it was there, otherwise I stuck with the
existing code to avoid screwing people who upgraded without knowing that
dependencies had changed.
My big picture goal was to split the code into a small driver script and
a module (potentially Mail::Postfix::Policy::Sqlgrey, inheriting from
Net::Server::Multiplex.) IIRC, the big sticking point involved a
self-reference passed to signal handlers in pre_loop_hook(). My OO-fu
was not sufficient for sorting out how to resolve that scoping issue.
-- Bob