<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/accel-pppd/triton, branch stable</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=stable</id>
<link rel='self' href='https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=stable'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/'/>
<updated>2025-11-23T18:12:24+00:00</updated>
<entry>
<title>Remove unused definition/struct and function</title>
<updated>2025-11-23T18:12:24+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-11-23T18:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=7f08560e6d79552107ff34628e02e6f8dcf0455f'/>
<id>urn:sha1:7f08560e6d79552107ff34628e02e6f8dcf0455f</id>
<content type='text'>
Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>mempool: Fix 32-bit stats</title>
<updated>2025-11-23T17:57:55+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2025-11-23T17:57:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=66cad4ffb12fec261a476661393167c7426c29d8'/>
<id>urn:sha1:66cad4ffb12fec261a476661393167c7426c29d8</id>
<content type='text'>
We are living in 64-bit world long time, so there is very likely mempool
stats might overflow past 4GB and report incorrect values.
Updated mempool stats to use 64-bit counters so they don’t
wrap past 4 GB and print correctly in CLI.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<entry>
<title>triton: fix use after free in timer.c</title>
<updated>2022-03-04T12:12:58+00:00</updated>
<author>
<name>Gabriel Jeanneau</name>
<email>gabriel.jeanneau@6wind.com</email>
</author>
<published>2022-01-17T14:18:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=c66678018c1f111bb361c8f2069c67c725ec9e1c'/>
<id>urn:sha1:c66678018c1f111bb361c8f2069c67c725ec9e1c</id>
<content type='text'>
When using pppd_compat module, accel-ppp crash with SIGBUS on
spin_lock(&amp;t-&gt;ctx-&gt;lock) of timer_thread.

When a moduile call triton_timer_del, fd are close without taking into
account epoll function and without removing from polled fd list.

File descriptor are removed from polled fd list and then close in
timer_thread avoiding use after free.

Fixes: 5bac5a2edb7b ("rewriting triton library...")
Signed-off-by: Gabriel Jeanneau &lt;gabriel.jeanneau@6wind.com&gt;
</content>
</entry>
<entry>
<title>triton: do not queue context in init state</title>
<updated>2021-09-24T15:59:33+00:00</updated>
<author>
<name>Dmitry Kozlov</name>
<email>xeb@mail.ru</email>
</author>
<published>2021-09-24T15:59:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=3b01433a2e00a3489fc2a746078d79530a450015'/>
<id>urn:sha1:3b01433a2e00a3489fc2a746078d79530a450015</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed some errors found by valgrind and pvs-studio (#11)</title>
<updated>2021-03-20T14:14:59+00:00</updated>
<author>
<name>[anp/hsw]</name>
<email>sysop@880.ru</email>
</author>
<published>2021-03-20T14:14:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=62f7740033f05053a581e864742575a46ccc6da2'/>
<id>urn:sha1:62f7740033f05053a581e864742575a46ccc6da2</id>
<content type='text'>
* Fix errors found by valgrind

==12312== Syscall param sendmsg(msg.msg_iov[0]) points to uninitialised byte(s)
==12312==    at 0x486CCF0: sendmsg (in /lib/libpthread-2.22.so)
==12312==    by 0x12F57F: rtnl_talk (libnetlink.c:316)
==12312==    by 0x132DA3: genl_resolve_mcg (genl.c:52)
==12312==    by 0x484E1CB: init (vlan_mon.c:528)
==12312==    by 0x484CDC0: vlan_mon_register_proto (vlan_mon.c:48)
==12312==    by 0x510B763: load_vlan_mon (pppoe.c:1914)
==12312==    by 0x510BFF2: load_config (pppoe.c:2064)
==12312==    by 0x510C22A: pppoe_init (pppoe.c:2108)
==12312==    by 0x483E9EB: triton_load_modules (triton.c:704)
==12312==    by 0x1384B2: main (main.c:339)
==12312==  Address 0xbedacdd8 is on thread 1's stack
==12312==  in frame #2, created by genl_resolve_mcg (genl.c:23)

==12312== 15 bytes in 1 blocks are definitely lost in loss record 352 of 836
==12312==    at 0x482A9A9: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==12312==    by 0x4B97524: strdup (in /lib/libc-2.22.so)
==12312==    by 0x12C30C: init (telnet.c:769)
==12312==    by 0x483E9EB: triton_load_modules (triton.c:704)
==12312==    by 0x1384B2: main (main.c:339)
==12312==
==12312== 15 bytes in 1 blocks are definitely lost in loss record 353 of 836
==12312==    at 0x482A9A9: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==12312==    by 0x4B97524: strdup (in /lib/libc-2.22.so)
==12312==    by 0x12D60A: init (tcp.c:392)
==12312==    by 0x483E9EB: triton_load_modules (triton.c:704)
==12312==    by 0x1384B2: main (main.c:339)

* Fix another warnings by cppcheck

[accel-pppd/ctrl/ipoe/arp.c:256]: (error) Uninitialized variable: n
[accel-pppd/ctrl/pppoe/mac_filter.c:90]: (warning) %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:90]: (warning) %x in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:90]: (warning) %x in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:90]: (warning) %x in format string (no. 4) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:90]: (warning) %x in format string (no. 5) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:90]: (warning) %x in format string (no. 6) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:129]: (warning) %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:129]: (warning) %x in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:129]: (warning) %x in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:129]: (warning) %x in format string (no. 4) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:129]: (warning) %x in format string (no. 5) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:129]: (warning) %x in format string (no. 6) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:158]: (warning) %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:158]: (warning) %x in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:158]: (warning) %x in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:158]: (warning) %x in format string (no. 4) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:158]: (warning) %x in format string (no. 5) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/mac_filter.c:158]: (warning) %x in format string (no. 6) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ctrl/pppoe/pppoe.c:738]: (warning) Possible null pointer dereference
[accel-pppd/ipv6/dhcpv6.c:911]: (warning) %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'int *'.
[accel-pppd/ipv6/dhcpv6.c:911]: (warning) %x in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ipv6/dhcpv6.c:911]: (warning) %x in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ipv6/dhcpv6.c:911]: (warning) %x in format string (no. 4) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/libnetlink/libnetlink.c:515]: (warning) Possible null pointer dereference
[accel-pppd/ppp/ipv6cp_opt_intfid.c:185]: (warning) %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ppp/ipv6cp_opt_intfid.c:298]: (warning) %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'int *'.
[accel-pppd/ppp/ipv6cp_opt_intfid.c:298]: (warning) %x in format string (no. 2) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ppp/ipv6cp_opt_intfid.c:298]: (warning) %x in format string (no. 3) requires 'unsigned int *' but the argument type is 'signed int *'.
[accel-pppd/ppp/ipv6cp_opt_intfid.c:298]: (warning) %x in format string (no. 4) requires 'unsigned int *' but the argument type is 'signed int *'.

* Suppress compiler warnings

* Fix locking errors

/opt/pvs/accel-ppp/accel-pppd/extra/pppd_compat.c       279     warn    V1020 The function exited without calling the 'sigchld_unlock' function. Check lines: 279, 249.
/opt/pvs/accel-ppp/accel-pppd/extra/pppd_compat.c       333     warn    V1020 The function exited without calling the 'sigchld_unlock' function. Check lines: 333, 315.
/opt/pvs/accel-ppp/accel-pppd/extra/pppd_compat.c       422     warn    V1020 The function exited without calling the 'sigchld_unlock' function. Check lines: 422, 372.
/opt/pvs/accel-ppp/accel-pppd/extra/pppd_compat.c       488     warn    V1020 The function exited without calling the 'sigchld_unlock' function. Check lines: 488, 468.
/opt/pvs/accel-ppp/accel-pppd/triton/mempool.c  119     warn    V1020 The function exited without calling the 'pthread_spin_unlock' function. Check lines: 119, 116.

* Fix array len errors

/opt/pvs/accel-ppp/accel-pppd/triton/conf_file.c        75      warn    V557 Array underrun is possible. The value of 'len - 1' index could reach -1.
/opt/pvs/accel-ppp/accel-pppd/triton/conf_file.c        76      warn    V557 Array underrun is possible. The value of '-- len' index could reach -1.

* Fix possible memory leaks

/opt/pvs/accel-ppp/accel-pppd/radius/radius.c   936     err     V773 The function was exited without releasing the 'str' pointer. A memory leak is possible.
/opt/pvs/accel-ppp/accel-pppd/radius/serv.c     622     err     V773 The function was exited without releasing the 'str' pointer. A memory leak is possible.
/opt/pvs/accel-ppp/accel-pppd/triton/conf_file.c        144     err     V773 The function was exited without releasing the 'raw' pointer. A memory leak is possible.

* Fix unsafe code

/opt/pvs/accel-ppp/accel-pppd/cli/tcp.c 364     warn    V1004 The 'host' pointer was used unsafely after it was verified against nullptr. Check lines: 338, 364.
/opt/pvs/accel-ppp/accel-pppd/cli/telnet.c      701     warn    V1004 The 'host' pointer was used unsafely after it was verified against nullptr. Check lines: 675, 701.
/opt/pvs/accel-ppp/accel-pppd/extra/ippool.c    241     err     V614 Potentially uninitialized pointer 'pos' used.
/opt/pvs/accel-ppp/accel-pppd/radius/dict.c     165     err     V614 Uninitialized pointer 'parent_items' used.

* Remove duplicate code

/opt/pvs/accel-ppp/accel-pppd/radius/serv.c     202     warn    V547 Expression 'ts.tv_sec &lt; req-&gt;serv-&gt;fail_time' is always false.

* Fix treating signed bool variables as unsigned

* Add nullptr checking

/opt/pvs/accel-ppp/accel-pppd/ipv6/dhcpv6.c     886     err     V595 The 'opt-&gt;val' pointer was utilized before it was verified against nullptr. Check lines: 886, 890.
/opt/pvs/accel-ppp/accel-pppd/ipv6/nd.c 479     err     V595 The 'opt-&gt;val' pointer was utilized before it was verified against nullptr. Check lines: 479, 483.
/opt/pvs/accel-ppp/accel-pppd/radius/auth.c     152     err     V595 The 'rpd-&gt;auth_ctx' pointer was utilized before it was verified against nullptr. Check lines: 152, 154.
/opt/pvs/accel-ppp/accel-pppd/triton/conf_file.c        114     err     V595 The 'cur_sect' pointer was utilized before it was verified against nullptr. Check lines: 114, 117.

* Add logging of exit conditions

* Clarify calculation

[accel-pppd/ppp/ccp_mppe.c:281]: (style) Clarify calculation precedence for '&amp;' and '?'.
[accel-pppd/ppp/ccp_mppe.c:282]: (style) Clarify calculation precedence for '&amp;' and '?'.
[accel-pppd/ppp/ccp_mppe.c:283]: (style) Clarify calculation precedence for '&amp;' and '?'.
[accel-pppd/ppp/ccp_mppe.c:284]: (style) Clarify calculation precedence for '&amp;' and '?'.
[accel-pppd/ppp/ccp_mppe.c:285]: (style) Clarify calculation precedence for '&amp;' and '?'.
[accel-pppd/ppp/ccp_mppe.c:286]: (style) Clarify calculation precedence for '&amp;' and '?'.
[drivers/ipoe/ipoe.c:307]: (style) Clarify calculation precedence for '&amp;' and '?'.

* Fix void calculations

[accel-pppd/ctrl/pppoe/disc.c:211]: (portability) 'pkt' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/ctrl/pptp/pptp.c:150]: (portability) 'buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/acct.c:37]: (portability) 'req.pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/auth.c:35]: (portability) 'req.pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/auth.c:79]: (portability) 'req.pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/dm_coa.c:43]: (portability) 'pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/dm_coa.c:47]: (portability) 'pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/dm_coa.c:57]: (portability) 'pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/dm_coa.c:65]: (portability) 'req.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/dm_coa.c:97]: (portability) 'req.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/radius/serv.c:364]: (portability) 'req.pack.buf' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/triton/mempool.c:115]: (portability) 'mmap_ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/triton/mempool.c:122]: (portability) 'mmap_ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/triton/mempool.c:276]: (portability) 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.

* Fix void part 2

[accel-pppd/ipv6/dhcpv6.c:844]: (portability) 'conf_dnssl' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/ipv6/nd.c:199]: (portability) '(void*)dnsslinfo' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[accel-pppd/ipv6/nd.c:432]: (portability) 'conf_dnssl' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.

* Fix null pointer dereference

[accel-pppd/ctrl/ipoe/ipoe.c:2048]: (warning) Possible null pointer dereference: eth
[accel-pppd/ctrl/ipoe/ipoe.c:2049]: (warning) Possible null pointer dereference: iph

* Remove redundant check

/opt/pvs/accel-ppp/accel-pppd/ctrl/l2tp/packet.c        656     warn    V547 Expression 'attr-&gt;length &lt;= 16' is always false.

