Ryan McIntosh writes:

So it seems it cannot connect to a v4 sockets for the dns request? and second is this.. I can send out perfectly to mail servers with v6 connectivity,

But see, you _should_ be able to do that. It's in the IPv6 specs. See the fourth paragraph of section 3.7 of RFC 2553:

  Applications may use PF_INET6 sockets to open TCP connections to IPv4
  nodes, or send UDP packets to IPv4 nodes, by simply encoding the
  destination's IPv4 address as an IPv4-mapped IPv6 address, and
  passing that address, within a sockaddr_in6 structure, in the
  connect() or sendto() call.  When applications use PF_INET6 sockets
  to accept TCP connections from IPv4 nodes, or receive UDP packets
  from IPv4 nodes, the system returns the peer's address to the
  application in the accept(), recvfrom(), or getpeername() call using
  a sockaddr_in6 structure encoded this way.

This is exactly what Courier does.

Unfortunately, many IPv6 stacks are utterly broken in that respect, and this doesn't work.

Your options are to either compile --without-ipv6, and lose all IPv6 support, or get your platform's IPv6 stack fixed.


Attachment: pgp1GIGCIj7EH.pgp
Description: PGP signature

Reply via email to