<html>WinPCap Team,<br>
<br>
Thanks for all your hard work on this project!<br>
<br>
Michael Ryan<br>
PCSentinelSoftware<br>
www.pcsentinelsoftware.com<br>
<br>
&gt;-----Original Message-----<br>
&gt;From: Gianluca Varenni [mailto:gianluca.varenni@gmail.com]<br>
&gt;Sent: Friday, August 5, 2005 05:15 PM<br>
&gt;To: winpcap-users@winpcap.org<br>
&gt;Subject: [Winpcap-users] [ANNOUNCE] WinPcap 3.1 has been released<br>
&gt;<br>
&gt;After more than two years of hard work, the final version of WinPcap 3.1 is
<br>
&gt;available from today in the download section of the WinPcap website,
<br>
&gt;http://www.winpcap.org/install/.
<br>
&gt;This new release represents an important milestone for the project: major
<br>
&gt;improvements and bug fixes have been carried out during this long period of
<br>
&gt;time, and the result is the most stable and reliable version of WinPcap in
<br>
&gt;its history. Thanks to all the users that contributed to this result by
<br>
&gt;submitting bug reports and thoroughly testing the several betas that were
<br>
&gt;made available.
<br>
&gt;
<br>
&gt;Gianluca Varenni
<br>
&gt;WinPcap Team
<br>
&gt;
<br>
&gt;
<br>
&gt;
<br>
&gt;Changelog from WinPcap 3.1 beta4
<br>
&gt;================================
<br>
&gt;
<br>
&gt;- New installation script based on the NSIS installer. The new installer
<br>
&gt;  should be able to detect any previous version of WinPcap, remove it on
<br>
&gt;  request and install the new version, decreasing the number of situations
<br>
&gt;  in which a reboot is necessary. Moreover, by connecting to the WinPcap
<br>
&gt;  website, the installer is able to tell the user if more recent versions of
<br>
&gt;  WinPcap are available.
<br>
&gt;
<br>
&gt;- wpcap.dll has been updated to libpcap 0.9.3 from http://www.tcpdump.org.
<br>
&gt;
<br>
&gt;- General cleanup of the documentation (now aligned to libpcap 0.9.3).
<br>
&gt;
<br>
&gt;- Modified the documentation, so that packet.dll is no longer available in
<br>
&gt;  the standard developer's pack.
<br>
&gt;
<br>
&gt;- Added to the developer's pack a set of libpcap-compatible samples,
<br>
&gt;  suitable to be compiled against vanilla libpcap
<br>
&gt;
<br>
&gt;- Exported the following new functions from wpcap.dll: pcap_list_datalinks()
<br>
&gt;  and pcap_dump_ftell().
<br>
&gt;
<br>
&gt;- Removed pcap_file() from the exports because of incompatibilities with the
<br>
&gt;  Microsoft C runtime (CRT).
<br>
&gt;
<br>
&gt;- General cleanup of the existing samples.
<br>
&gt;
<br>
&gt;- Renamed the NdisWanAdapter to GenericDialupAdapter, to make the use of
<br>
&gt;  this adapter more clear for the users.
<br>
&gt;
<br>
&gt;- Removed some useless files in the source tree and in the documentation.
<br>
&gt;
<br>
&gt;- Bug fixing:
<br>
&gt;  + Fixed several bugs in the kernel BPF filter function when the packet is
<br>
&gt;    stored into two not contiguous buffers. This bug shows up as missing
<br>
&gt;    packets in the capture while the machine is using personal firewalls and
<br>
&gt;    certain antivirus softwares.
<br>
&gt;  + Fixed a problem related to the NetMon COM component initialization. This
<br>
&gt;    bug caused random access violation errors while listing the adapters.
<br>
&gt;  + Removed a duplicated initialization of an event in the driver.
<br>
&gt;  + Added a check in packet.dll that prevents listing and opening of
<br>
&gt;    FireWire adapters, since they have a broken interface with NDIS and can
<br>
&gt;    cause blue screens.
<br>
&gt;  + Fixed a memory leak in PacketGetAdaptersIPH().
<br>
&gt;  + Fixed a check that could cause PacketSendPackets() to crash packet.dll.
<br>
&gt;  + Minor fixes.
<br>
&gt;
<br>
&gt;=========
<br>
&gt;
<br>
&gt;
<br>
&gt;Changelog from WinPcap 3.1 beta3 to WinPcap 3.1 beta4
<br>
&gt;=====================================================
<br>
&gt;
<br>
&gt;- wpcap.dll has been updated to libpcap 0.8.3 from http://www.tcpdump.org.
<br>
&gt;
<br>
&gt;- Added a note in the documentation that states that the kernel dump feature
<br>
&gt;  is disabled due to incompatibilities with the new kernel buffer.
<br>
&gt;
<br>
&gt;- Minor fixes to the documentation
<br>
&gt;
<br>
&gt;- Removed some useless files.
<br>
&gt;
<br>
&gt;- Bug fixing:
<br>
&gt;  + Fixed a bug related to COM initialization in WanPacket, by which
<br>
&gt;    WanAdapters were not working correctly if the calling thread was using
<br>
&gt;    COM with a different threading model.
<br>
&gt;  + Fixed a problem in AddAdapterIPH(), by which no adapter was actually
<br>
&gt;    added with this function because of a UNICODE/ASCII mismatch. Basically,
<br>
&gt;    AddAdapterIPH received an ASCII adapter name, and tried to open it with
<br>
&gt;    PacketOpenAdapterNPF, which accepts UNICODE strings, only.
<br>
&gt;  + Fixed a bug in the remote capture code due to concurrency issues when
<br>
&gt;    spawning a new thread
<br>
&gt;  + Fixed a problem related to the generation of grammar files with flex
<br>
&gt;    in the CygWin makefile.
<br>
&gt;  + Fixed a couple of memory leaks in PacketGetAdapterNames().
<br>
&gt;    PacketGetAdapterNames() seems to be still leaky, but the source of the
<br>
&gt;    leak seems to be a leaky API in the Microsoft IpHelperAPI, at least on
<br>
&gt;    WinXP SP1.
<br>
&gt;  + Added some code that frees the global list of adapters when packet.dll
<br>
&gt;    is unloaded (i.e. when DllMain is called with DLL_PROCESS_DETACH)
<br>
&gt;  + Fixed a bug that caused the adapters not to be listed on terminal
<br>
&gt;    services. The bug was caused by the lack of the "\\global" prefix in
<br>
&gt;    front of the adapter names.
<br>
&gt;  + Fixed a bug related to adapter opening in the pcap_filter example. Fixed
<br>
&gt;    the usage string that was wrong.
<br>
&gt;  + Fixed a bug in the JIT code of the driver that could potentially cause a
<br>
&gt;    BSOD if two threads try to set a filter (that will be jitted) at the
<br>
&gt;    same time.
<br>
&gt;  + Fixed a bug by which the driver fails to return any packet with a read
<br>
&gt;    after an IOCTL_SETBUFFER has changed the buffer size. The bug is due to
<br>
&gt;    some missing counter resets.
<br>
&gt;  + Fixed some debugging messages in the NT driver that were not macroed
<br>
&gt;    with IF_LOUD
<br>
&gt;
<br>
&gt;=========
<br>
&gt;
<br>
&gt;
<br>
&gt;Changelog from WinPcap 3.1 beta2 to WinPcap 3.1 beta3
<br>
&gt;=====================================================
<br>
&gt;
<br>
&gt;- Bug fixing:
<br>
&gt;  + Fixed a bug related to device listing if TCP/IP is not installed: on
<br>
&gt;    2000/XP if TCP is not installed, it reported "you must install TCP/IP",
<br>
&gt;    and this was plain wrong.
<br>
&gt;  + Added PacketSetSnapLen() under Win9x. Without this function, wpcap.dll
<br>
&gt;    fails to load on Win9x.
<br>
&gt;  + PacketGetAdapterNames() has been rewritten under Win9x, in order to
<br>
&gt;    comply to the correct behavior specified in the documentation.
<br>
&gt;
<br>
&gt;=========
<br>
&gt;
<br>
&gt;
<br>
&gt;Changelog from WinPcap 3.1 beta to WinPcap 3.1 beta2
<br>
&gt;=====================================================
<br>
&gt;
<br>
&gt;- Added some code to show a fake NdisWan adapter, useful to capture LCP/NCP
<br>
&gt;  packets. This adapter is always listed on 2000/XP/2003 (if you have enough
<br>
&gt;  privileges), even if you don't have any PPP/VPN/... connection
<br>
&gt;  established.
<br>
&gt;
<br>
&gt;- Added a check in the installer, so that the installation fails if you
<br>
&gt;  don't have administrator privileges.
<br>
&gt;
<br>
&gt;- Added a check so that NdisWan adapters  (PPP, VPN, ...) are listed only if
<br>
&gt;  you can capture from them.
<br>
&gt;
<br>
&gt;- Added a new sample program, which gets the MAC address of an interface
<br>
&gt;  using packet.dll
<br>
&gt;
<br>
&gt;- Modified the access to the global list of adapters in packet.dll under
<br>
&gt;  NT4/2000/XP/2003. Now packet.dll should be thread-safe.
<br>
&gt;
<br>
&gt;- Bug fixing:
<br>
&gt;  + fixed some resource leaks in the remote capture daemon (rpcapd).
<br>
&gt;  + fixed a couple of resource leaks in packet.dll.
<br>
&gt;  + fixed some meaningless last error messages set by PacketOpenAdapter
<br>
&gt;    (e.g. "The operation completed successfully").
<br>
&gt;  + fixed a shortcoming in pcap_findalldevs, by which the adapters where not
<br>
&gt;    listed if they couldn't fit into a 8kB buffer.
<br>
&gt;  + fixed a memory leak in pcap_lookupdev.
<br>
&gt;  + fixed some bugs related to adapters listing:
<br>
&gt;    * some adapters were not listed, especially if some registry keys are
<br>
&gt;      messed up.
<br>
&gt;    * in some situations the listing failed with the message "Attempt to
<br>
&gt;      release a mutex not owned by caller"
<br>
&gt;    * if PacketGetAdapterNames() failed, it returned the wrong number of
<br>
&gt;      needed bytes for the input buffer.
<br>
&gt;  + fixed a buffer overrun in npf.sys that caused crashes (BSODs) when
<br>
&gt;    there are too many adapters in the registry.
<br>
&gt;  + fixed a bug in npf.sys that caused blue screens (BSODs) when you try to
<br>
&gt;    send "jumbo" packets, i.e. packets bigger than the maximum frame size
<br>
&gt;    for the selected link type.
<br>
&gt;  + minor bug fixes.
<br>
&gt;
<br>
&gt;=========
<br>
&gt;
<br>
&gt;
<br>
&gt;Changelog from WinPcap 3.01 alpha to WinPcap 3.1 beta
<br>
&gt;=====================================================
<br>
&gt;
<br>
&gt;- Support for capture on NdisWan, with the following features:
<br>
&gt;  + Based on the NetMon API, does NOT use NPF.sys
<br>
&gt;  + Works with PPP (dial-up) and VPN links
<br>
&gt;  + Works on Windows 2000 and XP, only
<br>
&gt;  + Packet transmission is not supported
<br>
&gt;  + packet filtering is done at user level
<br>
&gt;
<br>
&gt;- wpcap.dll has been updated to libpcap 0.8.1 from www.tcpdump.org.
<br>
&gt;
<br>
&gt;- Support for DAG cards, based on the Windows version of the 2.5 Endace Dag
<br>
&gt;  driver.
<br>
&gt;
<br>
&gt;- The method used by the driver to timestamp packets can now be changed
<br>
&gt;  without recompiling the driver, modifying a registry key:
<br>
&gt;       HKLM\System\CurrentControlSet\Services\NPF\TimestampMode
<br>
&gt;  Possible values are
<br>
&gt;   - 0 (default) -&gt; Timestamps generated through KeQueryPerformanceCounter,
<br>
&gt;          less reliable on SMP/HyperThreading machines,
<br>
&gt;          precision = some microseconds
<br>
&gt;   - 2 -&gt; Timestamps generated through KeQuerySystemTime,
<br>
&gt;   more reliable on SMP/HyperThreading machines,
<br>
&gt;          precision = scheduling quantum (10/15 ms)
<br>
&gt;   - 3 -&gt; Timestamps generated through the i386 instruction RDTSC,
<br>
&gt;          less reliable on SMP/HyperThreading/SpeedStep machines,
<br>
&gt;          precision = some microseconds
<br>
&gt;
<br>
&gt;- The driver is now started by the SCM with GENERIC_READ privileges rather
<br>
&gt;  than ALL_ACCESS. This allows not-administrator users to start and run
<br>
&gt;  WinPcap.
<br>
&gt;
<br>
&gt;- Changes to the wpcap.dll API:
<br>
&gt;  + pcap_findalldevs() and pcap_findalldevs_ex() return IPv6 addresses
<br>
&gt;  + pcap_findalldevs_ex() is now able to list local adapters, remote
<br>
&gt;    adapters, and the list of capture files present in a given folder.
<br>
&gt;
<br>
&gt;- Changes/additions to the Packet.dll API:
<br>
&gt;  + The code to gather interface information has been mostly rewritten, in
<br>
&gt;    order to be more modular and source independent. IP Helper API is now
<br>
&gt;    used in addition to registry scanning.
<br>
&gt;  + PacketGetNetInfoEx() now returns IPv6 addresses besides IPv4 ones.
<br>
&gt;  + modified the format of the npf_if_addr structure, that
<br>
&gt;    PacketGetNetInfoEx() uses to return the network address of an
<br>
&gt;    interface. In order to provide enough space for an IPv6 address,
<br>
&gt;    npf_if_addr is now made of three struct sockaddr_storage rather than
<br>
&gt;    three struct sockaddr.
<br>
&gt;    Since the former is 128 bytes while the latter is 16 bytes, old
<br>
&gt;    applications will not be compatible with the new PacketGetNetInfoEx().
<br>
&gt;  + PacketGetAdapterNames() now returns the names of the adapter in ASCII
<br>
&gt;    rather than in Unicode.
<br>
&gt;    Since the main purpose of PacketGetAdapterNames() is feeding data to
<br>
&gt;    pcap_findalldevs() and since pcap_findalldevs() needs ASCII names, the
<br>
&gt;    new PacketGetAdapterNames() avoids a conversion in wpcap.dll and
<br>
&gt;    uniforms the data format with the one of Windows 9x (this potentially
<br>
&gt;    simplifies the code of the applications). As a consequence to
<br>
&gt;    this modification, old applications won't work properly with the new
<br>
&gt;    PacketGetAdapteNames() on NT/2k/XP/2k3.
<br>
&gt;  + PacketOpenAdapter() now takes an ascii adapter rather than a UNICODE
<br>
&gt;    one. This is a consequence of the fact that PacketGetAdapterNames()
<br>
&gt;    returns ASCII strings: they can be immediately passed to
<br>
&gt;    PacketOpenAdapter(). (note: internal conversion is provided so that a
<br>
&gt;    UNICODE adapter name will be correctly opened, however the prototype
<br>
&gt;    changes and this could generate warning when compiling old
<br>
&gt;    applications)
<br>
&gt;  + For the same reason, PacketGetNetInfoEx() takes an ASCII adapter
<br>
&gt;    string rather than a UNICODE one. Internal conversion is provided for
<br>
&gt;    backward compatibility in this case, too.
<br>
&gt;  + PacketGetVersion() now retrieves the version number from the dll
<br>
&gt;    binary.
<br>
&gt;  + Added a PacketGetDriverVersion() function that returns the version
<br>
&gt;    number of NPF.sys.
<br>
&gt;
<br>
&gt;- Packet sampling
<br>
&gt;  + added the capability to perform packet sampling instead of just packet
<br>
&gt;    capture. This feature can be turned on through the new
<br>
&gt;    pcap_setsampling() function.
<br>
&gt;  + This feature is available on local captures, offline captures, and
<br>
&gt;    remote captures.
<br>
&gt;  + Please note that this feature is highly experimental.
<br>
&gt;
<br>
&gt;- Remote capture
<br>
&gt;  + Improved support on FreeBSD and Linux.
<br>
&gt;  + Fixed a bug in UDP data trasfer
<br>
&gt;  + Support for packet sampling (only if the remote daemon runs on a Win32
<br>
&gt;    machine; it does not work on Linux and FreeBSD).
<br>
&gt;
<br>
&gt;  - Updated the documentation
<br>
&gt;   + Many examples have been rewritten in order to use the new pcap_open()
<br>
&gt;     and pcap_findalldevs_ex() functions.
<br>
&gt;
<br>
&gt;=========
<br>
&gt;
<br>
&gt;
<br>
&gt;Changelog from WinPcap 3.0 to WinPcap 3.01 alpha
<br>
&gt;================================================
<br>
&gt;
<br>
&gt;- Modified interface for function pcap_findalldevs_ex in order to support
<br>
&gt;  local files listing
<br>
&gt;
<br>
&gt;- pcap_findalldevs_ex supports local device, remote device, and local file
<br>
&gt;  listing
<br>
&gt;
<br>
&gt;- Updated makefiles in order to compile on UNIX
<br>
&gt;
<br>
&gt;- Support for remote capture (and remote daemon) in Linux and BSD (in
<br>
&gt;  addiction to Win32)
<br>
&gt;
<br>
&gt;- Simplified architecture for the remote capture; now pthreads are needed
<br>
&gt;  only by the rpcapd daemon; standard libpcap does no longer need phtreads
<br>
&gt;
<br>
&gt;- Added initial support for remote packet sampling (local packet sampling is
<br>
&gt;  still to be done)
<br>
&gt;
<br>
&gt;- pcap_fileno returns a valid description also in case of a remote capture,
<br>
&gt;  so that the 'select()' function can be used to check if packets are
<br>
&gt;  waiting to be read
<br>
&gt;
<br>
&gt;- Improved docs
<br>
&gt;
<br>
&gt;- Started modifying the Developer's Pack examples in order to use the new
<br>
&gt;  system calls (pcap_open, pcap_findalldevs_ex, etc), although this process
<br>
&gt;  has not been completed
<br>
&gt;
<br>
&gt;- Bug fixing:
<br>
&gt;  + Fixed a bug that prevented the remote capture (active mode) working in
<br>
&gt;    Windows XP
<br>
&gt;  + Fixed a bug that caused the driver not to list any adapter under
<br>
&gt;    NT4/2k/XP/2k3.
<br>
&gt;
<br>
&gt;=========
<br>
&gt;
<br>
&gt;_______________________________________________
<br>
&gt;Winpcap-users mailing list
<br>
&gt;Winpcap-users@winpcap.org
<br>
&gt;https://www.winpcap.org/mailman/listinfo/winpcap-users
<br>
&gt;</html>