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

[reSIProcate] RE: Recent updates to DNS code


I hadn't merged quite enough back in; merged in the code which clearly
exposes the problem, but missed the TransportSelector changes.  This latest
commit works w/ testStack with both numeric IP's and host names, but more
testing is appreciated.

I changed ares_strerror to not have that confusing interface.

Thanks Dmitry, 

Derek

> -----Original Message-----
> From: Dmitry Semyonov [mailto:dsemyonov@xxxxxxx]
> Sent: Wednesday, December 08, 2004 5:56 AM
> To: Derek MacDonald
> Cc: resiprocate-devel@xxxxxxxxxxxxxxxxxxx
> Subject: Recent updates to DNS code
> 
> Hello.
> 
> I encountered two issues with r3740 version of reSIProcate.
> 
> 1. Calls to IP addresses (as opposed to domain names) result in
> assertion inside .\TransactionState.cxx, line 1275
> 
> (BTW, what parameters should I set up for getting something
> meaningful instead of "target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT" in
> the log?)
> 
> 
> 2. The following code crashes reSIProcate when log level is set to
> Bogus:
> 
> char*
> AresDns::errorMessage(long errorCode)
> {
>    char* errmem=0;
>    ares_strerror(errorCode, &errmem);
> 
>    int len = strlen(errmem);
>                     ~~~~~~
> 
> ares_strerror() does not update errmem, but rather returns pointer to
> const char (should it be declared as static const?). (So,
> ares_free_errmem() should not be used for the pointer).
> 
> 
> Derek, AFAIR it is yours. Could you fix the issues?
> TIA.
> 
> --
> ...Bye..Dmitry.