summaryrefslogtreecommitdiff
path: root/accel-pppd
AgeCommit message (Collapse)Author
2023-07-01Merge pull request #95 from DmitriyEshenko/show-sessions-imprDmitriy Eshenko
CLI: PPPoE: Add possibility to display inbound interface and service-…
2023-06-30Merge pull request #91 from louis-6wind/fix-link-selection-mem-violationDmitriy Eshenko
ipoe: fix memory access violation with unset link-selection
2023-06-29CLI: PPPoE: Add possibility to display inbound interface and service-name in ↵Dmitriy Eshenko
show sessions command
2023-06-29Merge pull request #85 from louis-6wind/fix-non-vlan-crashDmitriy Eshenko
libnetlink: fix a crash with a non vlan interface
2023-06-29CLI: PPPoE: Use global net variable to prevent SEGFAULTDmitriy Eshenko
When accel-ppp has no connected clients, CLI interface add command it try to use net == NULL and crush code.
2023-06-27ipoe: fix memory access violation with unset link-selectionLouis Scalbert
Link-selection pointer is not set to NULL when link-selection IPOE option is not set. It results in a memory access violation in dhcpv4_packet_insert_opt82() Set link-selection pointer to NULL if unset to fix the issue. Fixes: 61e31c591e ("ipoe: add dhcp link selection sub-option") Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-26libnetlink: fix a crash with a non vlan interfacePhilippe Guibert
Fix a segmentation fault when starting when accel-ppp is configured with an non vlan interface. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-05man: add information about link-selectionPhilippe Guibert
Add information about link-selection ipoe option in accel-ppp.conf man. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-05man: add information about agent-remote-idPhilippe Guibert
DHCP "agent remote id" sub-option 2 of option 82 can already be configured with [ipoe] / "agent-remote-id". However, it is not documented. Add information about agent-remote-id in accel-ppp.conf man. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-06-05ipoe: add dhcp link selection sub-optionPhilippe Guibert
Add the support of DHCP option 82 "Agent Information" sub-option 5 "link selection". The IPv4 value can be specified in the [ipoe] "link-selection" configuration option. Link: https://www.rfc-editor.org/rfc/rfc3527.html Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com> Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2023-05-05sstp: fix gcc9/clang address-of-packed-member warningVladislav Grishenko
Patially fixes 6e5f9980a8a71015a228279e07970621d23c7b35, there's no really requirement for packed internal sockaddr_t struct. Also, constantify several struct pointer arguments as well.
2023-05-05sstp: revert 6e5f9980a8a71015a228279e07970621d23c7b35Vladislav Grishenko
There's no alignment reason for making temporary vars on stack assuming unaligned block copy.
2023-05-05sstp: fix termios structure initializationVladislav Grishenko
Fixes ad94c19554d7c6bb18ab2e251e4ee403ee0b7732, tios is sill left partially initialized with sane values. Also, log get/set attr errors with error level as well since it raises pty allocation error and connection drop therefore.
2023-01-27radius: implemented accounting delay option (acct-delay-start)Dmitry Kozlov
2022-11-16CLI: Fix counters output typeDmitriy Eshenko
2022-11-15SNMP: Fix previous migration to 64 bit countersDmitriy Eshenko
2022-11-01Merge pull request #66 from boomer41/feature/additions-2022-11-01xebd
Use 64-bit interface statistics and some more env parameters for pppd-compat
2022-11-01Merge pull request #64 from volodymyrhuti/masterEshenko Dmitriy
T72: Fix compilations warnings for unaligned variable access
2022-11-01Remove uninitialized argument from openpty()Stephan Brunner
As per the docs: The openpty() function finds an available pseudoterminal and returns file descriptors for the master and slave in amaster and aslave. [...] If termp is not NULL, the terminal parameters of the slave will be set to the values in termp. [...] So openpty() would set the pty parameters to something undefined. This undefinedness will be fixed by the later tcsetattr() call. As a result, we don't need that parameter in the first place. Additionally, fixes a -Wmaybe-uninitialized warning.
2022-11-01Remove unused variable.Stephan Brunner
2022-11-01Add PACKETS_SENT and PACKETS_RCVD to the pppd-compat environment.Stephan Brunner
2022-11-01Use 64-bit interface statistics rather than doing custom 32-bit overflow ↵Stephan Brunner
handling. When a link has a relatively high throughput, the 32-bit packet and byte counters could overflow multiple times between accounting runs. To accommodate this limitation, directly use 64-bit interface statistics. This also gets rid of the internal giga-word counters.
2022-10-26Merge pull request #51 from cygnusb/dhcp_notify_end_optionEshenko Dmitriy
Add missing dhcp end option on dhcp notify packet
2022-10-22T72: Fix compilations warnings for unaligned variable accessVolodymyr Huti
- IPoE/DHCP4: Specify minimal suitable alignment explicitly. We need to guarantee 2 byte alignment for the `hdr` pointer in `ip_csum(uint16_t *buf)` calculation - PPPOE: Suppress false-positive warning for `sockaddr_pppox`. Similiar issue: https://github.com/kernelslacker/trinity/pull/40 - Introduce tmp variables to avoid alignment issues for SSTP/DHCPv6 For additional details: https://phabricator.accel-ppp.org/T72 Signed-off-by: Volodymyr Huti <v.huti@vyos.io>
2022-08-04sstp: T69: Add timer befor context wakeup to preevent segfaultDmitriy Eshenko
2022-07-27Merge pull request #54 from telirebarry/fix-ipv6-netnsxebd
Fix ipv6 inside netns
2022-07-05ipv6_dhcp:change log message with appropriate file nameTelire Barry
This commit proposes to modify the log message in dhcpv6.c to include the correct file name. It avoids confusion when reading the logs
2022-06-23Merge pull request #48 from DmitriyEshenko/master-08042022xebd
T60: Implement configurable session-timeout param for all connection …
2022-06-22ipv6_dhcp: fix create ipv6 socket inside netnsTelire Barry
This fix allow to create the socket inside the netns for ipv6-dhcp module.
2022-06-22ipv6_nd: fix ipv6 auto-configuration in netnsTelire Barry
ipv6 auto-configuration generate error when link is terminated inside netns. The error message is : "ipv6_nd: setsockopt(SO_BINDTODEVICE): No such device" This error is generated because socket is not created inside the netns but it’s created in the default netns. This fix allow to create the socket in the right place. to propose this fix, i was inspired by : issue : https://phabricator.accel-ppp.org/T68 commit : https://github.com/accel-ppp/accel-ppp/commit/f1d616d91914be493b6a32a96323fa871733f8e0
2022-05-13auth: discard unphased PAP Authenticate-Request packetsVladislav Grishenko
Per https://datatracker.ietf.org/doc/html/rfc1334#section-2.2.1: Implementation Note: Because the Authenticate-Ack might be lost, the authenticator MUST allow repeated Authenticate- Request packets after completing the Authentication phase. Protocol phase MUST return the same reply Code returned when the Authentication phase completed (the message portion MAY be different). Any Authenticate-Request packets received during any other phase MUST be silently discarded.
2022-05-13auth: add missed man and exmaple config optionsVladislav Grishenko
2022-05-13auth: add support challenge-name option for CHAPVladislav Grishenko
Fine tune commit 39a9eb807ade35cf60edc6f2e209ed74ba1d262f
2022-05-09Add missing dhcp end option on dhcp notify packetcygnusb
2022-05-08T60: Implement configurable session-timeout param for all connection typesDmitriyEshenko
2022-04-21Merge pull request #45 from svlobanov/nas-port-idxebd
add switch to disable sending NAS-Port-Id
2022-04-21Merge pull request #34 from DaniilHarun/T22xebd
T22: connection limit for non-shared interfaces by interface index
2022-04-21Merge pull request #40 from 6WIND/bugfixesxebd
Bugfixes
2022-04-20add switch to disable sending NAS-Port-IdSergey V. Lobanov
This patch introduces nas-port-id-in-req switch to disable sending NAS-Port-Id attribute in radauth and radacct messages. New switch might be useful if radius server cannot properly handle this attrubite. Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2022-03-08auth: fix CHAP challenge with ixiaGabriel Jeanneau
here is the structure of CHAP challenge message for PPP: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Code | Identifier | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Value-Size | Value ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Name ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ When sending a CHAP challenge, accel-ppp set NAME to NULL. According to RFC 1994 (PPP CHAP), this field should neither be NULL nor be equal to CR/LF. As ixia does not recognize AUthentication packet when this field is NULL, we set it to "accel-ppp" by default. In MS-CHAPv1 and MS-CHAPv2, authenticator does not provide information in Name field. Signed-off-by: Gabriel Jeanneau <gabriel.jeanneau@6wind.com>
2022-03-04triton: fix use after free in timer.cGabriel Jeanneau
When using pppd_compat module, accel-ppp crash with SIGBUS on spin_lock(&t->ctx->lock) of timer_thread. When a moduile call triton_timer_del, fd are close without taking into account epoll function and without removing from polled fd list. File descriptor are removed from polled fd list and then close in timer_thread avoiding use after free. Fixes: 5bac5a2edb7b ("rewriting triton library...") Signed-off-by: Gabriel Jeanneau <gabriel.jeanneau@6wind.com>
2022-03-04ppp_chan_read: check unit_hnd avoiding proto rejGabriel Jeanneau
When receiving IPCP packet on channel handler, check unit handler to avoid sending a LCP Protocol Reject because ppp unit has not been created yet. This patch allows accel-ppp to handle higher pressure (handle 300 connections per second). Signed-off-by: Gabriel Jeanneau <gabriel.jeanneau@6wind.com>
2022-03-04accel-pppd: Fix buildroot compilationGabriel Jeanneau
CMAKE_FIND_ROOT_PATH variable is a list of pathes used by CMAKE to find packages and library for compilation. It should not be used for installation as : - it is a list - it points to staging folder of packaging tools. So let's use a more standard CMAKE code to make sure files and folders are actually installed in target destination. Signed-off-by: Gabriel Jeanneau <gabriel.jeanneau@6wind.com> Signed-off-by: Stéphane Gonauer <stephane.gonauer@6wind.com>
2022-02-23Update main.cMakselPr
Fixed typos in help
2022-01-24Merge pull request #35 from svlobanov/fix-radius-overflowxebd
fix buffer overflow when receive radius packet
2022-01-14Merge pull request #33 from DaniilHarun/vrf-radiusxebd
Added support for binding device name for radius request and DM/CoA server.
2022-01-13Check if ipv6 dp availible before answerDmitriyEshenko
2021-12-29fix buffer overflow when receive radius packetSergey V. Lobanov
This patch fixes buffer overflow if radius packet contains invalid atribute length and attrubute type from the following list: ipv4addr, ipv6addr, ipv6prefix or ifid Reported-by: Chloe Ong Reported-by: Eugene Lim <spaceraccoon@users.noreply.github.com> Reported-by: Kar Wei Loh Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2021-12-28These changes are in response to PR commentsroot
2021-12-28T22: connection limit for non-shared interfaces by interface indexroot