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>
Instance = util.class()
function Instance.__init__( self, host )
Instance = util.class()
function Instance.__init__( self, host )
- self._host = host or sections.collectd.Hostname or sys.hostname()
- self._libdir = sections.collectd.PluginDir or "/usr/lib/collectd"
- self._rrddir = sections.collectd_rrdtool.DataDir or "/tmp/rrd"
+ self._host = host or sys.hostname()
+ self._libdir = "/usr/lib/collectd"
+ 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._rrddir = self._rrddir:gsub("/$","")
self._libdir = self._libdir:gsub("/$","")
self._rrddir = self._rrddir:gsub("/$","")