projects
/
l2tpns.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b333571
)
consistent messages
author
bodea
<bodea>
Wed, 27 Apr 2005 13:53:15 +0000
(13:53 +0000)
committer
bodea
<bodea>
Wed, 27 Apr 2005 13:53:15 +0000
(13:53 +0000)
l2tpns.c
patch
|
blob
|
history
ppp.c
patch
|
blob
|
history
radius.c
patch
|
blob
|
history
diff --git
a/l2tpns.c
b/l2tpns.c
index
1f47934
..
fdaba0c
100644
(file)
--- a/
l2tpns.c
+++ b/
l2tpns.c
@@
-4,7
+4,7
@@
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8
-char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.9
0 2005/04/18 05:07:20
bodea Exp $";
+char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.9
1 2005/04/27 13:53:15
bodea Exp $";
#include <arpa/inet.h>
#include <assert.h>
#include <arpa/inet.h>
#include <assert.h>
@@
-1555,7
+1555,7
@@
void sendipcp(tunnelidt t, sessionidt s)
if (radius[r].try > 10)
{
radiusclear(r, s); // Clear radius session.
if (radius[r].try > 10)
{
radiusclear(r, s); // Clear radius session.
- sessionshutdown(s, "No reply
on IPCP
", 3, 0);
+ sessionshutdown(s, "No reply
to IPCP.
", 3, 0);
return;
}
return;
}
@@
-2349,7
+2349,7
@@
void processudp(uint8_t * buf, int len, struct sockaddr_in *addr)
break;
case 14: // CDN
controlnull(t); // ack
break;
case 14: // CDN
controlnull(t); // ack
- sessionshutdown(s, "Closed (Received CDN)", 0, 0);
+ sessionshutdown(s, "Closed (Received CDN)
.
", 0, 0);
break;
case 0xFFFF:
LOG(1, s, t, "Missing message type\n");
break;
case 0xFFFF:
LOG(1, s, t, "Missing message type\n");
@@
-2636,7
+2636,7
@@
static int regular_cleanups(void)
// Drop sessions who have not responded within IDLE_TIMEOUT seconds
if (session[s].last_packet && (time_now - session[s].last_packet >= IDLE_TIMEOUT))
{
// Drop sessions who have not responded within IDLE_TIMEOUT seconds
if (session[s].last_packet && (time_now - session[s].last_packet >= IDLE_TIMEOUT))
{
- sessionshutdown(s, "No response to LCP ECHO requests", 3, 0);
+ sessionshutdown(s, "No response to LCP ECHO requests
.
", 3, 0);
STAT(session_timeout);
if (++count >= MAX_ACTIONS) break;
continue;
STAT(session_timeout);
if (++count >= MAX_ACTIONS) break;
continue;
@@
-2670,7
+2670,7
@@
static int regular_cleanups(void)
if (a & CLI_SESS_KILL)
{
LOG(2, s, session[s].tunnel, "Dropping session by CLI\n");
if (a & CLI_SESS_KILL)
{
LOG(2, s, session[s].tunnel, "Dropping session by CLI\n");
- sessionshutdown(s, "Requested by administrator", 3, 0);
+ sessionshutdown(s, "Requested by administrator
.
", 3, 0);
a = 0; // dead, no need to check for other actions
}
a = 0; // dead, no need to check for other actions
}
@@
-4113,7
+4113,7
@@
int sessionsetup(tunnelidt t, sessionidt s)
if (!session[s].ip)
{
LOG(0, s, t, " No IP allocated. The IP address pool is FULL!\n");
if (!session[s].ip)
{
LOG(0, s, t, " No IP allocated. The IP address pool is FULL!\n");
- sessionshutdown(s, "No IP addresses available", 2, 7);
+ sessionshutdown(s, "No IP addresses available
.
", 2, 7);
return 0;
}
LOG(3, s, t, " No IP allocated. Assigned %s from pool\n",
return 0;
}
LOG(3, s, t, " No IP allocated. Assigned %s from pool\n",
diff --git
a/ppp.c
b/ppp.c
index
b954e32
..
4de5ba7
100644
(file)
--- a/
ppp.c
+++ b/
ppp.c
@@
-1,6
+1,6
@@
// L2TPNS PPP Stuff
// L2TPNS PPP Stuff
-char const *cvs_id_ppp = "$Id: ppp.c,v 1.4
6 2005/03/10 06:16:05
bodea Exp $";
+char const *cvs_id_ppp = "$Id: ppp.c,v 1.4
7 2005/04/27 13:53:17
bodea Exp $";
#include <stdio.h>
#include <string.h>
#include <stdio.h>
#include <string.h>
@@
-39,6
+39,7
@@
void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
{
LOG(1, s, t, "Short PAP %u bytes\n", l);
STAT(tunnel_rx_errors);
{
LOG(1, s, t, "Short PAP %u bytes\n", l);
STAT(tunnel_rx_errors);
+ sessionshutdown(s, "Short PAP packet.", 3, 0);
return ;
}
return ;
}
@@
-46,6
+47,7
@@
void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
{
LOG(1, s, t, "Length mismatch PAP %u/%u\n", hl, l);
STAT(tunnel_rx_errors);
{
LOG(1, s, t, "Length mismatch PAP %u/%u\n", hl, l);
STAT(tunnel_rx_errors);
+ sessionshutdown(s, "PAP length mismatch.", 3, 0);
return ;
}
l = hl;
return ;
}
l = hl;
@@
-54,6
+56,7
@@
void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
{
LOG(1, s, t, "Unexpected PAP code %d\n", *p);
STAT(tunnel_rx_errors);
{
LOG(1, s, t, "Unexpected PAP code %d\n", *p);
STAT(tunnel_rx_errors);
+ sessionshutdown(s, "Unexpected PAP code.", 3, 0);
return ;
}
return ;
}
@@
-102,6
+105,7
@@
void processpap(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
}
LOG(3, s, t, "Fallback response to PAP (%s)\n", (session[s].ip) ? "ACK" : "NAK");
tunnelsend(b, 5 + (p - b), t); // send it
}
LOG(3, s, t, "Fallback response to PAP (%s)\n", (session[s].ip) ? "ACK" : "NAK");
tunnelsend(b, 5 + (p - b), t); // send it
+ sessionshutdown(s, "PAP authentication failed.", 3, 0);
}
else
{
}
else
{
@@
-1076,12
+1080,13
@@
void processccp(tunnelidt t, sessionidt s, uint8_t *p, uint16_t l)
tunnelsend(b, l + (q - b), t); // send it
}
tunnelsend(b, l + (q - b), t); // send it
}
-// send a CHAP
PP packet
+// send a CHAP
challenge
void sendchap(tunnelidt t, sessionidt s)
{
uint8_t b[MAXCONTROL];
uint16_t r = session[s].radius;
uint8_t *q;
void sendchap(tunnelidt t, sessionidt s)
{
uint8_t b[MAXCONTROL];
uint16_t r = session[s].radius;
uint8_t *q;
+ uint8_t *l;
CSTAT(sendchap);
CSTAT(sendchap);
@@
-1105,7
+1110,7
@@
void sendchap(tunnelidt t, sessionidt s)
radius[r].retry = backoff(radius[r].try++);
if (radius[r].try > 5)
{
radius[r].retry = backoff(radius[r].try++);
if (radius[r].try > 5)
{
- sessionshutdown(s, "
Timeout CHAP
", 3, 0);
+ sessionshutdown(s, "
CHAP timeout.
", 3, 0);
STAT(tunnel_tx_errors);
return ;
}
STAT(tunnel_tx_errors);
return ;
}
@@
-1114,7
+1119,7
@@
void sendchap(tunnelidt t, sessionidt s)
*q = 1; // challenge
q[1] = radius[r].id; // ID
*q = 1; // challenge
q[1] = radius[r].id; // ID
- q[4] = 16; //
length
+ q[4] = 16; //
value size (size of challenge)
memcpy(q + 5, radius[r].auth, 16); // challenge
strcpy(q + 21, hostname); // our name
*(uint16_t *) (q + 2) = htons(strlen(hostname) + 21); // length
memcpy(q + 5, radius[r].auth, 16); // challenge
strcpy(q + 21, hostname); // our name
*(uint16_t *) (q + 2) = htons(strlen(hostname) + 21); // length
diff --git
a/radius.c
b/radius.c
index
528aee8
..
c9e5c18
100644
(file)
--- a/
radius.c
+++ b/
radius.c
@@
-1,6
+1,6
@@
// L2TPNS Radius Stuff
// L2TPNS Radius Stuff
-char const *cvs_id_radius = "$Id: radius.c,v 1.2
6 2005/04/18 05:07:20
bodea Exp $";
+char const *cvs_id_radius = "$Id: radius.c,v 1.2
7 2005/04/27 13:53:26
bodea Exp $";
#include <time.h>
#include <stdio.h>
#include <time.h>
#include <stdio.h>
@@
-140,7
+140,7
@@
void radiussend(uint16_t r, uint8_t state)
if (s)
{
if (state == RADIUSAUTH)
if (s)
{
if (state == RADIUSAUTH)
- sessionshutdown(s, "RADIUS timeout", 3, 0);
+ sessionshutdown(s, "RADIUS timeout
.
", 3, 0);
else
{
LOG(1, s, session[s].tunnel, "RADIUS timeout, but in state %s so don't timeout session\n",
else
{
LOG(1, s, session[s].tunnel, "RADIUS timeout, but in state %s so don't timeout session\n",