summaryrefslogtreecommitdiff
path: root/accel-pppd
AgeCommit message (Collapse)Author
2013-07-26Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeKozlov Dmitry
2013-07-26ipoe: fixed route deletion (pass proper proto)Kozlov Dmitry
2013-07-24triton: Fix race upon terminationGuillaume Nault
The triton_terminate() function works by setting the need_close flag of each triton context, then queues this context for execution by a triton thread if not already running. But if the context is already being run by a triton thread, it may not notice that its need_close flag has been updated (this flag is only checked at the beginning of ctx_thread()). So if no other event wakes up that context (i.e. if ctx_thread() isn't run again), it will never terminate. This patch moves the need_close flag check at the end of ctx_thread() so that a triton context can take the need_close flag into account event if it's updated while running. The context spinlock is also used to protect the need_close flag as it is concurrently updated by triton_terminate(). Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-24ppp: Use link local IPv6 prefix by default during IPv6CPGuillaume Nault
When no ipdb backend can assign IPv6 addresses during IPv6CP negociation, generate an ipv6db item with an empty address list. This allows IPv6CP negociation to continue and assign a link-local IPv6 address, without the need for an IPv6 pool or special Radius configuration. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-24l2tp: Add the ppp-max-mtu optionGuillaume Nault
As the maximum acceptable MTU for an L2TP link may vary depending on IP and L2TP packet headers options, it is better to make it configurable so that an administrator can adapt it to its network constraints. Use the original value (1420) as default. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-24ipoe: add missing EV_SES_AUTHORIZED event firingDmitry Kozlov
2013-07-19ipoe: add missing EV_CTRL_FINISHED event firingDmitry Kozlov
2013-07-18l2tp: use asprintf() to set sessions channel namesGuillaume Nault
Now that memdebug implements asprintf() we can simplify session's channel name allocation by replacing the two snprintf() calls. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-18memdbg: Implement asprintf()Guillaume Nault
Define md_asprintf() as an equivalent of the GNU libc's asprintf() (with buffer allocated by md_malloc). Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-18memdbg: Accept short strings in md_strndup()Guillaume Nault
Don't fail if string to duplicate is shorter than the size parameter and handle memory allocation failure. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-18memdbg: Handle memory allocation failures in strdup()Guillaume Nault
Don't fail if _md_malloc() returns NULL. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-18memdbg: improve md_realloc() compliance with plain realloc()Guillaume Nault
-Allow reallocation of NULL pointers (equivalent to a malloc() call) -Allow 'size' to be 0 (equivalent to a free() call) -Handle case where 'size' is smaller than the original buffer length Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-18memdbg: Allow NULL pointer as argument to freeGuillaume Nault
free(NULL) is a no-op, but beside that it's a valid call which should be supported. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-18memdbg: Handle memory allocation failuresGuillaume Nault
Report memory allocation failures in md_alloc() by returning a NULL pointer. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-07-05auth_chap: fixed incorrect check for received buffer sizeDmitry Kozlov
2013-06-30mempool: set/check magic only if MEMDEBUG definedDmitry Kozlov
2013-06-30Revert "mempool: set/check magic only if MEMDEBUG defined"Dmitry Kozlov
This reverts commit 49b348dd38dcf89a057abebc0ffdf73748effa0a.
2013-06-30mempool: set/check magic only if MEMDEBUG definedDmitry Kozlov
2013-06-29session: Remove unused call to time()Guillaume Nault
't' is set using time() but never used afterwards. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-29l2tp: Close tunnel's PPPoL2TP socketGuillaume Nault
The PPPoL2TP socket created upon tunnel connection is never used afterwards. It can be closed right after associating (connecting) the tunnel with the underlying UDP socket (kernel won't cleanup a tunnel as long as its UDP socket is open). Signed-off-by: Vladislav Grishenko <themiron@mail.ru> Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-29l2tp: Unset ephemeral ports by defaultGuillaume Nault
Disable use of ephemeral ports by default since it poses problems with NAT and wasn't used in earlier versions of accel-ppp. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-29pppoe: Fix mppe option sectionGuillaume Nault
Read the 'mppe' option value in section 'pppoe' instead of 'l2tp'. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-29connlimit: Initialise connlimit key (MAC)Guillaume Nault
Initialise 'key' before calling memcpy() to ensure that all bytes are set in the return value. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-26ipoe: send arp reply only for authorized sessionsKozlov Dmitry
2013-06-23ipoe: fixed detection of opt82 change (v2)Dmitry Kozlov
2013-06-23ipoe: fixed detection of opt82 changeDmitry Kozlov
2013-06-22ipoe: arp: fixed missing mutex unlockDmitry Kozlov
2013-06-22ipoe: add missing arp.cDmitry Kozlov
2013-06-22ipoe: introduced proxy-arp optionDmitry Kozlov
2013-06-21remove unnecessary read interface statistics during session terminationDmitry Kozlov
2013-06-14connlimit: Fix size of memcpy() for MAC addressGuillaume Nault
The 'hw' parameter of cl_key_from_mac() is actually a pointer, so 'key.hw' must be used instead to compute the size of the MAC address. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-13ipoe: introduced 'proto' option that will be used for inserted routesDmitry Kozlov
2013-06-11ipoe: fixed mask calculation for gw-ip-addressDmitry Kozlov
ipoe: pass router=siaddr if router was not configured by other way
2013-06-11fixed 'restart' commnd (stops all sessions, then do restart)Kozlov Dmitry
2013-06-11Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeKozlov Dmitry
2013-06-11ipoe: introduced 'gw-ip-address=x.x.x.x/mask' option to use it as server ↵Kozlov Dmitry
address and mask if radius can assign only client address
2013-06-11Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeDmitry Kozlov
2013-06-11ipoe: add per-interface 'src' option (use it as source in route)Dmitry Kozlov
2013-06-07ppp: handle LCP DiscardReqKozlov Dmitry
2013-06-06doc: Fix a few rendering issues in manpageGuillaume Nault
Fix indentation of sections 'log' and 'ip-pool'. Remove space before comma in section 'chap-secret/username-hash'. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-06l2tp: Add src/dst port selection for creating tunnelsGuillaume Nault
Add two options to the 'l2tp create tunnel' command: * 'peer-port' allows to specify the destination port of the SCCRQ packet (instead of standard port 1701). This allows to connect to a peer listening on a non standard port. * 'host-port' allows to specify the source port of the SCCRQ packet (instead of an arbitrary free port). Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-06l2tp: Optionally deactivate ephemeral portsGuillaume Nault
Define option 'use-ephemeral-ports' for accel-ppp.conf. When set to 0, this option deactivates the use of ephemeral ports. That is, accel-ppp won't choose an arbitrary source port when replying to a tunnel establishment request, but will use the SCCRQ's destination port instead. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-06l2tp: Revert to automatic source port selectionGuillaume Nault
Commit 05bb6859 "pptp,l2tp: bind to port options" assigns fixed source port for every L2TP tunnel. This removes support for ephemeral ports (as described in RFC 2661 section 8.1) and statically sets the source port when accel-ppp initiates tunnel connections. This patch reverts to the previous behaviour (automatic source port selection) while keeping the ability to listen for incoming connections on a port different from 1701 (which was the purpose of commit 05bb6859). Support for disabling usage of ephemeral ports and for manual port selection upon tunnel creation will be added later on by means of configuration options. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-06l2tp: Define conf_port as staticGuillaume Nault
This variable doesn't need to be visible outside of its compilation unit. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
2013-06-04ipoe: check opt82 changeKozlov Dmitry
2013-06-04use /var/lib/accel-ppp instead /var/run/accel-pppKozlov Dmitry
2013-06-04Merge branch 'master' of ssh://git.code.sf.net/p/accel-ppp/codeKozlov Dmitry
2013-05-31ipoe: change level of session start/finish messagesKozlov Dmitry
2013-05-31pptp,l2tp: bind to port optionsKozlov Dmitry
2013-05-23cli: fixed 'restart' command (do soft restart, i.e. terminate sessions by ↵Dmitry Kozlov
default)