Kurt Roeckx wrote:
> On Sat, Feb 01, 2003 at 02:35:15PM +0900, Curt Sampson wrote:
> > 
> > Sure. But you still want to be able to say (and can say, in some [many?]
> > socket API implementations) that you want to accept only IPv4 or only IPv6
> > connections. I also want to be able to say the same thing in my database.
> 
> You just create either an ipv4 or ipv6 socket.  And then you can
> bind to an address of that type if you want.  Either all
> addresses or a specific one.
> 
> Depending on the OS, binding to all addresses on IPv6 will also
> bind to all the ipv4 addresses, which can be both handy an
> annoying.  On others you need 2 sockets if you want to listen on
> both ipv4 and ipv6, which makes more sense.

Well, that's interesting.  Current CVS only binds to IPv6, and assumes
IPv4 will work too.  If some OS's require a separate Ipv4 binding, we
are going to hear about it before 7.4:

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


#ifdef HAVE_IPV6
        /* Try INET6 first.  May fail if kernel doesn't support IP6 */
        status = StreamServerPort(AF_INET6, VirtualHost,
                                  (unsigned short) PostPortNumber,
                                  UnixSocketDir,
                                  &ServerSock_INET);
        if (status != STATUS_OK)
        {
            elog(LOG, "IPv6 support disabled --- perhaps the kernel does not support 
IPv6");
#endif
            status = StreamServerPort(AF_INET, VirtualHost,
                                      (unsigned short) PostPortNumber,
                                      UnixSocketDir,
                                      &ServerSock_INET);
            if (status != STATUS_OK)
            {
                postmaster_error("cannot create INET stream port");
                ExitPostmaster(1);
            }
#ifdef HAVE_IPV6
            else
                elog(LOG, "IPv4 socket created");
        }
#endif
    }


-- 
  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/users-lounge/docs/faq.html

Reply via email to