* PR fixes

* PR fixes 2</content>
</entry>
<entry>
<title>Merge branch 'master' of github.com:xebd/accel-ppp</title>
<updated>2021-03-17T08:32:08+00:00</updated>
<author>
<name>Dmitry Kozlov</name>
<email>xeb@mail.ru</email>
</author>
<published>2021-03-17T08:32:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=bb4f308fc3b0086bb51cc021bf2e8fc4ffb4a7e4'/>
<id>urn:sha1:bb4f308fc3b0086bb51cc021bf2e8fc4ffb4a7e4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prevent memory corruption on config file reload</title>
<updated>2021-03-14T15:33:10+00:00</updated>
<author>
<name>[anp/hsw]</name>
<email>sysop@880.ru</email>
</author>
<published>2021-03-14T15:33:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=a0c08ce019cf88278f882d823f876c6edc2d5218'/>
<id>urn:sha1:a0c08ce019cf88278f882d823f876c6edc2d5218</id>
<content type='text'>
Starting program: /usr/sbin/accel-pppd -c /etc/accel-ppp/accel-ppp.conf
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
[New Thread 0xb7ad9b40 (LWP 24563)]
[New Thread 0xb72d8b40 (LWP 24566)]
[New Thread 0xb6ad7b40 (LWP 24567)]
[New Thread 0xb60ffb40 (LWP 24569)]
[New Thread 0xb58feb40 (LWP 24570)]
[New Thread 0xb50fdb40 (LWP 24572)]
[New Thread 0xb48fcb40 (LWP 24573)]
conf_file:/etc/accel-ppp/accel-ppp.conf:93: no section opened
memory corruption:
malloc(10) at /var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/accel-pppd/triton/conf_file.c:117
free at /var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/accel-pppd/triton/conf_file.c:193
*** Error in `/usr/sbin/accel-pppd': corrupted double-linked list: 0xb61018c8 ***

Thread 3 "accel-pppd" received signal SIGABRT, Aborted.
[Switching to Thread 0xb72d8b40 (LWP 24566)]
0xb7fdc428 in __kernel_vsyscall ()
(gdb) bt full
No symbol table info available.
No symbol table info available.
No symbol table info available.
    at /var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/accel-pppd/memdebug.c:90
        mem = 0xb61018d0
        r = 0
        ctx = {fname = 0xb7fda1c4 &lt;sections&gt; "D\036ПЁт!\020╤╓R\005─\\m\005──", file = 0xfa8c7f2b, line = 108205909, items = 0x0}
        sect = 0x8002f1bf &lt;log_switch&gt;
        r = -2147097804
        sections_bak = {next = 0xb3d01554, prev = 0xb3d016ec}
        t = 0xb7ff2750
        r = 4
        set = {__val = {516, 0 &lt;repeats 31 times&gt;}}
        sig = 10
        need_free = 0
        stack = 0x0
No symbol table info available.
No symbol table info available.
</content>
</entry>
<entry>
<title>fix build with non-portable _SC_PAGE_SIZE</title>
<updated>2021-02-06T10:24:29+00:00</updated>
<author>
<name>Vladislav Grishenko</name>
<email>themiron@mail.ru</email>
</author>
<published>2021-02-06T10:24:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=b1ad6a35a605e9491b8492b5af525994d189d09e'/>
<id>urn:sha1:b1ad6a35a605e9491b8492b5af525994d189d09e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>triton: clear trig_epoll_events after read</title>
<updated>2020-08-10T07:20:15+00:00</updated>
<author>
<name>Dmitry Kozlov</name>
<email>xeb@mail.ru</email>
</author>
<published>2020-08-10T07:20:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=38b6104538522caf140796982e79db334aecaa08'/>
<id>urn:sha1:38b6104538522caf140796982e79db334aecaa08</id>
<content type='text'>
</content>
</entry>
<entry>
<title>triton: small fixes</title>
<updated>2019-12-24T11:46:43+00:00</updated>
<author>
<name>Dmitry Kozlov</name>
<email>xeb@mail.ru</email>
</author>
<published>2019-12-24T11:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=fe7c3a4b74b9f1ed57d22316069602acd4794265'/>
<id>urn:sha1:fe7c3a4b74b9f1ed57d22316069602acd4794265</id>
<content type='text'>
</content>
</entry>
</feed>
