<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/accel-pppd/ctrl/l2tp, branch sstp-alloc-invariant</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=sstp-alloc-invariant</id>
<link rel='self' href='https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=sstp-alloc-invariant'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/'/>
<updated>2026-06-10T18:28:29+00:00</updated>
<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>session: encapsulate statistics counters</title>
<updated>2026-05-04T00:09:49+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-04-29T12:21:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=d6383d69813cf2244f31d8116176733ffbbeaceb'/>
<id>urn:sha1:d6383d69813cf2244f31d8116176733ffbbeaceb</id>
<content type='text'>
Group the core session starting, active, and finishing statistics behind the private ap_session_stat storage in session.c instead of exposing writable counters through ap_session.h. This keeps ownership inside the session core while preserving the existing CLI and ACCEL-PPP-MIB counter semantics.

Route session counter updates through ap_session_stat_*() helpers. Session start, activation, termination, finish, and shutdown-idle paths no longer open-code individual counter increments/decrements; the update policy now lives beside the session-owned storage and uses relaxed atomic operations for the simple state counters.

Make the CLI show-stat path render from a local snapshot and convert the PPP SNMP starting/active/finishing scalars from watched raw pointers to scalar handlers. PPP controllers now read max-session limits through ap_session_stat_starting() and ap_session_stat_active(), removing external direct access to ap_session_stat.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>l2tp: encapsulate statistics counters</title>
<updated>2026-05-04T00:09:49+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-04-29T10:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=55157b5411e374e651c7db78967d2908db9b30e8'/>
<id>urn:sha1:55157b5411e374e651c7db78967d2908db9b30e8</id>
<content type='text'>
Group the L2TP tunnel, control-session, and data-session statistics in struct l2tp_stat_t and keep the storage private to l2tp.c instead of spreading writable stat_* globals through the module.  This keeps the ownership boundary in the L2TP control code while preserving the existing CLI and ACCEL-PPP-MIB counter semantics.

Route counter updates through l2tp_stat_*() helpers.  Tunnel, control-session, and data-session state transitions no longer open-code individual counter increments/decrements; the update policy now lives beside the L2TP-owned storage and uses relaxed atomic operations for the simple state counters.

Make the CLI show-stat path render from a local snapshot and convert the L2TP SNMP starting/active scalars from watched raw pointers to scalar handlers.  SNMP now reads through l2tp_stat_starting() and l2tp_stat_active(), removing the old l2tp_get_stat() pointer escape hatch.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>Refactor session free function pointer in l2tp.c</title>
<updated>2026-02-22T20:38:48+00:00</updated>
<author>
<name>marekm72</name>
<email>35698605+marekm72@users.noreply.github.com</email>
</author>
<published>2026-02-22T20:38:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=b52d38df680450b413869edeeaa3baaba73e2918'/>
<id>urn:sha1:b52d38df680450b413869edeeaa3baaba73e2918</id>
<content type='text'>
</content>
</entry>
<entry>
<title>crypto: Removed internal tomcat crypto.</title>
<updated>2025-12-10T17:16:42+00:00</updated>
<author>
<name>Andrii Melnychenko</name>
<email>a.melnychenko@vyos.io</email>
</author>
<published>2025-09-29T16:14:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=c912d09018828745e3bcba268cd02a611e324d54'/>
<id>urn:sha1:c912d09018828745e3bcba268cd02a611e324d54</id>
<content type='text'>
Signed-off-by: Andrii Melnychenko &lt;a.melnychenko@vyos.io&gt;
</content>
</entry>
<entry>
<title>l2tp: fix buffer overflow and type errors in Calling/Called Number handling</title>
<updated>2025-11-26T18:39:13+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-11-26T18:38:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=2bbf451b94a3a9a96cdc8cbdb60a559f275dc0e6'/>
<id>urn:sha1:2bbf451b94a3a9a96cdc8cbdb60a559f275dc0e6</id>
<content type='text'>
  Fix issues introduced in 88a2ebdb:

  - Fix type declaration: uint8_t *calling[254] declared an array of 254
    pointers instead of an array of 254 bytes. Remove erroneous asterisks.

  - Fix buffer overflow vulnerability: L2TP AVP values can be up to 1017
    bytes (L2TP_AVP_LEN_MASK - sizeof(avp_header)), but buffers were only
    254(*4?) bytes. A malicious packet could cause stack buffer overflow.
    Use L2TP_AVP_LEN_MASK (1023) for buffer size to handle maximum AVP length.

  - Remove useless NULL checks: Stack-allocated arrays can never be NULL,
    causing compiler warnings. The existence check is n &gt; 0 / m &gt; 1.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>L2TP include calling number to calling station ID RA</title>
<updated>2024-12-05T15:00:12+00:00</updated>
<author>
<name>Yaroslav Kholod</name>
<email>y.kholod@vyos.io</email>
</author>
<published>2024-12-05T11:10:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=88a2ebdb1dbab4029f41966f39e163b45701227d'/>
<id>urn:sha1:88a2ebdb1dbab4029f41966f39e163b45701227d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #183 from svlobanov/gcc14-compile-errors</title>
<updated>2024-10-04T19:30:35+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2024-10-04T19:30:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=00b8dee7c3635e2a85968b2dae0a6712b20a34bc'/>
<id>urn:sha1:00b8dee7c3635e2a85968b2dae0a6712b20a34bc</id>
<content type='text'>
build: fix compile errors on GCC 14</content>
</entry>
<entry>
<title>fix(musl/l2tp_session_free): Fix, likely typo</title>
<updated>2024-09-10T22:53:47+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2024-09-10T22:39:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=fbef13f23e43216da7ece9c090153ff80adf7525'/>
<id>urn:sha1:fbef13f23e43216da7ece9c090153ff80adf7525</id>
<content type='text'>
It is logical, that function should remain same,
not changed to free.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>build: fix compile errors on GCC 14</title>
<updated>2024-08-27T22:41:58+00:00</updated>
<author>
<name>Sergey V. Lobanov</name>
<email>sergey@lobanov.in</email>
</author>
<published>2024-08-27T21:44:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=966c2bc8df039c67f4711ba9bb3f267fbd405c8d'/>
<id>urn:sha1:966c2bc8df039c67f4711ba9bb3f267fbd405c8d</id>
<content type='text'>
This patch fixes compile errors on GCC 14 like the following

/root/accel-ppp/accel-pppd/radius/packet.c: In function 'rad_packet_recv':
/root/accel-ppp/accel-pppd/radius/packet.c:142:72: error: passing argument 5 of 'recvfrom' from incompatible pointer type [-Wincompatible-pointer-types]
  142 |                         n = recvfrom(fd, pack-&gt;buf, REQ_LENGTH_MAX, 0, addr, &amp;addr_len);
      |                                                                        ^~~~
      |                                                                        |
      |                                                                        struct sockaddr_in *
In file included from /usr/include/netinet/in.h:10,
                 from /usr/include/arpa/inet.h:9,
                 from /root/accel-ppp/accel-pppd/radius/packet.c:10:
/usr/include/sys/socket.h:397:55: note: expected 'struct sockaddr * restrict' but argument is of type 'struct sockaddr_in *'

Reference: https://gcc.gnu.org/gcc-14/porting_to.html
</content>
</entry>
</feed>
