GithubHelp home page GithubHelp logo

accel-ppp / accel-ppp Goto Github PK

View Code? Open in Web Editor NEW
210.0 19.0 70.0 4.85 MB

High performance PPTP/L2TP/SSTP/PPPoE/IPoE server for Linux

Home Page: https://accel-ppp.io/

License: GNU General Public License v2.0

CMake 1.32% C 94.99% Python 1.40% Shell 0.26% Makefile 0.01% Roff 2.03%
ipoe pppoe-server pptp-server l2tp vpn-server linux-server sstp-server

accel-ppp's Introduction

Overview
--------
The ACCEL-PPP v1.0 is completly new implementation of PPTP/PPPoE/L2TP/SSTP which was written from scratch.
Userspace daemon has its own PPP implementation, so it does not uses pppd and one process (multi-threaded) manages all connections.
ACCEL-PPP uses kernel-mode implementations of pptp/l2tp/pppoe and user-mode of sstp.


Features
--------
1.  Modular architecture
2.  High-performance multi-threaded I/O core
3.  Supported PPTP
4.  Supported PPPoE (including TR-101 extension)
5.  Supported L2TPv2 (without IPsec)
5.  Radius authentication/accounting
6.  Radius DM/CoA extention
7.  Supported authentication types: PAP, CHAP (md5), Microsoft CHAP Extentions (including version 2), not supported - EAP
8.  Supported MPPE
9.  Compression is not supported
10. Extensible logging engine with per session logging support, implemented log to file, log to remote host and log to PostgreSQL targets
11. Extensible user/password database, implemented Radius, pppd compatible chap-secrets sources
12. Extensible IP pool, implemented Radius, chap-secrets and static pools
13. Supported pppd compatible ip-up/ip-down scripts
14. Builtin tbf/htb shaper and clsact policer manager
15. Command line interface via telnet
16. SNMP support (master or subagent via AgentX)
17. Supported SSTP


Requirment
----------
1. modern linux distribution
2. kernel-2.6.25 or later
4. cmake-2.6 or later
5. libnl-2.0 or probably later (required for builtin shaper)
6. libcrypto-0.9.8 or probably later (openssl-0.9.8)
7. libpcre
8. net-snmp-5.x 
9. libssl-0.9.8 or probably later (openssl-0.9.8)


Compilation and instalation
-----------
Make sure you have configured kernel headers in /usr/src/linux,
or specify other location via KDIR.
1. cd /path/to/accel-ppp-1.3.5
2. mkdir build
3. cd build
4. cmake [-DBUILD_DRIVER=FALSE] [-DKDIR=/usr/src/linux] [-DCMAKE_INSTALL_PREFIX=/usr/local] [-DCMAKE_BUILD_TYPE=Release] [-DLOG_PGSQL=FALSE] [-DSHAPER=FALSE] [-DRADIUS=TRUE] [-DNETSNMP=FALSE] ..
   Please note that the double dot record in the end of the command is essential. You'll probably get error or misconfigured sources if you miss it.
   BUILD_DRIVER, KDIR, CMAKE_INSTALL_PREFIX, CMAKE_BUILD_TYPE, LOG_PGSQL, SHAPER, RADIUS  are optional,
   But while pptp is not present in mainline kernel you probably need BUILD_DRIVER.
   For example:
   cmake -DBUILD_DRIVER=TRUE ..
   will configure sources to build pptp driver, search kernel headers at /usr/src/linux, install to /usr/local,
   build with no debug, pgsql and shaper support, build with radius support.
5. If you want to use chap-secrets for authentication purpose then you need to disable radius support, configure as following:
   cmake -DBUILD_DRIVER=TRUE -DRADIUS=FALSE ..
   of course you can include additional options if needed.
6. make
7. make install


Configuration
-------------
read man accel-ppp.conf


Built-in shaper
--------------
accel-ppp supports tbf and htb based shaper manager. It also supports clsact policer manager.
To enable it uncomment shaper in [modules] section.
It accepts radius attributes in various formats: rate, down-rate/up-rate and cisco-like. Values have to be in kilobits except cisco-like.
For example:
Filter-Id=1000 (means 1000Kbit both up-stream and down-stream rate)
Filter-Id=2000/3000 (means 2000Kbit down-stream rate and 3000Kbit up-stream rate)
To change radius attribute which containes rate information use 'attr' option, for example:
[shaper]
attr=My-Custom-Rate-Attribute
of course this attribute have to be in radius dictionary.
To specify different attributes for down-stream and up-stream rates use 'attr-down' and 'attr-up' options, for example:
[shaper]
attr-down=PPPD-Downstream-Speed
attr-up=PPPD-Upstream-Speed

If you want to use cisco-like format configure accel-ppp as following:
[shaper]
vendor=Cisco
attr=Cisco-AVPair
and send two attributes:
Cisco-AVPair=lcp:interface-config#1=rate-limit input 2000000 8000 8000 conform-action transmit exceed-action drop (which means 2000Kbit up-stream rate and 8Kb burst)
Cisco-AVPair=lcp:interface-config#1=rate-limit output 2000000 8000 8000 conform-action transmit exceed-action drop (which means 2000Kbit down-stream rate and 8Kb burst)


Advanced shaper using
---------------------
1. Burst configuration.
If you not using cisco-like format then burst calculates from rate and specified burst factors.
To specify burst factors use 'down-burst-factor' and 'up-burst-factor' options, for example:
[shaper]
down-burst-factor=1.0
up-burst-factor=10.0
which means that burst for tbf/htb qdisc will be calculated as down-stream rate multiply to 1.0 and burst for policer/htb will be calculated as up-stream rate multiply to 10.0.

2. Time ranges.
You can specify time ranges to authomatic rate reconfiguration.
To specify time ranges use following sample configuration:
[shaper]
time-range=1,1:00-3:00
time-range=2,3:00-5:00
time-range=3,5:00-7:00
first number is time range identifier.
To specify time range specific rates use following format of radius attributes: range-id,rate, range-id,down-rate/up-rate or cisco-like, for example:
Filter-Id=1000
Filter-Id=1,2000
Filter-Id=2,3000
Filter-Id=3,4000
which means: set 1000Kbit by default, set 2000Kbit in time range 1, set 3000Kbit in time range 2, set 4000Kbit in time range 3.
You have to pass multiple Filter-Id attributes to utilize this functionality.
Or cisco-like:
Cisco-AVPair=lcp:interface-config#1=rate-limit output access-group 1 1000000 8000 8000 conform-action transmit exceed-action drop
Cisco-AVPair=lcp:interface-config#1=rate-limit input access-group 1 1000000 8000 8000 conform-action transmit exceed-action drop
and so on...

3. chap-secrets.
If you use chap-secrets instead of radius then there is way to utilize built-in shaper too.
The optional fifth column in chap-secrets file is used to pass rate information to shaper.
Its format is same as for radius attributes, except you cann't utilize time ranges functionality.


