I'm working on a module which  returns data useful when generating abuse
reports.  Some of the functions are meant to return undef in normal
cases.  For example, a function which takes an IP and a DNSBL zone and
returns undef if the IP isn't listed in the given DNSBL or returns the
TXT record if it is listed.  127.0.0.2 is a common test address listed
on many DNSBLs so I can check for it on a couple known to list it.  What
happens when their DNS servers are down when someone runs 'make test'?

The problem comes with some of the other functions.  For example, one
returns the email addresses listed with abuse.net for a given domain.
If I pick a random common domain to test against, I don't know that they
won't change the listing.  Picking one of my, or my employer's, domains
would be better but then if the address(es) is/are changed, a new
release is necessary with updated tests.  What about for my function
that returns the ASN announcing an IP?  Or the function that returns
whois contacts for a given IP?

I've looked at some of the other modules that deal with dynamic network
data.  Picking the authors domain seems to be a common method.  Are
there other common methods I missed?  I can see that this would be a
fairly robust solution but I was hoping for something more fault
tollerant.

Michael

Reply via email to