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

cheers
tobi

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