Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • upstream/0.5
    4a950b04 · New upstream version 0.5 ·
    Upstream version 0.5
  • upstream/0.4
    9a479cfa · New upstream version 0.4 ·
    Upstream version 0.4
  • upstream/0.3
    2ccd1654 · New upstream version 0.3 ·
    Upstream version 0.3
  • upstream/0.2a
    4f1d27df · New upstream version 0.2a ·
    Upstream version 0.2a
  • upstream/0.1a
    e53b7717 · New upstream version 0.1a ·
    Upstream version 0.1a
  • v0.9
    df4ea048 · mptcpd 0.9 ·
    mptcpd 0.9
    
    - mptcpd
        - Several security hardening fixes were made including missing
          hardening flags for the `mptcpize' program and compile-time
          hardening (e.g. _FORTIFY_SOURCE) that was inadvertently disabled
          in some cases.
    
        - Systemd based start of mptcpd has been delayed until the
          multi-user environment is fully operational.
    
        - mptcpd will only support one kernel at run-time.  The kernel may
          be selected through the new "--with-kernel" `configure' script
          option, e.g. "./configure --with-kernel=upstream".  Supported
          kernels are "upstream" and "multipath-tcp.org".  The `configure'
          script will attempt to automatically detect the kernel, and
          fallback on the upstream kernel if it cannot do so.
    
        - mptcpd_addr_info is now an opaque structure.  Field accessor
          functions were added to the <mptcpd/addr_info.h> header,
          accordingly.
    
        - Address filtering based on default route availability was
          implemented in the mptcpd network monitor through a new
          "check_route" mptcpd command line option notify flag,
          e.g. --notify-flags=check_route.
    
        - mptcpd initialization order issues were addressed to ensure that
          the internal mptcpd state is stable and consistent prior to
          invoking user provided callbacks such as "pm_ready".
    
        - A "complete" callback parameter was added to
          mptcpd_kpm_get_addr() and mptcpd_kpm_dump_addr() to allow the
          user to be notified when these asynchronous calls complete.
          This is particularly useful for the case where no results are
          available, which consequently prevents the "results" callback
          from being called.
    
        - The mptcpd_kpm_add_addr() function no longer ignores the port
          parameter.
    
        - A new command line option "--load-plugins" was added to allow
          the user to specify which mptcpd plugins to load instead loading
          all plugins.
    
        - ELL >= 0.30 is now required.
    
        - The mptcpd unit test suite was expanded to further improve code
          coverage.
    
    - mptcpize
        - mptcpize will now hijack socket() calls that specify the
          IPPROTO_IP protocol.
    
        - An issue that prevented mptcpize from updating systemd unit
          files on a different filesystem was corrected.
    
        - The libmptcpwrap library is now installed in ${libdir}/mptcpize
          instead of ${libdir}/mptcpd to differentiate it from mptcpd
          plugins.
  • v0.8
    b3293f93 · mptcpd 0.8 ·
    mptcpd 0.8
    
    - The mptcpd library API now splits path management operations
      specific to the in-kernel path manager found in the upstream Linux
      kernel into a separate "mptcpd_kpm" API namespace to differentiate
      ADD_ADDR and REMOVE_ADDR related operations between the in-kernel
      and user space cases.  The operations for the two are different and
      have different use cases.
    
    - Two new mptcpd command line arguments were added: "--addr-flags" and
      "--notify-flags", along with the equivalent settings in the mptcpd
      system configuration file (e.g., /etc/mptcpd/mptcpd.conf).
      "addr-flags" are used when announcing an IP address.  Similar flags
      are used by the "ip mptcp" sub-command.  See the ip-mptcp(8) and man
      page for further details on these address related flags.
      "notify-flags" provides for further control over how plugins are
      notified of changes to local IP addresses.  See the mptcpd(8) man
      page shipped with this mptcpd release for further details.
    
    - Improve the mptcpd "addr_adv" plugin by making it set suitable MPTCP
      resource limits in the kernel, such as expanding the maximum number
      of subflows to allow subflows associated with advertised IP
      addresses to be created.
    
    - The mptcpd plugin directory name in the mptcpd system configuration
      file may now be left empty to improve "multilib" support found in
      some Linux distributions.  A compile-time default will be used if no
      plugin directory name is found in the mptcpd system configuration
      file or the mptcpd command line options.
    
    - Mptcpd command line options now properly take precedence over the
      corresponding mptcpd system configuration setting.  This addresses
      an issue that prevented mptcpd from starting if a required setting
      was not specified in the mptcpd system configuration file even
      though the same setting was configured through the mptcpd command
      line.
    
    - A new "mptcpize" program was added that allows legacy TCP-only
      applications to transparently use MPTCP by either of the following
      approaches:
        - leverage library interpositioning to transparently replace TCP
          socket calls with their MPTCP counterparts.
        - enable or disable TCP to MPTCP socket conversion through an
          existing systemd unit file.
    
    - Build regressions against ELL versions 0.31 and 0.33 were
      corrected.
  • v0.7
    c9c5671d · mptcpd 0.7 ·
    mptcpd 0.7
    
    - MPTCP path management generic netlink events recently added to the
      upstream Linux kernel are now supported, and propagated to mptcpd
      plugins.  The same API is also found in the multipath-tcp.org
      kernel.  Differences between the two kernels are transparent to
      mptcpd plugins.
    
    - Mptcpd now supports the upstream Linux kernel server-oriented
      MPTCP_PM_CMD_SET_FLAGS generic netlink command through the new
      mptcpd_pm_set_flags() function.  It allows the user to set MPTCP
      flags for a specific local IP address.
    
    - An incorrect buffer size calculation when calling
      mptcpd_pm_add_addr() when using an IPv6 addresses on platforms
      running the upstream Linux kernel was corrected.
    
    - An "operation not supported" error that occurred when attempting to
      retrieve MPTCP resource limits through the mptcpd_pm_get_limits()
      function was fixed.
    
    - A network interface lookup problem in the "sspi" plugin was
      corrected.
    
    - Building mptcpd against ELL 0.39 is now supported.
  • v0.6
    bd3845fe · mptcpd 0.6 ·
    mptcpd 0.6
    
    - Mptcpd now supports versions of the Embedded Linux Library (ELL)
      greater than 0.33.
    
    - Plugins should use the new MPTCPD_PLUGIN_DEFINE() preprocessor macro
      instead of L_PLUGIN_DEFINE().
    
    - A pointer to the mptcpd path manager object, i.e. struct mptcpd *pm,
      is now passed to the plugin init and exit functions.  This allows
      plugins to potentially perform mptcpd path manager related
      operations during initialization and finalization.
    
    - Support for the MPTCP netlink path manager in the upstream Linux
      kernel is now available.  A new set of path management command
      functions corresponding to those available in the kernel netlink
      path management API has been added to the `<mptcpd/path_manager.h>'
      header.  The new functions allow plugins to retrieve IP address
      information, flush addresses, and modify MPTCP resource limits.
    
    - The mptcpd_pm_add_addr() (formerly mptcpd_pm_send_addr()) and
      mptcpd_pm_remove_addr() function parameters have been modified in
      order to support both the upstream and multipath-tcp.org kernels.
    
    - Mptcpd path management command functions declared in
      `<mptcpd/path_manager.h>' now return zero on success and -1 or an
      errno on failure instead of a bool.
    
    - A MPTCP address ID manager "mptcpd_idm" interface was introduced
      that mptcpd plugins may leverage to map an IP address to a MPTCP
      address ID, as well as to track used and unused IDs.  The interface
      is defined in the new `<mptcpd/id_manager.h>' header.
    
    - A new address advertising plugin, "addr_adv", has been added.  It
      simply triggers a MPTCP ADD_ADDR when a new IP address is detected
      by the mptcpd network monitor.  Similarly, a MPTCP REMOVE_ADDR is
      triggered when an IP address is no longer available.
    
    - MPTCP netlink command error message logging was improved to be more
      descriptive when possible.
  • v0.5.1
    13 December 2020 - mptcpd 0.5.1
    
    This is a minor release based on mptcpd 0.5 that contains the
    following backported changes from the upcoming mptcpd 0.6 release:
    
    - Mptcpd now supports versions of the Embedded Linux Library (ELL)
      greater than 0.33.
    
    - Plugins should use the new MPTCPD_PLUGIN_DEFINE() preprocessor macro
      instead of L_PLUGIN_DEFINE().
    
    - A pointer to the mptcpd path manager object, i.e. struct mptcpd *pm,
      is now passed to the plugin init and exit functions.  This allows
      plugins to potentially perform mptcpd path manager related
      operations during initialization and finalization.
  • v0.5
    40958f17 · mptcpd 0.5 ·
    mptcpd 0.5
    
    This minor mptcpd release includes the following notable changes:
    
    - Test plugins are no longer installed when running "make install".  A
      side benefit of the changes is that test plugins only build when the
      test suite is built via "make check" or "make distcheck".  Libtool
      relink warnings that occurred when building the tests have also been
      addressed.
    
    - VPATH builds where the build directory and source directory
      differ (e.g. "mkdir build; cd build; ../configure; make") now
      succeed.
  • v0.4
    c8167232 · mptcpd 0.4 ·
    mptcpd 0.4
    
    This is a minor mptcpd release.  It includes the following notable
    changes:
    
    - Plugins may now inform peers that an address is no longer being
      advertised through the new mptcpd_pm_remove_addr() function.  This
      corresponds to the MPTCP protocol REMOVE_ADDR option.
    
    - Network monitoring related events are now propagated to plugins.
      Events are triggered upon the addition, update, and removal of a
      network interface (link), as well as the addition and removal of a
      network address.  Plugins interested in receiving any of these
      events need only implement the corresponding callback in the
      `mptcpd_plugin_ops' API found in `<mptcpd/plugin.h>'.
    
    - Stub implementations for unused mptcpd plugin operations are no
      longer needed.  Simply set the unused field in the
      `mptcpd_plugin_ops' structure to NULL.
    
    - This will be the last release to support the MPTCP generic netlink
      path management API in the multipath-tcp.org kernel.  Subsequent
      releases will support the new API found in the
      "multipath-tcp/mptcp_net-next" kernel on GitHub currently being used
      for development of patch submissions to the upstream Linux kernel
      network subsystem maintainers.
  • v0.3
    5edfce99 · mptcpd 0.3: Beta release ·
    mptcpd 0.3: Beta release
    
    This is the Multipath TCP Daemon beta release.  It includes the
    following notable changes:
    
    - All known memory leaks have been fixed.
    
    - A potential security hole related to logging of MPTCP connection
      tokens was closed.  Logging of MPTCP connection tokens no longer
      occurs.
    
    - Support for compiler-based address, leak, and undefined behavior
      sanitizers is now available, and may be enabled through
      corresponding `configure' script options.  Run `./configure --help'
      for the full list of options.
    
    - Diagnostic messages will be issued if the Linux kernel is not
      properly configured to support a user space MPTCP path manager like
      mptcpd.
  • v0.2a
    mptcpd 0.2a: Alpha release
    
    This Multipath TCP Daemon alpha release replaces support for the
    deprecated MPTCP generic netlink API with the one found in the
    multipath-tcp.org 0.95+ kernel (see multipath-tcp/mptcp@4ea5dee), and
    has been verified to work with that kernel.
    
    Several actual and potential memory access violations were fixed in
    the mptcpd network monitor, path manager, and "sspi" plugin.
    
    The mptcp.service systemd service file now correctly grants the
    necessary privilege (CAP_NET_ADMIN) for proper operation of the mptcpd
    program.
  • v0.1a
    Initial (alpha) release of the Multipath TCP Daemon "mptcpd".