Age | Commit message (Collapse) | Author |
|
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: Guillaume Nault <g.nault@alphalink.fr>
|
|
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: Guillaume Nault <g.nault@alphalink.fr>
|
|
Establish tunnel and session connections upon reception of SCCCN
and ICCN messages respectively.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Rename l2tp_disconnect() to l2tp_tunnel_free() for consistency
with the new l2tp_session_free() function.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Move session specific operations out of l2tp_disconnect().
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
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: Guillaume Nault <g.nault@alphalink.fr>
|
|
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: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
|
|
Fix several errors and compiler warnings in format string
arguments.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Append the format() __attribute__ to function prototypes which
use a format string. This allows GCC to check for consistency
between the format string and its arguments when these
functions are called.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
Conflicts:
accel-pppd/ppp/ppp_auth.c
|
|
ssh://accel-ppp.git.sourceforge.net/gitroot/accel-ppp/accel-ppp
|
|
|
|
Stop sending messages on tunnels for which no peer is listening.
Discard retransmissions too.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|
|
|
|
|
|
ssh://accel-ppp.git.sourceforge.net/gitroot/accel-ppp/accel-ppp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ipoe: use user paaword same is user name
|
|
Conflicts:
accel-pppd/ppp/ppp_ccp.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ipoe: implemented client address, router address and mask to be passed via radius
|
|
|
|
* commit '918036a3c42cb6dd5b796c52b6aaf278c466c928':
cli: telnet: check for disconnect condition while processing input chars
|
|
|
|
|
|
|
|
|
|
* commit '178b27b0b6d60afdc5039dc3d995f4ad000b5486':
radius: update Class attribute by CoA request
|
|
Add error detection to ensure the FD_CLOEXEC flag gets set for
every new socket.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
* commit 'e04b9b2b35ed36ceb89d6991d2322210f6dd6abc':
L2TP: Close sockets opened by l2tp_connect() upon failure
|
|
* commit '0b99fef73bce3f1abed63e581594de9d1f132312':
L2TP: Fix socket() error handling in l2tp_connect()
iprange: accept network with null mask (which actually disables iprange module)
|
|
|
|
Add error detection to ensure the FD_CLOEXEC flag gets set for
every new socket.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Centralise error management to ensure full cleanup upon failure.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
Check if the tunnel file descriptor has been successfully created.
Explicitely check for negative values to detect socket() errors.
Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
|
|
|