luci-app-statistics: check that uci config sections exist
A missing or faulty luci_statistics config file may prevent
LuCI access completely already at the login phase as
the statistics config is parsed already then.
The error is like:
.../statistics/datatree.lua:16: attempt to index upvalue 'sections' (a nil value)
User may be completely locked out of LuCI until he figures out
the need to have a proper luci_statistics config file.
Prevent the error by checking for the existence of
the uci config sections before trying to use values from them.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit d04f667383
)
This commit is contained in:
parent
d7d7503a39
commit
ad0585cbb4
1 changed files with 11 additions and 3 deletions
|
@ -13,9 +13,17 @@ local sections = uci:get_all("luci_statistics")
|
||||||
Instance = util.class()
|
Instance = util.class()
|
||||||
|
|
||||||
function Instance.__init__( self, host )
|
function Instance.__init__( self, host )
|
||||||
self._host = host or sections.collectd.Hostname or sys.hostname()
|
self._host = host or sys.hostname()
|
||||||
self._libdir = sections.collectd.PluginDir or "/usr/lib/collectd"
|
self._libdir = "/usr/lib/collectd"
|
||||||
self._rrddir = sections.collectd_rrdtool.DataDir or "/tmp/rrd"
|
self._rrddir = "/tmp/rrd"
|
||||||
|
|
||||||
|
if sections and sections.collectd then
|
||||||
|
self._host = host or sections.collectd.Hostname or sys.hostname()
|
||||||
|
self._libdir = sections.collectd.PluginDir or "/usr/lib/collectd"
|
||||||
|
end
|
||||||
|
if sections and sections.collectd_rrdtool then
|
||||||
|
self._rrddir = sections.collectd_rrdtool.DataDir or "/tmp/rrd"
|
||||||
|
end
|
||||||
|
|
||||||
self._libdir = self._libdir:gsub("/$","")
|
self._libdir = self._libdir:gsub("/$","")
|
||||||
self._rrddir = self._rrddir:gsub("/$","")
|
self._rrddir = self._rrddir:gsub("/$","")
|
||||||
|
|
Loading…
Reference in a new issue