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

Re: [reSIProcate] multiple EnumSuffixes not implemented



Update: a suitable, thread-safe fix for this is now in trunk, r9824, it
will potentially be cherry-picked for the next 1.8.x series release

Any feedback on the ENUM support is still welcome though...

On 02/08/12 21:24, Daniel Pocock wrote:
> 
> 
> 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.
> 
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel@xxxxxxxxxxxxxxx
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel