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]

Reply via email to