[NETFILTER]: nf_conntrack: use bool type in struct nf_conntrack_tuple.h
Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Patrick McHardy <kaber@trash.net>
This commit is contained in:
committed by
Patrick McHardy
parent
09f263cd39
commit
5f2b4c9006
@@ -194,11 +194,10 @@ extern void nf_conntrack_hash_insert(struct nf_conn *ct);
|
|||||||
|
|
||||||
extern void nf_conntrack_flush(void);
|
extern void nf_conntrack_flush(void);
|
||||||
|
|
||||||
extern int nf_ct_get_tuplepr(const struct sk_buff *skb,
|
extern bool nf_ct_get_tuplepr(const struct sk_buff *skb,
|
||||||
unsigned int nhoff,
|
unsigned int nhoff, u_int16_t l3num,
|
||||||
u_int16_t l3num,
|
|
||||||
struct nf_conntrack_tuple *tuple);
|
struct nf_conntrack_tuple *tuple);
|
||||||
extern int nf_ct_invert_tuplepr(struct nf_conntrack_tuple *inverse,
|
extern bool nf_ct_invert_tuplepr(struct nf_conntrack_tuple *inverse,
|
||||||
const struct nf_conntrack_tuple *orig);
|
const struct nf_conntrack_tuple *orig);
|
||||||
|
|
||||||
extern void __nf_ct_refresh_acct(struct nf_conn *ct,
|
extern void __nf_ct_refresh_acct(struct nf_conn *ct,
|
||||||
|
@@ -30,7 +30,7 @@ extern void nf_conntrack_cleanup(void);
|
|||||||
extern int nf_conntrack_proto_init(void);
|
extern int nf_conntrack_proto_init(void);
|
||||||
extern void nf_conntrack_proto_fini(void);
|
extern void nf_conntrack_proto_fini(void);
|
||||||
|
|
||||||
extern int
|
extern bool
|
||||||
nf_ct_get_tuple(const struct sk_buff *skb,
|
nf_ct_get_tuple(const struct sk_buff *skb,
|
||||||
unsigned int nhoff,
|
unsigned int nhoff,
|
||||||
unsigned int dataoff,
|
unsigned int dataoff,
|
||||||
@@ -40,7 +40,7 @@ nf_ct_get_tuple(const struct sk_buff *skb,
|
|||||||
const struct nf_conntrack_l3proto *l3proto,
|
const struct nf_conntrack_l3proto *l3proto,
|
||||||
const struct nf_conntrack_l4proto *l4proto);
|
const struct nf_conntrack_l4proto *l4proto);
|
||||||
|
|
||||||
extern int
|
extern bool
|
||||||
nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse,
|
nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse,
|
||||||
const struct nf_conntrack_tuple *orig,
|
const struct nf_conntrack_tuple *orig,
|
||||||
const struct nf_conntrack_l3proto *l3proto,
|
const struct nf_conntrack_l3proto *l3proto,
|
||||||
|
@@ -166,7 +166,7 @@ struct nf_conntrack_tuple_hash
|
|||||||
|
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
|
|
||||||
static inline int __nf_ct_tuple_src_equal(const struct nf_conntrack_tuple *t1,
|
static inline bool __nf_ct_tuple_src_equal(const struct nf_conntrack_tuple *t1,
|
||||||
const struct nf_conntrack_tuple *t2)
|
const struct nf_conntrack_tuple *t2)
|
||||||
{
|
{
|
||||||
return (nf_inet_addr_cmp(&t1->src.u3, &t2->src.u3) &&
|
return (nf_inet_addr_cmp(&t1->src.u3, &t2->src.u3) &&
|
||||||
@@ -174,7 +174,7 @@ static inline int __nf_ct_tuple_src_equal(const struct nf_conntrack_tuple *t1,
|
|||||||
t1->src.l3num == t2->src.l3num);
|
t1->src.l3num == t2->src.l3num);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int __nf_ct_tuple_dst_equal(const struct nf_conntrack_tuple *t1,
|
static inline bool __nf_ct_tuple_dst_equal(const struct nf_conntrack_tuple *t1,
|
||||||
const struct nf_conntrack_tuple *t2)
|
const struct nf_conntrack_tuple *t2)
|
||||||
{
|
{
|
||||||
return (nf_inet_addr_cmp(&t1->dst.u3, &t2->dst.u3) &&
|
return (nf_inet_addr_cmp(&t1->dst.u3, &t2->dst.u3) &&
|
||||||
@@ -182,21 +182,23 @@ static inline int __nf_ct_tuple_dst_equal(const struct nf_conntrack_tuple *t1,
|
|||||||
t1->dst.protonum == t2->dst.protonum);
|
t1->dst.protonum == t2->dst.protonum);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nf_ct_tuple_equal(const struct nf_conntrack_tuple *t1,
|
static inline bool nf_ct_tuple_equal(const struct nf_conntrack_tuple *t1,
|
||||||
const struct nf_conntrack_tuple *t2)
|
const struct nf_conntrack_tuple *t2)
|
||||||
{
|
{
|
||||||
return __nf_ct_tuple_src_equal(t1, t2) &&
|
return __nf_ct_tuple_src_equal(t1, t2) &&
|
||||||
__nf_ct_tuple_dst_equal(t1, t2);
|
__nf_ct_tuple_dst_equal(t1, t2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nf_ct_tuple_mask_equal(const struct nf_conntrack_tuple_mask *m1,
|
static inline bool
|
||||||
|
nf_ct_tuple_mask_equal(const struct nf_conntrack_tuple_mask *m1,
|
||||||
const struct nf_conntrack_tuple_mask *m2)
|
const struct nf_conntrack_tuple_mask *m2)
|
||||||
{
|
{
|
||||||
return (nf_inet_addr_cmp(&m1->src.u3, &m2->src.u3) &&
|
return (nf_inet_addr_cmp(&m1->src.u3, &m2->src.u3) &&
|
||||||
m1->src.u.all == m2->src.u.all);
|
m1->src.u.all == m2->src.u.all);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nf_ct_tuple_src_mask_cmp(const struct nf_conntrack_tuple *t1,
|
static inline bool
|
||||||
|
nf_ct_tuple_src_mask_cmp(const struct nf_conntrack_tuple *t1,
|
||||||
const struct nf_conntrack_tuple *t2,
|
const struct nf_conntrack_tuple *t2,
|
||||||
const struct nf_conntrack_tuple_mask *mask)
|
const struct nf_conntrack_tuple_mask *mask)
|
||||||
{
|
{
|
||||||
@@ -205,20 +207,21 @@ static inline int nf_ct_tuple_src_mask_cmp(const struct nf_conntrack_tuple *t1,
|
|||||||
for (count = 0; count < NF_CT_TUPLE_L3SIZE; count++) {
|
for (count = 0; count < NF_CT_TUPLE_L3SIZE; count++) {
|
||||||
if ((t1->src.u3.all[count] ^ t2->src.u3.all[count]) &
|
if ((t1->src.u3.all[count] ^ t2->src.u3.all[count]) &
|
||||||
mask->src.u3.all[count])
|
mask->src.u3.all[count])
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((t1->src.u.all ^ t2->src.u.all) & mask->src.u.all)
|
if ((t1->src.u.all ^ t2->src.u.all) & mask->src.u.all)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
if (t1->src.l3num != t2->src.l3num ||
|
if (t1->src.l3num != t2->src.l3num ||
|
||||||
t1->dst.protonum != t2->dst.protonum)
|
t1->dst.protonum != t2->dst.protonum)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
return 1;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int nf_ct_tuple_mask_cmp(const struct nf_conntrack_tuple *t,
|
static inline bool
|
||||||
|
nf_ct_tuple_mask_cmp(const struct nf_conntrack_tuple *t,
|
||||||
const struct nf_conntrack_tuple *tuple,
|
const struct nf_conntrack_tuple *tuple,
|
||||||
const struct nf_conntrack_tuple_mask *mask)
|
const struct nf_conntrack_tuple_mask *mask)
|
||||||
{
|
{
|
||||||
|
@@ -94,7 +94,7 @@ static inline u_int32_t hash_conntrack(const struct nf_conntrack_tuple *tuple)
|
|||||||
nf_conntrack_hash_rnd);
|
nf_conntrack_hash_rnd);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
bool
|
||||||
nf_ct_get_tuple(const struct sk_buff *skb,
|
nf_ct_get_tuple(const struct sk_buff *skb,
|
||||||
unsigned int nhoff,
|
unsigned int nhoff,
|
||||||
unsigned int dataoff,
|
unsigned int dataoff,
|
||||||
@@ -108,7 +108,7 @@ nf_ct_get_tuple(const struct sk_buff *skb,
|
|||||||
|
|
||||||
tuple->src.l3num = l3num;
|
tuple->src.l3num = l3num;
|
||||||
if (l3proto->pkt_to_tuple(skb, nhoff, tuple) == 0)
|
if (l3proto->pkt_to_tuple(skb, nhoff, tuple) == 0)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
tuple->dst.protonum = protonum;
|
tuple->dst.protonum = protonum;
|
||||||
tuple->dst.dir = IP_CT_DIR_ORIGINAL;
|
tuple->dst.dir = IP_CT_DIR_ORIGINAL;
|
||||||
@@ -117,10 +117,8 @@ nf_ct_get_tuple(const struct sk_buff *skb,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(nf_ct_get_tuple);
|
EXPORT_SYMBOL_GPL(nf_ct_get_tuple);
|
||||||
|
|
||||||
int nf_ct_get_tuplepr(const struct sk_buff *skb,
|
bool nf_ct_get_tuplepr(const struct sk_buff *skb, unsigned int nhoff,
|
||||||
unsigned int nhoff,
|
u_int16_t l3num, struct nf_conntrack_tuple *tuple)
|
||||||
u_int16_t l3num,
|
|
||||||
struct nf_conntrack_tuple *tuple)
|
|
||||||
{
|
{
|
||||||
struct nf_conntrack_l3proto *l3proto;
|
struct nf_conntrack_l3proto *l3proto;
|
||||||
struct nf_conntrack_l4proto *l4proto;
|
struct nf_conntrack_l4proto *l4proto;
|
||||||
@@ -134,7 +132,7 @@ int nf_ct_get_tuplepr(const struct sk_buff *skb,
|
|||||||
ret = l3proto->get_l4proto(skb, nhoff, &protoff, &protonum);
|
ret = l3proto->get_l4proto(skb, nhoff, &protoff, &protonum);
|
||||||
if (ret != NF_ACCEPT) {
|
if (ret != NF_ACCEPT) {
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
return 0;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
l4proto = __nf_ct_l4proto_find(l3num, protonum);
|
l4proto = __nf_ct_l4proto_find(l3num, protonum);
|
||||||
@@ -147,7 +145,7 @@ int nf_ct_get_tuplepr(const struct sk_buff *skb,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(nf_ct_get_tuplepr);
|
EXPORT_SYMBOL_GPL(nf_ct_get_tuplepr);
|
||||||
|
|
||||||
int
|
bool
|
||||||
nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse,
|
nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse,
|
||||||
const struct nf_conntrack_tuple *orig,
|
const struct nf_conntrack_tuple *orig,
|
||||||
const struct nf_conntrack_l3proto *l3proto,
|
const struct nf_conntrack_l3proto *l3proto,
|
||||||
@@ -157,7 +155,7 @@ nf_ct_invert_tuple(struct nf_conntrack_tuple *inverse,
|
|||||||
|
|
||||||
inverse->src.l3num = orig->src.l3num;
|
inverse->src.l3num = orig->src.l3num;
|
||||||
if (l3proto->invert_tuple(inverse, orig) == 0)
|
if (l3proto->invert_tuple(inverse, orig) == 0)
|
||||||
return 0;
|
return false;
|
||||||
|
|
||||||
inverse->dst.dir = !orig->dst.dir;
|
inverse->dst.dir = !orig->dst.dir;
|
||||||
|
|
||||||
@@ -738,10 +736,10 @@ nf_conntrack_in(int pf, unsigned int hooknum, struct sk_buff *skb)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(nf_conntrack_in);
|
EXPORT_SYMBOL_GPL(nf_conntrack_in);
|
||||||
|
|
||||||
int nf_ct_invert_tuplepr(struct nf_conntrack_tuple *inverse,
|
bool nf_ct_invert_tuplepr(struct nf_conntrack_tuple *inverse,
|
||||||
const struct nf_conntrack_tuple *orig)
|
const struct nf_conntrack_tuple *orig)
|
||||||
{
|
{
|
||||||
int ret;
|
bool ret;
|
||||||
|
|
||||||
rcu_read_lock();
|
rcu_read_lock();
|
||||||
ret = nf_ct_invert_tuple(inverse, orig,
|
ret = nf_ct_invert_tuple(inverse, orig,
|
||||||
|
Reference in New Issue
Block a user