luci-app-statistics - allow rrd files to contain :
authorMartin Surovcak <martin@surovcak.cz>
Wed, 3 Apr 2019 22:32:13 +0000 (00:32 +0200)
committerMartin Surovcak <martin@surovcak.cz>
Wed, 3 Apr 2019 22:36:05 +0000 (00:36 +0200)
Fixes situations where RRD file name contains ":" (eg. _ping/ipv6_) in `rrdtool` it's unescaped - thus not able to render image. Adding simple escaping of `:` to `\\:` fixes the situation.

Might be a solution for #958.

applications/luci-app-statistics/luasrc/statistics/rrdtool.lua

index f827e923099c6891b6a67e093ff46481898698b1..29090eed8faf98f0f67672f0eea762eae3d5c324 100644 (file)
@@ -62,7 +62,7 @@ function Graph._mkpath( self, plugin, plugin_instance, dtype, dtype_instance )
 end
 
 function Graph.mkrrdpath( self, ... )
-       return string.format( "%s/%s.rrd", self.opts.rrdpath, self:_mkpath( ... ) )
+       return string.format( "%s/%s.rrd", self.opts.rrdpath, string.gsub(self:_mkpath( ... ), ":", "\\:") )
 end
 
 function Graph.mkpngpath( self, ... )