Here is a modified diff. It adds 0-9 to the list of allowed characters, and applies directly to the source tarball, as well as addressing the last of the df class plugins, df_abs.
--- munin-1.2.5.orig/node/node.d.linux/df_inode.in +++ munin-1.2.5/node/node.d.linux/df_inode.in @@ -56,7 +56,7 @@ print_values() { df -P -l -i -x none -x unknown | sed 1d | grep -v "//" | awk '$5 ~ /[0-9]%/ {print}' | while read i; do if [ "`fs $i`" = "reiserfs" ] ; then continue ; fi - name=`echo $i | sed 's/[\/.-]/_/g'| awk '{ print $1 ".value " }'` + name=`echo $i | sed 's/[^A-Za-z0-9_]/_/g'| awk '{ print $1 ".value " }'` echo -n "$name " echo $i | awk '{ print $5 }' | cut -f1 -d% done --- munin-1.2.5.orig/node/node.d.linux/df.in +++ munin-1.2.5/node/node.d.linux/df.in @@ -57,7 +57,7 @@ fi clean_name() { - echo $1 $7 $2 | sed 's/[\/.-]/_/g'| awk "{ + echo $1 $7 $2 | sed 's/[^A-Za-z0-9_]/_/g'| awk "{ if (\$3 == \"tmpfs\") n=\$1\$2 else --- munin-1.2.5.orig/node/node.d.linux/df_abs.in +++ munin-1.2.5/node/node.d.linux/df_abs.in @@ -32,7 +32,7 @@ fi clean_name() { - echo $1 | sed 's/[\/.-]/_/g; s/^_dev\(_mapper\)\?_//'| awk "{ + echo $1 | sed 's/[^A-Za-z0-9_]/_/g; s/^_dev\(_mapper\)\?_//'| awk "{ if (length(\$1) > $MAXNAME) print substr(\$1, length(\$1)-$MAXNAME+1) else -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]