github jrohel/NetMount client-v1.5.0,server-v1.3.0
NetMount client version 1.5.0 and server version 1.3.0

Changes in NetMount server version 1.2.0 -> 1.3.0

Features

  • Integrate SLIP support (implement IP, UDP, and SLIP protocols)

    There are cases where having SLIP support built directly into netmount-server is useful. For example:

    • The operating system does not support SLIP
    • The user does not have permission to configure the system network
    • The user wants to keep the SLIP client fully isolated from the system and other networks (preventing possible IP address conflicts between SLIP and other networks)
    • The user prefers not to modify the system’s network configuration
    • The user wants to quickly and easily run netmount-server over SLIP

    This implementation adds new arguments:

    --slip-dev=<SERIAL_DEVICE> Serial device used for SLIP (host network is used by default)

    --slip-speed=<SERIAL_SPEED> Baud rate of the SLIP serial device

    --slip-rts-cts=<ENABLED> Enable hardware flow control: 0 = OFF, 1 = ON (default: OFF)

    By default, netmount-server still uses the operating system’s network
    stack. When the --slip-dev=<SERIAL_DEVICE> option is used, it switches
    to the internal SLIP implementation and shares data via the specified
    SERIAL_DEVICE. In this case, the --slip-speed=<BAUD_RATE> option is
    required to set the baud rate of the serial device. Optionally, hardware
    flow control can be enabled using --slip-rts-cts=1.

    The MTU of the built-in implementation is 1500 bytes - meaning
    the maximum size of a received and transmitted IP packet is 1500 bytes.
    To use a smaller MTU, configure it on the netmount DOS
    client side. The client will send and request packets accordingly.

    The --bind-addr=<IP_ADDR> option is not supported in this mode.
    netmount-server responds to all IP addresses, and the source IP address
    in reply matches the destination address of the incoming request.
    UDP port handling works the same as when using the operating system’s
    network stack - by default, netmount-server listens on port 12200, which
    can be changed using the --bind-port=<UDP_PORT> option.

    The internal implementation is completely isolated from the system’s
    network. The only requirement is user access to the serial port.

    Example usage:

    netmount-server --slip-dev=/dev/ttyUSB0 --slip-speed=115200 C=/shared/

  • Remove shared FilesystemDB, each drive has its own handle table

    Previously, all shared drives used a single items table. Since DOS uses
    a 16-bit number to store the start cluster (which we use as a handle),
    this limited the total number of entries across all shared drives to
    65,535.

    Now, each shared drive has its own table, allowing up to 65,535 entries
    per drive.

    Additionally, it's now possible to share the same directory multiple
    times with different settings — in particular, with different
    name_conversion configurations.

Other

  • Optimize: Dynamically allocate slots for handles: Previously, memory for all handles
    (65,535 slots) was allocated at program startup. Now, the slot space grows dynamically
    as needed

Binaries

The release includes the complete NetMount source code (server and DOS client) and server builds:

  • 2 builds of server for Windows: for i686 and x86_64 (cross-compiled using MinGW on Linux, tested using Wine on Linux)
  • 4 builds of server for Linux: i686, x86_64, ARM aarch64 big endian, ARM aarch64 little endian (ARM binaries tested using QEMU)

The DOS client has not changed since the previous release; if needed, use DOS client builds from the previous release.

Don't miss a new NetMount release

NewReleases is sending notifications on new releases.