SNMP
----
SNMP is implemented using net-snmp libraries. By default accel-ppp starts in subagent mode,
so make sure that net-snmp configured with subagent control turned on (read net-snmp's README.agentx for more details).
Also you can start accel-ppp as master agent using following configuration:
[snmp]
master=1

Usage:
Place accel-pppd/extra/net-snmp/ACCEL-PPP-MIB.txt to your mibs directory.
Also you can find used numerical oids in this file.
1. Requesting statistics:
snmpwalk -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::accelPPPStat
2. Requesting sessions:
snmptable -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::sessionsTable
3. Terminate session by session identifier (Acct-Session-ID):
snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::termBySID.0 = 0000000000000001
4. Terminate session by interface name:
snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::termByIfName.0 = ppp2
5. Terminaten session by IP address (Framed-IP-Address):
snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::termByIP.0 = 192.168.10.10
6. Terminate session by username:
snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::termByUsername.0 = user1
7. Execute cli command:
snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::cli.0 = "shaper change all 1024 temp"


chap-secrets encryption
-----------------------
To enable chap-secrets encryption ablity accel-ppp must be compiled with -DCRYPTO=OPENSSL (which is default).
Username field may be kept as cleartext or hashed through some hash chain. To specify hash chain use username-hash option.
For example, username-hash=md5,sha1 means hash username through md5 and then binary result hash through sha1.
Username have to be specified as hexadecimal dump of digest result.
Password field have to be encrypted using smbencrypt (NT Hash part).
Encryption is incompatible with auth_chap_md5 module.


Warning !!!
-----------
1. The pptp driver conflicts with ip_gre driver (in kernel), so make sure that ip_gre is not built-in or loaded at run time
   (don't matter if you have 2.6.37 or later kernel).
2. Don't mix connections of accel-ppp and poptop's pptpd, before starting accel-ppp make sure that no connections
   of pptpd exists.


Contacts
--------
http://accel-ppp.org/
mail: [email protected]
ICQ: 337258064
Jabber: [email protected]

accel-ppp's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

accel-ppp's Issues

Framed Routes (and maybe Delegated-IPv6-Prefix) don't work when connected client is placed in VRF by Accel-VRF-Name

I've been using accel-ppp as provided in the current VyOS 1.4 rolling (specifically, as of writing, I have VyOS 1.4-rolling-202203190317 running), which appears to be based on accel-ppp commit 51bd816, but having checked current accel-ppp codebase (specifically radius/radius.c) I believe this issue would exist in accel-ppp built from source today.

I am placing a user into a VRF using Accel-VRF-Name, which works as expected for the Framed-IP-Address and Framed-IPv6-Prefix but neither Framed-Route and Delegated-IPv6-Prefix appear to be working.

For the Framed-Route, I see an error logged (realm and IP block/next-hop obfuscated by me);
Mar 19 12:02:36 accel-l2tp[3581]: libnetlink: RTNETLINK answers: Network is unreachable
Mar 19 12:02:36 accel-l2tp[3581]: l2tp0:[email protected]: radius: failed to add route 1.1.0.0/28 1.0.0.1 0

I don't see any similar error for the delegated prefix, but I can see DHCPv6 activity that suggests it is being offered to the client (obfuscation of /56 by me):
Mar 19 17:06:56 accel-l2tp[15942]: l2tp0:[email protected]: recv [DHCPv6 Solicit XID=71c70 <Client-ID 3:0001001daaf093e1> <Elapsed-Time 100687621> <IA-PD 1216474 T1=0 T2=0> ]
Mar 19 17:06:56 accel-l2tp[15942]: l2tp0:[email protected]: send [DHCPv6 Advertise XID=71c70 <Server-ID 3:001b0000000000000001> <Client-ID 3:0001001daaf093e1> <IA-PD 1216474 T1=302400 T2=483840 {IA-Prefix WWWW:XX:YYY:ZZZZ::/56 pref_lifetime=604800 valid_lifetime=2592000}> <Preference 255>]

Having read the patch that added VRF support to accel-ppp, my guess is that accel-ppp is not taking account of the client IP being in a VRF when setting the static route - i.e. the routes for Framed-Route (and any routes for Framed-IPv6-Route, and Delegated-IPv6-Prefix) have to /also/ be set in the VRF, not just the Framed-IP-Address and Framed-IPv6-Prefix.

As accel-ppp works today, it does not specify the VRF when trying to set the static route which means it is attempted to be inserted in the default VRF where the next-hop IP does not exist.

VyOS Config (IPs and secrets obfuscated, except client-ip-pool and client-ipv6-pool - these are left here exactly as we have them configured with garbage cgnat/private ranges because radius specifies the actual real client addresses)

vpn {
    l2tp {
        remote-access {
            authentication {
                mode radius
                radius {
                    rate-limit {
                        enable
                    }
                    server 1.2.3.4 {
                        key ****************
                    }
                    server 1.2.3.5 {
                        key ****************
                    }
                    source-address 1.5.5.5
                }
            }
            ccp-disable
            client-ip-pool {
                subnet 100.64.0.0/10
            }
            client-ipv6-pool {
                delegate fd00:2::/40 {
                    delegation-prefix 56
                }
                prefix fd00:1::/48 {
                    mask 64
                }
            }
            description "lns1"
            lns {
                shared-secret xxxxxxxxxxxxxxxxxxxxx
            }
            mtu 1500
            outside-address 1.5.5.5
            ppp-options {
                ipv6 allow
            }
        }
    }
}

This generates the following accel-ppp config:

### generated by accel_l2tp.py ###
[modules]
log_syslog
l2tp
chap-secrets
auth_mschap_v2

radius

ippool
shaper
ipv6pool
ipv6_nd
ipv6_dhcp

[core]
thread-count=2

[log]
syslog=accel-l2tp,daemon
copy=1
level=5




[l2tp]
verbose=1
ifname=l2tp%d
ppp-max-mtu=1500
mppe=prefer
bind=1.5.5.5
secret=xxxxxxxxxxxxxxxxxxxxx

[client-ip-range]
0.0.0.0/0

[ip-pool]
100.64.0.0/10
gw-ip-address=100.64.0.1

[radius]
verbose=1
server=1.2.3.4,****************,auth-port=1812,acct-port=1813,req-limit=0,fail-time=0
server=1.2.3.5,****************,auth-port=1812,acct-port=1813,req-limit=0,fail-time=0


acct-timeout=3
timeout=3
max-try=3

bind=1.5.5.5
gw-ip-address=100.64.0.1

[ppp]
verbose=1
check-ip=1
single-session=replace
lcp-echo-timeout=0
lcp-echo-interval=30
lcp-echo-failure=3
ccp=0
ipv6=allow


[ipv6-pool]
fd00:1::/48,64
delegate=fd00:2::/40,56

[ipv6-dhcp]
verbose=1

[shaper]
verbose=1
attr=Filter-Id

[cli]
tcp=127.0.0.1:2004
sessions-columns=ifname,username,calling-sid,ip,ip6,ip6-db,rate-limit,type,comp,state,rx-bytes,tx-bytes,uptime

ipoe Mode - sudden recreate of all vlan interfaces

on a running IPoE instance suddenly all sessions disappeared and it seems all vlan interfaces where newly created:

2022-04-28T13:26:16.744102+02:00 ipoe-b accel-pppd[6161]: add_interface called for ifname enp8s0.500
2022-04-28T13:26:16.744899+02:00 ipoe-b accel-pppd[6161]: ipoe: start interface enp8s0.500 (mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan500,l4-redirect-ip-pool=noauth-vlan500,mtu=1500,weight=0)

this is repeated for all vlan interfaces (500 to 538)

accel-ppp did not crash, but was running with the same PID before and after this happened. We do see a small gap in logging prior to this issue with about 5 seconds without logging.

2022-04-28T13:26:11.932479+02:00 ipoe-b accel-pppd[6161]: ipoe33:****: **** authentication succeeded
2022-04-28T13:26:11.932736+02:00 ipoe-b accel-pppd[6161]: ipoe33:****: send [DHCPv4 Offer xid=dc870b20 yiaddr=192.168.163.48 chaddr=***** <Message-Type Offer> <Server-ID 192.168.163.254> <Lease-Time 600> <T1 300> <T2 525> <Router 192.168.163.254> <Subnet 255.255.255.0> <DNS 192.168.4.10,192.168.4.130> <Option-249 10c0a8c0a8a301> <Relay-Agent {Agent-Circuit-ID _00040200000b} {Agent-Remote-ID _0006c0c5208490e9} {Subscriber-ID *****}>]
[5 seconds gap with no logging, other logfiles show entries with timestamps in between]
2022-04-28T13:26:16.744102+02:00 ipoe-b accel-pppd[6161]: add_interface called for ifname enp8s0.500
2022-04-28T13:26:16.744899+02:00 ipoe-b accel-pppd[6161]: ipoe: start interface enp8s0.500 (mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan500,l4-redirect-ip-pool=noauth-vlan500,mtu=1500,weight=0)
2022-04-28T13:26:16.744948+02:00 ipoe-b accel-pppd[6161]: add_interface called for ifname enp8s0.501

We do a lot of logging (at least 10 messages per second). So this gap seems to be where accel-ppp was completly stuck. Config is the same as in #44 . (with some custom patches for serv specific ip pools and c666780 from #40 applied)

Runtime was about 30 hours and 29 minutes. PID stayed the same (6161).

We are using vlan-mon, but do have a more or less static vlan config. So vlan-mon/vlan-timeout settings are:

vlan-mon=enp8s0,500-538
vlan-timeout=86400

Currently not sure what happened there. There was no configuration management run at this moment and also no other manual change or something.

accel-pppd version 1.12.0 - problem with PPPoE initialization while clients are waiting to connect

Hello,
I have this problem and I don't know if anyone reported it to you or not, but it's hard to detect it when you're inactive.

[1] when starting a server with PPPoE support, when a significant number of PPPoE clients are waiting to connect to it, there is a problem with the initialization of vlan interfaces

This problem is interesting or strange because we must meet two conditions: have several/a dozen or so vlan interfaces with a group of PPPoE clients waiting to be connected (mainly MikroTik or UBNT or, less often, Windows or Linux), and additionally, there must be at least active on each interface. a dozen or so waiting sessions for the presence of a PPPoE server, let's say 30-50 should be enough per interface

accel-pppd then very often fails to load the vlan interfaces completely or selectively and then in the accel-cmd console we see that we have 1 interface when there should be more of them but there are not... for some reason

then accel-pppd also reports a problem with communication on 127.0.0.1 with port 2001

I can fix it manually in 2 ways:

1 - run only on the physical ethX interface and run in a series of e.g. 5 interfaces, then wait a few seconds between each batch for a certain group of clients waiting for the PPPoE session to load.

2 - try to start the daemon again and hope that it will load all the required interfaces correctly and all waiting clients will log in to the accel-pppd server

[2] the earlier version did not require having interfaces in the file for the initialization of the entire accel-pppd engine with the PPPoE module

it was then convenient for the automation which, on the so-called demand, executed the command to add or remove an interface from PPPoE using the command accel-cmd pppoe interface add ethX.xx or accel-cmd pppoe interface del ethX.xx

It may not be a bad approach that requires having an interface in the file as a definition to be able to add an interface to support a given module, in my case it is PPPoE, but the problem is the fact from point 1 that starting a large number of interfaces when there are 500-1000 PPPoE sessions on the accel-pppd server becomes a problem...

I then have to manually activate 1 interface, then upload a file with the full definition of the interfaces I want to use, and then use a script to manually send commands in batches, e.g. of 5 pieces, to add new interfaces between which I have to introduce a delay waiting until a number of people/sessions connect to my network. server so that I could continue working

Another problem, as I noticed, is having a VPN tunnel together with PPPoE in Accel-PPPd, e.g. PPtP. When PPPoE sessions work properly, but I need to log in to the PPtP VPN tunnel and for some unexplained reasons (in my opinion, the server expects a known client IP address), the entire Accel-PPPd server crashes, not just this 1 module, which is currently PPtP. This phenomenon can mainly occur when a service scanning bot detects a given service, e.g. VPN PPtP, and I try to connect to it, and at that moment the entire Accel-PPPd server crashes and I am forced to restart it, and therefore when using multiple interfaces with a vlan for an additional condition in the event that the server stops working when it serves a significant number of clients and has many interfaces on which a given service must be active.

Problem IPv6 in commit 3b74e1088af7b525880b386136c0330bbed377a0

I had a problem updating a server to the mentioned commit version.

I will leave below the data of the problem that I was able to collect, as well as my configuration.

Problem data:

GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from accel-pppd...done.
(gdb) run
Starting program: /usr/sbin/accel-pppd -c /etc/accel-ppp/accel-ppp.conf -p /var/run/accel-ppp.pid
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff52f7700 (LWP 11297)]
[New Thread 0x7ffff36c4700 (LWP 11298)]
[New Thread 0x7ffff2ec3700 (LWP 11299)]
[New Thread 0x7ffff7fc9700 (LWP 11608)]
[New Thread 0x7ffff26c2700 (LWP 11609)]
[New Thread 0x7ffff25c1700 (LWP 11610)]
[New Thread 0x7ffff24c0700 (LWP 11611)]
[New Thread 0x7ffff23bf700 (LWP 11612)]
[New Thread 0x7ffff22be700 (LWP 11613)]
[New Thread 0x7ffff21bd700 (LWP 11614)]
[New Thread 0x7ffff20bc700 (LWP 11615)]
[New Thread 0x7ffff1fbb700 (LWP 11616)]
[New Thread 0x7ffff1eba700 (LWP 11617)]
[New Thread 0x7ffff1db9700 (LWP 11618)]
[New Thread 0x7ffff15b8700 (LWP 11619)]

Thread 5 "accel-pppd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff7fc9700 (LWP 11608)]
pthread_spin_lock () at ../sysdeps/x86_64/nptl/pthread_spin_lock.S:22
22	../sysdeps/x86_64/nptl/pthread_spin_lock.S: Arquivo ou diretório não encontrado.
(gdb) bt full
#0  pthread_spin_lock () at ../sysdeps/x86_64/nptl/pthread_spin_lock.S:22
No locals.
#1  0x00007ffff44eab00 in get_dp (ses=0x7fffc4024150) at /usr/local/src/accel/accel-ppp/accel-pppd/extra/ipv6pool.c:312
        it = 0x55555578ada0 <ipdb_handlers>
        pool = 0x0
        start = 0x0
#2  0x000055555557a850 in ipdb_get_ipv6_prefix (ses=0x7fffc4024150) at /usr/local/src/accel/accel-ppp/accel-pppd/ipdb.c:62
        ipdb = 0x7ffff46ec140 <ipdb>
        it = 0x0
#3  0x00007ffff42e2c61 in dhcpv6_send_reply (req=0x7fffbc0862d0, pd=0x7fffe4039db0, code=2) at /usr/local/src/accel/accel-ppp/accel-pppd/ipv6/dhcpv6.c:352
        reply = 0x7fffbc0877d0
        opt = 0x7fffbc086560
        opt1 = 0x7fffbc088950
        opt2 = 0x7fffbc088910
        opt3 = 0x3e
        ia_na = 0x7fffbc0878ba
        ia_addr = 0x7fffbc08789e
        ia_prefix = 0x7fffbc086580
        a = 0x55555587f030
        addr = {__in6_u = {__u6_addr8 = "\000\000\000\000\000\000\000\000Y\320WUUU\000", __u6_addr16 = {0, 0, 0, 0, 53337, 21847, 21845, 0}, __u6_addr32 = {0, 0, 1431818329, 21845}}}
        ses = 0x7fffc4024150
        f = 1
        f1 = 219
        f2 = 0
#4  0x00007ffff42e3cf3 in dhcpv6_recv_solicit (req=0x7fffbc0862d0) at /usr/local/src/accel/accel-ppp/accel-pppd/ipv6/dhcpv6.c:634
        pd = 0x7fffe4039db0
#5  0x00007ffff42e41c6 in dhcpv6_recv_packet (pkt=0x7fffbc0862d0) at /usr/local/src/accel/accel-ppp/accel-pppd/ipv6/dhcpv6.c:756
No locals.
#6  0x00007ffff42e43b1 in dhcpv6_read (h=0x7fffe4039dd0) at /usr/local/src/accel/accel-ppp/accel-pppd/ipv6/dhcpv6.c:815
        pd = 0x7fffe4039db0
        ses = 0x7fffc4024150
        n = 132
        addr = {sin6_family = 10, sin6_port = 8706, sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 = "\376\200\000\000\000\000\000\000\002\031F\377\376", <incomplete sequence \355\253>, 
              __u6_addr16 = {33022, 0, 0, 0, 6402, 65350, 13566, 44013}, __u6_addr32 = {33022, 0, 4282784002, 2884449534}}}, sin6_scope_id = 1552}
        len = 28
        pkt = 0x7fffbc0862d0
        buf = 0x7fffbc08b1a0 "\001\266lJ"
#7  0x00007ffff7bd267d in ctx_thread (ctx=0x7fffc4024438) at /usr/local/src/accel/accel-ppp/accel-pppd/triton/triton.c:252
        h = 0x7fffe4039e28
        t = 0x7ffff625ea3e <ipoe_ctx_switch>
        call = 0x7ffff7fc8d30
        tt = 140736481869944
        events = 1
#8  0x00007ffff7bd2438 in triton_thread (thread=0x5555560eed90) at /usr/local/src/accel/accel-ppp/accel-pppd/triton/triton.c:192
        set = {__val = {516, 0 <repeats 15 times>}}
        sig = 10
        need_free = 0
        stack = 0x0
#9  0x00007ffff77b04a4 in start_thread (arg=0x7ffff7fc9700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7ffff7fc9700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737353914112, 766347238913097883, 140737488347662, 140737488347663, 140737352863744, 3, -766329668675288933, -766330781321772901}, 
              mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
---Type <return> to continue, or q <return> to quit---
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#10 0x00007ffff6974d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.

My conf:

[modules]
pppoe
ipoe
radius
ippool
shaper
sigchld
log_file
ipv6_nd
ipv6pool
ipv6_dhcp
auth_pap
auth_chap_md5
auth_mschap_v2
auth_mschap_v1
pppd_compat
connlimit

[core]
thread-count=10
log-error=/var/log/accel-ppp/core.log

[common]
verbose=1
sid-case=lower
single-session=replace
sid-source=urandom
max-starting=100

[auth]
verbose=1
noauth=0
any-login=0

[ppp]
verbose=1
ccp=0
mtu=1480
max-mtu=1492
min-mtu=1452
max-mru=1492
mppe=deny
pcomp=deny
check-ip=1
accomp=deny
sid-case=lower
unit-cache=0
unit-preallocate=1
lcp-echo-timeout=60
lcp-echo-failure=3
lcp-echo-interval=20
single-session=replace
ipv4=require
ipv6=allow
ipv6-intf-id=0:0:0:1
ipv6-peer-intf-id=0:0:0:2
ipv6-accept-peer-intf-id=1

[pppoe]
verbose=1
mppe=deny
padi-limit=0
ip-pool=pool-pppoe-1
ac-name=accel
service-name=accel._____________net
accept-any-service=1
called-sid=ifname
sid-uppercase=1
ifname-in-sid=called-sid
mac-filter=/etc/accel-ppp/mac-blacklist,deny
pado-delay=0,1:500,2:750,3:1000

vlan-timeout=1296000
vlan-name=%I.%N

vlan-mon=enp8s0f1,1000-1099,2000-2032
interface=enp8s0f1
interface=re:^enp8s0f1\.(10[0-8][0-9]|109[0-9]|20[0-2][0-9]|203[0-2])$

[ipoe]
verbose=1
username=lua:username
password=username
renew-time=120
lease-time=180
max-lease-time=240
unit-cache=0
proxy-arp=1
attr-dhcp-client-ip=Framed-IP-Address
attr-dhcp-router-ip=DHCP-Router-IP-Address
lua-file=/etc/accel-ppp/ipoe-accel-ppp.lua
ip-pool=pool-ipoe-1
check-mac-change=1
soft-terminate=1
calling-sid=mac

vlan-timeout=1296000
vlan-name=%I.%N

vlan-mon=enp8s0f1,2100-2299
interface=enp8s0f1,mode=L2,shared=1,start=dhcpv4,ifcfg=1,proxy-arp=2,ipv6=1
interface=re:^enp8s0f1\.(21[0-9]{2}|22[0-8][0-9]|229[0-9])$,mode=L2,shared=1,start=dhcpv4,ifcfg=1,proxy-arp=2,ipv6=1

gw-ip-address=100.101.32.1/24
gw-ip-address=100.101.33.1/24
gw-ip-address=100.101.34.1/24
gw-ip-address=100.101.35.1/24
gw-ip-address=100.101.36.1/24
gw-ip-address=100.101.37.1/24
gw-ip-address=100.101.38.1/24
gw-ip-address=100.101.39.1/24
gw-ip-address=100.102.32.1/24
gw-ip-address=198.18.196.1/22
gw-ip-address=_______.19.6

[dns]
dns1=_______.19.36
dns2=_______.19.37

