rrdcached: path sanitizer
"Kiss Gabor (Bitman)" <[email protected]> Fri, 30 Nov 2012 13:33:16 +0100 (CET)
| Newsgroups | gmane.comp.db.rrdtool.devel |
|---|---|
| Message-ID | <[email protected]> |
I've just installed rrdcached and I'm checking its performance. I found that daemon does not sanitize file paths. Two different cliens may want to refer the same unix file with different names but rrdcached does not recognizes this but uses given filenames literally. E.g. Unix system calls "know" that the following files are the same /var/lib/cricket/subdir/foo.rrd and /var/lib/cricket//subdir/foo.rrd, /var/lib/cricket/subdir/bar.rrd and /var/lib/cricket/./subdir/bar.rrd etc. Meanwhile rrdcache thinks they are different. This may be problem when one program updates RRD file and an other one tries to flush cache before graphing. Checking the source code I found that severeal request handlers call get_abs_path(&file, file_tmp), but then no one uses the content of file_tmp. Maybe this function could be replaced with an other that canonifies file paths. I.e. multiple slashes should be replaced with single one and "./" should be omitted. Regards Gabor -- Wenn ist das Nunstück git und Slotermeyer? Ja! ... Beiherhund das Oder die Flipperwaldt gersput.