svn commit: r484408 - in head/net/rtg: . files

Mathieu Arnold mat at FreeBSD.org
Wed Nov 7 20:24:15 UTC 2018


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");


More information about the svn-ports-all mailing list