So, use IPV6 on native windows requires considerable changes anyway?
I wouldn't say it's considerable. Just a tweak to the loading of
getaddrinfo/freeaddrinfo in crypto/bio/b_sock.c, AFAICS.
And since we have to include ws2tcpip.h anyway for structure
definitions, we should provide way to avoid name clash between our
pointers and functions, declared in that file.
After examining few test Win2000 systems around there, I'we found that
they all have ws2_32.dll. It was included in some ServicePack.
Moreover, mingw runtime includes libws2_32.a (equivalent of MS
ws2_32.lib), and not libwship6.a. So it seems that it is relatively
harmless to link with -lws2_32. May be that for NT4 and 9x it would be
required to make separate binary distribution with IPV6 disabled.
But I don't think that it is worth effort to find out whether IPV6 is
available at runtime.
Keep in mind that mingw defines _WIN32_WINNT=0x333, i.e. the intention
was to target all NT versions [note that 0x333 actually covers even for
Windows 9x, which has at least all 0x333 stubs, so that application can
actually start]. As for winsock versioning. Upon latest modifications to
b_sock.c I considered linking with wsock32 to be sufficient/appropriate
for following reason. Systems equipped with ws2_32.dll do have wsock32
too, and this wsock32.dll is actually linked with ws2_32.dll. Meaning
that [legacy] application linked with wsock32 alone will actually bring
even ws2_32.dll into address space. Now note that b_sock.c makes
*global* lookups for getaddrinfo, meaning that application linked with
wsock32 alone will actually find getaddrinfo even if it resides in
ws2_32! So that the fact that latest headers [those defining struct
addrinfo] are included, but elder library is linked with is actually
intentional. Yes, it requires certain programming discipline, but it's
[considered] doable. As for IPv6. If w2k supports it only through
additional library, I'd say "is it really a problem not to have IPv6 on
pre-XP?" A.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager [EMAIL PROTECTED]