Skip to content

Nethsecurity 8.8.0#1642

Open
gsanchietti wants to merge 76 commits into
mainfrom
nethsecurity-8.8
Open

Nethsecurity 8.8.0#1642
gsanchietti wants to merge 76 commits into
mainfrom
nethsecurity-8.8

Conversation

@gsanchietti
Copy link
Copy Markdown
Member

  • build: openwrt 25.12.1
  • chore: updated build container
  • build(ppp): upstream patched the package
  • build: openwrt 25.12.2
  • build(netifyd): updated binaries
  • fix: updated syntax due to python update

Replaces #1637

@Tbaile Tbaile force-pushed the nethsecurity-8.8 branch 3 times, most recently from bec5c03 to 12597d6 Compare May 12, 2026 14:10
@gsanchietti gsanchietti force-pushed the nethsecurity-8.8 branch 2 times, most recently from ef5c857 to f23b035 Compare May 15, 2026 11:48
@Tbaile Tbaile linked an issue May 18, 2026 that may be closed by this pull request
36 tasks
@Tbaile Tbaile force-pushed the nethsecurity-8.8 branch 2 times, most recently from 4001fc2 to 841b872 Compare May 20, 2026 07:12
gsanchietti and others added 17 commits May 20, 2026 11:05
…lity

Implement two key improvements to package restoration after system upgrades:

1. Resilient retry mechanism: Script now tracks installation failures and
   exits with code 1 when packages fail to install. The procd respawn policy
   (respawn 300 30 10) will automatically retry on the next boot, accounting
   for WAN initialization delays and transient network failures.

2. Reliable output reporting: Only report "Restored package: X" when the
   package installation actually succeeds (apk exit code 0). Failed
   installations are reported separately, and the service is not disabled
   until all packages are successfully restored. This relies on apk's
   reliable exit codes instead of opkg's unreliable behavior.

The service now remains enabled after failures, allowing the procd respawn
mechanism to retry on subsequent boots until all packages are restored.

Closes #1606
Assisted-by: Copilot:claude-haiku-4.5
m-dilorenzi and others added 12 commits May 21, 2026 10:08
Avoid recurring errors like:

  E! [inputs.ethtool] Error in plugin: "eth3.835" stats: operation not supported
 E! [inputs.ethtool] Error in plugin: "pppoe-wan" stats: operation not supported
Avoid errors like:

  procd: /etc/rc.d/S99snort: Traceback (most recent call last):
  procd: /etc/rc.d/S99snort:   File "/usr/bin/ns-snort-rules", line 195, in <module>
  procd: /etc/rc.d/S99snort:     main()
  procd: /etc/rc.d/S99snort:     ~~~~^^
  procd: /etc/rc.d/S99snort:   File "/usr/bin/ns-snort-rules", line 178, in main
  procd: /etc/rc.d/S99snort:     rules = filter_official_rules(official_policy, alert_excluded, disabled_rules, oinkcode)
  procd: /etc/rc.d/S99snort:   File "/usr/bin/ns-snort-rules", line 106, in filter_official_rules
  procd: /etc/rc.d/S99snort:     for rule in snort.parse_file(file):
  procd: /etc/rc.d/S99snort:                 ~~~~~~~~~~~~~~~~^^^^^^
  procd: /etc/rc.d/S99snort:   File "/usr/lib/python3.13/site-packages/nethsec/snort/__init__.py", line 375, in parse_file
  procd: /etc/rc.d/S99snort: FileNotFoundError: [Errno 2] No such file or directory: '/mnt/data/ns-snort/snort-rules/snort3-community-rules/snort3-community.rules'
Merge the builtin adblock catalog into the Threat Shield
generated custom feed file so public feeds such as adguard
remain available when ts_enabled=1.

This restores mixed builtin and Threat Shield DNS feeds after
the 8.8 adblock sync without changing the local adblock fork.

Assisted-by: Copilot:gpt-5.4
Bundle https-dns-proxy in the image and default\ndnsmasq_config_update to '-'. This keeps the package available\nout of the box without changing dnsmasq or starting the service\nuntil an administrator enables it.\n\nTreat dnsmasq_config_update='-' as the disabled state so image\nupgrades can keep the default-off behavior. This can disable the\nservice again after an upgrade if dnsmasq integration remains\ndisabled, which is acceptable for now because configuration is\nsupported only from the command line.\n\nAssisted-by: Copilot:gpt-5.4
Store dnsmasq DHCP leases on /mnt/data when storage is
available and keep /tmp/dhcp.leases as the compatibility
path for existing readers.

Switch back to /tmp before storage removal and restart
victoria-metrics around fstab changes so the data mount
can be released cleanly.

Assisted-by: Copilot:gpt-5.4
Added few adjustments to the package:

- readme
- dynamic config based off the storage
- needed restart of rsyslog
During boot, if the network is not still ready,
adblock may fail to download the lists.
Just wait for 30 seconds before trying to setup
the service.
This especially usefull in scenarios where
the WAN uses a PPPoE connection.
Co-authored-by: Giacomo Sanchietti <giacomo.sanchietti@nethesis.it>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OpenWRT 25.12

3 participants