On Fri, Feb 19, 2010 at 3:38 PM, Gert Doering <g...@greenie.muc.de> wrote:
> Hi,
>
> On Fri, Feb 19, 2010 at 03:21:34PM +0100, JuanJo Ciarlante wrote:
>> > JJO's patch does more than that, he does DNS lookups to print the
>> > DNS name for the IPv6 address in question.
>>
>> Wrong.
>> From getaddrinfo(3):
>>    """
>>       If hints.ai_flags contains the AI_NUMERICHOST flag then the node
>>       parameter must be a numerical network address.
>>       The AI_NUMERICHOST flag suppresses any potentially  lengthy
>>       network host address lookups.
>>    """
>
> Ah!  Learned something new today.  So what's the specific advantage of
> using getnameinfo() instead of inet_ntop() instead?
>
> (I've only ever used getnameinfo() if I really wanted to do DNS lookups).
>
>> > Now we enter religious
>> > territory - *I* think that this is not a good thing.
>>
>> I can't more eagerly _agree_ on tossing out any reverse
>> DNS lookups at this level.
>
> OK, good.  Glad that this was just a misreading of the code.
>
>
>> > The existing
>> > code doesn't do reverse DNS lookups for IPv4 mroute printing, and so
>> > the IPv6 code should behave similar to the IPv4 code, and not do DNS
>> > either (also, depending on DNS lookup in this place might lead to
>> > weird delays in unexpected situations).  But this is partly religious,
>> > partly "follow the coding style of the existing code" stuff.
>>
>> IMO we should void using inet_ntop() and friends, personally
>> I don't like locking around their lack of multi-threading.
>
> Mmmh, ok.  I wasn't aware that inet_ntop() is not thread-safe.  (Looking
> at the FreeBSD implementation, at least that one *is* thread-safe - no
> static buffers, etc.).

And now I learned something new, by *actually* closely looking
inet_ntop() manpage, heh (had a totally wrong braino on it using
static buffers).
Please just ignore this non MT-safe state from me.

>
> If it is not thread-safe, it won't break anything in my code, though
> (lucky me :-) ) - my use of it in print_in6_addr() is mutex-locked anyway,
> due to the use of a static buffer there.
>
> Is getnameinfo() *guaranteed* to be thread-safe?
>
> Do you have a reference that documents that inet_ntop() and inet_pton()
> are unsave to be used in a threaded context?
>
> gert
> --
> USENET is *not* the non-clickable part of WWW!
>                                                           //www.muc.de/~gert/
> Gert Doering - Munich, Germany                             g...@greenie.muc.de
> fax: +49-89-35655025                        g...@net.informatik.tu-muenchen.de
>



-- 
--JuanJo ; echo j...@gomosglep.com | sed 's/[SPAM]//g'

Reply via email to