The ethertap driver has been declared obsolete a long time ago and it has been
removed in Linux kernel version 3.x. The successor service TUN/TAP is supported
by Bochs. The source file and the BX_NETMOD_TAP symbol appearance may be removed
before next release.
The 'vnet' networking module now uses 192.168.10.3 and bxhub is setting up the
slirp compatible IP 10.0.2.4 for additional services. Added host name "vnet-ftp"
in the DNS code to translate it to the new IP address.
- FTP: handle the hidden flag on Windows the same way as on other platforms.
- TCP/IP: fixed some gcc 9 warnings (checked with Cygwin gcc 9.3).
- DHCP: changed the way to set up the default client IPv4 address.
- Reset FTP session state in case of login failure.
- Improved FTP server status output.
- Added special error messages for 2 unimplemented commands.
- Updated vnet / socket / slirp networking module infos in source and docs.
- Major rewrite of the FTP command handling.
- The LIST command now supports an argument (absolute or relative path).
- Added NLST command (similar to LIST, but file / directory names only).
- The MKD and RMD commands now support absolute paths.
- FTP: added support for renaming file, create and remove directory.
- FTP: added FTP server status report and fixed SYST reply.
- bxhub fix: send all pending packets one after the other.
- TCP fix: when connecting, return default MSS option value 1460.
- TCP fix: handle the case when FIN is set in final data packet.
for the whole file, now the buffer has maximum TCP window size and the file is
read on demand. The directory list is now written to a temporary file that can
be sent with the new code.
- Skip special TELNET sequence required for transfer abort to make it work.
- On FTP quit, unregister data port and free data buffer if necessary.
- Some other small FTP code cleanups.
- TCP: If a connection is active, forward reset to the service handler.
- FTP: Added support to retrieve the file size.
- FTP: Handle the "file not found" case in RETR and SIZE code.
- FTP: Fixed the logout process.
- TCP: added new method tcpipv4_send_buffer() that can send multiple packets
up to window size without waiting for ACK.
- TCP: when receiving ACK, the data transfer continues if necessary.
- FTP: list contents of root directory (tested on Linux and Win 10 host).
- FTP: added support for file download from root directory (RETR).
- TODO #1: browse directory tree (CWD, CDUP).
- TODO #2: upload file (STOR).
- TODO #3: file and directory commands (SIZE, DELE, MKD, RMD).
- Added packet counter and use it for the IP id field.
- Added support for closing TCP connection from the server side.
- Added FTP passive mode and LIST demo for testing it.
- Some other small changes.
- Partly re-implemented host_to_guest methods from legacy eth_vnet.cc.
- Added two dynamic packet buffers for vnet server replies.
- TFTP and FTP servers are only available if root directory is configured.
- Added TCP port handler methods similar to the UDP ones.
- Added basic TCP connection management and 3-way handshake.
- Added FTP server stub for testing TCP (only login/logout for now).
- Enable packet logging in text format if file name is specified with the
"script" parameter.
- Don't start RX timer if vnet server returns 0.
- Added TCP header structure for future extensions.
- Fixed ne2k parameter save function.
- For backward compatibility, card #0 defaults to PCI if the ne2k is assigned
to at least one PCI slot.
- The "bootrom" parameter is only valid for the PCI card type.
old SF patches this solution is compatible with the plugin architecture. The
ne2k plugin is loaded only once and a new ne2k_main_c object creates up to 4
ne2k device objects depending on the config. The new ne2k parameter "card"
specifies the zero-based card number to configure. If not given, the default
is card #0 for compatibility. The new ne2k parameter "type" specifies the bus
it is connected to ("isa" or "pci"). Card #0 defaults to PCI, the others to
ISA. In the PCI slot configuration the ne2k device can be used multiple times
if more than one card is configured.
Related changes:
- removed SMF stuff for ne2k
- always convert device prefix to uppercase (ne2k uses NE2K0 ... NE2K3)
- removed unused BXPN values
- TODO: add multiple NICs support for the E1000
- Added case for "*-msys" to the existing "*.mingw*" cases.
- Fixed $JADE value in case the program is not installed.
- Fixed RedirectIOToConsole() function for MSYS with 64-bit gcc 9.2.
- Don't set up and load pre-defined optional plugins in restore mode.
- Remove the save/restore registration in Voodoo destructors.
- TODO: Fix frozen SDL/SDL2 display after restore.
command line debugger and debugger gui. Improved gui debugger section a
little bit. TODO: use some parts of docs-html/enh_dbg_user_man.txt and
remove this file when ready.
This patch fixed an integer overflow issue when restoring a snapshot whose parameters that are larger than ULONG_MAX.
We run into this issue when restoring a Windows snapshot whose pc_system.ticksTotal exceeds ULONG_MAX, which caused the subsequent confusion in bx_virt_timer_c::timer_handler which relies on pc_system.ticksTotal to function correctly.