Ethereal-dev: [Ethereal-dev] [ANNOUNCE] WinPcap 3.2 alpha1 has been released

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Gianluca Varenni" <gianluca.varenni@xxxxxxxxx>
Date: Sun, 18 Dec 2005 12:57:34 -0800
WinPcap 3.2 alpha1 is available from today in the download section of the
WinPcap website, http://www.winpcap.org/install/.

The most remarkable feature of this new version is the long-awaited support
of x86-64 platforms. Under 64bit platforms, the NPF driver is 64bit, and the
user level DLLs (packet.dll and wpcap.dll) are 32bit. As a consequence, it's
possible to run any 32bit WinPcap-based application without any
recompilation. Thanks to Ramiro Polla doing pre-release testing on x86-64
platforms.

NOTE: on 32bit platforms, this build does not add any new feature to the
current stable version of WinPcap (3.1), apart for the update to libpcap
0.9.4, and some minor bugfixes in the code and the installer.


A new alpha/beta is expected to be available in a couple of months; it will
probably include support for JITted BPF filters on x86-64 and bugfixes
related to the problems reported by the users of this alpha version.
Therefore, if you test it, please give us feedback.

The complete change log is attached at the end of this message.
Enjoy!

Gianluca Varenni
WinPcap Team



Changelog
=========

- Added support for x86-64 (AMD64) under Windows XP/2003. Under 64bit
 platforms, the NPF driver is 64bit, and the user level DLLs (packet.dll
 and wpcap.dll) are 32bit. As a consequence, it's possible to run any
 32bit WinPcap-based application without any recompilation.
 The x86-64 NPF driver has the following limitations
 * BPF filters are not JITted to x86-64 instructions (filters are
   interpreted).
 * The MONITOR_MODE (used mainly by Analyzer) is not supported.
 * it's not possible to change the timestamping mode using the registry key
     HKLM\System\CurrentControlSet\Services\NPF\TimestampMode
   Timestamps are always computed using KeQueryPerformanceCounter.

 Moreover, due to the lack of the NetMon COM component on the 64bit version
 of Windows, dialup adapters are not supported.

- wpcap.dll has been updated to libpcap 0.9.4 from http://www.tcpdump.org.

- Added a patch file containing the patches for remote capture against the
 vanilla libpcap sources.

- Better error handling in the installer.

- Applied some patches to the bpf_filter and verifier (from Guy Harris):
 + BPF programs with no instructions
 + BPF_STX and BPF_LDX|BPF_MEM instructions that have out-of-range offsets
   (which could be made to fetch or store into arbitrary memory locations)
 + BPF_DIV instructions with a constant 0 divisor (that's a check also done
   at run time)
 + In addition, it makes the "k" field in BPF instructions unsigned, as it
   is in other BPF interpreters

- Enabled PREFast (static code analysis tool from the Microsoft DDK) on the
 x86 build of the driver.

- Bug fixing:
 + Added a patch in PacketGetAdapterNames to set the last error to
   ERROR_INSUFFICIENT_BUFFER if the buffer passed to the function is too
   small. Modified pcap_findalldevs() so that it correctly handles this
   situation.
 + Fixed a bug in PacketGetAdapterNames(): the requested buffer size to
   correctly return all the adapter names was wrongly computed
   (overestimated of 3-4 bytes)
 + Fixed a problem while listing the adapters under Win9x: if the key
   HKLM\System\CurrentControlSet\Services\Class\Net\<number> did not
   contain an "NDIS" key, the code was going into an infinite loop.
 + Minor fixes the documentation.
 + Fixed the prototype for the JITted BPF filter function under x86; thanks
   to this patch, we no longer need to manually fix the stack pointer after
   the JITted function returns.


=========