fix: multiple bugs across shell, lua and python modules

Shell (ruantiblock):
- fix broken 'ip' command check — was 'export IP_CMD=ip' followed
  by checking $? (always 0 from export); now uses 'which ip' like
  other utility checks
- fix LOGGER_CMD check — export swallowed which exit code; split
  assignment and export
- fix 'return 1' outside function in main case block — changed to
  'exit 1'
- fix '==' to '=' in test expressions for POSIX sh compliance
  (script uses #!/bin/sh)
- fix typo 'Искоючить' -> 'Исключить' in comment
- remove unused variable _dnsmasq_data_file in AddUserEntries()

Lua (ruab_parser.lua):
- fix global variable leak: 'val' in Config:load_environ_config()
  was not declared local, polluting global scope
- fix global function leak: 'load_file' inside
  Config:load_filter_files() was not declared local
- fix premature return in Summarize.remove_items() — only first
  matching item was deleted from range, rest were skipped

Python (ruab_parser.py):
- fix AttributeError crash in Summarize._group_ip_ranges() —
  raw_list is a dict but .remove() was called (dict method);
  changed to .pop() with default None
This commit is contained in:
afanasyev
2026-02-09 00:28:30 +03:00
parent 53bc8167fa
commit 3c2eef6331
3 changed files with 17 additions and 16 deletions
@@ -153,7 +153,7 @@ end
function Config:load_environ_config()
local cfg_table = {}
for var in pairs(self.environ_table) do
val = os.getenv(var)
local val = os.getenv(var)
if val then
cfg_table[var] = val
end
@@ -234,7 +234,7 @@ end
-- Loading filters
function Config:load_filter_files()
function load_file(file, t, is_array, func)
local function load_file(file, t, is_array, func)
local file_handler = io.open(file, "r")
if file_handler then
for line in file_handler:lines() do
@@ -604,11 +604,11 @@ function Summarize:_group_ip_ranges(ip_list, raw_list)
for i = start, stop do
if raw_list[i] then
raw_list[i] = nil
return
end
local item = it.int_to_ip(i)
if raw_list[item] then
raw_list[it.int_to_ip(i)] = nil
else
local item = it.int_to_ip(i)
if raw_list[item] then
raw_list[item] = nil
end
end
end
end