summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorDenys Fedoryshchenko <denys.f@collabora.com>2026-08-09 06:54:53 +0300
committerDenys Fedoryshchenko <denys.f@collabora.com>2026-08-09 13:30:39 +0300
commit49a94430c090068ca96f1dc38ed24cd93c2e324d (patch)
tree25cfcecac00c6326ba3ffb0414895989832a45ce /cmake
parent11271e9019ef1511b127b75e1c69e9c57f9cba49 (diff)
downloadaccel-ppp-49a94430c090068ca96f1dc38ed24cd93c2e324d.tar.gz
accel-ppp-49a94430c090068ca96f1dc38ed24cd93c2e324d.zip
pptp: drop the out-of-tree kernel driver
drivers/pptp is version 0.8.5 of the PPTP driver, the direct ancestor of mainline drivers/net/ppp/pptp.c. Mainline merged that code in 2.6.37 (2011) from the same author and has maintained it since; this copy received none of the subsequent fixes and is no longer worth carrying: - It cannot be built. struct flowi's nl_u union, the 3-argument ip_route_output_key(), sock_no_poll, the old ip_select_ident() signature and nf_reset() all disappeared long ago, so nothing past roughly 2.6.36 compiles and -DBUILD_PPTP_DRIVER=TRUE is a build failure everywhere. - It is not needed. The PPTP bits of accel-pppd/include/if_pppox.h are identical to the mainline UAPI header, so ctrl/pptp's socket(AF_PPPOX, SOCK_STREAM, PX_PROTO_PPTP) reaches the in-kernel module (alias net-pf-24-proto-2) unchanged. The daemon uses no interface the bundled driver added. The deleted drivers/pptp/if_pppox.h was included only by drivers/pptp/pptp.c; all other if_pppox.h includes use either the kernel UAPI header or accel-pppd's userspace copy. - It is unsafe. Among others: the pskb_may_pull() in pptp_rcv() is commented out, so the GRE header is parsed with no length validation at all; the skb->len - headersize comparison in pptp_rcv_core() underflows and leads to an out-of-bounds read and a negative skb_pull(); pptp_getname() copies uninitialised stack to userspace; and pptp_bind()/pptp_connect() never check sockaddr_len (CVE-2015-8569). Mainline fixed each of these years ago. Remove the directory along with the BUILD_PPTP_DRIVER option, the accel-pptp-kmod package and the ip_gre conflict warning, which only existed because this module claimed IPPROTO_GRE. accel-pppd/ctrl/pptp and accel-pppd/include/if_pppox.h are unaffected. PPTP now requires the kernel's own pptp module; kernels older than 2.6.37 are no longer supported.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/debian/debian.cmake16
1 files changed, 0 insertions, 16 deletions
diff --git a/cmake/debian/debian.cmake b/cmake/debian/debian.cmake
index 8db274a6..89ab9993 100644
--- a/cmake/debian/debian.cmake
+++ b/cmake/debian/debian.cmake
@@ -9,22 +9,6 @@ if (NOT DEFINED MODULES_KDIR)
)
endif()
-if (BUILD_PPTP_DRIVER)
- if (BUILD_DRIVER_ONLY)
- SET(CPACK_PACKAGE_VERSION_MAJOR "0")
- SET(CPACK_PACKAGE_VERSION_MINOR "8")
- SET(CPACK_PACKAGE_VERSION_PATCH "5")
- SET(CPACK_PACKAGING_INSTALL_PREFIX "/")
- SET(CPACK_PACKAGE_NAME "accel-pptp-kmod")
- SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "accel-pptp kernel module")
- SET(CPACK_DEBIAN_PACKAGE_DEPENDS "")
- SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA "${CMAKE_CURRENT_SOURCE_DIR}/cmake/debian-kmod/postinst")
- endif ()
- #INSTALL(DIRECTORY lib/modules/${DEBIAN_KDIR}/extra)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/driver/driver/pptp.ko DESTINATION /lib/modules/${MODULES_KDIR}/extra)
- #SET(CPACK_DEBIAN_PACKAGE_DEPENDS "linux-image (= ${LINUX_IMAGE})")
-endif (BUILD_PPTP_DRIVER)
-
if (BUILD_IPOE_DRIVER)
if (BUILD_DRIVER_ONLY)
SET(CPACK_PACKAGING_INSTALL_PREFIX "/")