mirror of
https://github.com/opnsense/src.git
synced 2026-06-11 01:30:30 -04:00
fix conflicts
This commit is contained in:
parent
d2138b8dd4
commit
8982edd714
2 changed files with 78 additions and 43 deletions
|
|
@ -2250,15 +2250,6 @@ void *ifp;
|
|||
nat->nat_sumd[1] = nat->nat_sumd[0];
|
||||
}
|
||||
|
||||
<<<<<<< ip_nat.c
|
||||
for (n = nat_list; (n != NULL); n = n->in_next)
|
||||
if (n->in_ifp == ifp) {
|
||||
n->in_ifp = (void *)GETUNIT(n->in_ifname);
|
||||
if (!n->in_ifp)
|
||||
n->in_ifp = (void *)-1;
|
||||
}
|
||||
RWLOCK_EXIT(&ipf_nat);
|
||||
=======
|
||||
for (n = nat_list; (n != NULL); n = n->in_next)
|
||||
if (n->in_ifp == ifp) {
|
||||
n->in_ifp = (void *)GETUNIT(n->in_ifname, 4);
|
||||
|
|
@ -2266,7 +2257,6 @@ void *ifp;
|
|||
n->in_ifp = (void *)-1;
|
||||
}
|
||||
RWLOCK_EXIT(&ipf_nat);
|
||||
>>>>>>> 1.1.1.8
|
||||
SPL_X(s);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (C) 1995-1998 by Darren Reed.
|
||||
* Copyright (C) 1995-2000 by Darren Reed.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are permitted
|
||||
* provided that this notice is preserved and due credit is given
|
||||
|
|
@ -18,23 +18,15 @@
|
|||
#endif
|
||||
|
||||
#if defined(__STDC__) || defined(__GNUC__)
|
||||
#define SIOCADNAT _IOW('r', 80, struct ipnat)
|
||||
#define SIOCRMNAT _IOW('r', 81, struct ipnat)
|
||||
#define SIOCGNATS _IOR('r', 82, struct natstat)
|
||||
#define SIOCGNATL _IOWR('r', 83, struct natlookup)
|
||||
#define SIOCGFRST _IOR('r', 84, struct ipfrstat)
|
||||
#define SIOCGIPST _IOR('r', 85, struct ips_stat)
|
||||
#define SIOCFLNAT _IOWR('r', 86, int)
|
||||
#define SIOCCNATL _IOWR('r', 87, int)
|
||||
#define SIOCADNAT _IOW('r', 60, struct ipnat *)
|
||||
#define SIOCRMNAT _IOW('r', 61, struct ipnat *)
|
||||
#define SIOCGNATS _IOWR('r', 62, struct natstat *)
|
||||
#define SIOCGNATL _IOWR('r', 63, struct natlookup *)
|
||||
#else
|
||||
#define SIOCADNAT _IOW(r, 80, struct ipnat)
|
||||
#define SIOCRMNAT _IOW(r, 81, struct ipnat)
|
||||
#define SIOCGNATS _IOR(r, 82, struct natstat)
|
||||
#define SIOCGNATL _IOWR(r, 83, struct natlookup)
|
||||
#define SIOCGFRST _IOR(r, 84, struct ipfrstat)
|
||||
#define SIOCGIPST _IOR(r, 85, struct ips_stat)
|
||||
#define SIOCFLNAT _IOWR(r, 86, int)
|
||||
#define SIOCCNATL _IOWR(r, 87, int)
|
||||
#define SIOCADNAT _IOW(r, 60, struct ipnat *)
|
||||
#define SIOCRMNAT _IOW(r, 61, struct ipnat *)
|
||||
#define SIOCGNATS _IOWR(r, 62, struct natstat *)
|
||||
#define SIOCGNATL _IOWR(r, 63, struct natlookup *)
|
||||
#endif
|
||||
|
||||
#undef LARGE_NAT /* define this if you're setting up a system to NAT
|
||||
|
|
@ -46,14 +38,17 @@
|
|||
*/
|
||||
#define NAT_SIZE 127
|
||||
#define RDR_SIZE 127
|
||||
#define HOSTMAP_SIZE 127
|
||||
#define NAT_TABLE_SZ 127
|
||||
#ifdef LARGE_NAT
|
||||
#undef NAT_SIZE
|
||||
#undef RDR_SIZE
|
||||
#undef NAT_TABLE_SZ
|
||||
#undef HOSTMAP_SIZE 127
|
||||
#define NAT_SIZE 2047
|
||||
#define RDR_SIZE 2047
|
||||
#define NAT_TABLE_SZ 16383
|
||||
#define HOSTMAP_SIZE 8191
|
||||
#endif
|
||||
#ifndef APR_LABELLEN
|
||||
#define APR_LABELLEN 16
|
||||
|
|
@ -62,14 +57,16 @@
|
|||
|
||||
#define DEF_NAT_AGE 1200 /* 10 minutes (600 seconds) */
|
||||
|
||||
struct ap_session;
|
||||
|
||||
typedef struct nat {
|
||||
u_long nat_age;
|
||||
int nat_flags;
|
||||
u_32_t nat_sumd[2];
|
||||
u_32_t nat_ipsumd;
|
||||
void *nat_data;
|
||||
void *nat_aps; /* proxy session */
|
||||
frentry_t *nat_fr; /* filter rule ptr if appropriate */
|
||||
struct ap_session *nat_aps; /* proxy session */
|
||||
struct frentry *nat_fr; /* filter rule ptr if appropriate */
|
||||
struct in_addr nat_inip;
|
||||
struct in_addr nat_outip;
|
||||
struct in_addr nat_oip; /* other ip */
|
||||
|
|
@ -82,17 +79,24 @@ typedef struct nat {
|
|||
u_char nat_tcpstate[2];
|
||||
u_char nat_p; /* protocol for NAT */
|
||||
struct ipnat *nat_ptr; /* pointer back to the rule */
|
||||
struct hostmap *nat_hm;
|
||||
struct nat *nat_next;
|
||||
struct nat *nat_hnext[2];
|
||||
struct nat **nat_hstart[2];
|
||||
void *nat_ifp;
|
||||
int nat_dir;
|
||||
char nat_ifname[IFNAMSIZ];
|
||||
#if SOLARIS || defined(_sgi)
|
||||
kmutex_t nat_lock;
|
||||
#endif
|
||||
} nat_t;
|
||||
|
||||
typedef struct ipnat {
|
||||
struct ipnat *in_next;
|
||||
struct ipnat *in_rnext;
|
||||
struct ipnat **in_prnext;
|
||||
struct ipnat *in_mnext;
|
||||
struct ipnat **in_pmnext;
|
||||
void *in_ifp;
|
||||
void *in_apr;
|
||||
u_long in_space;
|
||||
|
|
@ -107,11 +111,11 @@ typedef struct ipnat {
|
|||
struct in_addr in_in[2];
|
||||
struct in_addr in_out[2];
|
||||
struct in_addr in_src[2];
|
||||
struct frtuc in_tuc;
|
||||
int in_redir; /* 0 if it's a mapping, 1 if it's a hard redir */
|
||||
char in_ifname[IFNAMSIZ];
|
||||
char in_plabel[APR_LABELLEN]; /* proxy label */
|
||||
char in_p; /* protocol */
|
||||
u_short in_dport;
|
||||
} ipnat_t;
|
||||
|
||||
#define in_pmin in_port[0] /* Also holds static redir port */
|
||||
|
|
@ -123,6 +127,12 @@ typedef struct ipnat {
|
|||
#define in_outmsk in_out[1].s_addr
|
||||
#define in_srcip in_src[0].s_addr
|
||||
#define in_srcmsk in_src[1].s_addr
|
||||
#define in_scmp in_tuc.ftu_scmp
|
||||
#define in_dcmp in_tuc.ftu_dcmp
|
||||
#define in_stop in_tuc.ftu_stop
|
||||
#define in_dtop in_tuc.ftu_dtop
|
||||
#define in_sport in_tuc.ftu_sport
|
||||
#define in_dport in_tuc.ftu_dport
|
||||
|
||||
#define NAT_OUTBOUND 0
|
||||
#define NAT_INBOUND 1
|
||||
|
|
@ -147,6 +157,34 @@ typedef struct natlookup {
|
|||
u_short nl_realport;
|
||||
} natlookup_t;
|
||||
|
||||
|
||||
typedef struct nat_save {
|
||||
void *ipn_next;
|
||||
struct nat ipn_nat;
|
||||
struct ipnat ipn_ipnat;
|
||||
struct frentry ipn_fr;
|
||||
int ipn_dsize;
|
||||
char ipn_data[4];
|
||||
} nat_save_t;
|
||||
|
||||
#define ipn_rule ipn_nat.nat_fr
|
||||
|
||||
typedef struct natget {
|
||||
void *ng_ptr;
|
||||
int ng_sz;
|
||||
} natget_t;
|
||||
|
||||
|
||||
typedef struct hostmap {
|
||||
struct hostmap *hm_next;
|
||||
struct hostmap **hm_pnext;
|
||||
struct ipnat *hm_ipnat;
|
||||
struct in_addr hm_realip;
|
||||
struct in_addr hm_mapip;
|
||||
int hm_ref;
|
||||
} hostmap_t;
|
||||
|
||||
|
||||
typedef struct natstat {
|
||||
u_long ns_mapped[2];
|
||||
u_long ns_rules;
|
||||
|
|
@ -155,6 +193,8 @@ typedef struct natstat {
|
|||
u_long ns_inuse;
|
||||
u_long ns_logged;
|
||||
u_long ns_logfail;
|
||||
u_long ns_memfail;
|
||||
u_long ns_badnat;
|
||||
nat_t **ns_table[2];
|
||||
ipnat_t *ns_list;
|
||||
void *ns_apslist;
|
||||
|
|
@ -164,16 +204,20 @@ typedef struct natstat {
|
|||
nat_t *ns_instances;
|
||||
} natstat_t;
|
||||
|
||||
#define IPN_ANY 0x00
|
||||
#define IPN_TCP 0x01
|
||||
#define IPN_UDP 0x02
|
||||
#define IPN_ANY 0x000
|
||||
#define IPN_TCP 0x001
|
||||
#define IPN_UDP 0x002
|
||||
#define IPN_TCPUDP (IPN_TCP|IPN_UDP)
|
||||
#define IPN_DELETE 0x04
|
||||
#define IPN_ICMPERR 0x08
|
||||
#define IPN_DELETE 0x004
|
||||
#define IPN_ICMPERR 0x008
|
||||
#define IPN_RF (IPN_TCPUDP|IPN_DELETE|IPN_ICMPERR)
|
||||
#define IPN_AUTOPORTMAP 0x10
|
||||
#define IPN_RANGE 0x20
|
||||
#define IPN_USERFLAGS (IPN_TCPUDP|IPN_AUTOPORTMAP|IPN_RANGE)
|
||||
#define IPN_AUTOPORTMAP 0x010
|
||||
#define IPN_IPRANGE 0x020
|
||||
#define IPN_USERFLAGS (IPN_TCPUDP|IPN_AUTOPORTMAP|IPN_IPRANGE|\
|
||||
IPN_SPLIT|IPN_ROUNDR|IPN_FILTER)
|
||||
#define IPN_FILTER 0x040
|
||||
#define IPN_SPLIT 0x080
|
||||
#define IPN_ROUNDR 0x100
|
||||
|
||||
|
||||
typedef struct natlog {
|
||||
|
|
@ -195,7 +239,7 @@ typedef struct natlog {
|
|||
#define NL_NEWRDR NAT_REDIRECT
|
||||
#define NL_EXPIRE 0xffff
|
||||
|
||||
#define NAT_HASH_FN(k,m) (((k) + ((k) >> 12)) % (m))
|
||||
#define NAT_HASH_FN(k,l,m) (((k) + ((k) >> 12) + l) % (m))
|
||||
|
||||
#define LONG_SUM(in) (((in) & 0xffff) + ((in) >> 16))
|
||||
|
||||
|
|
@ -214,6 +258,7 @@ typedef struct natlog {
|
|||
extern u_int ipf_nattable_sz;
|
||||
extern u_int ipf_natrules_sz;
|
||||
extern u_int ipf_rdrrules_sz;
|
||||
extern int fr_nat_lock;
|
||||
extern void ip_natsync __P((void *));
|
||||
extern u_long fr_defnatage;
|
||||
extern u_long fr_defnaticmpage;
|
||||
|
|
@ -222,7 +267,7 @@ extern nat_t *nat_instances;
|
|||
extern ipnat_t **nat_rules;
|
||||
extern ipnat_t **rdr_rules;
|
||||
extern natstat_t nat_stats;
|
||||
#if defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
#if defined(__NetBSD__) || defined(__OpenBSD__) || (__FreeBSD_version >= 300003)
|
||||
extern int nat_ioctl __P((caddr_t, u_long, int));
|
||||
#else
|
||||
extern int nat_ioctl __P((caddr_t, int, int));
|
||||
|
|
@ -236,10 +281,10 @@ extern nat_t *nat_inlookup __P((void *, u_int, u_int, struct in_addr,
|
|||
extern nat_t *nat_maplookup __P((void *, u_int, struct in_addr,
|
||||
struct in_addr));
|
||||
extern nat_t *nat_lookupredir __P((natlookup_t *));
|
||||
extern nat_t *nat_icmpinlookup __P((ip_t *, fr_info_t *));
|
||||
extern nat_t *nat_icmpin __P((ip_t *, fr_info_t *, u_int *));
|
||||
extern nat_t *nat_icmplookup __P((ip_t *, fr_info_t *, int));
|
||||
extern nat_t *nat_icmp __P((ip_t *, fr_info_t *, u_int *, int));
|
||||
extern void nat_insert __P((nat_t *));
|
||||
|
||||
extern int ip_natout __P((ip_t *, fr_info_t *));
|
||||
extern int ip_natin __P((ip_t *, fr_info_t *));
|
||||
extern void ip_natunload __P((void)), ip_natexpire __P((void));
|
||||
extern void nat_log __P((struct nat *, u_int));
|
||||
|
|
|
|||
Loading…
Reference in a new issue