Tom Lane wrote:

Andrew Dunstan <[EMAIL PROTECTED]> writes:


Seems unlikely. I suppose you could argue that we shouldn't be using
getaddrinfo on the netmask field at all; there's certainly not any value
in doing a DNS lookup on it, for instance. Maybe we should go back to
using plain ol' inet_aton for it? (Nah, won't handle IPv6...)





We could do it if we tested the addr.ai_family first, and only did it in the IPv4 case. I agree calling getaddrinfo is overkill for masks.



Huh? The reason we're using getaddrinfo in the first place is we don't *know* whether we've got an IPv4 or IPv6 string ...





We know the address family - in fact we pass it to SockAddr_cidr_mask(). It's only the family of the mask that we don't know. But they had better be the same, of course. See hba.c around line 753:


if (cidr_slash)
{
if (SockAddr_cidr_mask(&mask, cidr_slash + 1, addr.ss_family) < 0)
goto hba_syntax;
}
else
{
/* Read the mask field. */
line_item = lnext(line_item);
if (!line_item)
goto hba_syntax;
token = lfirst(line_item);


           ret = getaddrinfo_all(token, NULL, &hints, &gai_result);

cheers

andrew

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

http://archives.postgresql.org

Reply via email to