summaryrefslogtreecommitdiff
path: root/net/pppload/files/patch-ad
diff options
context:
space:
mode:
Diffstat (limited to 'net/pppload/files/patch-ad')
-rw-r--r--net/pppload/files/patch-ad120
1 files changed, 0 insertions, 120 deletions
diff --git a/net/pppload/files/patch-ad b/net/pppload/files/patch-ad
deleted file mode 100644
index e16171157785..000000000000
--- a/net/pppload/files/patch-ad
+++ /dev/null
@@ -1,120 +0,0 @@
---- PPPStats.C.orig 1996-09-12 04:50:13.000000000 +0200
-+++ PPPStats.C 2010-05-16 12:45:39.000000000 +0200
-@@ -19,16 +19,24 @@
-
- extern "C" {
- #include <stdlib.h>
--#include <errno.h>
- #include <stdio.h>
-+#include <sys/types.h>
-+#include <sys/select.h>
- #include <sys/ioctl.h>
- #include <sys/socket.h>
--#include <net/if.h>
--#include <linux/ppp_defs.h>
-+#include <sys/time.h>
-+#include <net/if.h>
-+// 2010-05-16 Kf Replaced patched net/if_ppp.h by net/ppp_defs.h.
-+// (Is linux/ppp_defs.h in the distribution.);
-+#include <net/ppp_defs.h>
- }
-
- #include "PPPStats.H"
- #include "Options.H"
-+#include <iostream>
-+
-+void get_command(char *);
-+char command[200];
-
- typedef struct
- {
-@@ -53,38 +61,46 @@
- system( (const char*)options->cmd() );
- }
-
-- DclPPPInfo PPPInfo[1];
-- struct ifreq ifreq;
-+ DclPPPInfo PPPInfo[1];
-+// 2010-05-16 Kf Replaced patched struct ifpppstatsreq by the original
-+// struct ifreq.
-+ struct ifreq ifreq;
- struct ppp_stats* PPPStat;
-- struct ppp_stats LastPPPStat[1];
--
-- memset (& ifreq, 0, sizeof (ifreq));
-- sprintf (ifreq.ifr_ifrn.ifrn_name, "ppp%d", options->link());
-+ struct ppp_stats LastPPPStat[1];
-
-- ifreq.ifr_ifru.ifru_data = (caddr_t) PPPInfo;
-+ memset (&ifreq, 0, sizeof (ifreq));
-+ sprintf (ifreq.ifr_name, "%s%d",(const char*)options->device(),options->link());
-+
- PPPStat = & PPPInfo->stats;
-+ PPPStat->p.ppp_ibytes = 0;
-+ PPPStat->p.ppp_obytes = 0;
- memset (LastPPPStat, 0, sizeof (LastPPPStat));
-
-- if ( (ioctl (_s, SIOCDEVPRIVATE, (caddr_t) & ifreq) < 0) ||
-- ( _isUp && ( PPPStat->p.ppp_ibytes < _rxTotal ) ) ||
-- ( !_isUp && ( PPPStat->p.ppp_ibytes == 0 ) )
-- ) {
-- if ( _isUp ) {
-- _isUp = false;
-- emit linkDown();
-- if ( options->cmd().length() ) {
-- _retryId = startTimer( options->retry() * 1000 );
-- system( (const char*)options->cmd() );
-- }
-- }
-- PPPStat->p.ppp_ibytes = 0;
-- PPPStat->p.ppp_obytes = 0;
-+ get_command(ifreq.ifr_name);
-+ FILE * fptr;
-+ fptr=popen(command,"r+");
-+ fscanf(fptr,"%u%u",&PPPStat->p.ppp_ibytes,&PPPStat->p.ppp_obytes);
-+ pclose(fptr);
-+
-+ if ( ( _isUp && ( PPPStat->p.ppp_ibytes < _rxTotal ) ) ||
-+ ( !_isUp && ( PPPStat->p.ppp_ibytes == 0 ))
-+ ) {
-+ if ( _isUp ) {
-+ _isUp = false;
-+ emit linkDown();
-+ if ( options->cmd().length() ) {
-+ _retryId = startTimer( options->retry() * 1000 );
-+ system( (const char*)options->cmd() );
-+ }
-+ }
-+ PPPStat->p.ppp_ibytes = 0;
-+ PPPStat->p.ppp_obytes = 0;
- } else if ( !_isUp ) {
-- _isUp = true;
-- killTimer( _retryId );
-- _retryId = -1;
-+ _isUp = true;
-+ killTimer( _retryId );
-+ _retryId = -1;
- }
--
-+
- unsigned int rxDelta = PPPStat->p.ppp_ibytes - _rxTotal;
- unsigned int txDelta = PPPStat->p.ppp_obytes - _txTotal;
- _rxTotal = PPPStat->p.ppp_ibytes;
-@@ -92,4 +108,17 @@
- if ( rxDelta == _rxTotal ) rxDelta = 0;
- if ( txDelta == _txTotal ) txDelta = 0;
- emit changeStats( rxDelta, txDelta, _rxTotal, _txTotal );
-+
-+}
-+
-+void get_command(char * interface) {
-+ /*"/usr/bin/netstat -b -I tun0 | /usr/bin/grep Link | awk '{print $(NF-4),$(NF-1)}' */
-+ const char * netstat_command ="/usr/bin/netstat -n -b -I ";
-+ const char * grep_command =" | /usr/bin/grep Link | /usr/bin/awk '{print $(NF-4),$(NF-1)}'";
-+ command[0]='\0';
-+ strcat(command,netstat_command);
-+ strcat(command,interface);
-+ strcat(command,grep_command);
- }
-+
-+