mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
[NETFILTER]: x_tables: add xt_{match,target} arguments to match/target functions
Signed-off-by: Patrick McHardy <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
1c524830d0
commit
c498673474
69 changed files with 160 additions and 29 deletions
|
|
@ -208,6 +208,7 @@ static unsigned int arpt_error(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,9 +8,10 @@ MODULE_AUTHOR("Bart De Schuymer <[email protected]>");
|
|||
MODULE_DESCRIPTION("arptables arp payload mangle target");
|
||||
|
||||
static unsigned int
|
||||
target(struct sk_buff **pskb, const struct net_device *in,
|
||||
const struct net_device *out, unsigned int hooknum, const void *targinfo,
|
||||
void *userinfo)
|
||||
target(struct sk_buff **pskb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
unsigned int hooknum, const struct xt_target *target,
|
||||
const void *targinfo, void *userinfo)
|
||||
{
|
||||
const struct arpt_mangle *mangle = targinfo;
|
||||
struct arphdr *arp;
|
||||
|
|
@ -65,8 +66,8 @@ target(struct sk_buff **pskb, const struct net_device *in,
|
|||
}
|
||||
|
||||
static int
|
||||
checkentry(const char *tablename, const void *e, void *targinfo,
|
||||
unsigned int targinfosize, unsigned int hook_mask)
|
||||
checkentry(const char *tablename, const void *e, const struct xt_target *target,
|
||||
void *targinfo, unsigned int targinfosize, unsigned int hook_mask)
|
||||
{
|
||||
const struct arpt_mangle *mangle = targinfo;
|
||||
|
||||
|
|
|
|||
|
|
@ -103,6 +103,7 @@ static unsigned int ipt_snat_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct ipt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -145,6 +146,7 @@ static unsigned int ipt_dnat_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct ipt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -170,6 +172,7 @@ static unsigned int ipt_dnat_target(struct sk_buff **pskb,
|
|||
|
||||
static int ipt_snat_checkentry(const char *tablename,
|
||||
const void *entry,
|
||||
const struct ipt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -186,6 +189,7 @@ static int ipt_snat_checkentry(const char *tablename,
|
|||
|
||||
static int ipt_dnat_checkentry(const char *tablename,
|
||||
const void *entry,
|
||||
const struct ipt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -179,6 +179,7 @@ ipt_error(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -1285,6 +1286,7 @@ static int
|
|||
icmp_match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -1318,6 +1320,7 @@ icmp_match(const struct sk_buff *skb,
|
|||
static int
|
||||
icmp_checkentry(const char *tablename,
|
||||
const void *info,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo,
|
||||
unsigned int matchsize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -311,6 +311,7 @@ target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -380,6 +381,7 @@ target(struct sk_buff **pskb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *e_void,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -458,9 +460,10 @@ checkentry(const char *tablename,
|
|||
}
|
||||
|
||||
/* drop reference count of cluster config when rule is deleted */
|
||||
static void destroy(void *matchinfo, unsigned int matchinfosize)
|
||||
static void destroy(const struct xt_target *target, void *targinfo,
|
||||
unsigned int targinfosize)
|
||||
{
|
||||
struct ipt_clusterip_tgt_info *cipinfo = matchinfo;
|
||||
struct ipt_clusterip_tgt_info *cipinfo = targinfo;
|
||||
|
||||
/* if no more entries are referencing the config, remove it
|
||||
* from the list and destroy the proc entry */
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -58,6 +59,7 @@ target(struct sk_buff **pskb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *e_void,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -114,6 +115,7 @@ target(struct sk_buff **pskb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *e_void,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -415,6 +415,7 @@ ipt_log_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -437,6 +438,7 @@ ipt_log_target(struct sk_buff **pskb,
|
|||
|
||||
static int ipt_log_checkentry(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ static DEFINE_RWLOCK(masq_lock);
|
|||
static int
|
||||
masquerade_check(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -63,6 +64,7 @@ masquerade_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ MODULE_DESCRIPTION("iptables 1:1 NAT mapping of IP networks target");
|
|||
static int
|
||||
check(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -54,6 +55,7 @@ target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ MODULE_DESCRIPTION("iptables REDIRECT target module");
|
|||
static int
|
||||
redirect_check(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -56,6 +57,7 @@ redirect_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -236,6 +236,7 @@ static unsigned int reject(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -283,6 +284,7 @@ static unsigned int reject(struct sk_buff **pskb,
|
|||
|
||||
static int check(const char *tablename,
|
||||
const void *e_void,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ MODULE_DESCRIPTION("iptables special SNAT module for consistent sourceip");
|
|||
static int
|
||||
same_check(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -115,7 +116,7 @@ same_check(const char *tablename,
|
|||
}
|
||||
|
||||
static void
|
||||
same_destroy(void *targinfo,
|
||||
same_destroy(const struct xt_target *target, void *targinfo,
|
||||
unsigned int targinfosize)
|
||||
{
|
||||
struct ipt_same_info *mr = targinfo;
|
||||
|
|
@ -131,6 +132,7 @@ same_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ ipt_tcpmss_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -211,6 +212,7 @@ static inline int find_syn_match(const struct ipt_entry_match *m)
|
|||
static int
|
||||
ipt_tcpmss_checkentry(const char *tablename,
|
||||
const void *e_void,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo,
|
||||
void *userinfo)
|
||||
{
|
||||
|
|
@ -53,6 +54,7 @@ target(struct sk_buff **pskb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *e_void,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -20,9 +20,10 @@ MODULE_DESCRIPTION("IP tables TTL modification module");
|
|||
MODULE_LICENSE("GPL");
|
||||
|
||||
static unsigned int
|
||||
ipt_ttl_target(struct sk_buff **pskb, const struct net_device *in,
|
||||
const struct net_device *out, unsigned int hooknum,
|
||||
const void *targinfo, void *userinfo)
|
||||
ipt_ttl_target(struct sk_buff **pskb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
unsigned int hooknum, const struct xt_target *target,
|
||||
const void *targinfo, void *userinfo)
|
||||
{
|
||||
struct iphdr *iph;
|
||||
const struct ipt_TTL_info *info = targinfo;
|
||||
|
|
@ -67,6 +68,7 @@ ipt_ttl_target(struct sk_buff **pskb, const struct net_device *in,
|
|||
|
||||
static int ipt_ttl_checkentry(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -303,6 +303,7 @@ static unsigned int ipt_ulog_target(struct sk_buff **pskb,
|
|||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
unsigned int hooknum,
|
||||
const struct xt_target *target,
|
||||
const void *targinfo, void *userinfo)
|
||||
{
|
||||
struct ipt_ulog_info *loginfo = (struct ipt_ulog_info *) targinfo;
|
||||
|
|
@ -339,6 +340,7 @@ static void ipt_logfn(unsigned int pf,
|
|||
|
||||
static int ipt_ulog_checkentry(const char *tablename,
|
||||
const void *e,
|
||||
const struct xt_target *target,
|
||||
void *targinfo,
|
||||
unsigned int targinfosize,
|
||||
unsigned int hookmask)
|
||||
|
|
|
|||
|
|
@ -27,8 +27,9 @@ static inline int match_type(u_int32_t addr, u_int16_t mask)
|
|||
return !!(mask & (1 << inet_addr_type(addr)));
|
||||
}
|
||||
|
||||
static int match(const struct sk_buff *skb, const struct net_device *in,
|
||||
const struct net_device *out, const void *matchinfo,
|
||||
static int match(const struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
const struct xt_match *match, const void *matchinfo,
|
||||
int offset, unsigned int protoff, int *hotdrop)
|
||||
{
|
||||
const struct ipt_addrtype_info *info = matchinfo;
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -71,6 +72,7 @@ match(const struct sk_buff *skb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *ip_void,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo,
|
||||
unsigned int matchinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -19,8 +19,9 @@ MODULE_AUTHOR("Harald Welte <[email protected]>");
|
|||
MODULE_DESCRIPTION("iptables DSCP matching module");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
static int match(const struct sk_buff *skb, const struct net_device *in,
|
||||
const struct net_device *out, const void *matchinfo,
|
||||
static int match(const struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
const struct xt_match *match, const void *matchinfo,
|
||||
int offset, unsigned int protoff, int *hotdrop)
|
||||
{
|
||||
const struct ipt_dscp_info *info = matchinfo;
|
||||
|
|
|
|||
|
|
@ -65,8 +65,9 @@ static inline int match_tcp(const struct sk_buff *skb,
|
|||
return 1;
|
||||
}
|
||||
|
||||
static int match(const struct sk_buff *skb, const struct net_device *in,
|
||||
const struct net_device *out, const void *matchinfo,
|
||||
static int match(const struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
const struct xt_match *match, const void *matchinfo,
|
||||
int offset, unsigned int protoff, int *hotdrop)
|
||||
{
|
||||
const struct ipt_ecn_info *info = matchinfo;
|
||||
|
|
@ -86,6 +87,7 @@ static int match(const struct sk_buff *skb, const struct net_device *in,
|
|||
}
|
||||
|
||||
static int checkentry(const char *tablename, const void *ip_void,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo, unsigned int matchsize,
|
||||
unsigned int hook_mask)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -72,6 +73,7 @@ match(const struct sk_buff *skb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *ip_void,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo,
|
||||
unsigned int matchinfosize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -427,6 +427,7 @@ static int
|
|||
hashlimit_match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -506,6 +507,7 @@ hashlimit_match(const struct sk_buff *skb,
|
|||
static int
|
||||
hashlimit_checkentry(const char *tablename,
|
||||
const void *inf,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo,
|
||||
unsigned int matchsize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -555,7 +557,8 @@ hashlimit_checkentry(const char *tablename,
|
|||
}
|
||||
|
||||
static void
|
||||
hashlimit_destroy(void *matchinfo, unsigned int matchsize)
|
||||
hashlimit_destroy(const struct xt_match *match, void *matchinfo,
|
||||
unsigned int matchsize)
|
||||
{
|
||||
struct ipt_hashlimit_info *r = (struct ipt_hashlimit_info *) matchinfo;
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset, unsigned int protoff, int *hotdrop)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -127,6 +128,7 @@ static int
|
|||
match_v1(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -53,6 +54,7 @@ match(const struct sk_buff *skb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *ip,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo,
|
||||
unsigned int matchsize,
|
||||
unsigned int hook_mask)
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ match_policy_out(const struct sk_buff *skb, const struct ipt_policy_info *info)
|
|||
static int match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -120,6 +121,7 @@ static int match(const struct sk_buff *skb,
|
|||
}
|
||||
|
||||
static int checkentry(const char *tablename, const void *ip_void,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo, unsigned int matchsize,
|
||||
unsigned int hook_mask)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -102,6 +102,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -318,7 +319,7 @@ static int ip_recent_ctrl(struct file *file, const char __user *input, unsigned
|
|||
skb->nh.iph->daddr = 0;
|
||||
/* Clear ttl since we have no way of knowing it */
|
||||
skb->nh.iph->ttl = 0;
|
||||
match(skb,NULL,NULL,info,0,0,NULL);
|
||||
match(skb,NULL,NULL,NULL,info,0,0,NULL);
|
||||
|
||||
kfree(skb->nh.iph);
|
||||
out_free_skb:
|
||||
|
|
@ -356,6 +357,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
@ -657,6 +659,7 @@ match(const struct sk_buff *skb,
|
|||
static int
|
||||
checkentry(const char *tablename,
|
||||
const void *ip,
|
||||
const struct xt_match *match,
|
||||
void *matchinfo,
|
||||
unsigned int matchsize,
|
||||
unsigned int hook_mask)
|
||||
|
|
@ -869,7 +872,7 @@ checkentry(const char *tablename,
|
|||
* up its memory.
|
||||
*/
|
||||
static void
|
||||
destroy(void *matchinfo, unsigned int matchsize)
|
||||
destroy(const struct xt_match *match, void *matchinfo, unsigned int matchsize)
|
||||
{
|
||||
const struct ipt_recent_info *info = matchinfo;
|
||||
struct recent_ip_tables *curr_table, *last_table;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ static int
|
|||
match(const struct sk_buff *skb,
|
||||
const struct net_device *in,
|
||||
const struct net_device *out,
|
||||
const struct xt_match *match,
|
||||
const void *matchinfo,
|
||||
int offset,
|
||||
unsigned int protoff,
|
||||
|
|
|
|||
|
|
@ -19,8 +19,9 @@ MODULE_AUTHOR("Harald Welte <[email protected]>");
|
|||
MODULE_DESCRIPTION("IP tables TTL matching module");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
static int match(const struct sk_buff *skb, const struct net_device *in,
|
||||
const struct net_device *out, const void *matchinfo,
|
||||
static int match(const struct sk_buff *skb,
|
||||
const struct net_device *in, const struct net_device *out,
|
||||
const struct xt_match *match, const void *matchinfo,
|
||||
int offset, unsigned int protoff, int *hotdrop)
|
||||
{
|
||||
const struct ipt_ttl_info *info = matchinfo;
|
||||
|
|
|
|||
Loading…
Reference in a new issue