Colm MacCarthaigh wrote:
On Mon, Dec 11, 2006 at 02:58:04PM +0100, Mladen Turk wrote:
On WIN32, APR by default comes with IPV6 disabled.
I'm not sure what you mean by that. Do you mean the binary builds
particular developers make?
Yes and no. IPV6 on WIN32/WIN64 can be enabled only by
manually editing the apr.hw. On nixes it's configure.in-ed.
Now, this is completely platform dependent, and makes
the same config behaving differently depending on the OS.
Many stacks exhibit this behaviour and do not support IPv4 mapped IPv6
addresses. OpenBSD does this by default, FreeBSD and Linux have it as
system-configurable. Tru64 and MacOSX do slightly weirder things still.
In general, the application needs to be aware of this and decide to
listen() on whatever it feels the need to listen() on. Not doing this is
a bug.
So you are saying that the same API behaves differently
depending on the OS beneath. Then what's the purpose of the APR?
If one platform behaves completely different from the
other platform for the same API and params passed in, then
it cannot be called cross-platform at the first place.
Regards,
Mladen.