summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-02-06fix build with non-portable _SC_PAGE_SIZEVladislav Grishenko
2021-01-13Add -V/--version support, rework args parsingVladislav Grishenko
2021-01-10ipoe: add option 54 (server-id) to DHCPNAKDmitry Kozlov
2020-12-19ipoe: added option 56 to DHCP NAK packetDmitry Kozlov
2020-10-21Merge pull request #9 from shumbor/masterxebd
cli/telnet: fix crash on damaged history file.
2020-10-21radius: sanity check for vendor attribute lengthDmitry Kozlov
2020-10-15cli/telnet: fix crash on damaged history file.shumbor
small check for zero buffer length on load history
2020-09-13shaper: fix support for Mikrotik-Rate-Limit with burstsVladislav Grishenko
2020-09-13shaper: fix up/down order for Mikrotik-Rate-LimitVladislav Grishenko
2020-09-13radius: keep vendor & attr numbers in orderVladislav Grishenko
2020-09-11radius: add MikroTik dictionaryVladislav Grishenko
2020-09-11shaper: add support for speed suffixes (B/K/M/G)Vladislav Grishenko
2020-09-06radius: fix crash with l4-redirect with no ipv6 (T23)Vladislav Grishenko
2020-09-06auth/chap-secrets/dhcpv4: fix big-endian arch supportVladislav Grishenko
2020-09-06l2tp: fix RCE through buffer overflow & fix LE/BE compatibilityVladislav Grishenko
Unsufficent checks of valid l2tp header & avp length cause possible RCE through buffer overflow, reported by https://github.com/WinMin swings & leommxj, Chaitin Security Research Lab. Add missed header length and avp length validation to fix the issue. Order of struct bitfields is implementation-defined so current code doesn't play well with big-endian arch. switch to explicit flag bit checking/gathering to fix the issue. RFC 2661 and 3931 requires that length, seqeuence flags must be set and offset flag must not be set, so avp-premissive can't help in this cases.
2020-08-10triton: clear trig_epoll_events after readDmitry Kozlov
2020-08-09ppp: lcp: fix ConfAck and CodeRej log formatVladislav Grishenko
2020-08-09sstp: avoid redundant writes to ppp socketVladislav Grishenko
2020-08-09sstp: switch to async sendingVladislav Grishenko
2020-08-02ppp: lcp: auth: fix one-by-one oveflowVladislav Grishenko
lcp auth doesn't take into account auth extra bytes for lcp request buffer allocation for chap/mschap/mschapv2 protocols, so last byte corrupts memory with undefined behavior incl. crash.
2020-08-01sstp: allow to configure send & receive buffer sizesVladislav Grishenko
magic value of 65535 reported to have thoughput issues on unreliable transports (3G/4G), so let it be configurable. zero value means use system defaults: [sstp] sndbuf=0 rvcbuf=0
2020-08-01sstp: speed up data pathVladislav Grishenko
2020-08-01sstp: use quick linger for closing socketsVladislav Grishenko
2020-07-01sstp: stop being noisy w/o verbose modeVladislav Grishenko
2020-06-29ppp: pppoe: disable iprange checkVladislav Grishenko
2020-06-29sstp: fix MITM w/o SSTP_MSG_CALL_CONNECTED is being sentVladislav Grishenko
3.3.2.1 Negotiation Timer When establishing the SSTP connection, the SSTP server starts the negotiation timer. 2. After sending the Call Connect Acknowledge message, if the server does not receive a Call Connected message before the Negotiation timer expires then it MUST send a Call Abort message and start the process of bringing down (disconnecting) the connection. The server MAY implement different timer values for the Call Connected message and the Call Connect Request message. 3.3.7.1 Server-Side Interface with PPP When the server receives a PPP data frame from the PPP layer, the server MUST perform the following steps: * If CurrentState is set to Server_Call_Connected: Generate an SSTP data packet (section 2.2.3) with the PPP frame as the higher-layer payload and send the packet to the HTTPS layer. * Else, drop the PPP frame. sstp-client is known to be broken, it doesn't send SSTP_MSG_CALL_CONNECTED with PAP and CHAP-MD5 auth, no network data flow and disconnect by negotiation timer is expected.
2020-06-29sstp: fix compound mac validation with broken clientsVladislav Grishenko
sstp-client sends SSTP_MSG_CALL_CONNECTED message too early, before auth response, so HLAK can't be known yet and subsequent HLAK-based validation fails. workaround the issue by defer accepting SSTP_MSG_CALL_CONNECTED after auth either has been succeeded or bypassed.
2020-06-28sstp: fix crypto-binding attr errors loggingVladislav Grishenko
2020-06-09Fix typo in doc file.Eshenko Dmitriy
2020-06-08ipoe: gracefuly terminate denied sessionsVladislav Grishenko
2020-06-06radius: add strip-realm config optionVladislav Grishenko
refer #6 for modre details.
2020-05-21ipv6pool: fix delegated pool ignorance w/o address poolVladislav Grishenko
2020-04-30ipoe: dhcp: add rebind-time supportVladislav Grishenko
2020-04-21Send Delegated-IPv6-Prefix attribute in Accounting-Start messageSergey V. Lobanov
If Delegated-IPv6-Prefix was received in Access-Accept message, it is necessary to send it in radacct Start message
2020-04-16cpack: adding support for ubuntu 20Clément Mouline
2020-04-13dhcpv4/dhcpv6: improve packet validationVladislav Grishenko
2020-04-11Merge pull request #3 from nuclearcat/masterVladislav Grishenko
Check for length in pppoe tags
2020-04-10Check for length in pppoe tagsDenys Fedoryshchenko
2020-04-07Merge pull request #2 from DmitriyEshenko/fix-build01Eshenko Dmitriy
T13: Fix build procedure
2020-04-07T13: Fix build procedureDmitriyEshenko
2020-04-07Merge branch 'master' of github.com:xebd/accel-pppDmitry Kozlov
2020-04-07Merge pull request #122 from laarmen/dev/fix/netns_reindexxebd
Refresh interface index when moving to another netns
2020-04-07Merge pull request #124 from hardillb/fix-accel-cmdxebd
Fix accel-cmd compile problem on Raspbian Buster
2020-04-07Merge pull request #126 from stetsyuk/masterxebd
Fix radius Framed-IP-Address
2020-04-06pptp: T6: Check timer before modifyDmitriyEshenko
2020-04-02Fix radius Framed-IP-Addressstetsyuk
Add htonl to check if Framed-IP-Address==0xFFFFFFFE Ignore 0xFFFFFFFE as Framed-IP-Address in DM/CoA requests
2020-03-26Fix accel-cmd compile problem on Raspbian BusterBen Hardill
With GCC v8.x on Raspbian Buster the following warning is shown at compile time: ... [ 99%] Building C object accel-cmd/CMakeFiles/accel-cmd.dir/accel_cmd.c.o /home/pi/accel-ppp/accel-cmd/accel_cmd.c: In function ‘main’: /home/pi/accel-ppp/accel-cmd/accel_cmd.c:652:29: warning: comparison is always true due to limited range of data type [-Wtype-limits] long_opts, &oindx)) != -1) { ^~ [100%] Linking C executable accel-cmd [100%] Built target accel-cmd This leads to the accel-cmd always just showing the usage instructions rather than executing any commands. This is because ochar is declared as a char rather than an int so is considered to be unsigned by default. The man page says the return value should be an int. https://linux.die.net/man/3/getopt_long
2020-03-22Merge pull request #1 from c-po/version-number-improvementsEshenko Dmitriy
Version number improvements
2020-03-22CMake: use 'git describe' over 'git log' to obtain version numberChristian Poessinger
This is more efficient as its a Git build in function. If build from a non tagged commit, the version number will be extended by the "git describe" way: $ dpkg -I accel-ppp/build/_CPack_Packages/Linux/DEB/accel-ppp.deb | grep Vers Version: 1.12.0-53-g7afe0f0 The version indicator shows that the last Accel-PPP release was 1.12.0 (which was tagged) and we are now 53 commits past the 1.12.0 tag. The current commit id is 7afe0f0 (short form). After installation the Debian package database will show: $ dpkg -l | grep accel ii accel-ppp 1.12.0-53-g7afe0f0 amd64 PPtP/L2TP/PPPoE/SSTP server for Linux Also the embedded version command will show: $ accel-cmd -p 2005 -V accel-cmd 1.12.0-53-g7afe0f0 Signed-off-by: Christian Poessinger <christian@poessinger.com>
2020-03-22cpack: remove duplicate version number definitionChristian Poessinger
Version number for Accel-PPP is already generated in CMakeLists.txt and thus it should not be manually defined in a second place (cmake/cpack.cmake). Reuse the version number obtained in CMakeLists.txt when building binary packages -> single source. Signed-off-by: Christian Poessinger <christian@poessinger.com>