Unbound fails to start if its configuration references a python script which does not exist
After the installation, unbound works 'out of the box'.
When a previously saved config.xml is imported
and pfBlockerNG-devel was previously installed
and pfBlockerNG-devel was using the 'python' mode
then this part is added to unbound.conf
# Python Module python: python-script: pfb_unbound.py
The issue : this part is added without checking if /var/unbound/pfb_unbound.py actually exists.
Its possible that, after the "import.xml", pfBlockerNG-devel isn't installed yet, or not finished to install.
Solution (?) : before adding 'python' part (see above), the a file_exist() should be used to check if that file really exists.
( and if it doesn't (yet), a reminder should be logged / returned to the GUI that the unbound should be restarted later on, as python mode was asked for, but not available yet ? )
Unbound is restart with a failing config - /var/unbound/pfb_unbound.p is missing, and stops.
See also this forum thread :
'Catch 22' with fresh install, pfBlockerNG 126.96.36.199 and Python enabled
Updated by Jim Pingle about 1 month ago
- Subject changed from New install : importing config.xml and pfBlockerNG was previous installed with Python mode enabled : unbound will fail to restart. to Unbound fails to start if its configuration references a python script which does not exist
- Assignee set to Jim Pingle
- Plus Target Version set to 21.09
As long as that script is actually selected in the unbound config GUI (picked as "Python Module Script") and not in custom options it should be possible to add a test like that.
It isn't specific to pfBlockerNG, the same could happen with any custom script on a fresh install since the user couldn't have copied it back in place yet.