< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate] DNS whitelist and testing


Hi Kennard,

 

We don't have a resip unit test for that unfortunately.

 

Our blacklisting/greylisting/whitelisting logic is actually customized somewhat from what's on that branch (in particular the logic in TransactionState).  Some highlights:

 

 - we use a different greylist duration (proportional to the number of SRV results) so that there is more time to try alternatives

 - we blacklist or greylist on getting a 500 response (depends on the request and the Retry-After value)

 - we blacklist when there's a 503, even if it doesn't have a Retry-After header, provided there are alternatives available to try

 

Some of these are based on our interpretation of the (somewhat lacking) specs, and some is based on what various customers expect.  It likely isn't appropriate for inclusion on the trunk, but it's something that I can make available.

 

Jeremy

 

 

 

 


From: resiprocate-devel-bounces@xxxxxxxxxxxxxxx [resiprocate-devel-bounces@xxxxxxxxxxxxxxx] on behalf of Kennard White [kennard_white@xxxxxxxxxxxx]
Sent: Monday, January 31, 2011 9:46 AM
To: resiprocate-devel@xxxxxxxxxxxxxxx
Subject: [reSIProcate] DNS whitelist and testing

Hi,

I pulled the changes from CTPC branch for clearing the white list into trunk (only minor integration issues). I then looked for a unit test to extend to test this functionality ... and I'm stuck :-).

1. Is there an existing test of whitelist functionality that would be a natural place to extend to clearing of the whitelist? Does anyone at CTPC have a unit test for this?

2. stack/testDns.cxx seems pretty complete, but...
2a. It doesn't appear to test whitelisting (as far as I can tell). There is some commented out code for RRVip but that is it.
2b. I cannot even tell if the test pass in its current form: a lot of white, green and red text flys by and I don't know if that is good or bad.

3. stack/testDnsCache.cxx seems obsolete: there isn't a build rule for it (in Makefile or VC). It depends upon rutil/dns/LocalDns.cxx which isn't built under linux. What is the status of these tests? Can they be removed from the tree? If we're keeping them, I'd like to remove the ifdef #USE_LOCAL_DNS in ExternalDnsFactory.cxx and replace it with an appLevel setExternalCreator() call.

I'd like to commit this change (since our app would benefit from it) but would prefer to have unit test first.

Thanks,
Kennard