Modify

Opened 5 years ago

Last modified 4 years ago

#13698 reopened defect

Editing port forwards fails with error

Reported by: jeffjiggens@… Owned by:
Priority: response-needed Milestone: Chaos Calmer 15.05
Component: luci Version: Trunk
Keywords: Cc:

Description

After setting (saving/applying) a port forward, if you go try to edit it via clicking the edit button in luci you are greeted with an error from luci in browser. See below.

/usr/lib/lua/luci/dispatcher.lua:448: Failed to execute arcombine dispatcher target for entry '/admin/network/firewall/forwards/cfg163837'.
The called action terminated with an exception:
.../lib/lua/luci/model/cbi/firewall/forward-details.lua:49: attempt to call method 'gmatch' (a nil value)
stack traceback:
	[C]: in function 'assert'
	/usr/lib/lua/luci/dispatcher.lua:448: in function 'dispatch'
	/usr/lib/lua/luci/dispatcher.lua:195: in function </usr/lib/lua/luci/dispatcher.lua:194>

This makes editing impossible, one must delete the port forward rule and recreate one to make desired changes.

Attachments (0)

Change History (7)

comment:1 Changed 5 years ago by jow

  • Priority changed from high to response-needed

Attach the /etc/config/firewall file triggering this error, also attach the source code view of the broken page here please.

comment:2 Changed 5 years ago by nbd

  • Resolution set to no_response
  • Status changed from new to closed

comment:3 Changed 4 years ago by anonymous

It's because in this loop:

 44 m.uci:foreach("firewall", "zone",
 45   function(s)
 46     local n = s.network or s.name
 47     if n then
 48       local i
 49       for i in n:gmatch("%S+") do
 50         if i == "wan" then
 51           wan_zone = s.name
 52           return false
 53         end
 54       end
 55     end
 56   end)

s.network is a table, so it doesn't have a gmatch method.

comment:4 Changed 4 years ago by cat@…

  • Resolution no_response deleted
  • Status changed from closed to reopened

comment:5 Changed 4 years ago by cat@…

Because of this zone entry in /etc/config/firewall:

config zone

option name 'wan'
list network 'wan' # this list
list network 'wan6' # this list
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'

comment:6 Changed 4 years ago by Catalin Patulea <cat@…>

and that's the default config for a fresh flash in BB.

comment:7 Changed 4 years ago by Catalin Patulea <cat@…>

as a workaround, I replaced 'list network's with a single 'config network', because I don't need ipv6.

Add Comment

Modify Ticket

Action
as reopened .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.