[radius]
verbose=1
timeout=3
max-try=0
sid_in_auth=1
acct-timeout=0
interim-verbose=0
nas-identifier=accel
acct-interim-interval=600
gw-ip-address=_______.19.6
nas-ip-address=_______.19.6
dae-server=0.0.0.0:3799,_____________
dictionary=/usr/share/accel-ppp/radius/dictionary
server=_____________,_____________,auth-port=3112,acct-port=0,req-limit=0,fail-timeout=0,max-fail=0,weight=1
server=_____________,_____________,auth-port=0,acct-port=3113,req-limit=0,fail-timeout=0,max-fail=0,weight=1

[client-ip-range]
disable

[ip-pool]
verbose=1
shuffle=0
attr=Framed-Pool
gw-ip-address=_______.19.6

100.100.36.0/22,name=pool-pppoe-2
100.100.32.0/22,name=pool-pppoe-1,next=pool-pppoe-2

100.101.39.2-254,name=pool-ipoe-8
100.101.38.2-254,name=pool-ipoe-7,next=pool-ipoe-8
100.101.37.2-254,name=pool-ipoe-6,next=pool-ipoe-7
100.101.36.2-254,name=pool-ipoe-5,next=pool-ipoe-6
100.101.35.2-254,name=pool-ipoe-4,next=pool-ipoe-5
100.101.34.2-254,name=pool-ipoe-3,next=pool-ipoe-4
100.101.33.2-254,name=pool-ipoe-2,next=pool-ipoe-3
100.101.32.2-254,name=pool-ipoe-1,next=pool-ipoe-2

198.18.196.0/22,name=pgcorte

[ipv6-dns]
#_____:_____:a:fa::36
#_____:_____:a:fa::37

2001:4860:4860::8888
2001:4860:4860::8844

[ipv6-nd]
AdvAutonomousFlag=1

[ipv6-pool]
_____:_____:e::/48,64
delegate=_____:_____:f::/48,60

[ipv6-dhcp]
verbose=1
pref-lifetime=604800
valid-lifetime=2592000
route-via-gw=1

[log]
copy=1
color=1
level=3
log-debug=/var/log/accel-ppp/debug.log
log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/var/log/accel-ppp/emerg.log
log-fail-file=/var/log/accel-ppp/auth-fail.log

[pppd-compat]
verbose=1
radattr-prefix=/var/run/radattr
ip-up=/usr/local/bin/pppoe-up.sh
ip-down=/usr/local/bin/pppoe-down.sh
ip-change=/usr/local/bin/pppoe-change.sh

[shaper]
verbose=1
ifb=ifb0
attr=Filter-Id

up-limiter=police
down-limiter=tbf

#up-limiter=htb
#down-limiter=htb
#leaf-qdisc=sfq perturb 10
#leaf-qdisc=fq_codel limit 512 flows 1024 quantum 1480 target 30ms interval 6ms noecn

[cli]
verbose=0
prompt=accel
tcp=0.0.0.0:2001
telnet=0.0.0.0:2000
sessions-columns=ifname,username,ip,rate-limit,called-sid,calling-sid,sid,tx-bytes,rx-bytes,state,uptime

[connlimit]
verbose=1
burst=0
limit=60/min   
timeout=5

Move xebd/accel-ppp into "accel-ppp" organization

Dear @accel-ppp team, @xebd, @themiron, @DmitriyEshenko, @andamasov,

In first, I wish you a Happy New Year 2022!

Currently there is a problem, an historical problem!

It will be better to:

Doc :

Do you want help?

I have already done with success!

Thanks in advance.

Regards,

Neustradamus

Linked to:

Many deprecated functions warnings if compiled with OpenSSL 3.0

warning: 'MD5_Init' is deprecated: Since OpenSSL 3.0
warning: 'MD5_Update' is deprecated: Since OpenSSL 3.0
warning: 'MD5_Final' is deprecated: Since OpenSSL 3.0

warning: 'PEM_read_bio_DHparams' is deprecated: Since OpenSSL 3.0
warning: 'DH_free' is deprecated: Since OpenSSL 3.0
warning: 'DES_set_key_checked' is deprecated: Since OpenSSL 3.0
warning: 'DES_ecb_encrypt' is deprecated: Since OpenSSL 3.0
warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0

and so on.

Accel-ppp IPoE incompatibility with kernel 6.1

Compiling Accel-PPP for Linux Kernel 6.1.7 results in the vlan_mon and ipoe Kernel modules to no longer function.

Initially reported here: https://phabricator.vyos.net/T4941

