<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/.github/workflows/run-tests.yml, 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-05T23:17:37+00:00</updated>
<entry>
<title>Merge pull request #358 from nuclearcat/fix/kernel-module-install</title>
<updated>2026-10-05T23:17:37+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-10-05T23:17:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=d33028de8b8b520dfde12d9d9d01f4cd576f23b3'/>
<id>urn:sha1:d33028de8b8b520dfde12d9d9d01f4cd576f23b3</id>
<content type='text'>
cmake: fix kernel module installation</content>
</entry>
<entry>
<title>ci: remove debian11 as EoL, add ubuntu 26:04</title>
<updated>2026-09-11T17:58:01+00:00</updated>
<author>
<name>Sergey V. Lobanov</name>
<email>sergey@lobanov.in</email>
</author>
<published>2026-09-10T22:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=b8af4865bd4c0bd33b895e9f5fe66bbe8ea33980'/>
<id>urn:sha1:b8af4865bd4c0bd33b895e9f5fe66bbe8ea33980</id>
<content type='text'>
</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>ci: survive the negative branch counters gcov reports</title>
<updated>2026-08-08T16:19:13+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-08-08T16:19:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=60702f40ac55d474ce26bd8e1d904feb9e5f160f'/>
<id>urn:sha1:60702f40ac55d474ce26bd8e1d904feb9e5f160f</id>
<content type='text'>
The coverage job fails while gcovr reads the data for triton.c:

    Unrecognized GCOV output ... branch  2 taken -1
    NegativeHits: Got negative hit value in gcov line 'branch  2 taken -1'

gcov emits those now and then, it is gcc bug 68080 and not something the
source can avoid. gcovr 6 and later treat it as a fatal parse error
unless --gcov-ignore-parse-errors names the case to tolerate.

Passing that option unconditionally is not enough, since the job runs on
both ubuntu-24.04 and ubuntu-22.04 and the gcovr in the latter predates
it and takes no value. Ask gcovr whether it knows the option before
adding it, and print what was decided so the log says which one ran.
</content>
</entry>
<entry>
<title>ipoe: include net/rtnetlink.h, insert modules in ci even after a failure</title>
<updated>2026-08-08T16:12:49+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-08-08T16:12:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=9015abafb60f950a6b1a800f84cbf569b07828a1'/>
<id>urn:sha1:9015abafb60f950a6b1a800f84cbf569b07828a1</id>
<content type='text'>
rtnl_link_register() and struct rtnl_link_ops were reaching the driver
through some other header rather than through net/rtnetlink.h, which is
the kind of thing that only shows up when building against a different
kernel. Include it directly.

The workflows insert the kernel modules between two pytest runs, and the
runs that follow are marked 'if: always()' while the insmod steps are
not. A failure in an earlier, unrelated test therefore skips the insmod
but still runs the tests that need the module, which then report a
missing driver instead of the original problem. Mark the insmod steps
'if: always()' as well, so that the later runs test what they are
supposed to.
</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>ci: Tightening warning condition in dmesg checks</title>
<updated>2026-05-03T23:58:15+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-05-03T23:57:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=a8556b814669802996d30aa06deac4b19327b694'/>
<id>urn:sha1:a8556b814669802996d30aa06deac4b19327b694</id>
<content type='text'>
The boot-time RETBleed: WARNING: Spectre v2 mitigation...
line matches the broad WARNING: regex.
The intent of that pattern was to catch kernel WARN_ON() splats,
which always begin with WARNING: CPU:. We can tighten checks, to avoid false positive.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>ci: fail workflows on kernel issues found in dmesg</title>
<updated>2026-05-02T12:07:57+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-05-02T12:06:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=8ee09f05d15276b295ea199f08fb3bc2e2d16121'/>
<id>urn:sha1:8ee09f05d15276b295ea199f08fb3bc2e2d16121</id>
<content type='text'>
Recently i wasted several hours searching bug in workflows/userspace.
Turned out in dmesg we had highly visible WARNING that we dont watch.

After each test run, dump dmesg and grep for canonical kernel-issue
markers (WARNING, BUG, Oops, kernel panic, GPF, KASAN, kernel UBSAN,
soft/hard lockup, hung tasks, bad page state, invalid opcode). Fail
the job if any are present, with a GitHub Actions error annotation.

Until now, kernel WARNs from out-of-tree drivers (e.g. vlan_mon
tripping the new ETH_P_ALL ptype_head WARN_ON in 6.6+) were silently
swallowed by the existing 'Display processes and dmesg after tests'
steps -- visible only if a human inspected the log. The check runs
with if: always() so it triggers both on test failure and on test
completion.

Applied to all four workflows that load kernel modules:
run-tests-asan-ubsan.yml, run-tests.yml (Test-in-Qemu, Test-in-Alpine,
Test-in-GH, Test-in-GH-Coverage), run-tests-32bit.yml, and
run-tests-bigendian.yml.

P.S. Some whitespace churn included.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>ci: remove ubuntu 20 builds due to EOL of Standard Support</title>
<updated>2025-06-12T22:53:27+00:00</updated>
<author>
<name>Sergey V. Lobanov</name>
<email>sergey@lobanov.in</email>
</author>
<published>2025-06-12T22:49:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=05b6fe1c30ae124743d464858acf4cae61a4d89c'/>
<id>urn:sha1:05b6fe1c30ae124743d464858acf4cae61a4d89c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #239 from nuclearcat/fix-tests</title>
<updated>2025-05-07T20:13:50+00:00</updated>
<author>
<name>Sergey V. Lobanov</name>
<email>svlobanov@users.noreply.github.com</email>
</author>
<published>2025-05-07T20:13:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=8f072b6f193979becc27d9977eed7e97cb830f46'/>
<id>urn:sha1:8f072b6f193979becc27d9977eed7e97cb830f46</id>
<content type='text'>
(workflows): Ubuntu 20.04 is deprecated, removing it</content>
</entry>
</feed>
