<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/CMakeLists.txt, branch 1.15.0</title>
<subtitle>High performance PPTP/L2TP/SSTP/PPPoE/IPoE server for Linux (mirror of https://github.com/accel-ppp/accel-ppp.git)
</subtitle>
<id>https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=1.15.0</id>
<link rel='self' href='https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=1.15.0'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/'/>
<updated>2026-10-29T09:33:01+00:00</updated>
<entry>
<title>release: 1.15.0</title>
<updated>2026-10-29T09:33:01+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-10-29T09:33:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=7a9554bf453a8263995e7a026df611b6fa891c3c'/>
<id>urn:sha1:7a9554bf453a8263995e7a026df611b6fa891c3c</id>
<content type='text'>
Set the 1.15.0 changelog date and the fallback versions used when
building without git metadata (CMakeLists.txt and cmake/cpack.cmake;
the latter was left at 1.13.0 by the 1.14.0 release). List the
metrics module among README features.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>accel-cmd: convert millisecond timeouts to nanoseconds correctly</title>
<updated>2026-10-28T18:47:22+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-10-28T18:47:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=f36902fa3110277d93f809e04a71cc427a2c6dbc'/>
<id>urn:sha1:f36902fa3110277d93f809e04a71cc427a2c6dbc</id>
<content type='text'>
The fractional part of a millisecond timeout was multiplied by 1000 instead of 1000000, so 1500ms became 1.0005 seconds. Correct the conversion and add a CTest regression covering subsecond values, second boundaries, microseconds, and invalid input. Initialize CTest before configuring the client subdirectory.

Validation: Release build and CTest pass. The regression fails against upstream master at 1ms.
Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>cmake: fix kernel module installation</title>
<updated>2026-08-30T00:10:39+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-08-30T00:10:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=dbc9d0fb6863026b16f4805709acc7e4977d7e66'/>
<id>urn:sha1:dbc9d0fb6863026b16f4805709acc7e4977d7e66</id>
<content type='text'>
Install each module from its real build directory, propagate staged install roots, and fail when kbuild modules_install fails. Add a rootless CTest and CI regression for successful and failed installs.

Best practices followed:

Use the standard CMake DESTDIR and kbuild INSTALL_MOD_PATH staging interfaces:
https://cmake.org/cmake/help/latest/envvar/DESTDIR.html
https://docs.kernel.org/kbuild/modules.html#install-mod-path

Check child command status with execute_process RESULT_VARIABLE:
https://cmake.org/cmake/help/latest/command/execute_process.html

Register repeatable tests with CTest add_test:
https://cmake.org/cmake/help/latest/command/add_test.html
</content>
</entry>
<entry>
<title>pptp: drop the out-of-tree kernel driver</title>
<updated>2026-08-09T10:30:39+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-08-09T03:54:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=49a94430c090068ca96f1dc38ed24cd93c2e324d'/>
<id>urn:sha1:49a94430c090068ca96f1dc38ed24cd93c2e324d</id>
<content type='text'>
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-&gt;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.
</content>
</entry>
<entry>
<title>sstp: add ppposeq transport to avoid userspace HDLC framing</title>
<updated>2026-08-04T20:41:46+00:00</updated>
<author>
<name>Vladislav Grishenko</name>
<email>themiron@mail.ru</email>
</author>
<published>2026-07-30T10:48:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=3b08133ee131bca35b10bcc133f6adaf5d125c21'/>
<id>urn:sha1:3b08133ee131bca35b10bcc133f6adaf5d125c21</id>
<content type='text'>
A pty is a byte stream, so the tty flip buffer merges frames written
back to back and sstp has to re-delimit them with async HDLC escaping
and a CRC-16 FCS. On a 1452-byte payload that is ~3600 ns per frame,
most of it spent on the FCS.

PPPOSEQ is a pppox protocol whose socket is the ppp endpoint itself,
so one datagram is one frame and no framing is needed at all. The
same payload takes ~380 ns per frame, about 9 times less. Requires
kernel 2.6.37, the first with PX_MAX_PROTO 3, whose remaining slot
it claims.
Supported kernels are from 2.6.37 to 7.2.

The new ppp-mode option selects the transport; auto, the default,
falls back to async when the module is unavailable, so hosts with
prebuilt kernels are unaffected.

PPP_SYNC is removed, being disabled and unfixable over a pty: frame
boundaries cannot be recovered from the stream, and coalescing cannot
be prevented since frames arrive from the network stack.
</content>
</entry>
<entry>
<title>openssl: suppress deprecated API warnings</title>
<updated>2026-06-10T18:28:29+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-06-10T14:15:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=c1689506bbc27f498612ca69648876599ded7d7c'/>
<id>urn:sha1:c1689506bbc27f498612ca69648876599ded7d7c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>release: 1.14.0</title>
<updated>2026-01-24T21:21:02+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-01-24T21:06:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=a9fad7b6494b1210734d498488f30caa3ee7970a'/>
<id>urn:sha1:a9fad7b6494b1210734d498488f30caa3ee7970a</id>
<content type='text'>
Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #275 from nuclearcat/backport-nr-pr-17</title>
<updated>2025-12-12T12:51:30+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-12-12T12:51:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=5e7dfbe6e1c6c2a12c093303a65b8260e5165aaf'/>
<id>urn:sha1:5e7dfbe6e1c6c2a12c093303a65b8260e5165aaf</id>
<content type='text'>
Backporting PR#17 from accel-ppp-ng</content>
</entry>
<entry>
<title>cmake: Bump up minimum version to supress Alpine Linux compile warnings</title>
<updated>2025-12-10T17:41:04+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-12-10T17:39:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=36c56dc05b104303039e7cd3acb7f1e2ec71a121'/>
<id>urn:sha1:36c56dc05b104303039e7cd3acb7f1e2ec71a121</id>
<content type='text'>
Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>crypto: Removed CRYPTO_OPENSSL definition.</title>
<updated>2025-12-10T17:17:36+00:00</updated>
<author>
<name>Andrii Melnychenko</name>
<email>a.melnychenko@vyos.io</email>
</author>
<published>2025-09-29T16:37:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=b4015f9ec2d58b80155e6691d82b5f3b6023a560'/>
<id>urn:sha1:b4015f9ec2d58b80155e6691d82b5f3b6023a560</id>
<content type='text'>
OpenSSL is now mandatory.

Signed-off-by: Andrii Melnychenko &lt;a.melnychenko@vyos.io&gt;
</content>
</entry>
</feed>
