Changeset 42095


Ignore:
Timestamp:
2014-08-10T12:15:22+02:00 (3 years ago)
Author:
jow
Message:

netfilter: consider reply direction on selective flushing

Signed-off-by: Jo-Philipp Wich <jow@…>

Location:
trunk/target/linux/generic
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/patches-3.10/604-netfilter_conntrack_flush.patch

    r42092 r42095  
    99 #ifdef CONFIG_SYSCTL 
    1010 #include <linux/sysctl.h> 
    11 @@ -268,10 +269,63 @@ static int ct_open(struct inode *inode, 
     11@@ -268,10 +269,66 @@ static int ct_open(struct inode *inode, 
    1212                        sizeof(struct ct_iter_state)); 
    1313 } 
     
    2121+{ 
    2222+       struct kill_request *kr = data; 
    23 +       struct nf_conntrack_tuple *t = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     23+       struct nf_conntrack_tuple *t1 = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     24+       struct nf_conntrack_tuple *t2 = &i->tuplehash[IP_CT_DIR_REPLY].tuple; 
    2425+ 
    2526+       if (!kr->family) 
    2627+               return 1; 
    2728+ 
    28 +       if (t->src.l3num != kr->family) 
     29+       if (t1->src.l3num != kr->family) 
    2930+               return 0; 
    3031+ 
    31 +       return (nf_inet_addr_cmp(&kr->addr, &t->src.u3) || 
    32 +               nf_inet_addr_cmp(&kr->addr, &t->dst.u3)); 
     32+       return (nf_inet_addr_cmp(&kr->addr, &t1->src.u3) || 
     33+               nf_inet_addr_cmp(&kr->addr, &t1->dst.u3) || 
     34+               nf_inet_addr_cmp(&kr->addr, &t2->src.u3) || 
     35+               nf_inet_addr_cmp(&kr->addr, &t2->dst.u3)); 
    3336+} 
    3437+ 
     
    7376        .release = seq_release_net, 
    7477 }; 
    75 @@ -373,7 +427,7 @@ static int nf_conntrack_standalone_init_ 
     78@@ -373,7 +430,7 @@ static int nf_conntrack_standalone_init_ 
    7679 { 
    7780        struct proc_dir_entry *pde; 
  • trunk/target/linux/generic/patches-3.13/604-netfilter_conntrack_flush.patch

    r42093 r42095  
    99 #ifdef CONFIG_SYSCTL 
    1010 #include <linux/sysctl.h> 
    11 @@ -268,10 +269,63 @@ static int ct_open(struct inode *inode, 
     11@@ -268,10 +269,66 @@ static int ct_open(struct inode *inode, 
    1212                        sizeof(struct ct_iter_state)); 
    1313 } 
     
    2121+{ 
    2222+       struct kill_request *kr = data; 
    23 +       struct nf_conntrack_tuple *t = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     23+       struct nf_conntrack_tuple *t1 = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     24+       struct nf_conntrack_tuple *t2 = &i->tuplehash[IP_CT_DIR_REPLY].tuple; 
    2425+ 
    2526+       if (!kr->family) 
    2627+               return 1; 
    2728+ 
    28 +       if (t->src.l3num != kr->family) 
     29+       if (t1->src.l3num != kr->family) 
    2930+               return 0; 
    3031+ 
    31 +       return (nf_inet_addr_cmp(&kr->addr, &t->src.u3) || 
    32 +               nf_inet_addr_cmp(&kr->addr, &t->dst.u3)); 
     32+       return (nf_inet_addr_cmp(&kr->addr, &t1->src.u3) || 
     33+               nf_inet_addr_cmp(&kr->addr, &t1->dst.u3) || 
     34+               nf_inet_addr_cmp(&kr->addr, &t2->src.u3) || 
     35+               nf_inet_addr_cmp(&kr->addr, &t2->dst.u3)); 
    3336+} 
    3437+ 
     
    7376        .release = seq_release_net, 
    7477 }; 
    75 @@ -373,7 +427,7 @@ static int nf_conntrack_standalone_init_ 
     78@@ -373,7 +430,7 @@ static int nf_conntrack_standalone_init_ 
    7679 { 
    7780        struct proc_dir_entry *pde; 
  • trunk/target/linux/generic/patches-3.14/604-netfilter_conntrack_flush.patch

    r42093 r42095  
    99 #ifdef CONFIG_SYSCTL 
    1010 #include <linux/sysctl.h> 
    11 @@ -268,10 +269,63 @@ static int ct_open(struct inode *inode, 
     11@@ -268,10 +269,66 @@ static int ct_open(struct inode *inode, 
    1212                        sizeof(struct ct_iter_state)); 
    1313 } 
     
    2121+{ 
    2222+       struct kill_request *kr = data; 
    23 +       struct nf_conntrack_tuple *t = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     23+       struct nf_conntrack_tuple *t1 = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     24+       struct nf_conntrack_tuple *t2 = &i->tuplehash[IP_CT_DIR_REPLY].tuple; 
    2425+ 
    2526+       if (!kr->family) 
    2627+               return 1; 
    2728+ 
    28 +       if (t->src.l3num != kr->family) 
     29+       if (t1->src.l3num != kr->family) 
    2930+               return 0; 
    3031+ 
    31 +       return (nf_inet_addr_cmp(&kr->addr, &t->src.u3) || 
    32 +               nf_inet_addr_cmp(&kr->addr, &t->dst.u3)); 
     32+       return (nf_inet_addr_cmp(&kr->addr, &t1->src.u3) || 
     33+               nf_inet_addr_cmp(&kr->addr, &t1->dst.u3) || 
     34+               nf_inet_addr_cmp(&kr->addr, &t2->src.u3) || 
     35+               nf_inet_addr_cmp(&kr->addr, &t2->dst.u3)); 
    3336+} 
    3437+ 
     
    7376        .release = seq_release_net, 
    7477 }; 
    75 @@ -373,7 +427,7 @@ static int nf_conntrack_standalone_init_ 
     78@@ -373,7 +430,7 @@ static int nf_conntrack_standalone_init_ 
    7679 { 
    7780        struct proc_dir_entry *pde; 
  • trunk/target/linux/generic/patches-3.3/604-netfilter_conntrack_flush.patch

    r42092 r42095  
    99 #ifdef CONFIG_SYSCTL 
    1010 #include <linux/sysctl.h> 
    11 @@ -267,10 +268,63 @@ static int ct_open(struct inode *inode, 
     11@@ -267,10 +268,66 @@ static int ct_open(struct inode *inode, 
    1212                        sizeof(struct ct_iter_state)); 
    1313 } 
     
    2121+{ 
    2222+       struct kill_request *kr = data; 
    23 +       struct nf_conntrack_tuple *t = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     23+       struct nf_conntrack_tuple *t1 = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     24+       struct nf_conntrack_tuple *t2 = &i->tuplehash[IP_CT_DIR_REPLY].tuple; 
    2425+ 
    2526+       if (!kr->family) 
    2627+               return 1; 
    2728+ 
    28 +       if (t->src.l3num != kr->family) 
     29+       if (t1->src.l3num != kr->family) 
    2930+               return 0; 
    3031+ 
    31 +       return (nf_inet_addr_cmp(&kr->addr, &t->src.u3) || 
    32 +               nf_inet_addr_cmp(&kr->addr, &t->dst.u3)); 
     32+       return (nf_inet_addr_cmp(&kr->addr, &t1->src.u3) || 
     33+               nf_inet_addr_cmp(&kr->addr, &t1->dst.u3) || 
     34+               nf_inet_addr_cmp(&kr->addr, &t2->src.u3) || 
     35+               nf_inet_addr_cmp(&kr->addr, &t2->dst.u3)); 
    3336+} 
    3437+ 
     
    7376        .release = seq_release_net, 
    7477 }; 
    75 @@ -372,7 +426,7 @@ static int nf_conntrack_standalone_init_ 
     78@@ -372,7 +429,7 @@ static int nf_conntrack_standalone_init_ 
    7679 { 
    7780        struct proc_dir_entry *pde; 
  • trunk/target/linux/generic/patches-3.8/604-netfilter_conntrack_flush.patch

    r42092 r42095  
    99 #ifdef CONFIG_SYSCTL 
    1010 #include <linux/sysctl.h> 
    11 @@ -267,10 +268,63 @@ static int ct_open(struct inode *inode, 
     11@@ -267,10 +268,66 @@ static int ct_open(struct inode *inode, 
    1212                        sizeof(struct ct_iter_state)); 
    1313 } 
     
    2121+{ 
    2222+       struct kill_request *kr = data; 
    23 +       struct nf_conntrack_tuple *t = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     23+       struct nf_conntrack_tuple *t1 = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     24+       struct nf_conntrack_tuple *t2 = &i->tuplehash[IP_CT_DIR_REPLY].tuple; 
    2425+ 
    2526+       if (!kr->family) 
    2627+               return 1; 
    2728+ 
    28 +       if (t->src.l3num != kr->family) 
     29+       if (t1->src.l3num != kr->family) 
    2930+               return 0; 
    3031+ 
    31 +       return (nf_inet_addr_cmp(&kr->addr, &t->src.u3) || 
    32 +               nf_inet_addr_cmp(&kr->addr, &t->dst.u3)); 
     32+       return (nf_inet_addr_cmp(&kr->addr, &t1->src.u3) || 
     33+               nf_inet_addr_cmp(&kr->addr, &t1->dst.u3) || 
     34+               nf_inet_addr_cmp(&kr->addr, &t2->src.u3) || 
     35+               nf_inet_addr_cmp(&kr->addr, &t2->dst.u3)); 
    3336+} 
    3437+ 
     
    7376        .release = seq_release_net, 
    7477 }; 
    75 @@ -372,7 +426,7 @@ static int nf_conntrack_standalone_init_ 
     78@@ -372,7 +429,7 @@ static int nf_conntrack_standalone_init_ 
    7679 { 
    7780        struct proc_dir_entry *pde; 
  • trunk/target/linux/generic/patches-3.9/604-netfilter_conntrack_flush.patch

    r42092 r42095  
    99 #ifdef CONFIG_SYSCTL 
    1010 #include <linux/sysctl.h> 
    11 @@ -267,10 +268,63 @@ static int ct_open(struct inode *inode, 
     11@@ -267,10 +268,66 @@ static int ct_open(struct inode *inode, 
    1212                        sizeof(struct ct_iter_state)); 
    1313 } 
     
    2121+{ 
    2222+       struct kill_request *kr = data; 
    23 +       struct nf_conntrack_tuple *t = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     23+       struct nf_conntrack_tuple *t1 = &i->tuplehash[IP_CT_DIR_ORIGINAL].tuple; 
     24+       struct nf_conntrack_tuple *t2 = &i->tuplehash[IP_CT_DIR_REPLY].tuple; 
    2425+ 
    2526+       if (!kr->family) 
    2627+               return 1; 
    2728+ 
    28 +       if (t->src.l3num != kr->family) 
     29+       if (t1->src.l3num != kr->family) 
    2930+               return 0; 
    3031+ 
    31 +       return (nf_inet_addr_cmp(&kr->addr, &t->src.u3) || 
    32 +               nf_inet_addr_cmp(&kr->addr, &t->dst.u3)); 
     32+       return (nf_inet_addr_cmp(&kr->addr, &t1->src.u3) || 
     33+               nf_inet_addr_cmp(&kr->addr, &t1->dst.u3) || 
     34+               nf_inet_addr_cmp(&kr->addr, &t2->src.u3) || 
     35+               nf_inet_addr_cmp(&kr->addr, &t2->dst.u3)); 
    3336+} 
    3437+ 
     
    7376        .release = seq_release_net, 
    7477 }; 
    75 @@ -372,7 +426,7 @@ static int nf_conntrack_standalone_init_ 
     78@@ -372,7 +429,7 @@ static int nf_conntrack_standalone_init_ 
    7679 { 
    7780        struct proc_dir_entry *pde; 
Note: See TracChangeset for help on using the changeset viewer.