diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-09 06:54:53 +0300 |
|---|---|---|
| committer | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-08-09 13:30:39 +0300 |
| commit | 49a94430c090068ca96f1dc38ed24cd93c2e324d (patch) | |
| tree | 25cfcecac00c6326ba3ffb0414895989832a45ce /cmake | |
| parent | 11271e9019ef1511b127b75e1c69e9c57f9cba49 (diff) | |
| download | accel-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.cmake | 16 |
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 "/") |
