Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
9fb27297
Commit
9fb27297
authored
Mar 11, 2003
by
Art Haas
Committed by
David S. Miller
Mar 11, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[NETFILTER]: Really apply the ipv4 C99 patches this time. :-)
parent
162b5250
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
188 additions
and
68 deletions
+188
-68
net/ipv4/netfilter/arptable_filter.c
net/ipv4/netfilter/arptable_filter.c
+19
-6
net/ipv4/netfilter/ip_conntrack_standalone.c
net/ipv4/netfilter/ip_conntrack_standalone.c
+27
-10
net/ipv4/netfilter/ip_fw_compat.c
net/ipv4/netfilter/ip_fw_compat.c
+34
-15
net/ipv4/netfilter/ip_nat_rule.c
net/ipv4/netfilter/ip_nat_rule.c
+18
-7
net/ipv4/netfilter/ip_nat_standalone.c
net/ipv4/netfilter/ip_nat_standalone.c
+26
-8
net/ipv4/netfilter/iptable_filter.c
net/ipv4/netfilter/iptable_filter.c
+26
-8
net/ipv4/netfilter/iptable_mangle.c
net/ipv4/netfilter/iptable_mangle.c
+38
-14
No files found.
net/ipv4/netfilter/arptable_filter.c
View file @
9fb27297
...
...
@@ -111,9 +111,14 @@ static struct
}
};
static
struct
arpt_table
packet_filter
=
{
{
NULL
,
NULL
},
"filter"
,
&
initial_table
.
repl
,
FILTER_VALID_HOOKS
,
RW_LOCK_UNLOCKED
,
NULL
,
THIS_MODULE
};
static
struct
arpt_table
packet_filter
=
{
.
name
=
"filter"
,
.
table
=
&
initial_table
.
repl
,
.
valid_hooks
=
FILTER_VALID_HOOKS
,
.
lock
=
RW_LOCK_UNLOCKED
,
.
private
=
NULL
,
.
me
=
THIS_MODULE
,
};
/* The work comes in here from netfilter.c */
static
unsigned
int
arpt_hook
(
unsigned
int
hook
,
...
...
@@ -125,9 +130,17 @@ static unsigned int arpt_hook(unsigned int hook,
return
arpt_do_table
(
pskb
,
hook
,
in
,
out
,
&
packet_filter
,
NULL
);
}
static
struct
nf_hook_ops
arpt_ops
[]
=
{
{
{
NULL
,
NULL
},
arpt_hook
,
NF_ARP
,
NF_ARP_IN
,
0
},
{
{
NULL
,
NULL
},
arpt_hook
,
NF_ARP
,
NF_ARP_OUT
,
0
}
static
struct
nf_hook_ops
arpt_ops
[]
=
{
{
.
hook
=
arpt_hook
,
.
pf
=
NF_ARP
,
.
hooknum
=
NF_ARP_IN
,
},
{
.
hook
=
arpt_hook
,
.
pf
=
NF_ARP
,
.
hooknum
=
NF_ARP_OUT
,
}
};
static
int
__init
init
(
void
)
...
...
net/ipv4/netfilter/ip_conntrack_standalone.c
View file @
9fb27297
...
...
@@ -226,17 +226,34 @@ static unsigned int ip_conntrack_local(unsigned int hooknum,
/* Connection tracking may drop packets, but never alters them, so
make it the first hook. */
static
struct
nf_hook_ops
ip_conntrack_in_ops
=
{
{
NULL
,
NULL
},
ip_conntrack_in
,
PF_INET
,
NF_IP_PRE_ROUTING
,
NF_IP_PRI_CONNTRACK
};
static
struct
nf_hook_ops
ip_conntrack_local_out_ops
=
{
{
NULL
,
NULL
},
ip_conntrack_local
,
PF_INET
,
NF_IP_LOCAL_OUT
,
NF_IP_PRI_CONNTRACK
};
static
struct
nf_hook_ops
ip_conntrack_in_ops
=
{
.
hook
=
ip_conntrack_in
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_PRE_ROUTING
,
.
priority
=
NF_IP_PRI_CONNTRACK
,
};
static
struct
nf_hook_ops
ip_conntrack_local_out_ops
=
{
.
hook
=
ip_conntrack_local
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_OUT
,
.
priority
=
NF_IP_PRI_CONNTRACK
,
};
/* Refragmenter; last chance. */
static
struct
nf_hook_ops
ip_conntrack_out_ops
=
{
{
NULL
,
NULL
},
ip_refrag
,
PF_INET
,
NF_IP_POST_ROUTING
,
NF_IP_PRI_LAST
};
static
struct
nf_hook_ops
ip_conntrack_local_in_ops
=
{
{
NULL
,
NULL
},
ip_confirm
,
PF_INET
,
NF_IP_LOCAL_IN
,
NF_IP_PRI_LAST
-
1
};
static
struct
nf_hook_ops
ip_conntrack_out_ops
=
{
.
hook
=
ip_refrag
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_POST_ROUTING
,
.
priority
=
NF_IP_PRI_LAST
,
};
static
struct
nf_hook_ops
ip_conntrack_local_in_ops
=
{
.
hook
=
ip_confirm
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_IN
,
.
priority
=
NF_IP_PRI_LAST
-
1
,
};
static
int
init_or_cleanup
(
int
init
)
{
...
...
net/ipv4/netfilter/ip_fw_compat.c
View file @
9fb27297
...
...
@@ -216,21 +216,40 @@ static int sock_fn(struct sock *sk, int optval, void *user, unsigned int len)
return
-
ip_fw_ctl
(
optval
,
&
tmp_fw
,
len
);
}
static
struct
nf_hook_ops
preroute_ops
=
{
{
NULL
,
NULL
},
fw_in
,
PF_INET
,
NF_IP_PRE_ROUTING
,
NF_IP_PRI_FILTER
};
static
struct
nf_hook_ops
postroute_ops
=
{
{
NULL
,
NULL
},
fw_in
,
PF_INET
,
NF_IP_POST_ROUTING
,
NF_IP_PRI_FILTER
};
static
struct
nf_hook_ops
forward_ops
=
{
{
NULL
,
NULL
},
fw_in
,
PF_INET
,
NF_IP_FORWARD
,
NF_IP_PRI_FILTER
};
static
struct
nf_hook_ops
local_in_ops
=
{
{
NULL
,
NULL
},
fw_confirm
,
PF_INET
,
NF_IP_LOCAL_IN
,
NF_IP_PRI_LAST
-
1
};
static
struct
nf_sockopt_ops
sock_ops
=
{
{
NULL
,
NULL
},
PF_INET
,
64
,
64
+
1024
+
1
,
&
sock_fn
,
0
,
0
,
NULL
,
0
,
NULL
};
static
struct
nf_hook_ops
preroute_ops
=
{
.
hook
=
fw_in
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_PRE_ROUTING
,
.
priority
=
NF_IP_PRI_FILTER
,
};
static
struct
nf_hook_ops
postroute_ops
=
{
.
hook
=
fw_in
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_POST_ROUTING
,
.
priority
=
NF_IP_PRI_FILTER
,
};
static
struct
nf_hook_ops
forward_ops
=
{
.
hook
=
fw_in
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_FORWARD
,
.
priority
=
NF_IP_PRI_FILTER
,
};
static
struct
nf_hook_ops
local_in_ops
=
{
.
hook
=
fw_confirm
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_IN
,
.
priority
=
NF_IP_PRI_LAST
-
1
,
};
static
struct
nf_sockopt_ops
sock_ops
=
{
.
pf
=
PF_INET
,
.
set_optmin
=
64
,
.
set_optmax
=
64
+
1024
+
1
,
.
set
=
&
sock_fn
,
};
extern
int
ipfw_init_or_cleanup
(
int
init
);
...
...
net/ipv4/netfilter/ip_nat_rule.c
View file @
9fb27297
...
...
@@ -101,9 +101,13 @@ static struct
}
};
static
struct
ipt_table
nat_table
=
{
{
NULL
,
NULL
},
"nat"
,
&
nat_initial_table
.
repl
,
NAT_VALID_HOOKS
,
RW_LOCK_UNLOCKED
,
NULL
,
THIS_MODULE
};
static
struct
ipt_table
nat_table
=
{
.
name
=
"nat"
,
.
table
=
&
nat_initial_table
.
repl
,
.
valid_hooks
=
NAT_VALID_HOOKS
,
.
lock
=
RW_LOCK_UNLOCKED
,
.
me
=
THIS_MODULE
,
};
/* Source NAT */
static
unsigned
int
ipt_snat_target
(
struct
sk_buff
**
pskb
,
...
...
@@ -270,10 +274,17 @@ int ip_nat_rule_find(struct sk_buff **pskb,
return
ret
;
}
static
struct
ipt_target
ipt_snat_reg
=
{
{
NULL
,
NULL
},
"SNAT"
,
ipt_snat_target
,
ipt_snat_checkentry
,
NULL
};
static
struct
ipt_target
ipt_dnat_reg
=
{
{
NULL
,
NULL
},
"DNAT"
,
ipt_dnat_target
,
ipt_dnat_checkentry
,
NULL
};
static
struct
ipt_target
ipt_snat_reg
=
{
.
name
=
"SNAT"
,
.
target
=
ipt_snat_target
,
.
checkentry
=
ipt_snat_checkentry
,
};
static
struct
ipt_target
ipt_dnat_reg
=
{
.
name
=
"DNAT"
,
.
target
=
ipt_dnat_target
,
.
checkentry
=
ipt_dnat_checkentry
,
};
int
__init
ip_nat_rule_init
(
void
)
{
...
...
net/ipv4/netfilter/ip_nat_standalone.c
View file @
9fb27297
...
...
@@ -225,18 +225,36 @@ ip_nat_local_fn(unsigned int hooknum,
/* We must be after connection tracking and before packet filtering. */
/* Before packet filtering, change destination */
static
struct
nf_hook_ops
ip_nat_in_ops
=
{
{
NULL
,
NULL
},
ip_nat_fn
,
PF_INET
,
NF_IP_PRE_ROUTING
,
NF_IP_PRI_NAT_DST
};
static
struct
nf_hook_ops
ip_nat_in_ops
=
{
.
hook
=
ip_nat_fn
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_PRE_ROUTING
,
.
priority
=
NF_IP_PRI_NAT_DST
,
};
/* After packet filtering, change source */
static
struct
nf_hook_ops
ip_nat_out_ops
=
{
{
NULL
,
NULL
},
ip_nat_out
,
PF_INET
,
NF_IP_POST_ROUTING
,
NF_IP_PRI_NAT_SRC
};
static
struct
nf_hook_ops
ip_nat_out_ops
=
{
.
hook
=
ip_nat_out
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_POST_ROUTING
,
.
priority
=
NF_IP_PRI_NAT_SRC
,
};
/* Before packet filtering, change destination */
static
struct
nf_hook_ops
ip_nat_local_out_ops
=
{
{
NULL
,
NULL
},
ip_nat_local_fn
,
PF_INET
,
NF_IP_LOCAL_OUT
,
NF_IP_PRI_NAT_DST
};
static
struct
nf_hook_ops
ip_nat_local_out_ops
=
{
.
hook
=
ip_nat_local_fn
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_OUT
,
.
priority
=
NF_IP_PRI_NAT_DST
,
};
#ifdef CONFIG_IP_NF_NAT_LOCAL
static
struct
nf_hook_ops
ip_nat_local_in_ops
=
{
{
NULL
,
NULL
},
ip_nat_fn
,
PF_INET
,
NF_IP_LOCAL_IN
,
NF_IP_PRI_NAT_SRC
};
static
struct
nf_hook_ops
ip_nat_local_in_ops
=
{
.
hook
=
ip_nat_fn
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_IN
,
.
priority
=
NF_IP_PRI_NAT_SRC
,
};
#endif
/* Protocol registration. */
...
...
net/ipv4/netfilter/iptable_filter.c
View file @
9fb27297
...
...
@@ -81,9 +81,13 @@ static struct
}
};
static
struct
ipt_table
packet_filter
=
{
{
NULL
,
NULL
},
"filter"
,
&
initial_table
.
repl
,
FILTER_VALID_HOOKS
,
RW_LOCK_UNLOCKED
,
NULL
,
THIS_MODULE
};
static
struct
ipt_table
packet_filter
=
{
.
name
=
"filter"
,
.
table
=
&
initial_table
.
repl
,
.
valid_hooks
=
FILTER_VALID_HOOKS
,
.
lock
=
RW_LOCK_UNLOCKED
,
.
me
=
THIS_MODULE
};
/* The work comes in here from netfilter.c. */
static
unsigned
int
...
...
@@ -114,11 +118,25 @@ ipt_local_out_hook(unsigned int hook,
return
ipt_do_table
(
pskb
,
hook
,
in
,
out
,
&
packet_filter
,
NULL
);
}
static
struct
nf_hook_ops
ipt_ops
[]
=
{
{
{
NULL
,
NULL
},
ipt_hook
,
PF_INET
,
NF_IP_LOCAL_IN
,
NF_IP_PRI_FILTER
},
{
{
NULL
,
NULL
},
ipt_hook
,
PF_INET
,
NF_IP_FORWARD
,
NF_IP_PRI_FILTER
},
{
{
NULL
,
NULL
},
ipt_local_out_hook
,
PF_INET
,
NF_IP_LOCAL_OUT
,
NF_IP_PRI_FILTER
}
static
struct
nf_hook_ops
ipt_ops
[]
=
{
{
.
hook
=
ipt_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_IN
,
.
priority
=
NF_IP_PRI_FILTER
,
},
{
.
hook
=
ipt_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_FORWARD
,
.
priority
=
NF_IP_PRI_FILTER
,
},
{
.
hook
=
ipt_local_out_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_OUT
,
.
priority
=
NF_IP_PRI_FILTER
,
},
};
/* Default to forward because I got too much mail already. */
...
...
net/ipv4/netfilter/iptable_mangle.c
View file @
9fb27297
...
...
@@ -114,9 +114,13 @@ static struct
}
};
static
struct
ipt_table
packet_mangler
=
{
{
NULL
,
NULL
},
"mangle"
,
&
initial_table
.
repl
,
MANGLE_VALID_HOOKS
,
RW_LOCK_UNLOCKED
,
NULL
,
THIS_MODULE
};
static
struct
ipt_table
packet_mangler
=
{
.
name
=
"mangle"
,
.
table
=
&
initial_table
.
repl
,
.
valid_hooks
=
MANGLE_VALID_HOOKS
,
.
lock
=
RW_LOCK_UNLOCKED
,
.
me
=
THIS_MODULE
,
};
/* The work comes in here from netfilter.c. */
static
unsigned
int
...
...
@@ -167,17 +171,37 @@ ipt_local_hook(unsigned int hook,
return
ret
;
}
static
struct
nf_hook_ops
ipt_ops
[]
=
{
{
{
NULL
,
NULL
},
ipt_route_hook
,
PF_INET
,
NF_IP_PRE_ROUTING
,
NF_IP_PRI_MANGLE
},
{
{
NULL
,
NULL
},
ipt_local_hook
,
PF_INET
,
NF_IP_LOCAL_IN
,
NF_IP_PRI_MANGLE
},
{
{
NULL
,
NULL
},
ipt_route_hook
,
PF_INET
,
NF_IP_FORWARD
,
NF_IP_PRI_MANGLE
},
{
{
NULL
,
NULL
},
ipt_local_hook
,
PF_INET
,
NF_IP_LOCAL_OUT
,
NF_IP_PRI_MANGLE
},
{
{
NULL
,
NULL
},
ipt_route_hook
,
PF_INET
,
NF_IP_POST_ROUTING
,
NF_IP_PRI_MANGLE
}
static
struct
nf_hook_ops
ipt_ops
[]
=
{
{
.
hook
=
ipt_route_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_PRE_ROUTING
,
.
priority
=
NF_IP_PRI_MANGLE
,
},
{
.
hook
=
ipt_local_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_IN
,
.
priority
=
NF_IP_PRI_MANGLE
,
},
{
.
hook
=
ipt_route_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_FORWARD
,
.
priority
=
NF_IP_PRI_MANGLE
,
},
{
.
hook
=
ipt_local_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_LOCAL_OUT
,
.
priority
=
NF_IP_PRI_MANGLE
,
},
{
.
hook
=
ipt_route_hook
,
.
pf
=
PF_INET
,
.
hooknum
=
NF_IP_POST_ROUTING
,
.
priority
=
NF_IP_PRI_MANGLE
,
},
};
static
int
__init
init
(
void
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment