Current versions of Npcap can talk directly to the host system's network
stack. This defect was just discovered. Fortunately, WinPcap 4.1.3 works
as needed and is still functional on Windows 10.
As discussed in nmap/nmap#1929 and nmap/nmap#1343
- Let dynamically loaded (Shared Library) routines do argument checking
if they've been successfully loaded.
- Properly cast file descriptors into SOCKET when stored in the fd_handle
- Clean up error paths when opening tun/tap transports - potential leaks.
- Avoid possible string overflow when opening a tap device on Linux
- Try another way to ignore a return from fread() without getting
warnings.
A device simulator is responsible for specifying exactly what categories of
packets it wants to receive. It should do that after having opened the device.
This change avoids collecting packets that aren't actually interesting until
after the device designates which packets it is interested in.
Reworked all priority adjustment code to leverage a new
sim_os_set_thread_priority API which is coded to use pthreads or OS
priority adjustment APIs as necessary.
Compilation under Cygwin with gcc 5.3.0 - missing const gave rise to
incompatible pointer type warning, and _eth_get_system_id for _WIN32
was included under a conditional for either _WIN32 or __CYGWIN__
and later redefined for !_WIN32
sim> SET XQ MAC=aa:bb:cc:dd:ee:ff{/bits}{>filespec}
where:
- all of the aa:bb:cc:dd:ee:ff values must be hex digits
- bits is the number of bits which are to be taken from the supplied
MAC aa:bb:cc:dd:ee:ff with legal values from 16 to 48 and a default
of 48 bits.
- filespec specifies a file which contains the MAC address to be used
and if it doesn't exist an appropriate generated address will be stored
in this file and a subsequent SET MAC invocation specifying the same
file will use the value stored in the file rather than generating a new
MAC.
As discussed in #317
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.
Most simulators can now also be compiled with a C++ compiler without
warnings.
Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.