Date: Wed, 7 Nov 2018 20:24:10 +0000 (UTC) From: Mathieu Arnold <mat@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r484408 - in head/net/rtg: . files Message-ID: <201811072024.wA7KOA4A006021@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mat Date: Wed Nov 7 20:24:10 2018 New Revision: 484408 URL: https://svnweb.freebsd.org/changeset/ports/484408 Log: Revert r484406, it was never approved. Pointy hat: mfechner With hat: portmgr Added: head/net/rtg/files/patch-cgilib-cgi.c - copied unchanged from r484405, head/net/rtg/files/patch-cgilib-cgi.c head/net/rtg/files/patch-config-config.h.in - copied unchanged from r484405, head/net/rtg/files/patch-config-config.h.in head/net/rtg/files/patch-etc-95.php - copied unchanged from r484405, head/net/rtg/files/patch-etc-95.php head/net/rtg/files/patch-etc-Makefile.in - copied unchanged from r484405, head/net/rtg/files/patch-etc-Makefile.in head/net/rtg/files/patch-etc-rtg.php - copied unchanged from r484405, head/net/rtg/files/patch-etc-rtg.php head/net/rtg/files/patch-etc-rtgtargmkr.pl.in - copied unchanged from r484405, head/net/rtg/files/patch-etc-rtgtargmkr.pl.in head/net/rtg/files/patch-etc-view.php - copied unchanged from r484405, head/net/rtg/files/patch-etc-view.php head/net/rtg/files/patch-man-rtgplot.1 - copied unchanged from r484405, head/net/rtg/files/patch-man-rtgplot.1 head/net/rtg/files/patch-man-rtgpoll.1 - copied unchanged from r484405, head/net/rtg/files/patch-man-rtgpoll.1 head/net/rtg/files/patch-src-rtg.h - copied unchanged from r484405, head/net/rtg/files/patch-src-rtg.h head/net/rtg/files/patch-src-rtgplot.c - copied unchanged from r484405, head/net/rtg/files/patch-src-rtgplot.c head/net/rtg/files/patch-src-rtgplot.h - copied unchanged from r484405, head/net/rtg/files/patch-src-rtgplot.h head/net/rtg/files/patch-src-rtgpoll.c - copied unchanged from r484405, head/net/rtg/files/patch-src-rtgpoll.c Deleted: head/net/rtg/files/patch-cgilib-0.4_cgi.c head/net/rtg/files/patch-config_config.h.in head/net/rtg/files/patch-etc_95.php head/net/rtg/files/patch-etc_Makefile.in head/net/rtg/files/patch-etc_SNMP__util.pm head/net/rtg/files/patch-etc_createdb.in head/net/rtg/files/patch-etc_rtg.conf head/net/rtg/files/patch-etc_rtg.php head/net/rtg/files/patch-etc_rtgtargmkr.pl.in head/net/rtg/files/patch-etc_view.php head/net/rtg/files/patch-man_rtgplot.1 head/net/rtg/files/patch-man_rtgpoll.1 head/net/rtg/files/patch-src_rtg.h head/net/rtg/files/patch-src_rtgplot.c head/net/rtg/files/patch-src_rtgplot.h head/net/rtg/files/patch-src_rtgpoll.c head/net/rtg/files/patch-src_rtgutil.c Modified: head/net/rtg/Makefile head/net/rtg/files/patch-etc_95.pl head/net/rtg/files/patch-etc_common.php.in head/net/rtg/files/patch-etc_report.pl Modified: head/net/rtg/Makefile ============================================================================== --- head/net/rtg/Makefile Wed Nov 7 20:15:21 2018 (r484407) +++ head/net/rtg/Makefile Wed Nov 7 20:24:10 2018 (r484408) @@ -3,7 +3,7 @@ PORTNAME= rtg PORTVERSION= 0.7.4 -PORTREVISION= 15 +PORTREVISION= 16 CATEGORIES= net MASTER_SITES= SF \ ftp://ftpmirror.uk/freebsd-ports/rtg/ @@ -17,13 +17,9 @@ LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp RUN_DEPENDS= p5-DBI>=0:databases/p5-DBI \ p5-DBD-mysql>=0:databases/p5-DBD-mysql -FLAVORS= web noweb -noweb_PKGNAMESUFFIX= poller -web_PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} - -USES= shebangfix perl5 mysql:client ssl USE_RC_SUBR= rtgpoll - +WANT_PERL= yes +USES= shebangfix mysql:client ssl SHEBANG_FILES= etc/95.pl etc/report.pl etc/rtgtargmkr.pl.in SUB_FILES= pkg-message GNU_CONFIGURE= yes @@ -34,21 +30,18 @@ CONFIGURE_ARGS+= --sysconfdir=${PREFIX}/etc/${PORTNAME USERS= rtg GROUPS= rtg -.if ${FLAVOR:U} == web -USES+= php:web,flavors -USE_PHP= mysqli spl -.endif - -OPTIONS_DEFINE= MYSQL +OPTIONS_DEFINE= WEB MYSQL +OPTIONS_DEFAULT=WEB MYSQL_DESC= Pull MySQL server in as a dependancy for local setups +WEB_DESC= Include PHP-based web client interface pre-requisites MYSQL_USES= mysql:server +WEB_USES= php +USE_PHP= mysqli spl + CFLAGS+= -fstack-protector LDFLAGS+= -fstack-protector - -pre-configure: - ${REINPLACE_CMD} -e 's/my_thread_init/mysql_thread_init/' ${WRKSRC}/configure post-patch: @${MV} ${WRKSRC}/etc/rtg.conf ${WRKSRC}/etc/rtg.conf.sample Copied: head/net/rtg/files/patch-cgilib-cgi.c (from r484405, head/net/rtg/files/patch-cgilib-cgi.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-cgilib-cgi.c Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-cgilib-cgi.c) @@ -0,0 +1,15 @@ +--- cgilib-0.4/cgi.c.orig Thu Sep 25 08:21:06 2003 ++++ cgilib-0.4/cgi.c Sat May 14 01:28:33 2005 +@@ -33,9 +33,12 @@ + #ifdef HAVE_CTYPE_H + # include <ctype.h> + #endif ++/* Unnecessary on FreeBSD; malloc.h included in stdlib.h */ ++/* + #ifdef HAVE_MALLOC_H + # include <malloc.h> + #endif ++*/ + + #include <cgi.h> + Copied: head/net/rtg/files/patch-config-config.h.in (from r484405, head/net/rtg/files/patch-config-config.h.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-config-config.h.in Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-config-config.h.in) @@ -0,0 +1,27 @@ +--- config/config.h.in.orig 2003-09-25 15:21:14 UTC ++++ config/config.h.in +@@ -91,19 +91,19 @@ + #undef PACKAGE + + /* Define to the address where bug reports for this package should be sent. */ +-#undef PACKAGE_BUGREPORT ++#undef RTG_PACKAGE_BUGREPORT + + /* Define to the full name of this package. */ +-#undef PACKAGE_NAME ++#undef RTG_PACKAGE_NAME + + /* Define to the full name and version of this package. */ +-#undef PACKAGE_STRING ++#undef RTG_PACKAGE_STRING + + /* Define to the one symbol short name of this package. */ +-#undef PACKAGE_TARNAME ++#undef RTG_PACKAGE_TARNAME + + /* Define to the version of this package. */ +-#undef PACKAGE_VERSION ++#undef RTG_PACKAGE_VERSION + + /* Define as the return type of signal handlers (`int' or `void'). */ + #undef RETSIGTYPE Copied: head/net/rtg/files/patch-etc-95.php (from r484405, head/net/rtg/files/patch-etc-95.php) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-etc-95.php Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-etc-95.php) @@ -0,0 +1,72 @@ +--- etc/95.php.orig 2003-09-24 20:40:57 UTC ++++ etc/95.php +@@ -4,10 +4,8 @@ + print "<HTML>\n<!-- RTG Version $VERSION -->\n<HEAD>\n"; + + /* Connect to RTG MySQL Database */ +- $dbc=@mysql_connect ($host, $user, $pass) or +- $dbc=@mysql_connect ("$host:/var/lib/mysql/mysql.sock", $user, $pass) or ++ $dbc=@mysqli_connect ($host, $user, $pass, $db) or + die ("MySQL Connection Failed, Check Configuration."); +- mysql_select_db($db,$dbc); + + if ($PHP_SELF == "") { + $PHP_SELF = "95.php"; +@@ -50,8 +48,8 @@ function int_stats($statement, $dbc) { + $max = $avg = $nintyfifth = 0; + $rate = array(); + +- $selectResult=mysql_query($statement, $dbc); +- while ($selectRow=mysql_fetch_object($selectResult)){ ++ $selectResult=mysqli_query($dbc, $statement); ++ while ($selectRow=mysqli_fetch_object($selectResult)){ + $counter = $selectRow->counter; + $sample_secs = $selectRow->unixtime; + $total += $counter; +@@ -89,9 +87,8 @@ Report: 95th percentile<BR> + <?php + echo "<FORM ACTION=\"$PHP_SELF\" METHOD=\"GET\">\n"; + if (($bt || $smonth)) { +- $dbc=@mysql_connect ($host, $user, $pass) or +- $dbc=@mysql_connect ("$host:/var/lib/mysql/mysql.sock", $user, $pass) or die ("MySQL Connection Failed, Check Configuration."); +- mysql_select_db($db,$dbc); ++ $dbc=@mysqli_connect ($host, $user, $pass, $db) or ++ die ("MySQL Connection Failed, Check Configuration."); + /* Format into GNU date syntax */ + if ($bt == "") { + $bt = strtotime("$syear-$smonth-$sday $shour:$smin:00"); +@@ -104,11 +101,11 @@ Report: 95th percentile<BR> + $range="dtime>FROM_UNIXTIME($bt) AND dtime<=FROM_UNIXTIME($et)"; + + $selectQuery="SELECT id, name, description, rid FROM interface WHERE description LIKE \"%$customer%\""; +- $selectResult=mysql_query($selectQuery, $dbc); +- if (mysql_num_rows($selectResult) <= 0) ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ if (mysqli_num_rows($selectResult) <= 0) + print "<BR>No Such Customer Found.<BR>\n"; + else { +- while ($selectRow=mysql_fetch_object($selectResult)){ ++ while ($selectRow=mysqli_fetch_object($selectResult)){ + $ids[$selectRow->id] = $selectRow->name; + $rids[$selectRow->id] = $selectRow->rid; + $desc[$selectRow->id] = $selectRow->description; +@@ -127,8 +124,8 @@ Report: 95th percentile<BR> + foreach($ids as $iid=>$name) { + + $selectQuery="SELECT name FROM router WHERE rid=$rids[$iid]"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $selectRow=mysql_fetch_object($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $selectRow=mysqli_fetch_object($selectResult); + $router = $selectRow->name; + + if ($yellow) $yellow = 0; +@@ -201,7 +198,7 @@ Report: 95th percentile<BR> + echo "<P><INPUT TYPE=\"SUBMIT\" VALUE=\"Ok\">"; + } + +- if ($dbc) mysql_close($dbc); ++ if ($dbc) mysqli_close($dbc); + echo "</FORM>\n"; + ?> + <BR> Copied: head/net/rtg/files/patch-etc-Makefile.in (from r484405, head/net/rtg/files/patch-etc-Makefile.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-etc-Makefile.in Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-etc-Makefile.in) @@ -0,0 +1,49 @@ +--- etc/Makefile.in.orig 2003-10-02 15:59:32 UTC ++++ etc/Makefile.in +@@ -84,19 +84,19 @@ am__quote = @am__quote@ + install_sh = @install_sh@ + + top_builddir = .. +-etcdir = /etc +-webdir = /web +-reportsdir = /bin ++etcdir = @etcdir@ ++webdir = @webdir@ ++reportsdir = @bindir@ + +-ETC = rtg.conf rtgtargmkr.pl routers createdb BER.pm \ ++ETC = rtg.conf.sample rtgtargmkr.pl routers.sample createdb BER.pm \ + SNMP_Session.pm SNMP_util.pm + + WEB = rtg.php 95.php view.php common.php rtg.png rtgback.png + REPORTS = report.pl 95.pl + + EXTRA_DIST = rtgtargmkr.pl.in report.pl 95.pl createdb.in \ +- BER.pm SNMP_Session.pm SNMP_util.pm rtg.conf \ +- routers rtg.php 95.php view.php common.php.in rtg.png rtgback.png ++ BER.pm SNMP_Session.pm SNMP_util.pm rtg.conf.sample \ ++ routers.sample rtg.php 95.php view.php common.php.in rtg.png rtgback.png + + subdir = etc + mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs +@@ -220,14 +220,14 @@ uninstall-am: uninstall-info-am + all: + + install: installdirs +- @for i in $(ETC) ; do $(INSTALL) $(srcdir)/$$i $(prefix)$(etcdir) ; echo "install: installed $$i in $(prefix)$(etcdir)" ; done +- @for i in $(WEB) ; do $(INSTALL) $(srcdir)/$$i $(prefix)$(webdir) ; echo "install: installed $$i in $(prefix)$(webdir)" ; done +- @for i in $(REPORTS) ; do $(INSTALL) $(srcdir)/$$i $(prefix)$(reportsdir) ; echo "install: installed $$i in $(prefix)$(reportsdir)" ; done ++ @for i in $(ETC) ; do $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(etcdir) ; echo "install: installed $$i in $(DESTDIR)$(etcdir)" ; done ++ @for i in $(WEB) ; do $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(webdir) ; echo "install: installed $$i in $(DESTDIR)$(webdir)" ; done ++ @for i in $(REPORTS) ; do $(INSTALL) $(srcdir)/$$i $(DESTDIR)$(reportsdir) ; echo "install: installed $$i in $(DESTDIR)$(reportsdir)" ; done + + installdirs: +- $(mkinstalldirs) $(prefix)$(etcdir) +- $(mkinstalldirs) $(prefix)$(webdir) +- $(mkinstalldirs) $(prefix)$(reportsdir) ++ $(mkinstalldirs) $(DESTDIR)$(etcdir) ++ $(mkinstalldirs) $(DESTDIR)$(webdir) ++ $(mkinstalldirs) $(DESTDIR)$(reportsdir) + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded. + .NOEXPORT: Copied: head/net/rtg/files/patch-etc-rtg.php (from r484405, head/net/rtg/files/patch-etc-rtg.php) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-etc-rtg.php Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-etc-rtg.php) @@ -0,0 +1,122 @@ +--- etc/rtg.php.orig 2003-09-24 20:42:03 UTC ++++ etc/rtg.php +@@ -4,10 +4,8 @@ + print "<HTML>\n<!-- RTG Version $VERSION -->\n<HEAD>\n"; + + /* Connect to RTG MySQL Database */ +- $dbc=@mysql_connect ($host, $user, $pass) or +- $dbc=@mysql_connect ("$host:/var/lib/mysql/mysql.sock", $user, $pass) or ++ $dbc=@mysqli_connect ($host, $user, $pass, $db) or + die ("MySQL Connection Failed, Check Configuration."); +- mysql_select_db($db,$dbc); + + if ($PHP_SELF == "") { + $PHP_SELF = "rtg.php"; +@@ -37,17 +35,17 @@ + # Determine router, interface names as necessary + if ($rid && $iid) { + $selectQuery="SELECT a.name, a.description, a.speed, b.name AS router FROM interface a, router b WHERE a.rid=b.rid AND a.rid=$rid AND a.id=$iid[0]"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $selectRow=mysql_fetch_object($selectResult); +- $interfaces = mysql_num_rows($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $selectRow=mysqli_fetch_object($selectResult); ++ $interfaces = mysqli_num_rows($selectResult); + $name = $selectRow->name; + $description = $selectRow->description; + $speed = ($selectRow->speed)/1000000; + $router = $selectRow->router; + } else if ($rid && !$iid) { + $selectQuery="SELECT name AS router from router where rid=$rid"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $selectRow=mysql_fetch_object($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $selectRow=mysqli_fetch_object($selectResult); + $router = $selectRow->router; + } + +@@ -71,8 +69,8 @@ echo "<FORM ACTION=\"$PHP_SELF\" METHOD= + if (!$rid && !$iid) { + echo "<SELECT NAME=\"rid\" SIZE=10>\n"; + $selectQuery="SELECT DISTINCT name, rid FROM router ORDER BY name"; +- $selectResult=mysql_query($selectQuery, $dbc); +- while ($selectRow=mysql_fetch_object($selectResult)){ ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ while ($selectRow=mysqli_fetch_object($selectResult)){ + echo "<OPTION VALUE=\"$selectRow->rid\">$selectRow->name\n"; + } + echo "</SELECT>\n"; +@@ -91,8 +89,8 @@ if ($rid && !$iid) { + + echo "<SELECT MULTIPLE NAME=\"iid[]\" SIZE=10>\n"; + $selectQuery="SELECT id, name, description FROM interface WHERE rid=$rid ORDER BY name"; +- $selectResult=mysql_query($selectQuery, $dbc); +- while ($selectRow=mysql_fetch_object($selectResult)){ ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ while ($selectRow=mysqli_fetch_object($selectResult)){ + echo "<OPTION VALUE=\"$selectRow->id\">$selectRow->name ($selectRow->description)\n"; + } + echo "</SELECT>\n"; +@@ -152,8 +150,8 @@ if (($bt || $smonth) && $iid) { + $range="$range AND id=$iid[0]"; + + $selectQuery="SELECT description, name, speed FROM interface WHERE rid=$rid AND id=$iid[0]"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $selectRow=mysql_fetch_object($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $selectRow=mysqli_fetch_object($selectResult); + echo "<TABLE BORDER=0>\n"; + echo "<TD><I>Device</I>:</TD><TD>$router ($rid)</TD><TR>\n"; + echo "<TD><I>Interface</I>:</TD><TD>$selectRow->name ($iid[0])</TD><TR>\n"; +@@ -165,12 +163,15 @@ if (($bt || $smonth) && $iid) { + echo "<P>\n"; + + #$selectQuery="SELECT DISTINCT id FROM ifInOctets_$rid WHERE $range"; +- #$selectResult=mysql_query($selectQuery, $dbc); +- #if (mysql_num_rows($selectResult) <= 0) { ++ #$selectResult=mysqli_query($dbc, $selectQuery); ++ #if (mysqli_num_rows($selectResult) <= 0) { + # print "<BR>No Data Found on Interface for Given Range.<BR>\n"; + #} + #else { + $args = "t1=ifInOctets_$rid&t2=ifOutOctets_$rid&begin=$bt&end=$et&units=bits/s&factor=8"; ++ $args .= "&title=" . urlencode($selectRow->description); ++ $args .= "&t1_name=" . urlencode("Input Octets"); ++ $args .= "&t2_name=" . urlencode("Output Octets"); + foreach ($iid as $value) { + $args="$args&iid=$value"; + } +@@ -181,8 +182,11 @@ if (($bt || $smonth) && $iid) { + if ($borderb) $args = "$args&borderb=$borderb"; + if ($aggr) $args = "$args&aggr=yes"; + if ($percentile) $args = "$args&percentile=$nth"; +- print "<IMG SRC=rtgplot.cgi?$args><BR>\n"; ++ print "<IMG SRC=/cgi-bin/rtgplot.cgi?$args><BR>\n"; + $args = "t1=ifInUcastPkts_$rid&t2=ifOutUcastPkts_$rid&begin=$bt&end=$et&units=pkts/s"; ++ $args .= "&title=" . urlencode($selectRow->description); ++ $args .= "&t1_name=" . urlencode("Input Packets"); ++ $args .= "&t2_name=" . urlencode("Output Packets"); + foreach ($iid as $value) { + $args="$args&iid=$value"; + } +@@ -192,13 +196,17 @@ if (($bt || $smonth) && $iid) { + if ($borderb) $args = "$args&borderb=$borderb"; + if ($aggr) $args = "$args&aggr=yes"; + if ($percentile) $args = "$args&percentile=$nth"; +- print "<IMG SRC=rtgplot.cgi?$args><BR>\n"; ++ print "<IMG SRC=/cgi-bin/rtgplot.cgi?$args><BR>\n"; + if ($errors) +- print "<IMG SRC=rtgplot.cgi?t1=ifInErrors_$rid&begin=$bt&end=$et&units=errors&impulses=yes>\n"; ++ { ++ print "<IMG SRC=/cgi-bin/rtgplot.cgi?t1=ifInErrors_$rid&begin=$bt&end=$et&units=errors&impulses=yes"; ++ print "&title=" . urlencode($selectRow->description); ++ print "&t1_name=" . urlencode("Errors") . ">\n"; ++ } + # } + } + +-mysql_close($dbc); ++mysqli_close($dbc); + ?> + + <P> Copied: head/net/rtg/files/patch-etc-rtgtargmkr.pl.in (from r484405, head/net/rtg/files/patch-etc-rtgtargmkr.pl.in) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-etc-rtgtargmkr.pl.in Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-etc-rtgtargmkr.pl.in) @@ -0,0 +1,29 @@ +--- etc/rtgtargmkr.pl.in.orig 2016-11-04 16:36:53 UTC ++++ etc/rtgtargmkr.pl.in +@@ -126,7 +126,7 @@ sub find_router_id { + &sql_insert($sql); + $rid = &find_router_id($router); + foreach $mib ( keys %mibs_of_interest ) { +- $sql = "CREATE TABLE $mib"."_$rid (id INT NOT NULL, dtime DATETIME NOT NULL, counter BIGINT NOT NULL, KEY $mib"."_$rid". "_idx (dtime))"; ++ $sql = "CREATE TABLE $mib"."_$rid (id INT NOT NULL, dtime DATETIME NOT NULL, counter BIGINT NOT NULL, KEY $mib"."_$rid". "_idx (dtime), KEY id_dtime_idx (id,dtime))"; + &sql_insert($sql); + } + } +@@ -289,7 +289,7 @@ sub main { + $year + 1900, $hour, $min; + print CFG "# Host\tOID\tBits\tCommunity\tTable\tID\tDescription\n"; + +- foreach $router (@routers) { ++ POKE: foreach $router (@routers) { + $bits = $counterBits{$router}; + # Sanity check bits + $bits = $defbits if ( ( $bits != 32 ) && ( $bits != 64 ) ); +@@ -304,7 +304,7 @@ sub main { + $system = join ( ' ', @result ); + print "System: $system\n" if $DEBUG; + $session = SNMP_Session->open( $router, $communities{$router}, 161 ) +- || die "Error opening SNMP session to $router"; ++ || ( print "Error opening SNMP session to $router" and next POKE ); + if ( $system =~ /.*Cisco.*WS-.*/ ) { + $system = "Catalyst"; + $session->map_table( $catalyst, \&process ); Copied: head/net/rtg/files/patch-etc-view.php (from r484405, head/net/rtg/files/patch-etc-view.php) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-etc-view.php Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-etc-view.php) @@ -0,0 +1,117 @@ +--- etc/view.php.orig 2003-09-26 15:58:34 UTC ++++ etc/view.php +@@ -11,10 +11,8 @@ + print "<HTML>\n<!-- RTG Version $VERSION -->\n<HEAD>\n"; + + /* Connect to RTG MySQL Database */ +- $dbc=@mysql_connect ($host, $user, $pass) or +- $dbc=@mysql_connect ("$host:/var/lib/mysql/mysql.sock", $user, $pass) or ++ $dbc=@mysqli_connect ($host, $user, $pass, $db) or + die ("MySQL Connection Failed, Check Configuration."); +- mysql_select_db($db,$dbc); + + # Global variables off by default in newer versions of PHP + if (!$PHP_SELF) { +@@ -26,17 +24,17 @@ + # Determine router, interface names as necessary + if ($rid && $iid) { + $selectQuery="SELECT a.name, a.description, a.speed, b.name AS router FROM interface a, router b WHERE a.rid=b.rid AND a.rid=$rid AND a.id=$iid"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $selectRow=mysql_fetch_object($selectResult); +- $interfaces = mysql_num_rows($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $selectRow=mysqli_fetch_object($selectResult); ++ $interfaces = mysqli_num_rows($selectResult); + $name = $selectRow->name; + $description = $selectRow->description; + $speed = ($selectRow->speed)/1000000; + $router = $selectRow->router; + } else if ($rid && !$iid) { + $selectQuery="SELECT name AS router from router where rid=$rid"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $selectRow=mysql_fetch_object($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $selectRow=mysqli_fetch_object($selectResult); + $router = $selectRow->router; + } + +@@ -68,12 +66,12 @@ + if (!$rid) { + print "Monitored Devices: <P>\n"; + $selectQuery="SELECT rid, name FROM router"; +- $selectResult=mysql_query($selectQuery, $dbc); +- if (mysql_num_rows($selectResult) <= 0) ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ if (mysqli_num_rows($selectResult) <= 0) + print "<BR>No Routers Found.<BR>\n"; + else { + print "<UL>\n"; +- while ($selectRow=mysql_fetch_object($selectResult)){ ++ while ($selectRow=mysqli_fetch_object($selectResult)){ + print "<LI><A HREF=\"$PHP_SELF?rid=$selectRow->rid\">"; + print "$selectRow->name</A><BR>\n"; + } +@@ -95,19 +93,22 @@ + + $bt = $et - (60*60*24); + print "<B>Day View:</B><BR>\n"; +- print "<IMG SRC=\"rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes\">\n"; ++ print "<IMG SRC=\"/cgi-bin/rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes"; ++ print "&title=" . urlencode("$router: $name ($description)") . "&t1_name=" . urlencode("Input Octets") . "&t2_name=" . urlencode("Output Octets") . "\">\n"; + print "<BR><B>$router: $name ($description)</B>\n"; + print "<BR><HR>\n"; + + $bt = $et - (60*60*24*7); + print "<B>Week View:</B><BR>\n"; +- print "<IMG SRC=\"rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes\">\n"; ++ print "<IMG SRC=\"/cgi-bin/rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes"; ++ print "&title=" . urlencode("$router: $name ($description)") . "&t1_name=" . urlencode("Input Octets") . "&t2_name=" . urlencode("Output Octets") . "\">\n"; + print "<BR><B>$router: $name ($description)</B>\n"; + print "<BR><HR>\n"; + + $bt = $et - (60*60*24*30); + print "<B>Month View:</B><BR>\n"; +- print "<IMG SRC=\"rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes\">\n"; ++ print "<IMG SRC=\"/cgi-bin/rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes"; ++ print "&title=" . urlencode("$router: $name ($description)") . "&t1_name=" . urlencode("Input Octets") . "&t2_name=" . urlencode("Output Octets") . "\">\n"; + print "<BR><B>$router: $name ($description)</B>\n"; + print "<BR><BR>\n"; + } +@@ -116,8 +117,8 @@ + + if ($rid && !$iid) { + $selectQuery="SELECT id, name, description FROM interface WHERE rid=$rid"; +- $selectResult=mysql_query($selectQuery, $dbc); +- $interfaces = mysql_num_rows($selectResult); ++ $selectResult=mysqli_query($dbc, $selectQuery); ++ $interfaces = mysqli_num_rows($selectResult); + if ($interfaces <= 0) + print "<BR>No Interfaces Found for Router $router (ID: $rid).<BR>\n"; + else { +@@ -129,12 +130,15 @@ + print gmdate('D, d M Y H:i:s \G\M\T', time())."\n"; + print "</TABLE><HR>\n"; + print "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"10\">\n"; +- while ($selectRow=mysql_fetch_object($selectResult)){ ++ while ($selectRow=mysqli_fetch_object($selectResult)){ + $ids[$selectRow->id] = $selectRow->name; + $desc[$selectRow->id] = $selectRow->description; + $iid = $selectRow->id; + print "<TD><A HREF=\"$PHP_SELF?rid=$rid&iid=$iid\">\n"; +- print "<IMG HEIGHT=\"135\" WIDTH=\"500\" SRC=\"rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid."&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes\" BORDER=\"0\">\n"; ++ print "<IMG HEIGHT=\"135\" WIDTH=\"500\" SRC=\"/cgi-bin/rtgplot.cgi?t1=ifInOctets_".$rid."&t2=ifOutOctets_".$rid; ++ print "&title=" . urlencode("$router: " . $selectRow->name . " (" . $selectRow->description . ")"); ++ print "&t1_name=" . urlencode("Input Octets") . "&t2_name=" . urlencode("Output Octets"); ++ print "&iid=$iid&begin=$bt&end=$et&units=bits/s&factor=8&filled=yes\" BORDER=\"0\">\n"; + print "</A><BR>\n"; + print "<B>$selectRow->name ($selectRow->description)</B>\n"; + if ($even) { +@@ -148,7 +152,7 @@ + print "<INPUT TYPE=\"SUBMIT\" VALUE=\"Back to Main\">\n"; + } + +- if ($dbc) mysql_close($dbc); ++ if ($dbc) mysqli_close($dbc); + echo "</FORM>\n"; + ?> + Modified: head/net/rtg/files/patch-etc_95.pl ============================================================================== --- head/net/rtg/files/patch-etc_95.pl Wed Nov 7 20:15:21 2018 (r484407) +++ head/net/rtg/files/patch-etc_95.pl Wed Nov 7 20:24:10 2018 (r484408) @@ -1,4 +1,4 @@ ---- etc/95.pl.orig 2018-04-02 20:14:41 UTC +--- etc/95.pl.orig 2016-11-04 16:36:01 UTC +++ etc/95.pl @@ -31,7 +31,7 @@ $pass="rtgdefault"; $onedaysec=60*60*24; @@ -9,52 +9,3 @@ foreach $conf (@configs) { if (open CONF, "<$conf") { print "Reading [$conf].\n" if $DEBUG; -@@ -207,13 +207,13 @@ print "Period: [", format_dt($startdate) - write; - ($name,$router, $ratein, $rateout, $maxratein, $maxrateout, $nfratein, $nfrateout) = ("Connection", "", "Mbps", "Mbps", "Mbps", "Mbps", "Mbps", "Mbps"); - write; --print "--------------------------------------------------------------------------------\n"; -+print "----------------------------------------------------------------------------------------------------\n"; - - $dbh= DBI->connect("DBI:mysql:$db:host=$host", $user, $pass); - $dbh2= DBI->connect("DBI:mysql:$db:host=$host", $user, $pass); --$range="dtime>$startdate and dtime<=$enddate"; -+$range="`dtime`>$startdate AND `dtime`<=$enddate"; - --$statement="SELECT id FROM interface WHERE description LIKE \"%$cust%\""; -+$statement="SELECT `id` FROM `interface` WHERE `description` LIKE \"%$cust%\""; - $sth = $dbh->prepare($statement) - or die "Can't prepare $statement: $dbh->errstr\n"; - $rv = $sth->execute -@@ -223,19 +223,19 @@ while (@row = $sth->fetchrow_array ()) { - } - - foreach $interface (@interfaces) { -- $statement="SELECT rid, name, speed FROM interface WHERE id=$interface"; -+ $statement="SELECT `rid`, `name`, `speed` FROM `interface` WHERE `id`=$interface"; - &run_query($statement); - ($rid, $name, $speed) = @row; - -- $statement="SELECT rid, name FROM router WHERE rid=$rid"; -+ $statement="SELECT `rid`, `name` FROM `router` WHERE `rid`=$rid"; - &run_query($statement); - ($rid, $router) = @row; - -- $statement="SELECT counter, UNIX_TIMESTAMP(dtime), dtime FROM ifInOctets_".$rid." WHERE $range AND id=$interface ORDER BY dtime"; -+ $statement="SELECT `counter`, UNIX_TIMESTAMP(`dtime`), `dtime` FROM `ifInOctets_".$rid."` WHERE $range AND `id`=$interface ORDER BY `dtime`"; - ($intbytes_in, $maxin, $avgin, $nfin) = &interface_stats($statement); - $bytesin = int($intbytes_in/1000000 + .5); - -- $statement="SELECT counter, UNIX_TIMESTAMP(dtime), dtime FROM ifOutOctets_".$rid." WHERE $range AND id=$interface ORDER BY dtime"; -+ $statement="SELECT `counter`, UNIX_TIMESTAMP(`dtime`), `dtime` FROM `ifOutOctets_".$rid."` WHERE $range AND `id`=$interface ORDER BY `dtime`"; - ($intbytes_out, $maxout, $avgout, $nfout) = &interface_stats($statement); - $bytesout = int($intbytes_out/1000000 + .5); - -@@ -279,6 +279,6 @@ $rc = $dbh->disconnect; - exit; - - format STDOUT = --@<<<<<<<<<<< @<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>> @>>>>>> @>>>>>> @>>>>>> -+@<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>> @>>>>>> @>>>>>> @>>>>>> - $name,$router, $ratein, $rateout, $maxratein, $maxrateout, $nfratein, $nfrateout - . Modified: head/net/rtg/files/patch-etc_common.php.in ============================================================================== --- head/net/rtg/files/patch-etc_common.php.in Wed Nov 7 20:15:21 2018 (r484407) +++ head/net/rtg/files/patch-etc_common.php.in Wed Nov 7 20:24:10 2018 (r484408) @@ -1,11 +1,5 @@ --- etc/common.php.in.orig 2003-09-26 15:52:29 UTC +++ etc/common.php.in -@@ -1,4 +1,4 @@ --<? -+<?php - /* Begin with reasonable defaults */ - $VERSION = "@VERSION@"; - $host="localhost"; @@ -6,10 +6,13 @@ $pass="rtgdefault"; $db="rtg"; Modified: head/net/rtg/files/patch-etc_report.pl ============================================================================== --- head/net/rtg/files/patch-etc_report.pl Wed Nov 7 20:15:21 2018 (r484407) +++ head/net/rtg/files/patch-etc_report.pl Wed Nov 7 20:24:10 2018 (r484408) @@ -1,4 +1,4 @@ ---- etc/report.pl.orig 2018-04-02 20:14:41 UTC +--- etc/report.pl.orig 2016-11-04 16:36:08 UTC +++ etc/report.pl @@ -30,7 +30,7 @@ $pass="rtgdefault"; $onedaysec=60*60*24; @@ -9,52 +9,3 @@ foreach $conf (@configs) { if (open CONF, "<$conf") { print "Reading [$conf].\n" if $DEBUG; -@@ -192,13 +192,13 @@ print "Period: [", format_dt($startdate) - write; - ($router,$name,$bytesin, $bytesout, $ratein, $rateout, $utilin, $utilout, $maxratein, $maxrateout, $maxutilin, $maxutilout) = ("","Connection", "MBytes", "MBytes", "Mbps", "Mbps", "In %", "Out%", "Mbps", "Mbps", "In%", "Out%"); - write; --print "----------------------------------------------------------------------------------------------------------\n"; -+print "------------------------------------------------------------------------------------------------------------------------------\n"; - - $dbh= DBI->connect("DBI:mysql:$db:host=$host", $user, $pass); - $dbh2= DBI->connect("DBI:mysql:$db:host=$host", $user, $pass); --$range="dtime>$startdate and dtime<=$enddate"; -+$range="`dtime`>$startdate and `dtime`<=$enddate"; - --$statement="SELECT id FROM interface WHERE description LIKE \"%$cust%\""; -+$statement="SELECT `id` FROM `interface` WHERE `description` LIKE \"%$cust%\""; - $sth = $dbh->prepare($statement) - or die "Can't prepare $statement: $dbh->errstr\n"; - $rv = $sth->execute -@@ -209,19 +209,19 @@ while (@row = $sth->fetchrow_array ()) - } - - foreach $interface (@interfaces) { -- $statement="SELECT rid, name, speed FROM interface WHERE id=$interface"; -+ $statement="SELECT `rid`, `name`, `speed` FROM `interface` WHERE `id`=$interface"; - &run_query($statement); - ($rid, $name, $speed) = @row; - -- $statement="SELECT rid, name FROM router WHERE rid=$rid"; -+ $statement="SELECT `rid`, `name` FROM `router` WHERE `rid`=$rid"; - &run_query($statement); - ($rid, $router) = @row; - -- $statement="SELECT counter, UNIX_TIMESTAMP(dtime), dtime FROM ifInOctets_".$rid." WHERE $range AND id=$interface ORDER BY dtime"; -+ $statement="SELECT `counter`, UNIX_TIMESTAMP(`dtime`), `dtime` FROM `ifInOctets_".$rid."` WHERE $range AND `id`=$interface ORDER BY `dtime`"; - ($intbytes_in, $maxin, $avgin) = &interface_stats($statement); - $bytesin = int($intbytes_in/1000000 + .5); - -- $statement="SELECT counter, UNIX_TIMESTAMP(dtime), dtime FROM ifOutOctets_".$rid." WHERE $range AND id=$interface ORDER BY dtime"; -+ $statement="SELECT `counter`, UNIX_TIMESTAMP(`dtime`), `dtime` FROM `ifOutOctets_".$rid."` WHERE $range AND `id`=$interface ORDER BY `dtime`"; - ($intbytes_out, $maxout, $avgout) = &interface_stats($statement); - $bytesout = int($intbytes_out/1000000 + .5); - -@@ -267,6 +267,6 @@ $rc = $dbh->disconnect; - exit; - - format STDOUT = --@<<<<<<<<<<< @<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>> @>>>>>> @>>>>> @>>>>> @>>>>>> @>>>>>> @>>>>> @>>>>> -+@<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<< @>>>>>>> @>>>>>>> @>>>>>> @>>>>>> @>>>>> @>>>>> @>>>>>> @>>>>>> @>>>>> @>>>>> - $name,$router,&commify($bytesin), &commify($bytesout), $ratein, $rateout, $utilin, $utilout, $maxratein, $maxrateout, $maxutilin, $maxutilout - . Copied: head/net/rtg/files/patch-man-rtgplot.1 (from r484405, head/net/rtg/files/patch-man-rtgplot.1) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-man-rtgplot.1 Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-man-rtgplot.1) @@ -0,0 +1,43 @@ +--- man/rtgplot.1.orig 2003-09-25 04:10:36 UTC ++++ man/rtgplot.1 +@@ -10,7 +10,8 @@ + -t tablename(s) -i interface(s) [options] begin end + .br + .B rtgplot.cgi +-?t1=tablename &t2=tablename &iid=interface &begin=unixtime &end=unixtime &[options] ++?t1=tablename &t`_name=descname &t2=tablename &t2_name=descname &iid=interface ++&begin=unixtime &end=unixtime &[options] + .SH DESCRIPTION + .I rtgplot + generates traffic plots of RTG data in PNG format. It operates in +@@ -82,14 +83,19 @@ pixels. + Set plot bottom border to + .RI <size> + pixels. ++.TP ++.IR "title=<title>" ++Set graph title to ++.RI <title> + .PP + .SH "EXAMPLES" + .PP + .br + Example HTML IMG TAG: + .PP +-<IMG SRC="rtgplot.cgi? t1=ifInOctets_2& t2=ifOutOctets_2& iid=4& +-begin=1046754000& end=1046840399& units=bits/s& factor=8& scalex=yes"> ++<IMG SRC="rtgplot.cgi? t1=ifInOctets_2& t1_name=Input& t2=ifOutOctets_2& ++t2_name=Output& iid=4& begin=1046754000& end=1046840399& units=bits/s& ++factor=8& scalex=yes& title=Bandwidth+Graph"> + .PP + will plot two lines from the MySQL tables ifInOctets_2 and ifOutOctets_2 + corresponding to interface 4 on router 2 for the time span 1046754000 to +@@ -97,6 +103,8 @@ corresponding to interface 4 on router 2 + second; the units argument is displayed as the Y-axis label on the plot. + The scalex argument auto-adjusts the X time axis according to the available + data samples rather than according to the actual time span given. ++It will have a graph title of "Bandwidth Graph" and legend tags of "Input" ++and "Output" for t1 and t2 respectively. + .PP + Draw a 95th percentile line: + .PP Copied: head/net/rtg/files/patch-man-rtgpoll.1 (from r484405, head/net/rtg/files/patch-man-rtgpoll.1) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-man-rtgpoll.1 Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-man-rtgpoll.1) @@ -0,0 +1,12 @@ +--- man/rtgpoll.1.orig 2003-09-24 17:26:57 UTC ++++ man/rtgpoll.1 +@@ -31,6 +31,9 @@ Disable database inserts. + .IR "\-m" + Skip checking for multiple instances. + .TP ++.IR "\-p file" ++PID file. Process ID file. ++.TP + .IR "\-z" + Force database insertion of zero deltas. + .TP Copied: head/net/rtg/files/patch-src-rtg.h (from r484405, head/net/rtg/files/patch-src-rtg.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-src-rtg.h Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-src-rtg.h) @@ -0,0 +1,13 @@ +--- src/rtg.h.orig 2003-09-25 15:56:04 UTC ++++ src/rtg.h +@@ -42,9 +42,7 @@ + #define DEFAULT_DB_PASS "rtgdefault" + #define DEFAULT_SNMP_VER 1 + #define DEFAULT_SNMP_PORT 161 +- +-/* PID File */ +-#define PIDFILE "/tmp/rtgpoll.pid" ++#define DEFAULT_PIDFILE "/tmp/rtgpoll.pid" + + #define STAT_DESCRIP_ERROR 99 + #define HASHSIZE 5000 Copied: head/net/rtg/files/patch-src-rtgplot.c (from r484405, head/net/rtg/files/patch-src-rtgplot.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-src-rtgplot.c Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-src-rtgplot.c) @@ -0,0 +1,74 @@ +--- src/rtgplot.c.orig 2003-10-02 15:27:52 UTC ++++ src/rtgplot.c +@@ -221,7 +221,10 @@ int main(int argc, char **argv) { + plot_line(data[i][j], &img, &graph, colors->shade, TRUE); + else + plot_line(data[i][j], &img, &graph, colors->shade, FALSE); +- snprintf(intname, sizeof(intname), "%s%d", arguments.table[i], arguments.iid[j]); ++ if (arguments.tablename[i]) ++ snprintf(intname, sizeof(intname), "%s", arguments.tablename[i]); ++ else ++ snprintf(intname, sizeof(intname), "%s%d", arguments.table[i], arguments.iid[j]); + plot_legend(&img, rate[i][j], &graph, colors->shade, intname, offset); + offset++; + } +@@ -629,15 +632,15 @@ void plot_legend(gdImagePtr * img, rate_ + if (set.verbose >= HIGH) + fprintf(dfp, "Plotting legend (%s).\n", __FUNCTION__); + +- gdImageFilledRectangle(*img, BORDER_L, ++ gdImageFilledRectangle(*img, BORDER_L - 10, + BORDER_T + graph->image.yplot_area + 37 + 10 * offset, +- BORDER_L + 7, BORDER_T + graph->image.yplot_area + 44 + 10 * offset, color); +- gdImageRectangle(*img, BORDER_L, BORDER_T + graph->image.yplot_area + 37 + 10 * offset, +- BORDER_L + 7, BORDER_T + graph->image.yplot_area + 44 + 10 * offset, ++ BORDER_L - 3, BORDER_T + graph->image.yplot_area + 44 + 10 * offset, color); ++ gdImageRectangle(*img, BORDER_L - 10, BORDER_T + graph->image.yplot_area + 37 + 10 * offset, ++ BORDER_L - 3, BORDER_T + graph->image.yplot_area + 44 + 10 * offset, + std_colors[black]); + +- if (strlen(interface) > 17) { +- interface[17] = '\0'; ++ if (strlen(interface) > 15) { ++ interface[15] = '\0'; + } + snprintf(string, sizeof(string), "%s", interface); + for (i = 0; i < (17 - strlen(interface)); i++) { +@@ -662,7 +665,7 @@ void plot_legend(gdImagePtr * img, rate_ + units(rate.cur, cur), graph->units, + units((float)rate.total, total)); + } +- gdImageString(*img, gdFontSmall, BORDER_L + 10, ++ gdImageString(*img, gdFontSmall, BORDER_L, + BORDER_T + graph->image.yplot_area + 33 + (10 * offset), string, std_colors[black]); + } + +@@ -866,6 +869,13 @@ void plot_labels(gdImagePtr * img, graph + title_offset = 1 - (0.01 * (strlen(VERSION) + strlen(COPYRIGHT) + 2)); + snprintf(string, sizeof(string), "%s %s", COPYRIGHT, VERSION); + gdImageString(*img, gdFontSmall, BORDER_L + (graph->image.xplot_area * title_offset), BORDER_T - 15, string, std_colors[black]); ++ ++ /* title */ ++ if (graph->titlestr) ++ { ++ snprintf(string, sizeof(string), "%s", graph->titlestr); ++ gdImageString(*img, gdFontMediumBold, BORDER_L + 5, BORDER_T - 16, string, std_colors[black]); ++ } + } + + +@@ -1342,10 +1352,14 @@ void parseWeb(arguments_t *arguments, gr + } + } + /* XXX REB - Warning: Deprecated, tN argument will go away in RTG 0.8 XXX */ ++ snprintf(var, sizeof(var), "title"); ++ graph->titlestr = cgiGetValue(cgiArg, var); + for (i = 0; i < MAXTABLES; i++) { + snprintf(var, sizeof(var), "t%d", i + 1); + if ((arguments->table[i] = cgiGetValue(cgiArg, var))) + arguments->tables_to_plot++; ++ snprintf(var, sizeof(var), "t%d_name", i + 1); ++ arguments->tablename[i] = cgiGetValue(cgiArg, var); + } + if ((graph->units = cgiGetValue(cgiArg, "units")) == NULL) { + graph->units = malloc(sizeof(DEFAULT_UNITS)); Copied: head/net/rtg/files/patch-src-rtgplot.h (from r484405, head/net/rtg/files/patch-src-rtgplot.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-src-rtgplot.h Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-src-rtgplot.h) @@ -0,0 +1,26 @@ +--- src/rtgplot.h 2003-09-24 15:43:39.000000000 +0100 ++++ src/rtgplot.h.new 2010-04-20 21:41:37.131774833 +0100 +@@ -11,6 +11,7 @@ + + #include <gd.h> + #include <gdfonts.h> ++#include <gdfontmb.h> + #include <strings.h> + + #define XPLOT_AREA 500 +@@ -95,6 +96,7 @@ + int scaley; + range_t range; + image_t image; ++ char *titlestr; + } graph_t; + + /* A linked list of colors that we iterate through each line */ +@@ -106,6 +108,7 @@ + + typedef struct arguments_struct { + char *table[MAXTABLES]; ++ char *tablename[MAXTABLES]; + int iid[MAXIIDS]; + int tables_to_plot; + int iids_to_plot; Copied: head/net/rtg/files/patch-src-rtgpoll.c (from r484405, head/net/rtg/files/patch-src-rtgpoll.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/rtg/files/patch-src-rtgpoll.c Wed Nov 7 20:24:10 2018 (r484408, copy of r484405, head/net/rtg/files/patch-src-rtgpoll.c) @@ -0,0 +1,65 @@ +--- src/rtgpoll.c.orig 2003-09-25 15:56:04 UTC ++++ src/rtgpoll.c +@@ -13,6 +13,7 @@ + stats_t stats = + {PTHREAD_MUTEX_INITIALIZER, 0, 0, 0, 0, 0, 0, 0, 0, 0.0}; + char *target_file = NULL; ++char *pidfile = NULL; + target_t *current = NULL; + MYSQL mysql; + int entries = 0; +@@ -41,7 +42,7 @@ int main(int argc, char *argv[]) { + config_defaults(&set); + + /* Parse the command-line. */ +- while ((ch = getopt(argc, argv, "c:dhmt:vz")) != EOF) ++ while ((ch = getopt(argc, argv, "c:dhmp:t:vz")) != EOF) + switch ((char) ch) { + case 'c': + conf_file = optarg; +@@ -55,6 +56,9 @@ int main(int argc, char *argv[]) { + case 'm': + set.multiple++; + break; ++ case 'p': ++ pidfile = optarg; ++ break; + case 't': + target_file = optarg; + break; +@@ -66,6 +70,9 @@ int main(int argc, char *argv[]) { + break; + } + ++ if (!pidfile) ++ pidfile = DEFAULT_PIDFILE; ++ + if (set.verbose >= LOW) + printf("RTG version %s starting.\n", VERSION); + +@@ -78,7 +85,7 @@ int main(int argc, char *argv[]) { + sigaddset(&signal_set, SIGINT); + sigaddset(&signal_set, SIGQUIT); + if (!set.multiple) +- checkPID(PIDFILE); ++ checkPID(pidfile); + + if (pthread_sigmask(SIG_BLOCK, &signal_set, NULL) != 0) + printf("pthread_sigmask error\n"); +@@ -244,7 +251,7 @@ void *sig_handler(void *arg) + if (set.verbose >= LOW) + printf("Quiting: received signal %d.\n", sig_number); + rtg_dbdisconnect(&mysql); +- unlink(PIDFILE); ++ unlink(pidfile); + exit(1); + break; + } +@@ -259,6 +266,7 @@ void usage(char *prog) + printf("\nOptions:\n"); + printf(" -c <file> Specify configuration file\n"); + printf(" -d Disable database inserts\n"); ++ printf(" -p <file> Specify pid file (defaults to /tmp/rtgpoll.pid)\n"); + printf(" -t <file> Specify target file\n"); + printf(" -v Increase verbosity\n"); + printf(" -m Allow multiple instances\n");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811072024.wA7KOA4A006021>