summaryrefslogtreecommitdiff
path: root/accel-pppd
AgeCommit message (Collapse)Author
2017-12-26shaper: install skbedit filter for all protocolsDmitry Kozlov
2017-12-25ipv6: implemented special handling of /128 prefixesDmitry Kozlov
If prefix length is 128 then send RA with 64 prefix length and add point-to-point ipv6 address on interface
2017-12-25ipv6pool: added gw-ip6-address option and special handling for /128 prefixesDmitry Kozlov
If pool specified with /128 prefix length, then initialize intf_id by gw_ip6_address and peer_intf_id by generated pool address.
2017-12-25libnetlink: added ip6addr_add_peer functionDmitry Kozlov
2017-12-21radius: allocate memory for string attributesDmitry Kozlov
2017-12-20shaper: define UINT16_MAX if not setDmitry Kozlov
2017-12-20ippool: fixed parsing /32 rangesDmitry Kozlov
2017-12-19ipoe: arp: do not reply on requests from 0.0.0.0Dmitry Kozlov
2017-12-19ipoe: fixed memory leakDmitry Kozlov
2017-12-14Merge pull request #27 from themiron/ppp-ifnamexebd
ppp: fix interface rename if kernel returns not zero, but picked index
2017-12-14ppp: fix interface wildcard rename if kernel returns not zero, but picked indexVladislav Grishenko
2017-12-14ippool: implemented next pool supportDmitry Kozlov
config changes: [ip-pool] x.x.x.x/mask,name=pool1 y.y.y.y/mask,name=pool2,next=pool1
2017-12-14radius: fixed memory leakDmitry Kozlov
2017-12-07pppd_compat: mark session started if ip-up handler calledDmitry Kozlov
2017-12-07pppd_compat: fixed bug caused fork queue to stallDmitry Kozlov
2017-12-07cmake: set INSTALL_RPATH for radius moduleDmitry Kozlov
2017-12-07Merge pull request #26 from themiron/chap-ippoolxebd
chap-secrets: add pool name support
2017-12-07chap-secrets: assume 4th field as pool nameVladislav Grishenko
Simplify previous commit, if 4th field isn't empty and doesn't start with reserved chars (*-!), assume it as pool name. Also, fix build warn without OPENSSL.
2017-12-06Merge pull request #25 from themiron/ppp-ifnamexebd
ppp: implement per-ctrl ppp interface rename support
2017-12-06chap-secrets: allow to use pool name instead of address to specify ipv4 poolVladislav Grishenko
Chap-secrets' ipdb uses 4th field as static peer ipv4 address. With no radius and multiple same username sessions, it's impossible to use non-default pool for such sessions. Abuse chap-secret's 4th field as pool=name to specify session's pool name. With ippool module loaded after chap-secrets (default order), it will be used for allocation from the specified poll name. Compatibility considerations: * pppd will skip 'pool=*' with warn 'unknown host in auth. address list' same as 5th field - shaper, because starting from 4th field pppd parse list of value. so, no new effects here. * previous versions of accel-ppp will parse 'pool=*' as empty address. * with no 'pool=*' in chap-secrets or with no chap-secrets loaded, no behavior change. * with no ippool loaded, session will get no peer address. * with ippool loaded before chap-secrets, chap-secrets's ipdb will not be used, therefore neither ip addess not pool name will has no effect. * if chap-secrets' pool is invalid or not found, default pool will be used by ippool or address came from radius. * chap-secret's pool name might override pool came from radius, if radius module is loaded after chap-secrets and no address came from radius.
2017-12-05ppp: implement per-ctrl ppp interface rename support, may be overrided by radiusVladislav Grishenko
Reuse exsisting radius functionality and allow set iterface name template for pppoe/pptp/l2tp, '%d' specification will be replaced automagically to the next available index by kernel. PPP interface rename allows to easy differ client's interfaces from the other ppp ones, for example, with just netfilter interface rules. Example: [pptp] ifname=pptp%d will produce pptp0, pptp1, ...
2017-12-05net-snmp: fixed crash on table requestDmitry Kozlov
2017-12-05ippool: rewrited parsersDmitry Kozlov
2017-12-05fixed compilation error with -DRADIUS=FALSEDmitry Kozlov
2017-12-05Merge branch 'master' of github.com:xebd/accel-pppDmitry Kozlov
2017-12-05ipoe: fixed mutex deadlockDmitry Kozlov
2017-12-05Merge pull request #23 from themiron/echo-fixesxebd
pptp/l2tp: echo failure improvements
2017-12-05l2tp: implement adaptive l2tp helloVladislav Grishenko
With incoming l2tp hello there's no need to ask peer for replies in configured hello-interval, so just postpone it. Helps against false-positive echo failures with heavily loaded channels and/or peers.
2017-12-05pptp: implement adaptive pptp echoVladislav Grishenko
With incoming pptp echo request there's no need to ask peer for replies in configured echo-interval, so just postpone it. Helps against false-positive echo failures with heavily loaded channels and/or peers.
2017-12-05pptp: fix and allow to disable echo failures countingVladislav Grishenko
Sent echos counter is overloaded with random icmp id, so echo-failure setting is either ignored or causes random pptp channel stops within valid accumulated fail count range, i.e on the the first fail. Since icmp id is not actually used for checking, fix issue by dropping overload. Default echo-failure value is 3, so allow endless echo fails without channel drop by setting echo-failure to 0.
2017-12-05l2tp: skip obsolete session data packets from loggingVladislav Grishenko
After session is freed on our end, kernel doesn't bother with possible incoming data packets and just passes them to userspace, in turn they are mistreated as short control packets with corresponding errors. Since there's no special data packet handling, just ignore them.
2017-12-05Merge pull request #8 from scamp/masterxebd
default value for renew-time fixed
2017-12-05Merge pull request #20 from themiron/ipv6-nd-fixesxebd
ipv6: nd: add non-/64 prefixes & AdvOnLinkFlag option support
2017-12-05ipv6: dhcpv6: fix Relay-Forward message typoVladislav Grishenko
2017-12-05ipv6: dhcpv6: fix Vendor-Class, Vendor-Specific and Interface-ID options ↵Vladislav Grishenko
print parsing
2017-12-05ipv6: nd: add non-/64 prefixes supportVladislav Grishenko
non-/64 subnets still needs Router Advertimenets for the default route & RDNSS.
2017-12-05ipv6: nd: fix interface id addresses generation for prefixes > /64Vladislav Grishenko
2017-12-05ipv6: nd: add AdvOnLinkFlag option supportVladislav Grishenko
2017-12-01ipoe: check connlimit for UP sessionsDmitry Kozlov
2017-11-29ipoe: fixed handling DHCP vendor-specific attributesDmitry Kozlov
2017-10-25ipoe: fixed bugDmitry Kozlov
Assign opt82_ses=ses if shared=0
2017-10-23cmake: initialize lua before radiusDmitry Kozlov
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
2017-10-17lua: implemented interface to extend session object by modulesDmitry Kozlov
to access module specific object introduced new function session:module(NAME)
2017-10-16Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeDmitry Kozlov
2017-10-16lua: implemented "session" module that provides session object to be passed ↵Dmitry Kozlov
to lua scripts session object consists of following functions: ifname() - interface name ifindex() - interface ifindex sid() - Acct-Session-ID uptime() - session uptime in seconds username() ctrl_type() - type of session (pppt/pppoe/l2tp/ipoe) calling_sid() - Calling-Station-ID called_sid() - Called-Station-ID ipv4() - retuns pair (peer address, local address) ipv6() - ipv6 address or nil rx_bytes() tx_bytes()
2017-10-16move build_ip6_addr function to ipdb.cDmitry Kozlov
2017-10-16Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeDmitry Kozlov
2017-10-16wait for previous session to finish when single-session=replaceDmitry Kozlov
2017-10-16pppd_compat: do not call ip-down if session was not startedDmitry Kozlov