From: Bob A. <apt...@cy...> - 2009-04-10 22:27:27
|
Hi, Dan Faerch wrote: > Did 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. > Patches 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 |