[rrd-developers] rrdcached: path sanitizer

Tobias Oetiker tobi at oetiker.ch
Wed Dec 5 17:37:48 CET 2012

Hi Gabor,

Friday Kiss Gabor (Bitman) wrote:

> 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.

or read the inode and the filesystem associated with the file, that
should also help to figure out what is the same ...

contributions welcome ...


> Regards
> Gabor

Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi at oetiker.ch ++41 62 775 9902 / sb: -9900

More information about the rrd-developers mailing list