Commit Graph

48 Commits (32189f3e54ae132becca84342f8f9e7b5fd7a126)

Author SHA1 Message Date
Jo-Philipp Wich 82ba2ad017 firewall: allow '*' as synonym for any / all in family and proto options
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42620 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-19 18:18:58 +00:00
Jo-Philipp Wich 17a3d853e9 firewall: fix heap corruption in fw3_bitlen2netmask() with IPv6 addresses
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42610 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-18 12:05:12 +00:00
Jo-Philipp Wich 09bc1aee9e firewall: fix invalid memory access when processing /128 IPv6 addresses from ubus, properly emit REDIRECT rules for local port forwards
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42604 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-09-17 22:09:52 +00:00
John Crispin e723b7928a package/*: remove useless explicit set of function returncode
somebody started to set a function returncode in the validation
stuff and everybody copies it, e.g.

myfunction()
{
	fire_command

	return $?
}

a function automatically returns with the last returncode,
so we can safely remove the command 'return $?'. reference:

http://tldp.org/LDP/abs/html/exit-status.html
"The last command executed in the function or script determines the exit status."

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42278 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-25 06:35:50 +00:00
John Crispin 16be44f48f firewall: the firewall did not start properly on boot
https://dev.openwrt.org/ticket/17593

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42233 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-21 09:53:25 +00:00
Jo-Philipp Wich 22bbd9f08e firewall: fix potential NULL pointer access
Properly skip struct ifaddr entries with NULL ifa_addr, thanks Kostas Papadopoulos for reporting.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42138 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-11 17:45:18 +00:00
Jo-Philipp Wich 2b24ce9a14 firewall: implement selective conntrack flushing (#10225)
Utilize the new selective conntrack flushing facility to clear
out active conntrack entries referring to old IP addresses after
a firewall reload.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42114 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-08-11 09:41:20 +00:00
Jo-Philipp Wich 4f68894215 firewall: implement support for abritary netmasks
Properly parse and pass arbritary netmasks to iptables, this allows
specifying ranges like '::c23f:eff:fe7a:a094/::ffff:ffff:ffff:ffff' to
match the host part of an IPv6 address regardless of the currently active
IPv6 prefix.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41760 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-19 16:30:47 +00:00
Jo-Philipp Wich 2d1acf1049 firewall: fix segfault introduced by latest update
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41558 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-10 16:44:20 +00:00
Jo-Philipp Wich 738111041c firewall: fix regressions introduced after latest ubus rework
The commit 92281eb747b56e748b7c3d754055919c23befdd4 broke fw3_ubus_addresses() so that
no addresses where returned at all, this caused fw3 to not emit NAT reflection rules
anymore.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41556 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-10 10:21:17 +00:00
Jo-Philipp Wich a61c1dd597 firewall: fix issue with parsing network options
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41491 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-03 09:21:44 +00:00
Felix Fietkau 3a49df3b9c firewall: update to the latest version, adds support for fetching firewall rules from procd
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41480 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-07-02 19:18:13 +00:00
Steven Barth 91a26e0d26 firewall3: add fw3 zone function to enumerate devices
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41349 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-06-26 12:20:47 +00:00
Steven Barth 07befa44af firewall: add support for nat-rules and netifd-proto-originating rules
Signed-off-by: Steven Barth <steven@midlink.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40510 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-04-14 10:11:34 +00:00
Felix Fietkau 9985a73076 firewall: update to latest version, fixes a musl build error
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39965 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-03-20 13:51:43 +00:00
Jo-Philipp Wich 13ede72907 firewall: fix validation constraints
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39649 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-21 00:22:23 +00:00
Jo-Philipp Wich 75f88cf3fe firewall: fix several ipset integration issues (#15016)
- Do not consider bitmap storage for IPv6 family sets
	- Move ipset family parameter before any additional option
	- Only emit family parameter for hash sets
	- Do not allow IPv6 iprange for IPv4 sets and vice versa

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39647 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-20 23:20:10 +00:00
John Crispin 7027da552c firewall3: update init.d script to make use of procd
add validation data

Signed-off-by: John Crispin <blogic@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39617 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-18 13:33:47 +00:00
Steven Barth 5451bd5963 firewall: don't reload if there were no address or data changes
This fixes packet loss due to reloading firewall every minute with IPv6
implementation of certain ISPs.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39332 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-19 17:35:33 +00:00
John Crispin d356a6f223 firewall: improve logging in hotplug script
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39300 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-01-15 18:29:59 +00:00
Jo-Philipp Wich 5e634fbc56 firewall: fix handling of tcp_ecn parameter
The firewall3 implementation as well as the shell implementation predating it
used to process the tcp_ecnoption as boolean while it actually is an integer.

Change the code to parse tcp_ecn as integer.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39122 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-12-17 16:59:47 +00:00
Jo-Philipp Wich 80b1b67538 firewall: optimize DNAT rules and skip invalid rules and redirects (#14485)
- instead of writing one (or more) ACCEPT rules in the filter table
	  for each redirect install a global ctstate DNAT accept rule per zone

	- discard rules and redirects which have invalid options set instead
	  of silently skipping the invalid values

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38849 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-11-18 11:59:27 +00:00
Steven Barth a413fcd1bf firewall: Improve ubus support
* Use network.interface dump call instead of individual status calls
  to reduce overall netifd lookups and invokes to 1 per fw3 process.

* Allow protocol handlers to assign a firewall zone for an interface
  in the data section to allow for dynamic firewall zone assignment.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38504 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-23 10:25:26 +00:00
Jo-Philipp Wich fb47dac0bd firewall: small improvements in nat reflection
- do not insert duplicate rules when setting up reflection to a zone containing multiple interfaces
	- set up reflection for any protocol, not just TCP and UDP

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38361 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-10-10 18:15:10 +00:00
Jo-Philipp Wich 4e0f16aad4 firewall: update to git head
- uses "-j CT --notrack" instead of deprecated "-j NOTRACK"
	- fixes support for rule sections with target "NOTRACK"

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37777 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-08-14 15:40:38 +00:00
Jo-Philipp Wich 380cbeb729 firewall: update to git head
- handles redirects as port relocations if the dest_ip points to the router itself

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37374 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-16 14:04:59 +00:00
Felix Fietkau 9441aef40a firewall: add missing dependencies
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37224 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-10 11:33:48 +00:00
Jo-Philipp Wich fb5527b8db firewall: allow routed lan<->lan traffic by default
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37171 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-04 18:10:36 +00:00
Jo-Philipp Wich 24632d6be8 firewall: update to git head
- uses custom formatting for mac addresses to ensure leading zeroes, required for older iptables mac match parser

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37082 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-29 13:28:27 +00:00
Jo-Philipp Wich 85f4e54cbe firewall: update to git head
- fixes misprocessing of unknown symbolic protocol names

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36963 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-18 14:30:51 +00:00
Jo-Philipp Wich b403f780e9 firewall: update to git head
- fixes calculation of IPv4 netmasks derived from 0.0.0.0/0 CIDRs

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36960 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-18 14:14:35 +00:00
Jo-Philipp Wich 8cbd945e7c firewall: update to git head
- properly process intermediate "!" options in argument list (fixes negated ipsets)

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36935 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-13 18:54:49 +00:00
Jo-Philipp Wich fdcddce043 firewall: update to git head
- fixes handling of reject target for rule sections with specific destination zone

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36933 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-13 12:49:00 +00:00
Jo-Philipp Wich f77f1322b8 firewall: udpate to git head (#13652, #13654, #13658)
- optimizes chain usage for ingress rules
  - adds limit match support for redirect rules
  - fixes automatic redirect dest detection on little endian systems
  - leaves base chains in place on reload to allow user rules to target e.g. "reject"

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36871 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-06 14:12:02 +00:00
Jo-Philipp Wich 36e8f9b769 firewall: copy libext*.a from staging dir and drop kernel.mk includes, solves problem with colliding CONFIG_IPV6 symbols
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36868 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-06 14:02:29 +00:00
Jo-Philipp Wich ab659cd65b firewall: update to git head (#13652)
- simplifies using ipsets for rules and redirects, match direction can be specified in-place like option ipset 'setname src dst dst'
  - uses zone_name_src_ACTION chains for input rules, this fixes logging with log enabled src zones

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36854 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-05 11:40:40 +00:00
Jo-Philipp Wich 3e804240df firewall3: fix accidentally changed install directive
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36840 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-04 12:30:50 +00:00
Jo-Philipp Wich ea4472d138 firewall: fix git source url
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36839 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-04 12:23:47 +00:00
Jo-Philipp Wich 0f0fb56719 firewall3: rename to firewall, move into base system menu, update to git head with compatibility fixes for AA
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36838 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-04 12:21:52 +00:00
Jo-Philipp Wich 484c42a934 Drop legacy firewall package
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36837 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-04 12:21:44 +00:00
Steven Barth ac82d7ad0a firewall: Remove obsoleted ULA-border rule
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36622 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-05-13 17:12:10 +00:00
Jo-Philipp Wich e249d2a240 firewall: fix logging rule regression (#12999)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35745 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-22 13:45:20 +00:00
Jo-Philipp Wich 292b4e42b3 firewall: various enhancements
- reduce mssfix related log spam (#10681)
	- separate src and dest terminal chains (#11453, #12945)
	- disable per-zone custom chains by default, they're rarely used

Additionally introduce options "device", "subnet", "extra", "extra_src" and "extra_dest"
to allow defining zones not related to uci interfaces, e.g. to match "ppp+" or any tcp
traffic to and from a specific port.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35484 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-04 14:38:33 +00:00
Jo-Philipp Wich 1b4e6e5e76 firewall: flush conntrack table after changing interface rules
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35348 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-28 15:53:44 +00:00
Steven Barth d2072402f7 firewall: Add ULA site border for IPv6 traffic
This prevents private traffic from leaking out to the internet

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35012 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-04 15:59:28 +00:00
Jo-Philipp Wich 1309ba379e firewall: fix typo in reflection hotplug script
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34569 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-07 13:08:28 +00:00
Jo-Philipp Wich b0ab057b72 firewall: extend nat reflection support
- use comment match to keep track of per-network rules
	- setup reflection for any interface which is part of a masqueraded zone, not just "wan"
	- delete per-network reflection rules if network is brought down

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34472 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-12-04 15:24:21 +00:00
Felix Fietkau abe70b1494 packages: sort network related packages into package/network/
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33688 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-10 12:32:29 +00:00