IPv6 detection

Started by Bruce Momjianabout 23 years ago3 messages
#1Bruce Momjian
pgman@candle.pha.pa.us

The IPv6 patch currently checks for the function getaddrinfo() and the
include file netinet/ip6.h.

Is this a sufficient test? Anyone with/without IPv6 that does match
not this test?

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#2Peter Eisentraut
peter_e@gmx.net
In reply to: Bruce Momjian (#1)
Re: IPv6 detection

Bruce Momjian writes:

The IPv6 patch currently checks for the function getaddrinfo() and the
include file netinet/ip6.h.

getaddrinfo() has nothing to do with IPv6, and netinet/ip6.h isn't
included anywhere, so why check for it?

I believe we would need to check for a combination of

getaddrinfo()
inet_ntop()/inet_pton()
AF_INET6
struct sockaddr_in6

Then again, it might be simpler to make it a configure option
(--enable-ipv6) and just assume all those things exist. Over time the
interfaces might stabilize.

However, even when IPv6 support is compiled in, we still need some
run-time control about whether it should get activated because the
presence of the programming interfaces doesn't tell you anything about
whether the run-time environment supports it.

--
Peter Eisentraut peter_e@gmx.net

#3Bruce Momjian
pgman@candle.pha.pa.us
In reply to: Peter Eisentraut (#2)
Re: IPv6 detection

Peter Eisentraut wrote:

Bruce Momjian writes:

The IPv6 patch currently checks for the function getaddrinfo() and the
include file netinet/ip6.h.

getaddrinfo() has nothing to do with IPv6, and netinet/ip6.h isn't
included anywhere, so why check for it?

I believe we would need to check for a combination of

getaddrinfo()
inet_ntop()/inet_pton()
AF_INET6
struct sockaddr_in6

Then again, it might be simpler to make it a configure option
(--enable-ipv6) and just assume all those things exist. Over time the
interfaces might stabilize.

However, even when IPv6 support is compiled in, we still need some
run-time control about whether it should get activated because the
presence of the programming interfaces doesn't tell you anything about
whether the run-time environment supports it.

I changed the check for sockaddr_in6, rather than ip6.h. Let's see how
that works. I would like to have this automatic rather than adding yet
another configure flag.

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