mptcpd: update to 0.14

- libmptcpd breaking changes: new deny_join_id0 parameter in connection interfaces
- subflow_closed interface has new error parameter
- add support for new 'laminar' in-kernel PM endpoint
- mptcpize now appends LD_PRELOAD instead of overriding
- mptcpize sets GODEBUG=multipathtcp=1 for Go applications
- add musl libc compatibility
  -> allows removal of most downstream patches
- support ELL 0.72 API changes
- security: added recommendation against world-writeable plugin directories

Link: https://github.com/intel/mptcpd/releases/tag/v0.14
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle
2026-02-11 00:49:34 +00:00
parent 7ee28465d8
commit 0643531d35
6 changed files with 4 additions and 96 deletions

View File

@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=mptcpd PKG_NAME:=mptcpd
PKG_VERSION:=0.13 PKG_VERSION:=0.14
PKG_RELEASE:=2 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/multipath-tcp/mptcpd/releases/download/v$(PKG_VERSION) PKG_SOURCE_URL:=https://github.com/multipath-tcp/mptcpd/releases/download/v$(PKG_VERSION)
PKG_HASH:=7acb115c50c89aff5e0e5c53df4aef5c9846e79b32442f8700ff6d737396edab PKG_HASH:=8dced65705bbce1ff0d336541b5b9bffd7f8c7731ef19ac0aaadd70a8ac54c82
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org> PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
PKG_LICENSE:=BSD-3-Clause PKG_LICENSE:=BSD-3-Clause

View File

@@ -1,19 +0,0 @@
From 80e5db2774a902f6a2f32741fe762888343222d9 Mon Sep 17 00:00:00 2001
From: lifei76 <lifei76@meituan.com>
Date: Thu, 20 Jul 2023 16:33:42 +0800
Subject: [PATCH 03/11] 1
---
lib/network_monitor.c | 1 +
1 file changed, 1 insertion(+)
--- a/lib/network_monitor.c
+++ b/lib/network_monitor.c
@@ -18,6 +18,7 @@
#include <stdlib.h>
#include <assert.h>
+#include <byteswap.h>
#include <linux/rtnetlink.h>
#include <arpa/inet.h>
#include <net/if.h> // For standard network interface flags.

View File

@@ -1,20 +0,0 @@
--- a/include/mptcpd/private/sockaddr.h
+++ b/include/mptcpd/private/sockaddr.h
@@ -18,6 +18,17 @@
#include <mptcpd/export.h>
+#ifndef __bswap_constant_32
+#define __bswap_constant_32(x) \
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \
+ | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
+#endif
+
+#ifndef __bswap_constant_16
+#define __bswap_constant_16(x) \
+ ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
+#endif
+
/**
* @name Swap host ordered bytes in an integer to network byte order.
*

View File

@@ -1,6 +1,6 @@
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -321,7 +321,7 @@ AS_IF([test "x$enable_stack_protection" @@ -333,7 +333,7 @@ AS_IF([test "x$enable_stack_protection"
# Format string vulnerabilities # Format string vulnerabilities
# -Wformat=2 implies: # -Wformat=2 implies:
# -Wformat -Wformat-nonliteral -Wformat-security -Wformat-y2k # -Wformat -Wformat-nonliteral -Wformat-security -Wformat-y2k

View File

@@ -1,23 +0,0 @@
From 7e1cc2d933976c20bec932613172b56c5172b7f0 Mon Sep 17 00:00:00 2001
From: lifei76 <lifei76@meituan.com>
Date: Thu, 20 Jul 2023 18:24:37 +0800
Subject: [PATCH 09/11] 7
---
src/configuration.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--- a/src/configuration.c
+++ b/src/configuration.c
@@ -51,7 +51,10 @@
# error Problem configuring default log message destination.
#endif
/// Name of the default logging function determined at compile-time.
-#define MPTCPD_SET_LOG_FUNCTION MPTCPD_CONCAT(l_log_set_, MPTCPD_LOGGER)
+ // #define MPTCPD_SET_LOG_FUNCTION MPTCPD_CONCAT(l_log_set_, MPTCPD_LOGGER)
+
+#define MPTCPD_SET_LOG_FUNCTION l_log_set_stderr
+
/**
* @brief Get the function that sets the log message destination.

View File

@@ -1,30 +0,0 @@
--- a/src/mptcpize.c
+++ b/src/mptcpize.c
@@ -18,7 +18,7 @@
#include <argp.h>
#include <dlfcn.h>
#include <errno.h>
-#include <error.h>
+//#include <error.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
@@ -36,6 +36,18 @@
#define PRELOAD_VAR "LD_PRELOAD="
#define MPTCPWRAP_ENV "LD_PRELOAD="PKGLIBDIR"/libmptcpwrap.so.0.0."LIBREVISION
+#define error(status, errnum, fmt, ...) do { \
+ if (errnum) { \
+ errno = errnum; \
+ perror(fmt); \
+ } else { \
+ fprintf(stderr, "%s\n", fmt); \
+ } \
+ if (status) \
+ exit(status); \
+} while(0)
+
+
/* Program documentation. */
static char args_doc[] = "CMD";