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
@@ -477,7 +477,7 @@ class Summarize:
def _group_ip_ranges(cls, ip_list, raw_list=None):
def remove_items(start, end):
for ip in range(int(start), int(end) + 1):
raw_list.remove(str(IPv4Address(ip)))
raw_list.pop(str(IPv4Address(ip)), None)
start = end = None
hosts = 1