Bruce Momjian wrote:

Added to open items:

* Fix Solaris for single-host netmasks in pg_hba.conf, use CIDR?



At this stage of the game I would just change pg_hba.conf.sample to use '127.0.0.1/32' instead of '127.0.0.1 255.255.255.255'. No need for a Solaris-specific fix for the default setup if we do that, and I don't have time right now to do what I suggested below.


cheers

andrew


---------------------------------------------------------------------------

Andrew Dunstan wrote:


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 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match

Reply via email to