<feed xmlns='http://www.w3.org/2005/Atom'>
<title>accel-ppp.git/accel-pppd/triton, branch master</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=master</id>
<link rel='self' href='https://git.amelek.net/accel-ppp/accel-ppp.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/'/>
<updated>2026-07-07T23:53:26+00:00</updated>
<entry>
<title>triton: reject concurrent config reload requests</title>
<updated>2026-07-07T23:53:26+00:00</updated>
<author>
<name>Denys Fedoryshchenko</name>
<email>denys.f@collabora.com</email>
</author>
<published>2026-07-07T22:57:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=844812959beb1a6bbcc64099a4f85b3db127a8a4'/>
<id>urn:sha1:844812959beb1a6bbcc64099a4f85b3db127a8a4</id>
<content type='text'>
triton_conf_reload() kept the notify callback in a single global slot,
and the CLI reload command likewise stored its wakeup context in a
global. A second reload issued while the first was still pending (from
another CLI connection or SIGUSR1) overwrote both, so only the last
requester was notified when the reload completed; the earlier CLI
context slept forever in triton_context_schedule() and that connection
hung while the rest of the daemon kept running.

Make triton_conf_reload() return -1 when a reload is already pending,
checked atomically under threads_lock, and pass a caller-provided arg
through to the notify callback so each requester keeps its own state
instead of sharing globals. The CLI reload's request struct is
heap-allocated rather than kept on reload_exec's stack, since
triton_context_schedule() can migrate a suspended context onto a
different worker thread's stack before the notify callback runs,
which would otherwise leave conf_reload_notify() writing through a
stale stack pointer.

Also mark the reload as running (need_config_reload = 2) before
dropping threads_lock to call __config_reload(). Previously a worker
woken during the reload (e.g. by the notify callback waking the CLI
context, or any stray context wakeup) could loop through the idle
path, decrement the active count back to zero and re-enter
__config_reload() while need_config_reload was still set, running a
second concurrent conf_reload() and invoking the notify callback
twice - corrupting the wakeup list and, with the CLI's heap request,
writing through freed memory.

The SIGUSR1 handler used to call triton_conf_reload() directly from
signal context, taking spinlocks and potentially running the whole
config parse inside the handler. It now only sets a flag; the main
thread waits with sigtimedwait() and performs the reload (and logs a
warning when one is already in progress) from normal thread context.
The CLI now replies "reload is already in progress" instead of losing
the first requester's wakeup.
</content>
</entry>
<entry>
<title>triton: 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:29:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/accel-ppp/accel-ppp.git/commit/?id=e5fe0eaa1fc6b1109db784e818e360159d8dd2ac'/>
<id>urn:sha1:e5fe0eaa1fc6b1109db784e818e360159d8dd2ac</id>
<content type='text'>
Group the Triton core statistics in struct triton_stat_t and keep the storage private to triton.c instead of exporting the writable triton_stat object through triton.h. This keeps ownership inside the Triton core while preserving the existing CLI and ACCEL-PPP-MIB counter semantics.

Route counter updates through triton_stat_*() helpers. Thread, context, md handler, timer, mempool, CPU, and start-time update paths no longer open-code direct triton_stat mutations; the update policy now lives beside the Triton-owned storage and uses relaxed atomic operations for the simple counters.

Make the CLI show-stat path render from a local snapshot and update statCore SNMP readers to use triton_stat_start_time() and triton_stat_cpu(). Out-of-tree modules that accessed the exported triton_stat object directly must switch to the new accessors, because triton_stat is no longer part of the public ABI.

Signed-off-by: Denys Fedoryshchenko &lt;denys.f@collabora.com&gt;
</content>
</entry>
<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>
</feed>
