153#define ICMP_EXPIRE_TIME 60
154#define UDP_EXPIRE_TIME 60
155#define PROTO_EXPIRE_TIME 60
156#define FRAGMENT_ID_EXPIRE_TIME 10
157#define FRAGMENT_PTR_EXPIRE_TIME 30
162#ifndef TCP_EXPIRE_DEAD
163#define TCP_EXPIRE_DEAD 10
168#ifndef TCP_EXPIRE_SINGLEDEAD
169#define TCP_EXPIRE_SINGLEDEAD 90
173#ifndef TCP_EXPIRE_INITIAL
174#define TCP_EXPIRE_INITIAL 300
178#ifndef TCP_EXPIRE_CONNECTED
179#define TCP_EXPIRE_CONNECTED 86400
186#define NO_DEST_PORT 1
238#define N_LINK_TCP_DATA 3
269#define LINK_ICMP IPPROTO_ICMP
270#define LINK_UDP IPPROTO_UDP
271#define LINK_TCP IPPROTO_TCP
272#define LINK_FRAGMENT_ID (IPPROTO_MAX + 1)
273#define LINK_FRAGMENT_PTR (IPPROTO_MAX + 2)
274#define LINK_ADDR (IPPROTO_MAX + 3)
275#define LINK_PPTP (IPPROTO_MAX + 4)
280#define LINK_UNKNOWN_DEST_PORT 0x01
281#define LINK_UNKNOWN_DEST_ADDR 0x02
282#define LINK_PERMANENT 0x04
283#define LINK_PARTIALLY_SPECIFIED 0x03
284#define LINK_UNFIREWALLED 0x08
287#ifndef NO_USE_SOCKETS
353 if (i != 0)
return (i);
359 if (i != 0)
return (i);
368 if (i != 0)
return (i);
370 if (i != 0)
return (i);
400#ifndef NO_USE_SOCKETS
412 u_short, u_short,
int,
int,
int);
422#define GET_NEW_PORT_MAX_ATTEMPTS 20
429#define fw_setfield(la, field, num) \
431 (field)[(num) - la->fireWallBaseNum] = 1; \
434#define fw_clrfield(la, field, num) \
436 (field)[(num) - la->fireWallBaseNum] = 0; \
439#define fw_tstfield(la, field, num) ((field)[(num) - la->fireWallBaseNum])
SPLAY_PROTOTYPE(splay_out, alias_link, all.out, cmp_out)
static void ClearFWHole(struct alias_link *)
static void UninitPunchFW(struct libalias *)
static int InitPacketAliasLog(struct libalias *)
static void ShowAliasStats(struct libalias *)
static struct alias_link * UseLink(struct libalias *, struct alias_link *)
static void InitPunchFW(struct libalias *)
static void DeleteLink(struct alias_link **, int)
static void CleanupAliasData(struct libalias *, int)
static void ClearAllFWHoles(struct libalias *la)
static void UninitPacketAliasLog(struct libalias *)
void SctpShowAliasStats(struct libalias *la)
static struct in_addr const ANY_ADDR
static u_short _RandomPort(struct libalias *la)
static int cmp_out(struct alias_link *a, struct alias_link *b)
static int cmp_in(struct group_in *a, struct group_in *b)
static struct alias_link * FindLinkIn(struct libalias *, struct in_addr, struct in_addr, u_short, u_short, int, int)
static u_short GetSocket(struct libalias *, u_short, int *, int)
static struct alias_link * FindLinkOut(struct libalias *, struct in_addr, struct in_addr, u_short, u_short, int, int)
static void finishoff(void)
static int GetNewPort(struct libalias *, struct alias_link *, int)
static int SeqDiff(u_long, u_long)
static void CleanupLink(struct libalias *, struct alias_link **, int)
static struct group_in * StartPointIn(struct libalias *, struct in_addr, u_short, int, int)
static struct alias_link * ReLink(struct alias_link *, struct in_addr, struct in_addr, struct in_addr, u_short, u_short, int, int, int)
struct alias_link::@26 expire
struct alias_link::@24::@28 all
struct in_addr alias_addr
struct alias_link::@24::@29 pptp
struct in_addr proxy_addr
union alias_link::@27 data
struct in_addr alias_addr
struct ack_data_record ack[N_LINK_TCP_DATA]
TAILQ_ENTRY(bbr_sendmap) r_next