- 25 1月, 2013 19 次提交
-
-
由 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 提交于
-
由 root 提交于
[BConflicts: accel-pppd/ctrl/openvpn/openvpn.c
-
由 Kozlov Dmitry 提交于
-
- 09 9月, 2012 4 次提交
-
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-
- 07 9月, 2012 15 次提交
-
-
由 Guillaume Nault 提交于
Use a triton context per session so that log_ppp_*() functions can prepend log messages with PPP session information. Since functions must now be called within the right context, allocating and freeing sessions is done in the following manner: * Tunnels allocate new sessions within their own context and activate the new session's context just before answering the ICRQ. * Freeing sessions is slightly more complex. The session is first removed from its tunnel session list (done within the tunnel context), then the session itself if disconnected and freed (done within the session context). The l2tp_tunnel_*() and the l2tp_session_*() functions must now be used within tunnel and session contexts respectively. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Accept to create several sessions for each tunnel. Session IDs are generated randomly and stored in a binary search tree in their corresponding tunnel (i.e. field "sessions" of the l2tp_conn_t structure). A new mempool is defined for session allocations. Generation of the session IDs is simple but quite limited: it selects a 16 bits random ID and checks if a session with this ID already exists. If so the allocation fails and the session is closed. Otherwise the selected ID is used for the new session. So tunnels that handle many sessions may reject new ones, even if unused session IDs are available (just because the randomly choosen ID is already in use). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Deactivate the tunnel connection establishment timer upon reception of SCCCN messages and use a new session specific timer for session establishment. This new session timer follows the same behaviour as the tunnel timeout timer: it is activated when sending the ICRP message and deactivated upon reception of the corresponding ICCN message. This approach is necessary for handling several sessions per tunnel, but it generates the following side effect: if a tunnel is created but no session establishment is requested from the LAC, the tunnel will no longer be automatically torn down (since the tunnel is correctly set up, its timer is no longer running, but since no session establishment process has been started, there is no session timer neither). Later on, tunnel and session timers could be turned into inactivity timeouts to address this limitation. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Separate tunnels and sessions allocation: initialise tunnels after receiving SCCRQ messages (with no session inside), then initialise sessions upon reception of ICRQ messages. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Pass a struct l2tp_sess_t as parameter of functions acting on sessions, instead of retrieving the session from an l2tp_conn_t structure (which will no longer be possible once tunnels will handle several sessions). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
When a PPP connection is torn down, close the underlying session but not the tunnel (unless its last session has been closed). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Make HELLO messages independent from PPP connections (HELLO messages are tunnel specific). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Split StopCCN message building/sending from l2tp_terminate to make it re-usable. Rename l2tp_terminate() to l2tp_tunnel_disconnect() for consistency with other tunnel/session management functions. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Implement CDN message sending in order to give the possibility to close a session without closing the underlying tunnel (close a tunnel only when closing its last session, which is always the case as long as session-multiplexing is not implemented). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Use the "state" field (struct l2tp_conn_t) for tracking tunnel states and "state1" (struct l2tp_sess_t) for sessions. The meaning of the STATE_* has been slightly modified: * STATE_WAIT_SCCN (tunnel): no modification. * STATE_WAIT_ICRQ (session): now unused. Acceptation of ICRQ messages now depend on the tunnel state (STATE_ESTB). * STATE_WAIT_ICCN (session): no modification. * STATE_ESTB (tunnel and session): for tunnels, means that the tunnel is ready to accept new sessions. For sessions, means that the L2TP session is established, but that it doesn't carry any PPP session yet. * STATE_PPP (session): the session is in use (i.e. it is established and carries a PPP session). * STATE_FIN (tunnel): the tunnel is being closed. * STATE_CLOSE (tunnel and session): default state after allocation/free. For session, this is also the state used once disconnected. Since outgoing calls are not implemented yet, STATE_WAIT_OCRP and STATE_WAIT_OCCN are not used. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Establish tunnel and session connections upon reception of SCCCN and ICCN messages respectively. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Rename l2tp_disconnect() to l2tp_tunnel_free() for consistency with the new l2tp_session_free() function. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Move session specific operations out of l2tp_disconnect(). Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Separate session allocation from the rest of tunnel allocation operations. This implies a few extra modifications: * Store destination address of the SCCRQ message in the connection structure (and rename the "addr" field to "lac_addr" for consistency). This information is required for allocating the session. * No more PPP information in log prefix: with session multiplexing, tunnels are no longer tied to a single PPP session, so there is no struct ppp_t to pass as parameter to the log_switch() function. Session allocation is currently still done inside l2tp_tunnel_alloc(). It should rather be done at session establishment once tunnel/session separation will be terminated. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
由 Guillaume Nault 提交于
Use struct l2tp_sess_t to separate session data from other connection information. This is required in order to implement session multiplexing. Signed-off-by: NGuillaume Nault <g.nault@alphalink.fr>
-
- 06 9月, 2012 2 次提交
-
-
由 Kozlov Dmitry 提交于
-
由 Kozlov Dmitry 提交于
-