luci-app-acl: unset read and write before acl set
authorFlorian Eckert <[email protected]>
Wed, 30 Jun 2021 12:58:14 +0000 (14:58 +0200)
committerJo-Philipp Wich <[email protected]>
Wed, 7 Jul 2021 15:18:03 +0000 (17:18 +0200)
If the setting in the view is set to `denied`, only the read list option
is deleted. This is not correct. The write list option must also be
deleted. To ensure that the correct configuration is saved, the write
and read list options are always deleted beforehand and then rewritten.

Signed-off-by: Florian Eckert <[email protected]>
(cherry picked from commit f4e8fcb6b53780bd2d126b22a89c379cd7c071d7)

applications/luci-app-acl/htdocs/luci-static/resources/view/system/acl.js

index 4d3c98d5b698015981de68b5dd32255cd299c809..7f86a298c130f434be0d539c4b552edbdc88612b 100644 (file)
@@ -146,6 +146,9 @@ var cbiACLSelect = form.Value.extend({
        },
 
        write: function(section_id, value) {
+               uci.unset('rpcd', section_id, 'read');
+               uci.unset('rpcd', section_id, 'write');
+
                if (L.isObject(value) && Array.isArray(value.read))
                        uci.set('rpcd', section_id, 'read', value.read);