On Jun 11, 2014, at 2:27 PM, Philip Prindeville <philipp_s...@redfish-solutions.com> wrote:
> Okay, might have a module ready to test. Here’s what I came up with. I should probably add uri_block_isp as well, but this is more problematic. It requires a licensed database which the user may or may not have, so I have to detect that and handle it gracefully. Also the names of ISP’s can contain spaces and punctuation, so I’ll need quoting. As far as I know, names are limited to the ASCII alphabet for now (yay 1980’s technology!!!). I don’t bother to see if multiple URI’s match against the blacklist… I stop when I see the first one. I test for country codes before address block matches. Arguably the latter would be quicker, so I might make that the first test. Lastly, I don’t do the asynchronous address lookup… and I have to admit I don’t understand why this isn’t done for us by get_uri_detail_list() or whatever populates that hash. Rather than having things like: hosts => { ‘nqtel.com’ => ‘nqtel.com’ } why not have it be pre-populated for us, such as: hosts => { ‘nqtel.com’ => [ 107.158.249.74 ] } for instance? Anyway, here’s the script. I don’t do a lot of volume so I’m okay with synchronous lookups, but if someone else wants to make that change I’d be happy to incorporate it. http://ur1.ca/hiltd