X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/560fad4be9a737cce1990547b0ebf5195646dd3d..e68cca06cfa3fe30e85ed4b5135e2671db30f81b:/l2tpns.h?ds=sidebyside

diff --git a/l2tpns.h b/l2tpns.h
index a79c52f..b4449b0 100644
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,11 +1,10 @@
 // L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.102 2005/12/05 14:10:42 bodea Exp $
+// $Id: l2tpns.h,v 1.107 2005/12/14 02:19:15 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 
 #include <netinet/in.h>
-#include <execinfo.h>
 #include <stdio.h>
 #include <signal.h>
 #include <stdlib.h>
@@ -15,7 +14,7 @@
 #include <sys/types.h>
 #include <libcli.h>
 
-#define VERSION	"2.1.13"
+#define VERSION	"2.1.15"
 
 // Limits
 #define MAXTUNNEL	500		// could be up to 65535
@@ -23,24 +22,24 @@
 #define MAXTBFS		6000		// Maximum token bucket filters. Might need up to 2 * session.
 
 #define RADIUS_SHIFT	6
-#define	RADIUS_FDS	(1 << RADIUS_SHIFT)
+#define RADIUS_FDS	(1 << RADIUS_SHIFT)
 #define RADIUS_MASK	((1 << RADIUS_SHIFT) - 1)
 #define MAXRADIUS	(1 << (8 + RADIUS_SHIFT))
 
 #define T_UNDEF		(0xffff)	// A tunnel ID that won't ever be used. Mark session as undefined.
 #define T_FREE		(0)		// A tunnel ID that won't ever be used. Mark session as free.
 
-#define	MAXCONTROL	1000		// max length control message we ever send...
+#define MAXCONTROL	1000		// max length control message we ever send...
 #define MINMTU		576		// minimum recommended MTU (rfc1063)
 #define PPPMTU		1500		// default PPP MTU
 #define MAXMTU		2600		// arbitrary maximum MTU
-#define	MAXETHER	(MAXMTU+18)	// max packet we try sending to tun
-#define	MAXTEL		96		// telephone number
+#define MAXETHER	(MAXMTU+18)	// max packet we try sending to tun
+#define MAXTEL		96		// telephone number
 #define MAXUSER		128		// username
 #define MAXPASS		128		// password
 #define MAXPLUGINS	20		// maximum number of plugins to load
 #define MAXRADSERVER	10		// max radius servers
-#define	MAXROUTE	10		// max static routes per session
+#define MAXROUTE	10		// max static routes per session
 #define MAXIPPOOL	131072		// max number of ip addresses in pool
 #define RINGBUFFER_SIZE	10000		// Number of ringbuffer entries to allocate
 #define MAX_LOG_LENGTH	512		// Maximum size of log message
@@ -76,18 +75,18 @@
 #define IPPOOLFILE	FLASHDIR "/ip_pool"		// Address pool configuration
 #define ACCT_TIME	3000				// 5 minute accounting interval
 #define ACCT_SHUT_TIME	600				// 1 minute for counters of shutdown sessions
-#define	L2TPPORT	1701				// L2TP port
+#define L2TPPORT	1701				// L2TP port
 #define RADPORT		1645				// old radius port...
 #define DAEPORT		3799				// DAE port
-#define	PKTARP		0x0806				// ARP packet type
-#define	PKTIP		0x0800				// IPv4 packet type
-#define	PKTIPV6		0x86DD				// IPv6 packet type
-#define	PPPPAP		0xC023
-#define	PPPCHAP		0xC223
-#define	PPPLCP		0xC021
-#define	PPPIPCP		0x8021
-#define	PPPIPV6CP	0x8057
-#define	PPPCCP		0x80FD
+#define PKTARP		0x0806				// ARP packet type
+#define PKTIP		0x0800				// IPv4 packet type
+#define PKTIPV6		0x86DD				// IPv6 packet type
+#define PPPPAP		0xC023
+#define PPPCHAP		0xC223
+#define PPPLCP		0xC021
+#define PPPIPCP		0x8021
+#define PPPIPV6CP	0x8057
+#define PPPCCP		0x80FD
 #define PPPIP		0x0021
 #define PPPIPV6		0x0057
 #define PPPMP		0x003D
@@ -319,8 +318,8 @@ typedef struct
 } sessionlocalt;
 
 // session flags
-#define	SESSION_PFC	(1 << 0)	// use Protocol-Field-Compression
-#define	SESSION_ACFC	(1 << 1)	// use Address-and-Control-Field-Compression
+#define SESSION_PFC	(1 << 0)	// use Protocol-Field-Compression
+#define SESSION_ACFC	(1 << 1)	// use Address-and-Control-Field-Compression
 #define SESSION_STARTED	(1 << 2)	// RADIUS Start record sent
 
 // 168 bytes per tunnel
@@ -614,7 +613,7 @@ typedef struct
 #endif
 } configt;
 
-enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IPv4, IPv6, MAC };
+enum config_typet { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IPv4, IPv6 };
 typedef struct
 {
 	char *key;
@@ -694,6 +693,7 @@ uint8_t *makeppp(uint8_t *b, int size, uint8_t *p, int l, sessionidt s, tunnelid
 void sendlcp(sessionidt s, tunnelidt t);
 void send_ipin(sessionidt s, uint8_t *buf, int len);
 void sendccp(sessionidt s, tunnelidt t);
+void protoreject(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l, uint16_t proto);
 
 
 // radius.c
@@ -740,6 +740,7 @@ int cmd_show_hist_open(struct cli_def *cli, char *command, char **argv, int argc
 void _log(int level, sessionidt s, tunnelidt t, const char *format, ...) __attribute__((format (printf, 4, 5)));
 void _log_hex(int level, const char *title, const uint8_t *data, int maxsize);
 
+
 int sessionsetup(sessionidt s, tunnelidt t);
 int run_plugins(int plugin_type, void *data);
 void rebuild_address_pool(void);
@@ -765,21 +766,6 @@ extern sessionlocalt *sess_local;
 extern ippoolt *ip_address_pool;
 #define sessionfree (session[0].next)
 
-#define log_backtrace(count, max) \
-if (count++ < max) { \
-	void *array[20]; \
-	char **strings; \
-	int size, i; \
-	LOG(0, 0, t, "Backtrace follows:\n"); \
-	size = backtrace(array, 10); \
-	strings = backtrace_symbols(array, size); \
-	if (strings) for (i = 0; i < size; i++) \
-	{ \
-		LOG(0, 0, t, " %s\n", strings[i]); \
-	} \
-	free(strings); \
-}
-
 
 extern configt *config;
 extern time_t basetime;		// Time when this process started.