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 areupstream
andmultipath-tcp.org
. Theconfigure
script will attempt to automatically detect the kernel, and fallback on theupstream
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 tomptcpd_kpm_get_addr()
andmptcpd_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 theport
parameter. -
A new command line option
--load-plugins
was added to allow the user to specify which mptcpd plugins to load instead of 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 hijacksocket()
calls that specify theIPPROTO_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.