[reSIProcate] multiple EnumSuffixes not implemented

Daniel Pocock daniel at pocock.com.au
Thu Aug 2 16:24:37 CDT 2012



The EnumSuffixes config param accepts multiple values and they are all
loaded into the running proxy

However, I notice that the code only checks the first (DnsResult.cxx)

I tried a quick change to search all of them, it gives a seg fault, so
it needs a closer look at the way multiple DNS queries are performed:



-         InfoLog (<< "Doing ENUM lookup on " << *enums.begin());
-         mDns.lookup<RR_NAPTR>(*enums.begin(), Protocol::Enum, this);
+         for(std::vector<Data>::iterator it = enums.begin();
+            it != enums.end(); it++)
+         {
+            InfoLog (<< "Doing ENUM lookup on " << *it);
+            mDns.lookup<RR_NAPTR>(*it, Protocol::Enum, this);
+         }


In particular, given the nature of ENUM and the ability to `stack'
suffixes, the final implementation of this will need to sort the results
based on the order of the suffixes, not just the random time order in
which the replies come back.




More information about the resiprocate-devel mailing list