Added to open items:

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


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

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
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to