summaryrefslogtreecommitdiff
path: root/accel-pppd/radius/radius.c
AgeCommit message (Collapse)Author
2017-10-17radius: implemented lua supportDmitry Kozlov
to get radius object use session:module("radius") function radius object provides flollowing functions: radius:attrs() - returns array of attributes {"name" = NAME, "vendor" = VENDOR|nil} radius:attr(name[,vendor]) - returns value of attribute (may return multiple results) Example: function ip_up(ses) rad = ses:module("radius") attrs = rad:attrs() if attrs then print("attrs:") for _,a in pairs(attrs) do io.write("\t") if a.vendor then io.write(a.vendor..":") end io.write(a.name.."=") print(rad:attr(a.name, a.vendor)) end end end
2016-07-09radius: do not execute interface rename immediately, store new name for ↵Dmitry Kozlov
later use Bacause interface may not still exists in authentication phase
2016-06-07Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeDmitry Kozlov
2016-06-07radius: update Session-Timeout by CoADmitry Kozlov
2016-06-02radius: initialise ipv6db addresses completelyGuillaume Nault
The 'installed' bit of the allocated ipv6db_addr_t structure needs to be initialised. This is because ap_session_ifdown() reads this bit to know if the address or route needs to be removed from the kernel. The 'installed' bit is set by ap_session_accounting_started() and the ND and DHCPV6 protocol handlers, but disconnection could happen before these steps. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2016-04-30radius: add Delegated-IPv6-Prefix to accounting packetsDmitry Kozlov
2016-01-03radius: implemented handling of Framed-Route attributeDmitry Kozlov
Framed-Route has following syntax: Framed-Route=address[/mask] [gateway] If gateway is not specified then route would be attached to session interface.
2015-02-21radius: override session's idle and timeout timers values by Idle-Timeout ↵Dmitry Kozlov
and Session-Timeout attributes
2015-02-20ppp: set unit_idx from NAS_Port attribute if presentFrançois Cachereul
Signed-off-by: François Cachereul <f.cachereul@alphalink.fr>
2014-11-22remove trailing whitespacesDmitry Kozlov
2014-11-05radius: early ipv6_dp assignmentDmitry Kozlov
2014-10-29radius: fix call to memset on rdp->auth_ctxFrançois Cachereul
The mistake was revealed by gcc 4.9.0 Signed-off-by: François Cachereul <f.cachereul@alphalink.fr> Signed-off-by: Guillaume Nault <g.nault@alphalink.fr> Signed-off-by: Dmitry Kozlov <xeb@mail.ru>
2014-10-23radius: introduced max-fail optionDmitry Kozlov
Before this patch any single fail (no responce for max_try requests) caused radius server to enter "fail" state, which may be unwanted behaviour, because radius may not respond for interim Accounting-Request by some reasons. This patch introduces "max-fail" option which specifies number of unreplied requests in a row after which server enters into "fail" state. (Actual only for multi-server configurations)
2014-10-04radius: various bug fixesDmitry Kozlov
2014-10-03get rid of time(), use clock_gettime(CLOCK_MONOTONIC) insteadDmitry Kozlov
2014-09-26radius: cancel starting accounting request if session terminated before ↵Dmitry Kozlov
server replied
2014-09-20rewrite of authentication/accounting proceduresDmitry Kozlov
This patch gets rid of synchronuos style of authentication/accounting. Synchronous style of authentication/accounting produced sleeping threads which becomes a problem when lots of sessions started/stopped and all they want authorization/accounting.
2014-06-17radius: introduced attr-tunnel-type optionDmitry Kozlov
If specified then accel-ppp will send tunnel type as string (pppoe,pptp,l2tp,ipoe).
2014-05-12radius: use NAS-Port-Id in Access-Accept for interface renamingDmitry Kozlov
2014-05-12radius: add support for Nas-Port-Id attribute (interface name)Dmitry Kozlov
2013-10-23radius: skip vendor specific attributes when searching session for DM/CoADmitry Kozlov
This fixes invalid assosiation vendor specific Cisco-AVPair to Username attribute which both have same id and prevents to find sessions in some circumstances. Signed-off-by: Dmitry Kozlov <xeb@mail.ru>
2013-10-11radius,ippool,chap-secrets: do not assign local address if session is not pppDmitry Kozlov
Do not assign local address for non-PPP (IPoE at present) sessions in specified modules. This enforces ctrl to assign proper local address by itself. Signed-off-by: Dmitry Kozlov <xeb@mail.ru>
2013-08-14radius: don't assign address if Framed-IP-Address=255.255.255.254Kozlov Dmitry
2013-04-11radius: implemented default-realm optionKozlov Dmitry
2013-03-18radius: assign ipv4 either if gw-ip-address is not specified for non-ppp ↵Dmitry Kozlov
sessions
2013-01-25Fix boolean options parsing in configuration fileGuillaume Nault
Explicitely interpret zero values when parsing boolean options. This allows to unset boolean parameters such as "verbose" when reloading the configuration. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-01-24backport 1.7Kozlov Dmitry
* l2tp: Fix allocation checking when adding octets AVP * cli, tcp: Fix non-NULL terminated string reception * Fix va_end() missing calls * chap-secrets: implemented encryption * auth_pap: make messages like other auth modules * cli: check xmit_buf is not null at enter to write function * pppoe: implemented regular expression support * chap-secrets: implemented encryption * ippool: fixed initialization order * optional shaper compiling * ppp: dns/wins code cleanup
2013-01-24merge upstreamKozlov Dmitry
2012-09-05generalize interface statistics gatheringKozlov Dmitry
2012-08-29add 'ppp' filed to CTRL to identify ppp sessionsKozlov Dmitry
2012-08-15radius: fixed broken authentication procedureKozlov Dmitry
2012-08-11ipoe: fixed packet output pathKozlov Dmitry
2012-07-19radius: implemented Idle-TimeoutKozlov Dmitry
2012-07-19radius: multiple disctionary options supportKozlov Dmitry
2012-07-10initial session backup implementationKozlov Dmitry
2012-06-22initial ipoe implementationKozlov Dmitry
2012-06-19general preparation for IPoE integrationKozlov Dmitry
2012-04-30ippool: implemented vendor/attr options to specify which radius attribute ↵Kozlov Dmitry
containes pool name
2012-04-29radius: fix reading of req-limit optionKozlov Dmitry
2012-03-11radius: add support for MS-Primary-DNS-Server/MS-Secondary-DNS-Server attributesKozlov Dmitry
2011-12-27radius: implemented simultaneous requests limitingKozlov Dmitry
2011-12-27radius, ippool: implemented Framed-Pool attributeKozlov Dmitry
2011-09-05radius: per-server statisticsKozlov Dmitry
2011-09-03radius: servers reloadKozlov Dmitry
2011-08-28radius: implemented ipv6 prefix delegation supportKozlov Dmitry
2011-08-28ipv6: initial dhcpv6 supportKozlov Dmitry
2011-08-23radius: ipv6 supportDmitry Kozlov
2011-08-23ppp: ipv6: multiple prefixes, route option, rdnss option implementationKozlov Dmitry
2011-08-22futher ipv6 workKozlov Dmitry
2011-08-20Merge branch 'ipv6'Dmitry Kozlov