- 26 1月, 2013 4 次提交
-
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
This reverts commit 2b9c6812.
-
由 Kozlov Dmitry 提交于
-
- 25 1月, 2013 36 次提交
-
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Aleksey Zhukov 提交于
-
由 Aleksey Zhukov 提交于
-
由 Guillaume 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: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Guillaume Nault 提交于
Retrieve the socket address size from the address passed to connect(). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Use l2tp_tunnel_alloc() cleanup code for handling TID assignment failure. The previous manual cleanup did not close the triton handler file descriptor. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Tunnel establishment may not be immediately followed by the creation of a new session. In this case there is no message to send to the peer after receiving an SCCCN; so it won't be acknowledged and the peer will then have to retransmit it. This patch makes the tunnel always acknowledge SCCCN by replying with a ZLB, thus avoiding useless retransmission from the peer. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Send a ZLB upon reception of a CDN message. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Update call to l2tp_send_CDN() to avoid using the 0 result code (reserved by RFC 2661). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
The sessions timeout timers were registered in the triton context of their parent tunnel. This patch uses the session's context instead because the timer's callback function, l2tp_session_timeout(), expects to be called from a session context. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
When a PPP session terminates on its own (i.e. not on behalf of a L2TP tunnel/session request), the l2tp_ppp_finished() callback calls the L2TP session disconnection function without updating the session's state. Session disconnection code then works like if the PPP session was still up: it tries to disconnect the PPP by calling ap_session_terminate(). But since the PPP is already terminated, it returns immediately, without calling the l2tp_ppp_finished() callback; so session cleanup won't happen. This patch updates the session's state upon PPP disconnection, so that the session disconnection code won't try to disconnect the PPP in __l2tp_session_free(). The stat_active counter is now updated inside the l2tp_ppp_finished() callback so that it gets called upon any PPP disconnection. Sending of the EV_CTRL_FINISHED event has also been moved. It is now performed in the generic part of __l2tp_session_free() because it has to be done every time the session really terminates. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
PPP and L2TP session contexts are the same. So since l2tp_ppp_finished() is called within the PPP context, it doesn't need to switch to the session context for calling l2tp_ppp_session_disconnect(). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Freeing a session requires four steps: 1-The session asynchronously requests its parent tunnel to remove the session (the tunnel must start the process). 2-The parent tunnel removes its reference to this session, then makes an asynchronous call to the session cleanup function. 3-The session performs its cleanup, frees its memory and asynchronously notifies its parent tunnel. 4-The parent tunnel decrements its sessions counter (so that it knows when it doesn't have any session depending on it). If two requests, A and B, for removing the same session, arrive almost simultaneously, then the following scenario may occur: 1a-The session handles request A and transmits it to its parent tunnel. 2a-The parent tunnel removes its reference to this session and requests the session to perform cleanup. 1b-In the mean time, the session handles request B and transmit it to its parent tunnel. 3a-The session continues to handle request A, cleans up the session and frees memory. 2b-The parent tunnel handles request B: it removes its reference to the session and tells it to perform cleanup. But the session pointer used has just been freed at step 3a. This patch modifies step 1, so that the session transmit the session-id instead of a pointer to the session structure. That way, the tunnel can check if the session has already been deleted (or is pending deletion), without having to manipulate a potentially invalid pointer. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Use a session counter for each tunnel to avoid freeing a tunnel while still having sessions depending on it. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Dmitry Kozlov 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
This reverts commit 3bff891eac97037c633be960b822c688e8629165.
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
This reverts commit 9f4f36169f03857b6910402028717210270a0339.
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov 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
-
由 Kozlov Dmitry 提交于
session: don't accept new sessions in shutdown mode
-
由 Dmitry Kozlov 提交于
-
由 Dmitry Kozlov 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-