Jan 18 14:22:29 VyOS-BSDRP-Router accel-ipoe: cli: tcp: new connection from 127.0.0.1
Jan 18 14:25:03 VyOS-BSDRP-Router accel-ipoe: cli: tcp: new connection from 127.0.0.1
Jan 18 14:25:03 VyOS-BSDRP-Router accel-ipoe: terminate, sig = 15
Jan 18 14:25:03 VyOS-BSDRP-Router accel-ipoe: ipoe: stop interface eth4.50
Jan 18 14:25:03 VyOS-BSDRP-Router accel-ipoe: ipoe: nl_del_iface: Invalid argument
Jan 18 14:25:03 VyOS-BSDRP-Router accel-ipoe: ipoe: stop interface eth4.51
Jan 18 14:25:04 VyOS-BSDRP-Router accel-ipoe: ipoe: start interface eth4.50 (shared=1,mode=L2,ifcfg=1,range=172.16.50.0/24,start=dhcpv4,ipv6=1)
Jan 18 14:25:04 VyOS-BSDRP-Router accel-ipoe: ipoe: start interface eth4.51 (shared=1,mode=L2,ifcfg=1,range=172.16.98.0/24,start=dhcpv4,ipv6=1)
Jan 18 14:25:04 VyOS-BSDRP-Router accel-ipoe: vlan_mon: nl_del_vlan_mon: error talking to kernel
Jan 18 14:27:27 VyOS-BSDRP-Router accel-ipoe: send [DHCPv4 Nak xid=14f5a1bd chaddr=00:0c:29:b7:49:a7 <Message-Type Nak> <Server-ID 255.255.255.255> <Message Session dosn't exist>]
Jan 18 14:27:27 VyOS-BSDRP-Router accel-ipoe: send [DHCPv4 Nak xid=20779fb8 chaddr=00:0c:29:b7:49:a7 <Message-Type Nak> <Server-ID 255.255.255.255> <Message Session dosn't exist>]
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: eth4.51:: recv [DHCPv4 Discover xid=577891e8 chaddr=00:0c:29:b7:49:a7 <Message-Type Discover> <Host-Name VyOS-PPPoE-IPoE-Client> <Request-List Subnet,Broadcast,Router,DNS,Classless-Route,Domain-Name,MTU>]
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:: create interface ipoe0 parent eth4.51
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:eth4.51: eth4.51: authentication succeeded
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:eth4.51: send [DHCPv4 Offer xid=577891e8 yiaddr=172.16.98.2 chaddr=00:0c:29:b7:49:a7 <Message-Type Offer> <Server-ID 172.16.98.1> <Lease-Time 600> <T1 300> <T2 525> <Router 172.16.98.1> <Subnet 255.255.255.0> <DNS 10.17.6.120,8.8.8.8>]
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:eth4.51: recv [DHCPv4 Request xid=577891e8 chaddr=00:0c:29:b7:49:a7 <Message-Type Request> <Server-ID 172.16.98.1> <Request-IP 172.16.98.2> <Host-Name VyOS-PPPoE-IPoE-Client> <Request-List Subnet,Broadcast,Router,DNS,Classless-Route,Domain-Name,MTU>]
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:eth4.51: ipoe: nl_modify: Invalid argument
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:eth4.51: ipoe: session finished
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: ipoe0:eth4.51: ipoe: nl_delete: Invalid argument
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: eth4.50:: recv [DHCPv4 Discover xid=5abe18e2 chaddr=00:0c:29:b7:49:a7 <Message-Type Discover> <Host-Name VyOS-PPPoE-IPoE-Client> <Request-List Subnet,Broadcast,Router,DNS,Classless-Route,Domain-Name,MTU>]
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: eth4.50:: ipoe: nl_create: Invalid argument
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: eth4.50:: ipoe: failed to create interface
Jan 18 14:27:29 VyOS-BSDRP-Router accel-ipoe: eth4.50:: ipoe: session finished

Unable to compile accel-ppp with NETSNMP

Error on compile accel-ppp

lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux trixie/sid
Release: n/a
Codename: trixie

cmake -DBUILD_DRIVER=TRUE -DCMAKE_BUILD_TYPE=Debug -DBUILD_PPTP_DRIVER=FALSE -DNETSNMP=TRUE -DRADIUS=TRUE -DBUILD_IPOE_DRIVER=FALSE -DBUILD_VLAN_MON_DRIVER=TRUE -DSHAPER=TRUE -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-uname -r -DLUA=TRUE -DCPACK_TYPE=Debian13

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- 'x86_64'
-- Found Lua51: /usr/lib/x86_64-linux-gnu/liblua5.1.so;/usr/lib/x86_64-linux-gnu/libm.so (found version "5.1.5")
-- Performing Test HAVE_FREE_FN_T
-- Performing Test HAVE_FREE_FN_T - Failed
-- Performing Test HAVE_GOOD_IFARP
-- Performing Test HAVE_GOOD_IFARP - Success
-- Looking for timerfd_create
-- Looking for timerfd_create - found
-- Looking for linux/netfilter/ipset/ip_set.h
-- Looking for linux/netfilter/ipset/ip_set.h - found
-- Looking for printf.h
-- Looking for printf.h - found
-- Looking for setns
-- Looking for setns - found
-- Performing Test HAVE_VRF
-- Performing Test HAVE_VRF - Success
-- Looking for getcontext
-- Looking for getcontext - found
-- Looking for setcontext
-- Looking for setcontext - found
-- Configuring done (4.8s)
-- Generating done (0.2s)
CMake Warning:
Manually-specified variables were not used by the project:

BUILD_DRIVER

52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:443:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
443 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
In file included from /Instaladores/accel-ppp/accel-pppd/include/crypto.h:8:
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:444:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
444 | SHA1_Update(&sha_ctx, digest, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:445:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
445 | SHA1_Update(&sha_ctx, digest, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:446:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
446 | SHA1_Update(&sha_ctx, challenge, challenge_len);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:447:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
447 | SHA1_Final(digest, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c: In function 'generate_mschap_response':
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:500:9: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
500 | MD4_Init(&md4_ctx);
| ^~~~~~~~
/usr/include/openssl/md4.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c);
| ^~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:501:9: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
501 | MD4_Update(&md4_ctx, z_hash, 16);
| ^~~~~~~~~~
/usr/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:502:9: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
502 | MD4_Final(pw_hash, &md4_ctx);
| ^~~~~~~~~
/usr/include/openssl/md4.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:504:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
504 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:505:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
505 | SHA1_Update(&sha_ctx, pw_hash, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:506:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
506 | SHA1_Update(&sha_ctx, nt_response, 24);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:507:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
507 | SHA1_Update(&sha_ctx, magic1, 39);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:508:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
508 | SHA1_Final(response, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:510:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
510 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:511:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
511 | SHA1_Update(&sha_ctx, response, 20);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:512:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
512 | SHA1_Update(&sha_ctx, c_hash, 8);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:513:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
513 | SHA1_Update(&sha_ctx, magic2, 41);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:514:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
514 | SHA1_Final(response, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c: In function 'derive_mppe_keys_mschap_v2':
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:576:9: warning: 'MD4_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
576 | MD4_Init(&md4_ctx);
| ^~~~~~~~
/usr/include/openssl/md4.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int MD4_Init(MD4_CTX *c);
| ^~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:577:9: warning: 'MD4_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
577 | MD4_Update(&md4_ctx, z_hash, 16);
| ^~~~~~~~~~
/usr/include/openssl/md4.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int MD4_Update(MD4_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:578:9: warning: 'MD4_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
578 | MD4_Final(digest, &md4_ctx);
| ^~~~~~~~~
/usr/include/openssl/md4.h:52:27: note: declared here
52 | OSSL_DEPRECATEDIN_3_0 int MD4_Final(unsigned char *md, MD4_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:581:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
581 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:582:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
582 | SHA1_Update(&sha_ctx, digest, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:583:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
583 | SHA1_Update(&sha_ctx, nt_hash, 24);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:584:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
584 | SHA1_Update(&sha_ctx, magic1, sizeof(magic1));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:585:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
585 | SHA1_Final(digest, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:588:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
588 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:589:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
589 | SHA1_Update(&sha_ctx, digest, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:590:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
590 | SHA1_Update(&sha_ctx, pad1, sizeof(pad1));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:591:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
591 | SHA1_Update(&sha_ctx, magic3, sizeof(magic2));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:592:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
592 | SHA1_Update(&sha_ctx, pad2, sizeof(pad2));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:593:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
593 | SHA1_Final(send_key, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:596:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
596 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:597:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
597 | SHA1_Update(&sha_ctx, digest, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:598:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
598 | SHA1_Update(&sha_ctx, pad1, sizeof(pad1));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:599:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
599 | SHA1_Update(&sha_ctx, magic2, sizeof(magic3));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:600:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
600 | SHA1_Update(&sha_ctx, pad2, sizeof(pad2));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:601:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
601 | SHA1_Final(recv_key, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c: In function 'auth_mschap_v2':
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:620:9: warning: 'SHA1_Init' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
620 | SHA1_Init(&sha_ctx);
| ^~~~~~~~~
/usr/include/openssl/sha.h:49:27: note: declared here
49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:621:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
621 | SHA1_Update(&sha_ctx, peer_challenge, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:622:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
622 | SHA1_Update(&sha_ctx, challenge, 16);
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:623:9: warning: 'SHA1_Update' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
623 | SHA1_Update(&sha_ctx, username, strlen(username));
| ^~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/chap-secrets.c:624:9: warning: 'SHA1_Final' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
624 | SHA1_Final(c_hash, &sha_ctx);
| ^~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
| ^~~~~~~~~~
[ 77%] Linking C shared library libchap-secrets.so
[ 77%] Built target chap-secrets
[ 78%] Building C object accel-pppd/extra/CMakeFiles/logwtmp.dir/logwtmp.c.o
[ 78%] Linking C shared library liblogwtmp.so
[ 78%] Built target logwtmp
[ 78%] Building C object accel-pppd/extra/CMakeFiles/connlimit.dir/connlimit.c.o
[ 79%] Linking C shared library libconnlimit.so
[ 79%] Built target connlimit
[ 80%] Building C object accel-pppd/extra/net-snmp/CMakeFiles/net-snmp.dir/agent.c.o
In file included from /Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:7:
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h: In function 'netsnmp_unused_function':
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:27:1: error: expected '=', ',', ';', 'asm' or 'attribute' before 'extern'
27 | config_require(ACCEL-PPP-MIB/sessionTable/sessionTable_data_access)
| ^~~~~~~~~~~~~~
In file included from /Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:23:
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:69:27: error: storage class specified for parameter 'sessionTable_registration'
69 | typedef netsnmp_data_list sessionTable_registration;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:76:1: warning: empty declaration
76 | struct sessionTable_data_s
| ^~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:93:36: error: storage class specified for parameter 'sessionTable_data'
93 | typedef struct sessionTable_data_s sessionTable_data;
| ^~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:109:3: error: storage class specified for parameter 'sessionTable_mib_index'
109 | } sessionTable_mib_index;
| ^~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:134:5: error: expected specifier-qualifier-list before 'sessionTable_mib_index'
134 | sessionTable_mib_index tbl_idx;
| ^~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:153:3: error: storage class specified for parameter 'sessionTable_rowreq_ctx'
153 | } sessionTable_rowreq_ctx;
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:156:5: error: expected specifier-qualifier-list before 'sessionTable_rowreq_ctx'
156 | sessionTable_rowreq_ctx *rowreq_ctx;
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:157:3: error: storage class specified for parameter 'sessionTable_ref_rowreq_ctx'
157 | } sessionTable_ref_rowreq_ctx;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:162:34: error: expected declaration specifiers or '...' before 'sessionTable_registration'
162 | int sessionTable_pre_request(sessionTable_registration * user_context);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:163:35: error: expected declaration specifiers or '...' before 'sessionTable_registration'
163 | int sessionTable_post_request(sessionTable_registration * user_context,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:166:38: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
166 | int sessionTable_rowreq_ctx_init(sessionTable_rowreq_ctx *rowreq_ctx,
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:168:42: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
168 | void sessionTable_rowreq_ctx_cleanup(sessionTable_rowreq_ctx *rowreq_ctx);
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:170:5: error: expected declaration specifiers before 'sessionTable_data'
170 | sessionTable_data * sessionTable_allocate_data(void);
| ^~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:171:36: error: expected declaration specifiers or '...' before 'sessionTable_data'
171 | void sessionTable_release_data(sessionTable_data *data);
| ^~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:174:5: error: expected declaration specifiers before 'sessionTable_rowreq_ctx'
174 | sessionTable_rowreq_ctx *
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:177:12: error: storage class specified for parameter 'sessionTable_oid'
177 | extern oid sessionTable_oid[];
| ^~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:178:12: error: storage class specified for parameter 'sessionTable_oid_size'
178 | extern int sessionTable_oid_size;
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:181:
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:52:41: error: expected declaration specifiers or '...' before 'sessionTable_registration'
52 | void _sessionTable_initialize_interface(sessionTable_registration * user_ctx,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:54:39: error: expected declaration specifiers or '...' before 'sessionTable_registration'
54 | void _sessionTable_shutdown_interface(sessionTable_registration * user_ctx);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:56:1: error: expected declaration specifiers before 'sessionTable_registration'
56 | sessionTable_registration *
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:59:1: error: expected declaration specifiers before 'sessionTable_registration'
59 | sessionTable_registration *
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:65:5: error: expected declaration specifiers before 'sessionTable_rowreq_ctx'
65 | sessionTable_rowreq_ctx * sessionTable_allocate_rowreq_ctx(sessionTable_data *, void *);
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:66:38: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
66 | void sessionTable_release_rowreq_ctx(sessionTable_rowreq_ctx *rowreq_ctx);
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:69:29: error: expected declaration specifiers or '...' before 'sessionTable_mib_index'
69 | sessionTable_mib_index *mib_idx);
| ^~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_interface.h:71:31: error: expected declaration specifiers or '...' before 'sessionTable_mib_index'
71 | sessionTable_mib_index *mib_idx);
| ^~~~~~~~~~~~~~~~~~~~~~
In file included from /Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:182:
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_access.h:36:32: error: expected declaration specifiers or '...' before 'sessionTable_registration'
36 | int sessionTable_init_data(sessionTable_registration * sessionTable_reg);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_access.h:68:32: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
68 | int sessionTable_row_prep( sessionTable_rowreq_ctx *rowreq_ctx);
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:183:
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:23:30: error: storage class specified for parameter 'U64'
23 | typedef struct counter64 U64;
| ^~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:49:24: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
49 | int sesIfName_get( sessionTable_rowreq_ctx *rowreq_ctx, char **sesIfName_val_ptr_ptr, size_t *sesIfName_val_ptr_len_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:50:26: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
50 | int sesUsername_get( sessionTable_rowreq_ctx *rowreq_ctx, char **sesUsername_val_ptr_ptr, size_t *sesUsername_val_ptr_len_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:51:20: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
51 | int sesIP_get( sessionTable_rowreq_ctx *rowreq_ctx, char **sesIP_val_ptr_ptr, size_t *sesIP_val_ptr_len_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:52:22: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
52 | int sesType_get( sessionTable_rowreq_ctx *rowreq_ctx, u_long * sesType_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:53:23: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
53 | int sesState_get( sessionTable_rowreq_ctx *rowreq_ctx, u_long * sesState_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:54:24: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
54 | int sesUptime_get( sessionTable_rowreq_ctx *rowreq_ctx, u_long * sesUptime_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:55:28: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
55 | int sesCallingSID_get( sessionTable_rowreq_ctx *rowreq_ctx, char **sesCallingSID_val_ptr_ptr, size_t *sesCallingSID_val_ptr_len_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:56:27: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
56 | int sesCalledSID_get( sessionTable_rowreq_ctx *rowreq_ctx, char **sesCalledSID_val_ptr_ptr, size_t *sesCalledSID_val_ptr_len_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:57:25: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
57 | int sesRxBytes_get( sessionTable_rowreq_ctx *rowreq_ctx, U64 * sesRxBytes_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:57:62: error: expected declaration specifiers or '...' before 'U64'
57 | int sesRxBytes_get( sessionTable_rowreq_ctx *rowreq_ctx, U64 * sesRxBytes_val_ptr );
| ^~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:58:24: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
58 | int sesRxPkts_get( sessionTable_rowreq_ctx *rowreq_ctx, u_long * sesRxPkts_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:59:25: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
59 | int sesTxBytes_get( sessionTable_rowreq_ctx *rowreq_ctx, U64 * sesTxBytes_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:59:62: error: expected declaration specifiers or '...' before 'U64'
59 | int sesTxBytes_get( sessionTable_rowreq_ctx *rowreq_ctx, U64 * sesTxBytes_val_ptr );
| ^~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:60:24: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
60 | int sesTxPkts_get( sessionTable_rowreq_ctx *rowreq_ctx, u_long * sesTxPkts_val_ptr );
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:63:38: error: expected declaration specifiers or '...' before 'sessionTable_mib_index'
63 | int sessionTable_indexes_set_tbl_idx(sessionTable_mib_index *tbl_idx, char *sesSID_val_ptr, size_t sesSID_val_ptr_len);
| ^~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable_data_get.h:64:30: error: expected declaration specifiers or '...' before 'sessionTable_rowreq_ctx'
64 | int sessionTable_indexes_set(sessionTable_rowreq_ctx *rowreq_ctx, char *sesSID_val_ptr, size_t sesSID_val_ptr_len);
| ^~~~~~~~~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:26:20: error: storage class specified for parameter 'conf_agent_name'
26 | static const char *conf_agent_name = "accel-ppp";
| ^~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:26:1: error: parameter 'conf_agent_name' is initialized
26 | static const char *conf_agent_name = "accel-ppp";
| ^~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:27:12: error: storage class specified for parameter 'conf_master'
27 | static int conf_master = 0;
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:27:1: error: parameter 'conf_master' is initialized
27 | static int conf_master = 0;
| ^~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:33:18: error: storage class specified for parameter 'snmp_thr'
33 | static pthread_t snmp_thr;
| ^~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:34:12: error: storage class specified for parameter 'snmp_term'
34 | static int snmp_term = 0;
| ^~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:34:1: error: parameter 'snmp_term' is initialized
34 | static int snmp_term = 0;
| ^~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:47:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token
47 | {
| ^
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:78:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token
78 | {
| ^
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:135:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token
135 | {
| ^
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:142:32: error: storage class specified for parameter 'ctx'
142 | static struct triton_context_t ctx = {
| ^~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:142:15: error: parameter 'ctx' is initialized
142 | static struct triton_context_t ctx = {
| ^~~~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:143:18: error: 'snmp_ctx_close' undeclared (first use in this function); did you mean 'snmp_sess_close'?
143 | .close = snmp_ctx_close,
| ^~~~~~~~~~~~~~
| snmp_sess_close
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:143:18: note: each undeclared identifier is reported only once for each function it appears in
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:147:1: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token
147 | {
| ^
In file included from /Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:12:
/Instaladores/accel-ppp/accel-pppd/include/triton.h:154:63: error: expected '=', ',', ';', 'asm' or 'attribute' before '{' token
154 | #define DEFINE_INIT(o, func) static void __init init(void){triton_register_init(o,func);}
| ^
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:168:1: note: in expansion of macro 'DEFINE_INIT'
168 | DEFINE_INIT(100, init);
| ^~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:168:23: error: expected declaration specifiers before ';' token
168 | DEFINE_INIT(100, init);
| ^
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/sessionTable.h:25:1: error: old-style parameter declarations in prototyped function definition
25 | config_add_mib(ACCEL-PPP-MIB)
| ^~~~~~~~~~~~~~
/Instaladores/accel-ppp/accel-pppd/extra/net-snmp/agent.c:170: error: expected '{' at end of input
make[2]: *** [accel-pppd/extra/net-snmp/CMakeFiles/net-snmp.dir/build.make:76: accel-pppd/extra/net-snmp/CMakeFiles/net-snmp.dir/agent.c.o] Erro 1
make[1]: *** [CMakeFiles/Makefile2:1084: accel-pppd/extra/net-snmp/CMakeFiles/net-snmp.dir/all] Erro 2
make: *** [Makefile:156: all] Erro 2
CPack: Create package using DEB
CPack: Install projects
CPack: - Run preinstall target for: accel-ppp
CPack Error: Problem running install command: /usr/local/lib/python3.11/dist-packages/cmake/data/bin/cmake --build . --target "preinstall"
Please check /Instaladores/accel-ppp/build/_CPack_Packages/Linux/DEB/PreinstallOutput.log for errors
CPack Error: Error when generating package: accel-ppp

fq_codel supported but

It's very cool to see you've added fq_codel support. However in looking over your API, there are some things that could use tweaking.

  1. the fq_codel "target" parameter needs to be scaled to 1 MTU, so at 1mbit that's target 15ms.

  2. the fq_codel quantum parameter is generally better set to 300

There's some other potentially nagging API details, I recently tried to write some up over on mikrotiks site here: https://forum.mikrotik.com/viewtopic.php?t=179307 - and in some cases we are seeing a non-standardized dhcp message that can be sent to clients to configure their shaper if available, which I'd like to see developed further, as it's often better to shape the egress from the actual egress....

  1. cake is the new hotness, and has an integral shaper among other things, and handling the mtu problem above. See how it's used in LibreQos, also. It's been in linux since 4.19.

  2. It's kind of unclear to me how each of these virtual interfaces are setup from a quick look at the code. Is there one per customer?

vlan-mon with both pppoe and ipoe

if vlan-mon enabled with both pppoe and ipoe, vlan work only on pppoe or ipoe(whichever runs first).

This patch "fixed" it, but it bad code, and it broke "vlan-timeout"

diff --git a/accel-pppd/ctrl/ipoe/ipoe.c b/accel-pppd/ctrl/ipoe/ipoe.c
index b6ca46c..8f1faa1 100644
--- a/accel-pppd/ctrl/ipoe/ipoe.c
+++ b/accel-pppd/ctrl/ipoe/ipoe.c
@@ -2619,7 +2619,7 @@ static void ipoe_serv_release(struct ipoe_serv *serv)
 
 	if (serv->vlan_mon) {
 		log_info2("ipoe: remove vlan %s\n", serv->ifname);
-		iplink_vlan_del(serv->ifindex);
+		//iplink_vlan_del(serv->ifindex);
 		vlan_mon_add_vid(serv->parent_ifindex, ETH_P_IP, serv->vid);
 	}
 
@@ -2841,8 +2841,7 @@ void ipoe_vlan_mon_notify(int ifindex, int vid, int vlan_ifindex)
 	} else {
 		log_info2("ipoe: create vlan %s parent %s\n", ifname, ifr.ifr_name);
 
-		if (iplink_vlan_add(ifname, ifindex, vid))
-			return;
+		iplink_vlan_add(ifname, ifindex, vid);
 	}
 
 	len = strlen(ifname);
@@ -2890,7 +2889,7 @@ void ipoe_vlan_mon_notify(int ifindex, int vid, int vlan_ifindex)
 	}
 
 	log_warn("ipoe: vlan %s not started\n", ifname);
-	iplink_vlan_del(ifr.ifr_ifindex);
+	//iplink_vlan_del(ifr.ifr_ifindex);
 	vlan_mon_del_vid(ifindex, ETH_P_IP, vid);
 }
 
diff --git a/accel-pppd/ctrl/pppoe/pppoe.c b/accel-pppd/ctrl/pppoe/pppoe.c
index 43163f1..df87e74 100644
--- a/accel-pppd/ctrl/pppoe/pppoe.c
+++ b/accel-pppd/ctrl/pppoe/pppoe.c
@@ -1602,7 +1602,7 @@ void pppoe_server_free(struct pppoe_serv_t *serv)
 
 	if (serv->vlan_mon) {
 		log_info2("pppoe: remove vlan %s\n", serv->ifname);
-		iplink_vlan_del(serv->ifindex);
+//		iplink_vlan_del(serv->ifindex);
 		vlan_mon_add_vid(serv->parent_ifindex, ETH_P_PPP_DISC, serv->vid);
 	}
 
@@ -1738,8 +1738,7 @@ void pppoe_vlan_mon_notify(int ifindex, int vid, int vlan_ifindex)
 	} else {
 		log_info2("pppoe: create vlan %s parent %s\n", ifname, ifr.ifr_name);
 
-		if (iplink_vlan_add(ifname, ifindex, vid))
-			return;
+		iplink_vlan_add(ifname, ifindex, vid);
 	}
 
 	len = strlen(ifname);
@@ -1787,7 +1786,7 @@ void pppoe_vlan_mon_notify(int ifindex, int vid, int vlan_ifindex)
 	}
 
 	log_warn("pppoe: vlan %s not started\n", ifname);
-	iplink_vlan_del(ifr.ifr_ifindex);
+	//iplink_vlan_del(ifr.ifr_ifindex);
 	vlan_mon_del_vid(ifindex, ETH_P_PPP_DISC, vid);
 }
 
diff --git a/accel-pppd/vlan-mon/vlan_mon.c b/accel-pppd/vlan-mon/vlan_mon.c
index f2109ed..84f1e71 100644
--- a/accel-pppd/vlan-mon/vlan_mon.c
+++ b/accel-pppd/vlan-mon/vlan_mon.c
@@ -322,8 +322,11 @@ static void vlan_mon_handler(const struct sockaddr_nl *addr, struct nlmsghdr *h)
 		else
 			proto = 0;
 
-		if (cb[proto])
-			cb[proto](ifindex, vid, vlan_ifindex);
+		if (cb[1])
+			cb[1](ifindex, vid, vlan_ifindex);
+		if (cb[0])
+			cb[0](ifindex, vid, vlan_ifindex);
+
 	}
 }

cpack.cmake fails if accel-ppp cloned from another repository/branch

git clone -b fix-calling-sid-logic https://github.com/nuclearcat/accel-ppp.git
...
build$ cmake ..
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- 'x86_64'
CMake Error at cmake/cpack.cmake:5 (list):
  list index: 1 out of range (-1, 0)
Call Stack (most recent call first):
  CMakeLists.txt:49 (include)


CMake Error at cmake/cpack.cmake:6 (list):
  list index: 2 out of range (-1, 0)
Call Stack (most recent call first):
  CMakeLists.txt:49 (include)


-- Looking for timerfd_create
-- Looking for timerfd_create - found
-- Looking for linux/netfilter/ipset/ip_set.h
-- Looking for linux/netfilter/ipset/ip_set.h - found
-- Looking for setns
-- Looking for setns - found
-- Performing Test HAVE_VRF
-- Performing Test HAVE_VRF - Success
-- Configuring incomplete, errors occurred!
See also "/home/nuclearcat/Documents/ACCEL/V/accel-ppp/build/CMakeFiles/CMakeOutput.log".

Reason is:

git describe --tags --always
d5af9bb

It cannot be split in 3 arguments in cpack.cmake

snmp not working ?

Hi,
just make from source v1.12 under debian buster with
-DCPACK_TYPE=Debian10
-DBUILD_IPOE_DRIVER=TRUE
-DBUILD_VLAN_MON_DRIVER=TRUE
-DRADIUS=TRUE -DNETSNMP=TRUE

tested with two config file

the first with
[snmp]
master=0
agent-name=accel-ppp

the second with
[snmp]
master=1

no errors (it seems)

but ... snmp not working
snmpwalk -v 2c -c public 127.0.0.1 .1.3.6.1.4.1.8072.100
just returns
iso.3.6.1.4.1.8072.100 = No Such Object available on this agent at this OID

other OIDs (ex .1.3.6.1.4.1.8072.1.5) work well

is it a bug, or am I missing something?

Thanks

Don't terminate whole PPPoE session in response to client IPV6CP TermReq if IPv6 not required

See also https://phabricator.vyos.net/T4600

The issue affects some cheap broken unsupported SOHO routers (specifically Phicomm KE2M - company no longer exists) used as PPPoE clients when dual-stack is enabled on the PPPoE server (ipv4 require, ipv6 allow). These routers support IPv4 only, but try to negotiate IPv6 anyway, first succeed with IPV6CP negotiation but then fail miserably and send IPV6CP TermReq with the string “Interface configuration failedace”. This causes accel-ppp to disconnect the whole session. It would be better to close just the IPv6 layer, and continue with IPv4 only, as suggested in RFC1661 3.7 Link Termination Phase - Implementation Note:

The closing of the link by LCP is sufficient. There is no need
for each NCP to send a flurry of Terminate packets. Conversely,
the fact that one NCP has Closed is not sufficient reason to cause
the termination of the PPP link
, even if that NCP was the only NCP
currently in the Opened state.

Large numbers of these routers were sold (they were cheap, under 10 EUR) and now they block IPv6 deployment (I'm running a small local ISP, but customers buy their own routers, and yes it was my fault I offered them these cheap ones for free if they didn't want to buy something better). While the routers are certainly buggy, making accel-ppp follow the above Implementation Note would make them work. I'm testing accel-ppp on VyOS 1.3.1 with the patch below and now the PPPoE session with the Phicomm router stays up, the missing part after "else" is to remove IPv6 configuration from the ppp interface (not sure how to do it properly):

diff --git a/accel-pppd/ppp/ppp_ipv6cp.c b/accel-pppd/ppp/ppp_ipv6cp.c
index 1194b31..2bac31b 100644
--- a/accel-pppd/ppp/ppp_ipv6cp.c
+++ b/accel-pppd/ppp/ppp_ipv6cp.c
@@ -738,7 +738,10 @@ static void ipv6cp_recv(struct ppp_handler_t*h)
                        if (conf_ppp_verbose)
                                log_ppp_info2("recv [IPV6CP TermReq id=%x]\n", hdr->id);
                        ppp_fsm_recv_term_req(&ipv6cp->fsm);
-                       ap_session_terminate(&ipv6cp->ppp->ses, TERM_USER_REQUEST, 0);
+                       if (conf_ipv6 == IPV6_REQUIRE)
+                               ap_session_terminate(&ipv6cp->ppp->ses, TERM_USER_REQUEST, 0);
+                       else
+                               ppp_layer_passive(ipv6cp->ppp, &ipv6cp->ld);
                        break;
                case TERMACK:
                        if (conf_ppp_verbose)

bug: pptp doesnt work without connlimit on Alpine Linux

If config dont have connlimit enabled, and enabled BEFORE pptp in modules, it will generate following error:

[2024-04-09 22:30:09.911]loader: failed to load 'pptp': Error relocating /usr/local/lib64/accel-ppp/libpptp.so: connlimit_check: symbol not found

Override default ppp options by RADIUS attributes

Related to #57 but more general, I think it makes sense to allow setting at least some of the PPP options based on RADIUS attributes. Currently they are global variables (such as conf_ipv6) read from the config file [ppp] section, same for all users. These are the defaults, but should be possible to override by RADIUS for individual authenticated users. For example, set ipv6=allow but override with ipv6=deny if no IPv6 related attributes are in Access-Accept. This would allow setting ipv6=deny only for specific customers with buggy Phicomm routers that don't really support IPv6 but try to negotiate it anyway and then fail. In the far future the opposite may be useful - like everyone uses IPv6, some buggy SOHO routers have buggy support for obsolete IPv4 because no one bothered to test it... The closest thing I was able to find in other vendor implementations is described here - https://www.juniper.net/documentation/en_US/junose15.1/topics/concept/aaa-radius-returned-attributes-ipcp-ipv6cp-negotiations-ipv4-ipv6-clients-understanding.html

PPPoE Enhancement (push route)

I don't know if this is the right place to ask this, but here it goes anyway, In Mikrotik / ROS implementation of PPPPoE there's a convenient option called "route" which allows you to route additional IP block once the pppoe client is authenticated, today we can do this via radius authentication in accel-ppp by using frame-ip-address and framed-route but not possible without radius authentication

HTTP replay for non SSTP query.

Hi, i just setup SSTP VPN server on fresh install Debian 11.

SSTP VPN connection work fine, but if i test connection something like this:

  1. "openssl s_client -connect zzz.yyy.www.xx:444 -quiet"
  2. send "GET / HTTP/1.1"
  3. In my opinion I should see an answer like "404 Not Found", but accel just closed connection. In the log file it says that 404 was sent.

accel-ppp 1.12.0-260-g19c36e5
I use self-signed SSL Certificate.

cmake ../accel-ppp-code -DNETSNMP=FALSE -DLOG_PGSQL=FALSE -DBUILD_IPOE_DRIVER=TRUE -DBUILD_VLAN_MON_DRIVER=TRUE -DRADIUS=TRUE -DSHAPER=TRUE -DLUA=5.4 -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/linux-headers-uname -r -DCPACK_TYPE=Debian11
make
cpack -G DEB
dpkg -i accel-ppp.deb

[sstp]
verbose=5
port=444
accept=ssl
ssl-ca-file=/root/cert/sstp/sstp-ca.crt
ssl-pemfile=/root/cert/sstp/sstp-cert.pem
ssl-keyfile=/root/cert/sstp/sstp-key.pem
host-name=zzz.yyy.www.xx
http-error=allow
ip-pool=sstp
ifname=sstp%d

root@w:/# openssl s_client -connect zzz.yyy.www.xx:444 -quiet
.......
Start Time: 1710314626
Timeout : 7200 (sec)
Verify return code: 18 (self signed certificate)
Extended master secret: no
Max Early Data: 0

read R BLOCK
GET / HTTP/1.1
closed
root@w:/#

Accel just closed connections

/var/log/daemon.log
Mar 13 10:23:46 vpn03 accel-sstp: sstp: starting
Mar 13 10:23:46 vpn03 accel-sstp: sstp: started
Mar 13 10:23:46 vpn03 accel-sstp: :: sstp: recv [SSL SNI zzz.yyy.www.xx]
Mar 13 10:23:53 vpn03 accel-sstp: :: recv [HTTP <GET / HTTP/1.1>]
Mar 13 10:23:53 vpn03 accel-sstp: :: send [HTTP <HTTP/1.1 404 Not Found>]
Mar 13 10:23:53 vpn03 accel-sstp: :: send [HTTP <Date: Wed, 13 Mar 2024 07:23:53 GMT>]
Mar 13 10:23:53 vpn03 accel-sstp: :: disconnecting
Mar 13 10:23:53 vpn03 accel-sstp: sstp: disconnected

LAC implementation

Hi,

From kernel 5.11, Linux is able to bridge PPP channels together. 6WIND wants to implement and then upstream LAC/VDPN usecase using this new ability.
Do you have any suggestions or recommendations to do it ?
Have you some code we can use ?

Regards,

segmentation fault - related to number of threads and calling external scripts (pppd-compat)

I am seeing segmenation faults. It seems that increasing the number of threads to number of cores (as suggested) caused this. Reducing the number of threads seems to have improved the situation and accel-ppp seems to be running more or less stable again. We do not have unit-cache enabled (neither ppp section nor ipoe). In my understanding from the forums this is supposed to speed up ipoe device creation/removal, since ipoe devices are held in cache?

So when after switching to more threads we experienced these segfaults. Downgrading to thread-count=4 seems to have avoided segfaults until now.

First I suspected the running lua scripts (calling some other script for approx. 1-2 seconds), which showed up in backtraces. But other core dumps do not show any hint on currently running lua scripts (see second example).

Any ideas what can cause this? I do not really see any clue for this. Especially when looking at the second segfault, since all threads seem to be in some waiting state (_sigwait), with exception of a hand full of other threads, which are in some mutex wait.

First core dump

Reading symbols from /usr/sbin/accel-pppd...Reading symbols from /usr/lib/debug/usr/sbin/accel-pppd-1.12.0_20_g69ecce8-1.x86_64.debug...done.
done.
[New LWP 6955]
[New LWP 6881]
[New LWP 6943]
[New LWP 6939]
[New LWP 6941]
[New LWP 6953]
[New LWP 6952]
[New LWP 6946]
[New LWP 6948]
[New LWP 6954]
[New LWP 6945]
[New LWP 6949]
[New LWP 6942]
[New LWP 6944]
[New LWP 6950]
[New LWP 6938]
[New LWP 6940]
[New LWP 6951]
[New LWP 6947]
[New LWP 6882]
[New LWP 6880]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/accel-pppd -d -p /var/run/accel-pppd.pid -c /etc/accel-ppp.conf'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  pthread_spin_lock () at ../sysdeps/x86_64/nptl/pthread_spin_lock.S:22
22	1:	LOCK
[Current thread is 1 (Thread 0x7f6fe6964700 (LWP 6955))]
(gdb) thread apply all bt

Thread 21 (Thread 0x7f6fec8c8240 (LWP 6880)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7fff81c674d0, info=info@entry=0x7fff81c673d0, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7fff81c674d0, sig=0x7fff81c6749c) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x0000000000431488 in main (_argc=6, _argv=0x7fff81c676d8) at /usr/src/accel-ppp/src_0/accel-pppd/main.c:447

Thread 20 (Thread 0x7f6fe8875700 (LWP 6882)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x63df68 <uc_cond+40>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x63df00 <uc_lock>, cond=0x63df40 <uc_cond>) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x63df40 <uc_cond>, mutex=0x63df00 <uc_lock>) at pthread_cond_wait.c:655
#3  0x000000000040b429 in uc_thread (unused=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/ppp/ppp.c:351
#4  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#5  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7f6fe786c700 (LWP 6947)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe786bd10, info=info@entry=0x7f6fe786bc40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe786bd10, sig=0x7f6fe786bd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1127db8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 18 (Thread 0x7f6fe7468700 (LWP 6951)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7467d10, info=info@entry=0x7f6fe7467c40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7467d10, sig=0x7f6fe7467d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x112ad48) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 17 (Thread 0x7f6fe7f73700 (LWP 6940)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7f72d10, info=info@entry=0x7f6fe7f72c40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7f72d10, sig=0x7f6fe7f72d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1307898) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 16 (Thread 0x7f6fec8a6700 (LWP 6938)):
--Type <RET> for more, q to quit, c to continue without paging--c
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fec8a5d10, info=info@entry=0x7f6fec8a5c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fec8a5d10, sig=0x7f6fec8a5d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1307418) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7f6fe7569700 (LWP 6950)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7568d10, info=info@entry=0x7f6fe7568c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7568d10, sig=0x7f6fe7568d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x112a148) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7f6fe7b6f700 (LWP 6944)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7b6ed10, info=info@entry=0x7f6fe7b6ec40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7b6ed10, sig=0x7f6fe7b6ed00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x11102a8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7f6fe7d71700 (LWP 6942)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7d70d10, info=info@entry=0x7f6fe7d70c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7d70d10, sig=0x7f6fe7d70d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x110f5c8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7f6fe766a700 (LWP 6949)):
#0  __GI___libc_read (nbytes=4096, buf=0x7f6fb0020a00, fd=106) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=106, buf=0x7f6fb0020a00, nbytes=4096) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f6feb13a418 in _IO_new_file_underflow (fp=0x7f6fb000b9e0) at libioP.h:838
#3  0x00007f6feb13b755 in __GI__IO_default_xsgetn (fp=0x7f6fb000b9e0, data=<optimized out>, n=8192) at genops.c:443
#4  0x00007f6feb12e5eb in __GI__IO_fread (buf=0x7f6fe7667720, size=size@entry=1, count=count@entry=8192, fp=fp@entry=0x7f6fb000b9e0) at iofread.c:38
#5  0x00007f6fea456002 in fread (__stream=0x7f6fb000b9e0, __n=8192, __size=1, __ptr=<optimized out>) at /usr/include/bits/stdio2.h:297
#6  read_all (L=L@entry=0x7f6fb0001f78, f=f@entry=0x7f6fb000b9e0) at liolib.c:504
#7  0x00007f6fea45665b in g_read (L=0x7f6fb0001f78, f=0x7f6fb000b9e0, first=2) at liolib.c:555
#8  0x00007f6fea4528b7 in luaD_precall (L=L@entry=0x7f6fb0001f78, func=func@entry=0x7f6fb00094d0, nresults=nresults@entry=1) at ldo.c:434
#9  0x00007f6fea452ab9 in luaD_precall (L=L@entry=0x7f6fb0001f78, func=func@entry=0x7f6fb00094d0, nresults=nresults@entry=1) at ldo.c:413
#10 0x00007f6fea468a15 in luaV_execute (L=L@entry=0x7f6fb0001f78) at lvm.c:1134
#11 0x00007f6fea452b18 in luaD_call (L=L@entry=0x7f6fb0001f78, func=<optimized out>, nResults=<optimized out>) at ldo.c:499
#12 0x00007f6fea452b45 in luaD_callnoyield (L=0x7f6fb0001f78, func=<optimized out>, nResults=<optimized out>) at ldo.c:509
#13 0x00007f6fea451f3a in luaD_rawrunprotected (L=L@entry=0x7f6fb0001f78, f=f@entry=0x7f6fea447e20 <f_call>, ud=ud@entry=0x7f6fe7669b20) at ldo.c:142
#14 0x00007f6fea452e8f in luaD_pcall (L=L@entry=0x7f6fb0001f78, func=func@entry=0x7f6fea447e20 <f_call>, u=u@entry=0x7f6fe7669b20, old_top=16, ef=<optimized out>) at ldo.c:729
#15 0x00007f6fea449428 in lua_pcallk (L=0x7f6fb0001f78, nargs=<optimized out>, nresults=1, errfunc=<optimized out>, ctx=<optimized out>, k=<optimized out>) at lapi.c:969
#16 0x00007f6feaa9d814 in ipoe_lua_get_username (ses=0x7f6fcc013b68, func=0x109aa1c "username_func") at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/lua.c:320
#17 0x00007f6feaa88549 in ipoe_session_get_username (ses=0x7f6fcc013b68) at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/ipoe.c:433
#18 0x00007f6feaa8947a in ipoe_session_start (ses=0x7f6fcc013b68) at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/ipoe.c:729
#19 0x00007f6fec4a0e7b in ctx_thread (ctx=0x7f6fa8005888) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:273
#20 0x00007f6fec4a0b5b in triton_thread (thread=0x1129548) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:192
#21 0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#22 0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7f6fe7a6e700 (LWP 6945)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7a6dd10, info=info@entry=0x7f6fe7a6dc40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7a6dd10, sig=0x7f6fe7a6dd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1110e38) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f6fe7165700 (LWP 6954)):
#0  0x00007f6feb1ba0f7 in epoll_wait (epfd=8, events=0x10972c0, maxevents=64, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f6fec49ed26 in md_thread (arg=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/triton/md.c:72
#2  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#3  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f6fe776b700 (LWP 6948)):
#0  __GI___libc_read (nbytes=4096, buf=0x7f6fc001a940, fd=177) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=177, buf=0x7f6fc001a940, nbytes=4096) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f6feb13a418 in _IO_new_file_underflow (fp=0x7f6fa400c1b0) at libioP.h:838
#3  0x00007f6feb13b755 in __GI__IO_default_xsgetn (fp=0x7f6fa400c1b0, data=<optimized out>, n=8192) at genops.c:443
#4  0x00007f6feb12e5eb in __GI__IO_fread (buf=0x7f6fe7768720, size=size@entry=1, count=count@entry=8192, fp=fp@entry=0x7f6fa400c1b0) at iofread.c:38
#5  0x00007f6fea456002 in fread (__stream=0x7f6fa400c1b0, __n=8192, __size=1, __ptr=<optimized out>) at /usr/include/bits/stdio2.h:297
#6  read_all (L=L@entry=0x7f6fc0005778, f=f@entry=0x7f6fa400c1b0) at liolib.c:504
#7  0x00007f6fea45665b in g_read (L=0x7f6fc0005778, f=0x7f6fa400c1b0, first=2) at liolib.c:555
#8  0x00007f6fea4528b7 in luaD_precall (L=L@entry=0x7f6fc0005778, func=func@entry=0x7f6fc000d290, nresults=nresults@entry=1) at ldo.c:434
#9  0x00007f6fea452ab9 in luaD_precall (L=L@entry=0x7f6fc0005778, func=func@entry=0x7f6fc000d290, nresults=nresults@entry=1) at ldo.c:413
#10 0x00007f6fea468a15 in luaV_execute (L=L@entry=0x7f6fc0005778) at lvm.c:1134
#11 0x00007f6fea452b18 in luaD_call (L=L@entry=0x7f6fc0005778, func=<optimized out>, nResults=<optimized out>) at ldo.c:499
#12 0x00007f6fea452b45 in luaD_callnoyield (L=0x7f6fc0005778, func=<optimized out>, nResults=<optimized out>) at ldo.c:509
#13 0x00007f6fea451f3a in luaD_rawrunprotected (L=L@entry=0x7f6fc0005778, f=f@entry=0x7f6fea447e20 <f_call>, ud=ud@entry=0x7f6fe776ab20) at ldo.c:142
#14 0x00007f6fea452e8f in luaD_pcall (L=L@entry=0x7f6fc0005778, func=func@entry=0x7f6fea447e20 <f_call>, u=u@entry=0x7f6fe776ab20, old_top=16, ef=<optimized out>) at ldo.c:729
#15 0x00007f6fea449428 in lua_pcallk (L=0x7f6fc0005778, nargs=<optimized out>, nresults=1, errfunc=<optimized out>, ctx=<optimized out>, k=<optimized out>) at lapi.c:969
#16 0x00007f6feaa9d814 in ipoe_lua_get_username (ses=0x7f6fc802aae8, func=0x109aa1c "username_func") at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/lua.c:320
#17 0x00007f6feaa88549 in ipoe_session_get_username (ses=0x7f6fc802aae8) at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/ipoe.c:433
#18 0x00007f6feaa8947a in ipoe_session_start (ses=0x7f6fc802aae8) at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/ipoe.c:729
#19 0x00007f6fec4a0e7b in ctx_thread (ctx=0x7f6fc80085d8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:273
#20 0x00007f6fec4a0b5b in triton_thread (thread=0x1128948) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:192
#21 0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#22 0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f6fe796d700 (LWP 6946)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe796cd10, info=info@entry=0x7f6fe796cc40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe796cd10, sig=0x7f6fe796cd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1127228) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7f6fe7367700 (LWP 6952)):
#0  __GI___libc_read (nbytes=4096, buf=0x7f6fd0011650, fd=76) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=76, buf=0x7f6fd0011650, nbytes=4096) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f6feb13a418 in _IO_new_file_underflow (fp=0x7f6fd000ce60) at libioP.h:838
#3  0x00007f6feb13b755 in __GI__IO_default_xsgetn (fp=0x7f6fd000ce60, data=<optimized out>, n=8192) at genops.c:443
#4  0x00007f6feb12e5eb in __GI__IO_fread (buf=0x7f6fe7364720, size=size@entry=1, count=count@entry=8192, fp=fp@entry=0x7f6fd000ce60) at iofread.c:38
#5  0x00007f6fea456002 in fread (__stream=0x7f6fd000ce60, __n=8192, __size=1, __ptr=<optimized out>) at /usr/include/bits/stdio2.h:297
#6  read_all (L=L@entry=0x7f6fd0003b88, f=f@entry=0x7f6fd000ce60) at liolib.c:504
#7  0x00007f6fea45665b in g_read (L=0x7f6fd0003b88, f=0x7f6fd000ce60, first=2) at liolib.c:555
#8  0x00007f6fea4528b7 in luaD_precall (L=L@entry=0x7f6fd0003b88, func=func@entry=0x7f6fd000b700, nresults=nresults@entry=1) at ldo.c:434
#9  0x00007f6fea452ab9 in luaD_precall (L=L@entry=0x7f6fd0003b88, func=func@entry=0x7f6fd000b700, nresults=nresults@entry=1) at ldo.c:413
#10 0x00007f6fea468a15 in luaV_execute (L=L@entry=0x7f6fd0003b88) at lvm.c:1134
#11 0x00007f6fea452b18 in luaD_call (L=L@entry=0x7f6fd0003b88, func=<optimized out>, nResults=<optimized out>) at ldo.c:499
#12 0x00007f6fea452b45 in luaD_callnoyield (L=0x7f6fd0003b88, func=<optimized out>, nResults=<optimized out>) at ldo.c:509
#13 0x00007f6fea451f3a in luaD_rawrunprotected (L=L@entry=0x7f6fd0003b88, f=f@entry=0x7f6fea447e20 <f_call>, ud=ud@entry=0x7f6fe7366b20) at ldo.c:142
#14 0x00007f6fea452e8f in luaD_pcall (L=L@entry=0x7f6fd0003b88, func=func@entry=0x7f6fea447e20 <f_call>, u=u@entry=0x7f6fe7366b20, old_top=16, ef=<optimized out>) at ldo.c:729
#15 0x00007f6fea449428 in lua_pcallk (L=0x7f6fd0003b88, nargs=<optimized out>, nresults=1, errfunc=<optimized out>, ctx=<optimized out>, k=<optimized out>) at lapi.c:969
#16 0x00007f6feaa9d814 in ipoe_lua_get_username (ses=0x7f6fa8004c18, func=0x109aa1c "username_func") at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/lua.c:320
#17 0x00007f6feaa88549 in ipoe_session_get_username (ses=0x7f6fa8004c18) at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/ipoe.c:433
#18 0x00007f6feaa8947a in ipoe_session_start (ses=0x7f6fa8004c18) at /usr/src/accel-ppp/src_0/accel-pppd/ctrl/ipoe/ipoe.c:729
#19 0x00007f6fec4a0e7b in ctx_thread (ctx=0x7f6fa8035e08) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:273
#20 0x00007f6fec4a0b5b in triton_thread (thread=0x112b948) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:192
#21 0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#22 0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f6fe7266700 (LWP 6953)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7265d10, info=info@entry=0x7f6fe7265c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7265d10, sig=0x7f6fe7265d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x112c548) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f6fe7e72700 (LWP 6941)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7e71d10, info=info@entry=0x7f6fe7e71c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7e71d10, sig=0x7f6fe7e71d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1307ad8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f6fe8074700 (LWP 6939)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe8073d10, info=info@entry=0x7f6fe8073c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe8073d10, sig=0x7f6fe8073d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x1307658) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f6fe7c70700 (LWP 6943)):
#0  0x00007f6feb0f514c in __GI___sigtimedwait (set=set@entry=0x7f6fe7c6fd10, info=info@entry=0x7f6fe7c6fc40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f6fec0867ac in __sigwait (set=0x7f6fe7c6fd10, sig=0x7f6fe7c6fd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f6fec4a0a4b in triton_thread (thread=0x11266c8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f6fe9893700 (LWP 6881)):
#0  0x00007f6fec0865a2 in __waitpid (pid=-1, stat_loc=0x7f6fe9892d04, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x00007f6fe9894ea5 in sigchld_thread (arg=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/extra/sigchld.c:38
#2  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#3  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f6fe6964700 (LWP 6955)):
#0  pthread_spin_lock () at ../sysdeps/x86_64/nptl/pthread_spin_lock.S:22
#1  0x00007f6fec49fb52 in timer_thread (arg=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/triton/timer.c:93
#2  0x00007f6fec07c17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#3  0x00007f6feb1b9dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Second core dump:

Reading symbols from /usr/sbin/accel-pppd...Reading symbols from /usr/lib/debug/usr/sbin/accel-pppd-1.12.0_20_g69ecce8-1.x86_64.debug...done.
done.
[New LWP 3165]
[New LWP 3064]
[New LWP 3153]
[New LWP 3152]
[New LWP 3154]
[New LWP 3150]
[New LWP 3063]
[New LWP 3061]
[New LWP 3164]
[New LWP 3161]
[New LWP 3156]
[New LWP 3162]
[New LWP 3159]
[New LWP 3158]
[New LWP 3160]
[New LWP 3149]
[New LWP 3163]
[New LWP 3151]
[New LWP 3148]
[New LWP 3155]
[New LWP 3157]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `/usr/sbin/accel-pppd -d -p /var/run/accel-pppd.pid -c /etc/accel-ppp.conf'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  pthread_spin_lock () at ../sysdeps/x86_64/nptl/pthread_spin_lock.S:22
22	1:	LOCK
[Current thread is 1 (Thread 0x7f0ddbfff700 (LWP 3165))]
(gdb) thread apply all bt

Thread 21 (Thread 0x7f0de15dd700 (LWP 3157)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de15dcd10, info=info@entry=0x7f0de15dcc40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de15dcd10, sig=0x7f0de15dcd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c03b18) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 20 (Thread 0x7f0de17df700 (LWP 3155)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de17ded10, info=info@entry=0x7f0de17dec40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de17ded10, sig=0x7f0de17ded00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c03698) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 19 (Thread 0x7f0de6516700 (LWP 3148)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de6515d10, info=info@entry=0x7f0de6515c40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de6515d10, sig=0x7f0de6515d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c026d8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 18 (Thread 0x7f0dd3fff700 (LWP 3151)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0dd3ffed10, info=info@entry=0x7f0dd3ffec40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0dd3ffed10, sig=0x7f0dd3ffed00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c02d98) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 17 (Thread 0x7f0de0fd7700 (LWP 3163)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de0fd6d10, info=info@entry=0x7f0de0fd6c40, timeout=timeout@entry=0x0)
    at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de0fd6d10, sig=0x7f0de0fd6d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c04898) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
--Type <RET> for more, q to quit, c to continue without paging--c

Thread 16 (Thread 0x7f0de1ce4700 (LWP 3149)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de1ce3d10, info=info@entry=0x7f0de1ce3c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de1ce3d10, sig=0x7f0de1ce3d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c02918) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 15 (Thread 0x7f0de12da700 (LWP 3160)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de12d9d10, info=info@entry=0x7f0de12d9c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de12d9d10, sig=0x7f0de12d9d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c041d8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 14 (Thread 0x7f0de14dc700 (LWP 3158)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de14dbd10, info=info@entry=0x7f0de14dbc40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de14dbd10, sig=0x7f0de14dbd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c03d58) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 13 (Thread 0x7f0de13db700 (LWP 3159)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de13dad10, info=info@entry=0x7f0de13dac40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de13dad10, sig=0x7f0de13dad00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c03f98) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 12 (Thread 0x7f0de10d8700 (LWP 3162)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de10d7d10, info=info@entry=0x7f0de10d7c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de10d7d10, sig=0x7f0de10d7d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c04658) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 11 (Thread 0x7f0de16de700 (LWP 3156)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de16ddd10, info=info@entry=0x7f0de16ddc40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de16ddd10, sig=0x7f0de16ddd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c038d8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 10 (Thread 0x7f0de11d9700 (LWP 3161)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de11d8d10, info=info@entry=0x7f0de11d8c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de11d8d10, sig=0x7f0de11d8d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c04418) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 9 (Thread 0x7f0de0ed6700 (LWP 3164)):
#0  0x00007f0de4e2a0f7 in epoll_wait (epfd=8, events=0x19ad2c0, maxevents=64, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00007f0de610ed26 in md_thread (arg=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/triton/md.c:72
#2  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#3  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 8 (Thread 0x7f0de6538240 (LWP 3061)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7fffe7d3afc0, info=info@entry=0x7fffe7d3aec0, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7fffe7d3afc0, sig=0x7fffe7d3af8c) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x0000000000431488 in main (_argc=6, _argv=0x7fffe7d3b1c8) at /usr/src/accel-ppp/src_0/accel-pppd/main.c:447

Thread 7 (Thread 0x7f0de3503700 (LWP 3063)):
#0  0x00007f0de5cf65a2 in __waitpid (pid=-1, stat_loc=0x7f0de3502d04, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
#1  0x00007f0de3504ea5 in sigchld_thread (arg=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/extra/sigchld.c:38
#2  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#3  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7f0de1be3700 (LWP 3150)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de1be2d10, info=info@entry=0x7f0de1be2c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de1be2d10, sig=0x7f0de1be2d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c02b58) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f0de18e0700 (LWP 3154)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de18dfd10, info=info@entry=0x7f0de18dfc40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de18dfd10, sig=0x7f0de18dfd00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c03458) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f0de1ae2700 (LWP 3152)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de1ae1d10, info=info@entry=0x7f0de1ae1c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de1ae1d10, sig=0x7f0de1ae1d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c02fd8) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f0de19e1700 (LWP 3153)):
#0  0x00007f0de4d6514c in __GI___sigtimedwait (set=set@entry=0x7f0de19e0d10, info=info@entry=0x7f0de19e0c40, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:29
#1  0x00007f0de5cf67ac in __sigwait (set=0x7f0de19e0d10, sig=0x7f0de19e0d00) at ../sysdeps/unix/sysv/linux/sigwait.c:28
#2  0x00007f0de6110a4b in triton_thread (thread=0x1c03218) at /usr/src/accel-ppp/src_0/accel-pppd/triton/triton.c:171
#3  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#4  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f0de24e5700 (LWP 3064)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x63df68 <uc_cond+40>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x63df00 <uc_lock>, cond=0x63df40 <uc_cond>) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x63df40 <uc_cond>, mutex=0x63df00 <uc_lock>) at pthread_cond_wait.c:655
#3  0x000000000040b429 in uc_thread (unused=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/ppp/ppp.c:351
#4  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#5  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f0ddbfff700 (LWP 3165)):
#0  pthread_spin_lock () at ../sysdeps/x86_64/nptl/pthread_spin_lock.S:22
#1  0x00007f0de610fb52 in timer_thread (arg=0x0) at /usr/src/accel-ppp/src_0/accel-pppd/triton/timer.c:93
#2  0x00007f0de5cec17a in start_thread (arg=<optimized out>) at pthread_create.c:479
#3  0x00007f0de4e29dc3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb)

Accel ppp config:

[modules]
log_syslog
ipoe
radius
ippool
pppd_compat
shaper
connlimit

ipv6_nd
ipv6_dhcp
# ipv6pool

[core]
log-error=/var/log/accel-ppp/core.log
thread-count=16

[common]
single-session=replace
#sid-case=upper
sid-source=seq
#max-sessions=0

[auth]
#any-login=0
#noauth=0

[ipoe]
verbose=1
noauth=0
#lease-time=
#renew-time=
#max-lease-time=
l4-redirect-on-reject=3600
l4-redirect-ip-pool=noauth
shared=1
ifcfg=1
mode=L2
start=dhcpv4
proxy-arp=1
lua-file=/etc/accel-ppp.lua
username=lua:username_func
ip-pool=ipoe
ipv6=1
# ipv6-pool=fallback
# ipv6-pool-delegate=fallback
idle-timeout=670
vlan-mon=enp8s0,500-538
vlan-timeout=86400
interface=enp8s0.500,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan500,l4-redirect-ip-pool=noauth-vlan500,weight=1
interface=enp8s0.501,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan501,l4-redirect-ip-pool=noauth-vlan501,weight=0
interface=enp8s0.502,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan502,l4-redirect-ip-pool=noauth-vlan502,weight=1
interface=enp8s0.503,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan503,l4-redirect-ip-pool=noauth-vlan503,weight=0
interface=enp8s0.504,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan504,l4-redirect-ip-pool=noauth-vlan504,weight=1
interface=enp8s0.505,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan505,l4-redirect-ip-pool=noauth-vlan505,weight=0
interface=enp8s0.506,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan506,l4-redirect-ip-pool=noauth-vlan506,weight=1
interface=enp8s0.507,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan507,l4-redirect-ip-pool=noauth-vlan507,weight=0
interface=enp8s0.508,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan508,l4-redirect-ip-pool=noauth-vlan508,weight=1
interface=enp8s0.509,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan509,l4-redirect-ip-pool=noauth-vlan509,weight=0
interface=enp8s0.510,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan510,l4-redirect-ip-pool=noauth-vlan510,weight=1
interface=enp8s0.511,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan511,l4-redirect-ip-pool=noauth-vlan511,weight=0
interface=enp8s0.512,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan512,l4-redirect-ip-pool=noauth-vlan512,weight=1
interface=enp8s0.513,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan513,l4-redirect-ip-pool=noauth-vlan513,weight=0
interface=enp8s0.514,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan514,l4-redirect-ip-pool=noauth-vlan514,weight=1
interface=enp8s0.515,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan515,l4-redirect-ip-pool=noauth-vlan515,weight=0
interface=enp8s0.516,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan516,l4-redirect-ip-pool=noauth-vlan516,weight=1
interface=enp8s0.517,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan517,l4-redirect-ip-pool=noauth-vlan517,weight=0
interface=enp8s0.518,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan518,l4-redirect-ip-pool=noauth-vlan518,weight=1
interface=enp8s0.519,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan519,l4-redirect-ip-pool=noauth-vlan519,weight=0
interface=enp8s0.520,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan520,l4-redirect-ip-pool=noauth-vlan520,mtu=1450,weight=1
interface=enp8s0.521,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan521,l4-redirect-ip-pool=noauth-vlan521,mtu=1450,weight=0
interface=enp8s0.522,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan522,l4-redirect-ip-pool=noauth-vlan522,weight=1
interface=enp8s0.523,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan523,l4-redirect-ip-pool=noauth-vlan523,weight=0
interface=enp8s0.524,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan524,l4-redirect-ip-pool=noauth-vlan524,weight=1
interface=enp8s0.525,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan525,l4-redirect-ip-pool=noauth-vlan525,weight=0
interface=enp8s0.526,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan526,l4-redirect-ip-pool=noauth-vlan526,weight=1
interface=enp8s0.527,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan527,l4-redirect-ip-pool=noauth-vlan527,weight=0
interface=enp8s0.528,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan528,l4-redirect-ip-pool=noauth-vlan528,weight=1
interface=enp8s0.529,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan529,l4-redirect-ip-pool=noauth-vlan529,weight=0
interface=enp8s0.530,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan530,l4-redirect-ip-pool=noauth-vlan530,weight=1
interface=enp8s0.531,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan531,l4-redirect-ip-pool=noauth-vlan531,weight=0
interface=enp8s0.532,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan532,l4-redirect-ip-pool=noauth-vlan532,weight=1
interface=enp8s0.533,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan533,l4-redirect-ip-pool=noauth-vlan533,weight=0
interface=enp8s0.534,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan534,l4-redirect-ip-pool=noauth-vlan534,weight=1
interface=enp8s0.535,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan535,l4-redirect-ip-pool=noauth-vlan535,weight=0
interface=enp8s0.536,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan536,l4-redirect-ip-pool=noauth-vlan536,weight=1
interface=enp8s0.537,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan537,l4-redirect-ip-pool=noauth-vlan537,weight=0
interface=enp8s0.538,mode=L2,shared=1,start=dhcpv4,ifcfg=1,ipv6=1,ip-pool=vlan538,l4-redirect-ip-pool=noauth-vlan538,weight=1

gw-ip-address=192.168.151.254/24
gw-ip-address=192.168.192.254/24
gw-ip-address=192.168.152.254/24
gw-ip-address=192.168.193.254/24
gw-ip-address=192.168.153.254/24
gw-ip-address=192.168.194.254/24
gw-ip-address=192.168.154.254/24
gw-ip-address=192.168.195.254/24
gw-ip-address=192.168.155.254/24
gw-ip-address=192.168.196.254/24
gw-ip-address=192.168.156.254/24
gw-ip-address=192.168.197.254/24
gw-ip-address=192.168.157.254/24
gw-ip-address=192.168.198.254/24
gw-ip-address=192.168.158.254/24
gw-ip-address=192.168.199.254/24
gw-ip-address=192.168.159.254/24
gw-ip-address=192.168.200.254/24
gw-ip-address=192.168.160.254/24
gw-ip-address=192.168.201.254/24
gw-ip-address=192.168.161.254/24
gw-ip-address=192.168.202.254/24
gw-ip-address=192.168.162.254/24
gw-ip-address=192.168.203.254/24
gw-ip-address=192.168.163.254/24
gw-ip-address=192.168.204.254/24
gw-ip-address=192.168.132.254/24
gw-ip-address=192.168.205.254/24
gw-ip-address=192.168.165.254/24
gw-ip-address=192.168.206.254/24
gw-ip-address=192.168.166.254/24
gw-ip-address=192.168.207.254/24
gw-ip-address=192.168.167.254/24
gw-ip-address=192.168.208.254/24
gw-ip-address=192.168.168.254/24
gw-ip-address=192.168.209.254/24
gw-ip-address=192.168.169.254/24
gw-ip-address=192.168.210.254/24
gw-ip-address=192.168.170.254/24
gw-ip-address=192.168.211.254/24
gw-ip-address=192.168.171.254/24
gw-ip-address=192.168.212.254/24
gw-ip-address=192.168.172.254/24
gw-ip-address=192.168.213.254/24
gw-ip-address=192.168.173.254/24
gw-ip-address=192.168.214.254/24
gw-ip-address=192.168.174.254/24
gw-ip-address=192.168.215.254/24
gw-ip-address=192.168.175.254/24
gw-ip-address=192.168.216.254/24
gw-ip-address=192.168.176.254/24
gw-ip-address=192.168.217.254/24
gw-ip-address=192.168.177.254/24
gw-ip-address=192.168.218.254/24
gw-ip-address=192.168.179.254/24
gw-ip-address=192.168.219.254/24
gw-ip-address=192.168.180.254/24
gw-ip-address=192.168.220.254/24
gw-ip-address=192.168.181.254/24
gw-ip-address=192.168.221.254/24
gw-ip-address=192.168.182.254/24
gw-ip-address=192.168.222.254/24
gw-ip-address=192.168.183.254/24
gw-ip-address=192.168.223.254/24
gw-ip-address=192.168.184.254/24
gw-ip-address=192.168.224.254/24
gw-ip-address=192.168.185.254/24
gw-ip-address=192.168.225.254/24
gw-ip-address=192.168.186.254/24
gw-ip-address=192.168.226.254/24
gw-ip-address=192.168.187.254/24
gw-ip-address=192.168.227.254/24
gw-ip-address=192.168.188.254/24
gw-ip-address=192.168.228.254/24
gw-ip-address=192.168.189.254/24
gw-ip-address=192.168.229.254/24
gw-ip-address=192.168.190.254/24
gw-ip-address=192.168.230.254/24
class-b-route=1

[dns]
dns1=192.168.4.10
dns2=192.168.4.130

[radius]
dictionary=/usr/share/accel-ppp/radius/dictionary
nas-identifier=HIDDEN
nas-ip-address=HIDDEN
gw-ip-address=HIDDEN
server=HIDDEN
server=HIDDEN
dae-server=HIDDEN...
acct-interim-interval=600
acct-interim-jitter=60
acct-timeout=0
verbose=1
interim-verbose=1
timeout=3
max-try=3

[ip-pool]
gw-ip-address=192.168.151.254
gw-ip-address=192.168.192.254
gw-ip-address=192.168.152.254
gw-ip-address=192.168.193.254
gw-ip-address=192.168.153.254
gw-ip-address=192.168.194.254
gw-ip-address=192.168.154.254
gw-ip-address=192.168.195.254
gw-ip-address=192.168.155.254
gw-ip-address=192.168.196.254
gw-ip-address=192.168.156.254
gw-ip-address=192.168.197.254
gw-ip-address=192.168.157.254
gw-ip-address=192.168.198.254
gw-ip-address=192.168.158.254
gw-ip-address=192.168.199.254
gw-ip-address=192.168.159.254
gw-ip-address=192.168.200.254
gw-ip-address=192.168.160.254
gw-ip-address=192.168.201.254
gw-ip-address=192.168.161.254
gw-ip-address=192.168.202.254
gw-ip-address=192.168.162.254
gw-ip-address=192.168.203.254
gw-ip-address=192.168.163.254
gw-ip-address=192.168.204.254
gw-ip-address=192.168.132.254
gw-ip-address=192.168.205.254
gw-ip-address=192.168.165.254
gw-ip-address=192.168.206.254
gw-ip-address=192.168.166.254
gw-ip-address=192.168.207.254
gw-ip-address=192.168.167.254
gw-ip-address=192.168.208.254
gw-ip-address=192.168.168.254
gw-ip-address=192.168.209.254
gw-ip-address=192.168.169.254
gw-ip-address=192.168.210.254
gw-ip-address=192.168.170.254
gw-ip-address=192.168.211.254
gw-ip-address=192.168.171.254
gw-ip-address=192.168.212.254
gw-ip-address=192.168.172.254
gw-ip-address=192.168.213.254
gw-ip-address=192.168.173.254
gw-ip-address=192.168.214.254
gw-ip-address=192.168.174.254
gw-ip-address=192.168.215.254
gw-ip-address=192.168.175.254
gw-ip-address=192.168.216.254
gw-ip-address=192.168.176.254
gw-ip-address=192.168.217.254
gw-ip-address=192.168.177.254
gw-ip-address=192.168.218.254
gw-ip-address=192.168.179.254
gw-ip-address=192.168.219.254
gw-ip-address=192.168.180.254
gw-ip-address=192.168.220.254
gw-ip-address=192.168.181.254
gw-ip-address=192.168.221.254
gw-ip-address=192.168.182.254
gw-ip-address=192.168.222.254
gw-ip-address=192.168.183.254
gw-ip-address=192.168.223.254
gw-ip-address=192.168.184.254
gw-ip-address=192.168.224.254
gw-ip-address=192.168.185.254
gw-ip-address=192.168.225.254
gw-ip-address=192.168.186.254
gw-ip-address=192.168.226.254
gw-ip-address=192.168.187.254
gw-ip-address=192.168.227.254
gw-ip-address=192.168.188.254
gw-ip-address=192.168.228.254
gw-ip-address=192.168.189.254
gw-ip-address=192.168.229.254
gw-ip-address=192.168.190.254
gw-ip-address=192.168.230.254

192.168.151.10-253,name=vlan500
192.168.192.10-253,name=noauth-vlan500
192.168.152.10-253,name=vlan501
192.168.193.10-253,name=noauth-vlan501
192.168.153.10-253,name=vlan502
192.168.194.10-253,name=noauth-vlan502
192.168.154.10-253,name=vlan503
192.168.195.10-253,name=noauth-vlan503
192.168.155.10-253,name=vlan504
192.168.196.10-253,name=noauth-vlan504
192.168.156.10-253,name=vlan505
192.168.197.10-253,name=noauth-vlan505
192.168.157.10-253,name=vlan506
192.168.198.10-253,name=noauth-vlan506
192.168.158.10-253,name=vlan507
192.168.199.10-253,name=noauth-vlan507
192.168.159.10-253,name=vlan508
192.168.200.10-253,name=noauth-vlan508
192.168.160.10-253,name=vlan509
192.168.201.10-253,name=noauth-vlan509
192.168.161.10-253,name=vlan510
192.168.202.10-253,name=noauth-vlan510
192.168.162.10-253,name=vlan511
192.168.203.10-253,name=noauth-vlan511
192.168.163.10-253,name=vlan512
192.168.204.10-253,name=noauth-vlan512
192.168.132.10-253,name=vlan513
192.168.205.10-253,name=noauth-vlan513
192.168.165.10-253,name=vlan514
192.168.206.10-253,name=noauth-vlan514
192.168.166.10-253,name=vlan515
192.168.207.10-253,name=noauth-vlan515
192.168.167.10-253,name=vlan516
192.168.208.10-253,name=noauth-vlan516
192.168.168.10-253,name=vlan517
192.168.209.10-253,name=noauth-vlan517
192.168.169.10-253,name=vlan518
192.168.210.10-253,name=noauth-vlan518
192.168.170.10-253,name=vlan519
192.168.211.10-253,name=noauth-vlan519
192.168.171.10-253,name=vlan520
192.168.212.10-253,name=noauth-vlan520
192.168.172.10-253,name=vlan521
192.168.213.10-253,name=noauth-vlan521
192.168.173.10-253,name=vlan522
192.168.214.10-253,name=noauth-vlan522
192.168.174.10-253,name=vlan523
192.168.215.10-253,name=noauth-vlan523
192.168.175.10-253,name=vlan524
192.168.216.10-253,name=noauth-vlan524
192.168.176.10-253,name=vlan525
192.168.217.10-253,name=noauth-vlan525
192.168.177.10-253,name=vlan526
192.168.218.10-253,name=noauth-vlan526
192.168.179.10-253,name=vlan527
192.168.219.10-253,name=noauth-vlan527
192.168.180.10-253,name=vlan528
192.168.220.10-253,name=noauth-vlan528
192.168.181.10-253,name=vlan529
192.168.221.10-253,name=noauth-vlan529
192.168.182.10-253,name=vlan530
192.168.222.10-253,name=noauth-vlan530
192.168.183.10-253,name=vlan531
192.168.223.10-253,name=noauth-vlan531
192.168.184.10-253,name=vlan532
192.168.224.10-253,name=noauth-vlan532
192.168.185.10-253,name=vlan533
192.168.225.10-253,name=noauth-vlan533
192.168.186.10-253,name=vlan534
192.168.226.10-253,name=noauth-vlan534
192.168.187.10-253,name=vlan535
192.168.227.10-253,name=noauth-vlan535
192.168.188.10-253,name=vlan536
192.168.228.10-253,name=noauth-vlan536
192.168.189.10-253,name=vlan537
192.168.229.10-253,name=noauth-vlan537
192.168.190.10-253,name=vlan538
192.168.230.10-253,name=noauth-vlan538


[log]
#log-file=/var/log/accel-ppp/accel-ppp.log
log-emerg=/dev/stderr
#log-fail-file=/var/log/accel-ppp/auth-fail.log
log-debug=/dev/stdout
syslog=accel-pppd,local2
#log-tcp=127.0.0.1:3000
copy=1
#color=1
#per-user-dir=per_user
#per-session-dir=per_session
#per-session=1
level=4

[pppd-compat]
verbose=1
ip-up=/usr/bin/ipoe-login
ip-down=/usr/bin/ipoe-logout
#ip-pre-up=/etc/ppp/ip-pre-up
#ip-change=/etc/ppp/ip-change
radattr-prefix=/var/run/radattr
#fork-limit=16

[shaper]
attr=Filter-Id
up-limiter=police
down-limiter=tbf
# time-range=1,10:00-0:00
verbose=1

[cli]
verbose=1
telnet=192.168.3.201:2000
tcp=127.0.0.1:2001
#password=123
sessions-columns=sid,ifname,username,calling-sid,ip,ip6,ip6-dp,rate-limit,comp,state,uptime,uptime-raw

[connlimit]
limit=30/hour
burst=10
timeout=600

#[ipv6-pool]
#fc00:0:2::/48,64,name=fallback
#delegate=fc00:2::/36,64,name=fallback

[ipv6-dns]
HIDDEN
dnssl=HIDDEN

[ipv6-dhcp]
verbose=1
pref-lifetime=600
valid-lifetime=660
route-via-gw=1

Time for release?

I think even current ToT/head/master is quite stable. Often people are coming with questions with last release that was done in 2019 and many bugs was fixed since then.
Old buggy release, firstly, it creates the feeling of an abandoned project, also there is a significant category of people who install the release version, try it, if it has a lot of bugs, they simply consider the software too unstable(many wont go and ask for support) and forget about it.
Maybe it is a time to do new release?

Segmentation fault in code commit 1.12.0-121-g44a526a

I am using version 1.12.0-121-g44a526a of the code available on github and the following problem happens:

Starting program: /usr/sbin/accel-pppd -c /etc/accel-ppp/accel-ppp.conf -p /var/run/accel-ppp.pid
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff48f5700 (LWP 62905)]
[New Thread 0x7ffff40f4700 (LWP 62906)]
[New Thread 0x7ffff38f3700 (LWP 62907)]
[New Thread 0x7ffff7fc4700 (LWP 62908)]
[New Thread 0x7ffff30f2700 (LWP 62909)]
[New Thread 0x7ffff2ff1700 (LWP 62910)]
[New Thread 0x7ffff2ef0700 (LWP 62911)]
[New Thread 0x7ffff2def700 (LWP 62912)]
[New Thread 0x7ffff2cee700 (LWP 62913)]
[New Thread 0x7ffff2bed700 (LWP 62914)]
[New Thread 0x7ffff2aec700 (LWP 62915)]
[New Thread 0x7ffff29eb700 (LWP 62916)]
[New Thread 0x7ffff21ea700 (LWP 62917)]

Thread 11 "accel-pppd" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff2bed700 (LWP 62914)]
0x00007ffff6268c3b in rad_auth_finalize (rpd=0x7fffe80076b8, r=1) at /usr/local/src/accel/accel-ppp/accel-pppd/radius/auth.c:157
157			rad_req_free(rpd->auth_ctx->req);
(gdb) bt full
#0  0x00007ffff6268c3b in rad_auth_finalize (rpd=0x7fffe80076b8, r=1) at /usr/local/src/accel/accel-ppp/accel-pppd/radius/auth.c:157
No locals.
#1  0x00007ffff6268e02 in rad_auth_recv (req=0x7fffe80305f8) at /usr/local/src/accel/accel-ppp/accel-pppd/radius/auth.c:189
        pack = 0x7fffe8043eb8
        dt = 1000
#2  0x00007ffff6266300 in rad_req_read (h=0x7fffe8030608) at /usr/local/src/accel/accel-ppp/accel-pppd/radius/req.c:433
        req = 0x7fffe80305f8
        pack = 0x7fffe8043eb8
#3  0x00007ffff7bd267d in ctx_thread (ctx=0x7fffe8006a88) at /usr/local/src/accel/accel-ppp/accel-pppd/triton/triton.c:252
        h = 0x7fffe8031de8
        t = 0x7ffff667f15c <pppoe_conn_ctx_switch>
        call = 0x7ffff2becd30
        tt = 140737085728584
        events = 1
#4  0x00007ffff7bd2438 in triton_thread (thread=0x555556a92b30) at /usr/local/src/accel/accel-ppp/accel-pppd/triton/triton.c:192
        set = {__val = {516, 0 <repeats 15 times>}}
        sig = 10
        need_free = 0
        stack = 0x0
#5  0x00007ffff77b04a4 in start_thread (arg=0x7ffff2bed700) at pthread_create.c:456
        __res = <optimized out>
        pd = 0x7ffff2bed700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737265981184, 2718206135543199681, 140737488347662, 140737488347663, 140737264930816, 3, 
                -2718230884689446975, -2718224869269637183}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, 
              canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#6  0x00007ffff6975d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
No locals.
(gdb) quit
A debugging session is active.

	Inferior 1 [process 62901] will be killed.

Quit anyway? (y or n) y

The behavior is more or less as follows, I turn on the process and right when the pppoe users start to connect, the problem happens, and the process restarts, and it stays forever if I don't kill it

problem with PID file

I rent new server with Debian 11

apt update && apt upgrade
apt-get install -y build-essential cmake gcc linux-headers-`uname -r` git libpcre3-dev libssl-dev
git clone https://github.com/accel-ppp/accel-ppp.git /opt/accel-ppp-code
mkdir /opt/accel-ppp-code/build
cd /opt/accel-ppp-code/build/
cmake -DCMAKE_INSTALL_PREFIX=/usr -DKDIR=/usr/src/kernels/`uname -r` -DCPACK_TYPE=Debian11 ..
make
cpack -G DEB
dpkg -i accel-ppp.deb
systemctl enable accel-ppp

How I can fix this error?

service accel-ppp status
● accel-ppp.service - Accel-PPP
Loaded: loaded (/lib/systemd/system/accel-ppp.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2024-01-11 08:40:04 UTC; 3s ago
Process: 400 ExecStart=/usr/sbin/accel-pppd -d -p /var/run/accel-pppd.pid -c /etc/accel-ppp.conf (code=exited, status=0/SUCCESS)
Main PID: 409 (accel-pppd)
Tasks: 6 (limit: 508)
Memory: 4.2M
CPU: 13ms
CGroup: /system.slice/accel-ppp.service
└─409 /usr/sbin/accel-pppd -d -p /var/run/accel-pppd.pid -c /etc/accel-ppp.conf

Jan 11 08:40:04 khb systemd[1]: Starting Accel-PPP...
Jan 11 08:40:04 khb systemd[1]: accel-ppp.service: Can't open PID file /run/accel-pppd.pid (yet?) after start: Operation not permitted
Jan 11 08:40:04 khb systemd[1]: Started Accel-PPP.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.