Nmap Development mailing list archives
Re: Bug: nmap doesn't run on Windows XP anymore
From: Richard Browne <richard () timestone com au>
Date: Thu, 23 Jul 2015 11:01:11 +1000
Hi Richard, and thanks for the extra testing and info. That is useful. I'm not much of a Windows developer, so this is a little beyond my expertise. But my understanding is that setting v120_xp rather than v120 forces us to use the old Windows SDK 7.1 rather than the newer 8.1. While we apparently don't yet use any newer functions which aren't in the old API, I presume (hope) that the newer API has bug fixes and general improvements that MS has made over the years. So I worry that using the old toolset in our main installer may make things a bit worse for the 96% (and growing) of us with a newer versions of Windows in order to support the 4% (and shrinking) still using XP.
Though if someone has any good evidence that v120_xp is just as good as v120 for the modern Windows users, that would definitely change the calculation.
Yes it’s true that setting v120_xp switches to the older Windows SDK. But it’s not the case that the “newer API” has bug fixes. The Windows SDK is basically just a huge collection of header files. The WIN32 API is baked into Windows. So no matter what SDK you use, your exe still calls the same functions exported from KERNEL32.dll for example. The newer SDK merely has new stuff in the headers (eg. function declarations). Even using the older SDK 7.1, you can still use newer APIs if needed. The way this is done is to use GetProcAddress() at runtime to get the function pointer you are looking for, and have a fallback if the function is not available. Usually, even in a complex application, you don’t need to do this much. And as of right now, you don’t need to do it at all with nmap, because you aren’t calling any APIs that aren’t available in XPsp3. Sure, if you want to use DirectX for example, using the old SDK is a problem. But that is a non-issue for nmap.
Also, we're working on a new and better version of WinPcap (Npcap) and it uses NDIS 6 and Windows Filtering Platform (WPF) and I don't think our current version of Npcap works on XP. So that may become an issue if and when we integrate Npcap into Nmap.
Fair enough. But right now, supporting XPsp3 is trivial. Why not wait until there is an actual reason to stop support. That is my humble opinion.
We're working on the big Nmap 6.50 stable release and so perhaps the best approach is, after we release that, to create a special Windows XP compatible installer. And maybe that will tide the remaining Windows XP users over until they upgrade to a more modern OS like Windows 7 or 8 or 10 or Linux or Mac.
I am an experienced Windows developer and I would be happy to help if needed. _______________________________________________ Sent through the dev mailing list https://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Re: Bug: nmap doesn't run on Windows XP anymore, (continued)
- Re: Bug: nmap doesn't run on Windows XP anymore Fyodor (Jul 22)
- Re: Bug: nmap doesn't run on Windows XP anymore Gisle Vanem (Jul 11)
- Re: Bug: nmap doesn't run on Windows XP anymore Vlatko Kosturjak (Jul 15)
- Re: Bug: nmap doesn't run on Windows XP anymore Gisle Vanem (Jul 15)
- Re: Bug: nmap doesn't run on Windows XP anymore Ivan Shatsky (Jul 13)
- Re: Bug: nmap doesn't run on Windows XP anymore Fyodor (Jul 22)
- Re: Bug: nmap doesn't run on Windows XP anymore Richard Browne (Jul 22)
- Re: Bug: nmap doesn't run on Windows XP anymore Fyodor (Jul 22)
- Re: Bug: nmap doesn't run on Windows XP anymore Richard Browne (Jul 22)
- Re: Bug: nmap doesn't run on Windows XP anymore Fyodor (Jul 22)
- RE: Bug: nmap doesn't run on Windows XP anymore James M. Scardelis, CISA, CIPP, CIPP/IT, MCT, MCSE, CTT+ (Jul 26)