Foris dns error with unbound and custom forward resolver

Turris Omnia - rtrom01
Turris OS 3.9.6
Kernel 4.4.119-082ea0f4a4e204b99821bedcb349ed54-0
unbound 1.6.8

The issue as described below seems to be stemming from forward_upstream (see bottom for unbound common config) which is not a relevant syntax for unbound, instead if a forwarder is set than in an extra file containing unbound syntax which uci apparently cannot handle


Remote Exception: Internal error Uci record was not found ‘resolver.common.forward_upstream’.(‘<class ‘foris_controller.exceptions.UciRecordNotFound’>’)

> Remote request
> {"action": "get_settings", "kind": "request", "data": {}, "module": "dns"}

> Stack trace
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/site-packages/foris_controller/", line 99, in process_message
>     data = module_instance.perform_action(message["action"], message.get("data", {}))
>   File "/usr/lib/python2.7/site-packages/foris_controller/", line 60, in perform_action
>     res = action_function(data)
>   File "/usr/lib/python2.7/site-packages/foris_controller_modules/dns/", line 36, in action_get_settings
>     return self.handler.get_settings()
>   File "/usr/lib/python2.7/site-packages/foris_controller/", line 100, in inner
>     res = func(*args, **kwargs)
>   File "/usr/lib/python2.7/site-packages/foris_controller_modules/dns/handlers/", line 42, in get_settings
>     return OpenwrtDnsHandler.uci_dns_cmds.get_settings()
>   File "/usr/lib/python2.7/site-packages/foris_controller_backends/dns/", line 41, in get_settings
>     get_option_named(resolver_data, "resolver", "common", "forward_upstream"))
>   File "/usr/lib/python2.7/site-packages/foris_controller_backends/uci/", line 77, in get_option_named
>     raise UciRecordNotFound(config, section=section, option=option)
> UciRecordNotFound: Uci record was not found 'resolver.common.forward_upstream'.


    config resolver 'common'
    	list interface ''
    	# list interface '::0'												# disabled if no ipv6 on the lan
    	option port '53'
    	option keyfile '/etc/root.keys'
    	# option verbose '0'													
    	option verbose '1'														# increased of above original (testing)
    	# option msg_buffer_size '4096'
    	option msg_buffer_size '8192'									# increased of above original (performance)
    	# option msg_cache_size '20M'
    	option msg_cache_size '50M'										# increased of above original (performance)
    	option net_ipv6 '0'
    	option net_ipv4 '1'
    	# option prefered_resolver 'kresd'						# disable knot (don't forget to stop knot and prevent autostart, best to remove from it from the system/autoupdate)
    	option prefered_resolver 'unbound'						# enable unbound
    	# option ignore_root_key '0'									# porbably not relevant for unbound
    	option prefetch 'yes'
    	option static_domains '1'
    	option dynamic_domains '1'
    	# option forward_upstream '0'									# irrelevant for unbound (see /etc/unbound/unbound_ext.conf)

this is not what we test nor what we support for Turris Omnia, because the default DNS resolver on Turris Omnia is Knot resolver.

You should know what are you doing otherwise please stick with default configuration.

Maybe we’ll look at it, but currently we have other priorities, which are important than your issue.

@Pepe It is not an issue for me, just reported it and I am not bothered whether it will be fixed/tested with forris or not.

unbound is just working fine, no trouble there.

That is a bit confusing since unbound is part of the Turris repo.

Fixed with TOS 3.10 / Foris 97.11 / unbound 1.7