svn commit: r327304 - in head/net-mgmt/cacti: . files

Sergey Matveychuk sem at FreeBSD.org
Sat Sep 14 17:06:55 UTC 2013


Author: sem
Date: Sat Sep 14 17:06:54 2013
New Revision: 327304
URL: http://svnweb.freebsd.org/changeset/ports/327304

Log:
  - A patch to fix preview graphs
  
  Submitted by:	"Chris" <chris at chrysalisnet.org>
  Obtained from:	http://forums.cacti.net/viewtopic.php?f=21&t=50645&p=244422

Added:
  head/net-mgmt/cacti/files/patch-lib-rrd.php   (contents, props changed)
Modified:
  head/net-mgmt/cacti/Makefile

Modified: head/net-mgmt/cacti/Makefile
==============================================================================
--- head/net-mgmt/cacti/Makefile	Sat Sep 14 16:51:52 2013	(r327303)
+++ head/net-mgmt/cacti/Makefile	Sat Sep 14 17:06:54 2013	(r327304)
@@ -4,7 +4,7 @@
 
 PORTNAME=	cacti
 PORTVERSION=	0.8.8b${PATCHLEVEL}
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	net-mgmt www
 MASTER_SITES=	http://www.cacti.net/downloads/
 DISTNAME=	${PORTNAME}-${SITEDISTVERSION}

Added: head/net-mgmt/cacti/files/patch-lib-rrd.php
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net-mgmt/cacti/files/patch-lib-rrd.php	Sat Sep 14 17:06:54 2013	(r327304)
@@ -0,0 +1,37 @@
+Index: ./lib/rrd.php
+===================================================================
+--- ./lib/rrd.php	(Revision 7407)
++++ ./lib/rrd.php	(Arbeitskopie)
+@@ -1343,20 +1343,20 @@
+ 		$need_rrd_nl = TRUE;
+ 
+ 		if ($graph_item_types{$graph_item["graph_type_id"]} == "COMMENT") {
++			# perform variable substitution first (in case this will yield an empty results or brings command injection problems)
++			$comment_arg = rrd_substitute_host_query_data($graph_variables["text_format"][$graph_item_id], $graph, $graph_item);
++			# next, compute the argument of the COMMENT statement and perform injection counter measures
++			if (trim($comment_arg) == '') { # an empty COMMENT must be treated with care
++				$comment_arg = cacti_escapeshellarg(' ' . $hardreturn[$graph_item_id]);
++			} else {
++				$comment_arg = cacti_escapeshellarg($comment_arg . $hardreturn[$graph_item_id]);
++			}
++
++			# create rrdtool specific command line
+ 			if (read_config_option("rrdtool_version") != "rrd-1.0.x") {
+-				$comment_string = $graph_item_types{$graph_item["graph_type_id"]} . ":" . str_replace(":", "\:", cacti_escapeshellarg($graph_variables["text_format"][$graph_item_id] . $hardreturn[$graph_item_id])) . " ";
+-				if (trim($comment_string) == 'COMMENT:"\n"') {
+-					$txt_graph_items .= 'COMMENT:" \n"'; # rrdtool will skip a COMMENT that holds a NL only; so add a blank to make NL work
+-				} else if (trim($comment_string) != "COMMENT:\"\"") {
+-					$txt_graph_items .= rrd_substitute_host_query_data($comment_string, $graph, $graph_item);
+-				}
++				$txt_graph_items .= $graph_item_types{$graph_item["graph_type_id"]} . ":" . str_replace(":", "\:", $comment_arg) . " ";
+ 			}else {
+-				$comment_string = $graph_item_types{$graph_item["graph_type_id"]} . ":" . cacti_escapeshellarg($graph_variables["text_format"][$graph_item_id] . $hardreturn[$graph_item_id]) . " ";
+-				if (trim($comment_string) == 'COMMENT:"\n"') {
+-					$txt_graph_items .= 'COMMENT:" \n"'; # rrdtool will skip a COMMENT that holds a NL only; so add a blank to make NL work
+-				} else if (trim($comment_string) != "COMMENT:\"\"") {
+-					$txt_graph_items .= rrd_substitute_host_query_data($comment_string, $graph, $graph_item);
+-				}
++				$txt_graph_items .= $graph_item_types{$graph_item["graph_type_id"]} . ":" . $comment_arg . " ";
+ 			}
+ 		}elseif (($graph_item_types{$graph_item["graph_type_id"]} == "GPRINT") && (!isset($graph_data_array["graph_nolegend"]))) {
+ 			$graph_variables["text_format"][$graph_item_id] = str_replace(":", "\:", $graph_variables["text_format"][$graph_item_id]); /* escape colons */


More information about the svn-ports-all mailing list