You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
pfBlockerNG-devel (DNSBL in Python mode) owns four keys under <unbound>: it regenerates custom_options (base64) on every DNSBL reload and sets python=on, python_order, python_script. pfsense_dns_resolver always writes custom_options (defaults to "", so an omitted param base64-encodes an empty string and wipes pfBlockerNG's block):
and the python* keys are commented out of the argument spec (lines 346–348), so the module has no way to preserve them. Result: running the module on a box with pfBlockerNG DNSBL enabled breaks DNSBL until the next pfBlockerNG reload, and every subsequent run fights the package.
This is the same class of problem as #153 (hosts/domainoverrides are replaced rather than merged) and the preserve option proposed in #179 — but that PR's preserve covers hosts, domainoverrides and custom_options, not the python* keys.
Describe the solution you'd like
Either:
Only write keys that were explicitly passed (treat omitted params as "leave as-is"), so custom_options, python, python_order, python_script survive when not declared; or
We manage every non-pfBlockerNG <unbound> key via pfsense_phpshell with a small PHP script that only touches named paths — works, but bypasses the module entirely.
Is your feature request related to a problem? Please describe.
pfBlockerNG-devel (DNSBL in Python mode) owns four keys under
<unbound>: it regeneratescustom_options(base64) on every DNSBL reload and setspython=on,python_order,python_script.pfsense_dns_resolveralways writescustom_options(defaults to"", so an omitted param base64-encodes an empty string and wipes pfBlockerNG's block):and the
python*keys are commented out of the argument spec (lines 346–348), so the module has no way to preserve them. Result: running the module on a box with pfBlockerNG DNSBL enabled breaks DNSBL until the next pfBlockerNG reload, and every subsequent run fights the package.This is the same class of problem as #153 (hosts/domainoverrides are replaced rather than merged) and the
preserveoption proposed in #179 — but that PR'spreservecovers hosts, domainoverrides andcustom_options, not thepython*keys.Describe the solution you'd like
Either:
custom_options,python,python_order,python_scriptsurvive when not declared; orpreserveto also leave thepython*keys untouched, and document thatcustom_optionsmust not be declared alongside pfBlockerNG.Describe alternatives you've considered
We manage every non-pfBlockerNG
<unbound>key viapfsense_phpshellwith a small PHP script that only touches named paths — works, but bypasses the module entirely.