libs/core: fix luci.model.firewall.rename_zone()
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 30 Oct 2010 18:26:46 +0000 (18:26 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 30 Oct 2010 18:26:46 +0000 (18:26 +0000)
libs/core/luasrc/model/firewall.lua

index 713fc57048a373bc699977613dd54f6e82995107..c13f5d6a1bbc4ac94c2d2dd5d2fdeaae4f8477ed 100644 (file)
@@ -181,7 +181,10 @@ function rename_zone(self, old, new)
        if _valid_id(new) and not self:get_zone(new) then
                uci_r:foreach("firewall", "zone",
                        function(s)
-                               if n and s.name == old then
+                               if old and s.name == old then
+                                       if not s.network then
+                                               uci_r:set("firewall", s['.name'], "network", old)
+                                       end
                                        uci_r:set("firewall", s['.name'], "name", new)
                                        r = true
                                        return false
@@ -209,10 +212,10 @@ function rename_zone(self, old, new)
                                        end
                                end)
 
-                       ub.uci:foreach("firewall", "forwarding",
+                       uci_r:foreach("firewall", "forwarding",
                                function(s)
                                        if s.src == old then
-                                               ub.uci:set("firewall", s['.name'], "src", new)
+                                               uci_r:set("firewall", s['.name'], "src", new)
                                        end
                                        if s.dest == old then
                                                uci_r:set("firewall", s['.name'], "dest", new)