[Nut-upsdev] [nut-commits] svn commit r2600 - in trunk: . clients common docs m4 server
Arjen de Korte
nut+devel at de-korte.org
Thu Nov 4 12:03:14 UTC 2010
Citeren Frédéric Bohé <fredericbohe op eaton.com>:
> I am trying to merge the windows_port branch with trunk and I have some
> issues.
I'm not sure if that's a good idea at the moment. If I'm not mistaken,
we're about to release a new stable version soon.
> First, getaddrinfo seems to be supported on Win32 platforms only since
> Windows XP. So I can compile binaries for Win32 but we will loose Win
> NT/2000/98 compatibility here.
Windows NT and 98 is declared 'out of support' by Microsoft, so I
don't think it makes sense to try to support those anymore. I don't
think it is too much too ask that people run a somewhat recent version
of Windows anyway (until now, we have not supported Windows at all).
Windows 2000 does support getaddrinfo if you include the proper
headers. According to the MSDN:
"Support for getaddrinfo on Windows 2000 and older versions
The getaddrinfo function was added to the Ws2_32.dll on Windows XP and
later. To execute an application that uses this function on earlier
versions of Windows, then you need to include the Ws2tcpip.h and
Wspiapi.h files. When the Wspiapi.h include file is added, the
getaddrinfo function is defined to the WspiapiGetAddrInfo inline
function in the Wspiapi.h file. At runtime, the WspiapiGetAddrInfo
function is implemented in such a way that if the Ws2_32.dll or the
Wship6.dll (the file containing getaddrinfo in the IPv6 Technology
Preview for Windows 2000) does not include getaddrinfo, then a version
of getaddrinfo is implemented inline based on code in the Wspiapi.h
header file. This inline code will be used on older Windows platforms
that do not natively support the getaddrinfo function."
> Second, it seems that inet_ntop is supported only since Windows Vista.
> Which remove Windows XP from the compatibility list.
Not at all. Even Windows 2000 has functions to get a human readable
address, it's just not called inet_ntop.
> Of course we can try to provide equivalent functions but is this commit
> really worth the extra work ?
Absolutely.
> Moreover, what will be the impact of this commit on other old systems ?
None. Both functions have been available since almost a decade on *NIX
systems. In order to support IPv6, it is mandatory to use them. There
is no excuse to write IPv4-only code anymore since in growing number
of regions people have no alternatives but to use IPv6.
> Maybe we could simply revert this commit to avoid breakage.
No. It wouldn't relieve you of writing IPv6 compatible versions for
Windows XP and Windows 2000. I would not be surprised if the majority
of people still running older versions of Windows (pre-Vista) live in
regions where IPv6 is common.
Best regards, Arjen
--
Please keep list traffic on the list (off-list replies will be rejected)
More information about the Nut-upsdev
mailing list