Commit graph

79 commits

Author SHA1 Message Date
Jo-Philipp Wich
fbe18753fb
Merge pull request #6428 from stokito/luci-app-firewall
luci-app-firewall: missing variable declaration
2023-06-23 12:03:48 +02:00
Sergey Ponomarev
b5ba9c3741 luci-app-firewall: missing variable declaration
Signed-off-by: Sergey Ponomarev <stokito@gmail.com>
2023-06-10 21:51:09 +03:00
Jonathan G. Underwood
73abc0ee6d luci-app-firewall: add ICMPv6 MLD rules
This adds entries for ICMPv6 MLD types. This fixes the ICMPv6 MLD types to be consistent with fw4.

These types were added to fw4 in this commit:

    -  e6e82a5520

But were omitted from the corresponding luci-app-firewall commit:

    - 88a016cbff

Signed-off-by: Jonathan G. Underwood <jonathan.underwood@gmail.com>
2023-05-16 20:34:55 +01:00
Dirk Brenken
148759a5c5
luci-app-firewall: fix the IPv6 forwards/snats view
* corrects the view as IPv4 and IPv6 for rules where the family is 'any' and the IP not set (this fixes #9c55500), e.g. a forward rule like that:

config redirect 'adblock_lan53'
	option name 'Adblock DNS (lan, 53)'
	option src 'lan'
	option proto 'tcp udp'
	option src_dport '53'
	option dest_port '53'
	option target 'DNAT'
	option family 'any'

Signed-off-by: Dirk Brenken <dev@brenken.org>
2023-04-05 11:30:29 +02:00
Jo-Philipp Wich
f941042741
Merge pull request #6317 from 1715173329/of/masq6
luci-app-firewall: add masq6 option for zones
2023-03-30 20:22:45 +02:00
Jo-Philipp Wich
7a4afdcb05 application/luci-app-firewall: fix null access
Fixes: 48086e1c7b ("luci-app-firewall: Add ipset field to snats")
Fixes: d0d891c23e ("luci-app-firewall: Add ipset field to forwards (redirects)")
Fixes: f407a013ba ("luci-app-firewall: Add ipset field to rules")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-03-30 20:07:25 +02:00
Tianling Shen
ef288b791d
luci-app-firewall: add masq6 option for zones
Allow configure Masquerading6 via LuCI interface.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-03-30 17:43:54 +08:00
Paul Dee
48086e1c7b luci-app-firewall: Add ipset field to snats
Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-03-29 15:33:37 +02:00
Paul Dee
d0d891c23e luci-app-firewall: Add ipset field to forwards (redirects)
Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-03-29 15:33:37 +02:00
Paul Dee
f407a013ba luci-app-firewall: Add ipset field to rules
Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-03-29 15:33:37 +02:00
Paul Dee
0484343903 luci-app-firewall: implement IPsets GUI
Enable it and place it between snats and custom tabs

Tested on 22.03.2, 22.03.3

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-03-29 15:33:37 +02:00
Jo-Philipp Wich
3d0313dc38
Merge pull request #6250 from systemcrash/extended_icmp
Extended icmp selections in firewall
2023-03-16 00:02:58 +01:00
Chen Minqiang
9c55500fe8 luci-app-firewall: allow ipv6 setup
Allow setup ipv6 for Port Forwards and NAT Rules if firewall4 is
used.

Add 'Restrict to address family' option for NAT Rules, if family is
any/empty , assume it is ipv4. this allow setup NAT6 rules in web ui

Signed-off-by: Chen Minqiang <ptpt52@gmail.com>
2023-03-15 23:37:46 +01:00
Jo-Philipp Wich
c0d4c01725 luci-app-firewall: suppress lengthy masq description in zone table
Ensure that the description of the masquerade option does not end up in
the grid section overview as it messes up the table layout.

Fixes: c54efde717 ("luci-app-firewall: Add clarification to masquerading option")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2023-03-15 23:34:57 +01:00
Paul Dee
88a016cbff luci-app-firewall: extend icmpv6 types available
luci complement to e6e82a5520

Tested on 22.03.3

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-02-17 12:57:32 +01:00
Paul Dee
7bf1c2daa0 luci-app-firewall: remove the '', 'any' mapping in icmpv6 entries
This prevents its inconsistent checked/unchecked behaviour when exiting
and re-entering the dialogue.

Tested on 22.03.3

Signed-off-by: Paul Dee <itsascambutmailmeanyway@gmail.com>
2023-02-17 12:57:32 +01:00
Martijn Staal
c54efde717 luci-app-firewall: Add clarification to masquerading option
Signed-off-by: Martijn Staal <27222398+mastaal@users.noreply.github.com>
2023-02-04 13:40:12 +01:00
Jo-Philipp Wich
0eb3aeb010 luci-app-firewall: fix misspelling of restrictions
Fixes: #5749
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-03-30 20:44:13 +02:00
Jo-Philipp Wich
21784446c1 luci-app-firewall: fix setting unspecified zone on forwardings
Fixes: #5685
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2022-02-16 00:27:37 +01:00
Stijn Tintel
48599d8d1d luci-app-firewall: initial firewall4 compatibility
Initial changes required for firewall4 compatibility:
* depend on uc-firewall instead of firewall
* detect installed version of firewall and hide incompatible features

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Reviewed-by: Jo-Philipp Wich <jo@mein.io>
2022-01-06 15:03:57 +02:00
Jo-Philipp Wich
4381816315 luci-app-firewall: CBIProtocolSelect: properly handle unrecognized protos
Prevent incorrectly replacing unrecognized protocol numbers with -1.

Fixes: #5587
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-12-09 16:24:31 +01:00
Jo-Philipp Wich
0b4b6380d0 luci-app-firewall: use firewall.getZoneColorStyle() in views
Use the new `firewall.getZoneColorStyle()` helper to apply background
color styles.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-11-11 13:00:50 +01:00
Jo-Philipp Wich
6c96414d9b luci-app-firewall: adjust zone badge markup
No functional changes but required for styling rules.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-11-10 11:57:43 +01:00
Paul Dee
19c66ef539 luci-app-firewall: add ipv6 exclusive ICMP types
to firewall 'Match ICMP type' field.

See issue #5213

Signed-off-by: Paul Dee <systemcrash@users.noreply.github.com>
2021-08-31 23:15:16 +02:00
Fritz D. Ansel
406e6c8177 firewall: more text lines for custom script
10 lines are very few and there is much unused space

Signed-off-by: Fritz D. Ansel <fdansel@yandex.ru>
2021-08-11 09:25:42 +02:00
Stan Grishin
1b4936a6e2 luci-app-firewall: replace hh.mm.ss with hh:mm:ss
Signed-off-by: Stan Grishin <stangri@melmac.net>
2021-08-04 20:16:04 +00:00
Jo-Philipp Wich
dc0cfc642e luci-app-firewall: further luci-rpc/getHostHints compatibility fixes
Rework some further code instances to fall back to the legacy ipv4/ipv6
properties if needed.

Fixes: c7b7b42cd3 ("treewide: Update JS using luci-rpc getHostHints")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-06-03 10:03:48 +02:00
Niels Widger
c7b7b42cd3 treewide: Update JS using luci-rpc getHostHints
Update frontend JS code which uses luci-rpc getHostHints to support the new
response format which removes the `ipv4` and `ipv6` host hint string fields
and replaces them with `ipaddrs` and `ip6addrs` weighted string list fields.

Signed-off-by: Niels Widger <niels@qacafe.com>
[rework code to be forwards/backwards compatible, fix some Network.Hosts
 methods, fix IP choice ordering, change commit subject, rewrap commit
 message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-06-03 09:51:09 +02:00
Jo-Philipp Wich
bbf1a5343f luci-app-firewall: simplify some form actions
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-03-15 11:41:50 +01:00
Jo-Philipp Wich
f64b3d5094 luci-app-firewall: allow negative prefix lengths
Fixes: #4812
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-03-01 15:18:25 +01:00
Jo-Philipp Wich
154117ff05 luci-app-firewall: zones.js: fix HTML display in ct helper selection
Fixes: #4845
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-03-01 09:09:35 +01:00
Jo-Philipp Wich
5d528da29f luci-app-firewall: fix creating multiple networks from zone network selector
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-03-01 08:54:58 +01:00
Jo-Philipp Wich
b60be8cfd8 luci-app-firewall: properly handle custom multi IP/MAC input
Store multiple space separated custom address values as separate uci
list items in the configuration.

Fixes: #4822
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2021-02-19 11:29:14 +01:00
Florian Eckert
ab390cf94e luci-app-firewall: add tooltip on rules that have time restrictions enabled
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-01-13 12:33:29 +01:00
Florian Eckert
4bbf6db9d9 luci-app-firewall: add limited masquerading tooltip
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2021-01-13 12:29:03 +01:00
Florian Eckert
972096bf39 luci-app-firewall: map proto '*' and 'any' to all on rule config
Before the change, the options '*' and 'any' in the drop down were not
recognized as valid options, when loaded from the uci. With this change,
the options '*' and 'any' are mapped to 'all' and saved as such. This
change is especially important if the proto option is changed manually
to '*' or 'any' in shell and then further configured via LuCI.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2020-12-16 12:55:31 +01:00
Jo-Philipp Wich
4dbf600de6 luci-app-firewall: fix removing networks from zone
Fixes: #4608
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-11-20 13:28:28 +01:00
Robby K
43dc420864 luci-app-firewall: rules: add ICMPv6 Packet Too Big (Type 2)
The "Match ICMP type" drop-down menu was missing this ICMPv6 type. According to RFC 4890 section 4.3.1 it is essential for communications and must not be dropped. This patch allows for doing this through LuCI.

Signed-off-by: Robby K <robbyke@gmail.com>
2020-10-01 22:52:46 +02:00
Jo-Philipp Wich
0abcb39b62 luci-app-firewall: migrate syn_flood option to synflood_protect on save
Fixes: #4220
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-07-05 00:51:59 +02:00
Jo-Philipp Wich
952b169167 luci-app-firewall: tools/firewall.js: honour readonly property
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-14 17:09:12 +02:00
Jo-Philipp Wich
3c4bc228a1 treewide: import utility classes explicitly
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-04-03 10:00:06 +02:00
Jo-Philipp Wich
0ff4dc822b luci-app-firewall: use Firewall.removeZone() helper
Fixes: FS#2932
Ref: https://bugs.openwrt.org/index.php?do=details&task_id=2932
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-26 19:15:27 +01:00
Jo-Philipp Wich
2c036b36ce luci-app-firewall: tools.firewall: properly handle protocol 0
The existing code failed to anticipate that '' == 0 in JS.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-04 20:22:38 +01:00
Jo-Philipp Wich
663134cd2d luci-app-firewall: don't treat zone name as network fallback
Drop obsolete extra logic which treats the zone name as covered network
name in case the network list is unset. This behaviour applied to the
pre-fw3 uci firewall, but is not supported since fw3 anymore.

Ref: https://forum.openwrt.org/t/luci-zone-creation-bug/55921
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-03-02 10:11:44 +01:00
Jo-Philipp Wich
d527c28ffa luci-app-firewall: snats.js: fix rewrite IP validation for SNAT target
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-02-22 22:20:17 +01:00
Jo-Philipp Wich
9fd7e9fc23 luci-app-firewall: fix variable clash leading to incorrect family display
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-20 18:57:47 +01:00
Jo-Philipp Wich
f1771d14aa luci-app-firewall: add SNAT config migration
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-19 19:38:07 +01:00
Jo-Philipp Wich
7944b0a90b luci-app-firewall: rework rule descriptions, deduplicate code
Use a simple custom format string DSL to assemble the rule description
texts in the overview page.

Also move common code for shared, complex cbi options to the firewall
tool class.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-19 16:22:47 +01:00
Jo-Philipp Wich
0608ff09f8 luci-app-firewall: consolidate duplicate option code
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-16 22:16:53 +01:00
Jo-Philipp Wich
28f4a9fced luci-app-firewall: support 'limit' and 'limit_burst' options
Also resync firewall translations.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2020-01-16 21:36:39 +01:00