openl2tp-1.4
Submitted by admin on 27 May, 2008 - 19:45
Tagged:
ftp://ftp.openl2tp.org/releases/openl2tp-1.4
V1.4, 27-MAY-2008 Fix a bug in the parsing of some parameters of config files. Previous versions limited the characters that could be used in string values such that parameters that were filenames containing the / character lead to parse errors. The parser is now more flexible about the characters that it allows in string values. Revert a change made in 1.0 to do with L2TP Hello message generation. Prior to 1.0, we only sent Hello packets if no L2TP control _or_ data packets passed over the tunnel during the Hello timeout period, but this was changed to unconditionally send Hellos. It turns out that the L2TPv3 spec (Openl2tp is currently L2TPv2) specifies the behaviour that we had prior to 1.0. The new spec says that the L2TPv2 spec was misinterpreted by several vendors and explicitely calls out that all L2TP implementations should check for both control and data activity before sending a Hello. This avoids possible Hello timeouts when under extreme load conditions, where Hello messages might be swamped by data traffic. Don't create the tunnel PPPoX socket until the tunnel is up. (Session PPPoX sockets are unchanged.) We previously created the tunnel socket when the tunnel instance was created, before the peer tunnel id was known. This change means that the actual peer tunnel id so can be passed down to the kernel when the connect() call is made. Update the ipsec plugin to use absolute paths to the ipsec utilities. This avoids problems when the server runs somewhere other than / (typically when run in the foreground for debugging). Change GNU-specific __FUNCTION__ strings in the source code to __func__ since the former is now deprecated. This change does not alter the generated code. Change the structure of a struct l2tp_packet to store a struct iovec in the structure rather than using our own struct l2tp_packet_buffer. This avoids allocating a struct iovec when building the struct msghdr for sendmsg() calls. It also avoids converting from one struct format to another and is therefore more efficient. There are no externally visible differences as a result of this change. Fix the no_ppp=yes parameter of session and session profiles. A change in version 1.2 broke this feature such that sessions failed whenever this parameter was set.