Update connections.cgi: Show byte counters.

The connections.cgi file has been rewritten to read
the needed information directly from the kernel.

Byte counters have been added which show how much data
has been transmitted over one connection in each
direction.
This commit is contained in:
Michael Tremer
2012-07-18 12:21:23 +02:00
parent b0c682c06f
commit 75bc929eb9
5 changed files with 363 additions and 317 deletions

View File

@@ -0,0 +1,31 @@
/* IPFire helper program - getconntracktable
*
* This program is distributed under the terms of the GNU General Public
* Licence. See the file COPYING for details.
*
* The kernel's connection tracking table is not readable by
* non-root users. So this helper will just read and output it.
*/
#include <stdio.h>
#include <stdlib.h>
#include "setuid.h"
int main(void) {
if (!(initsetuid()))
exit(1);
FILE *fp = fopen("/proc/net/nf_conntrack", "r");
if (fp == NULL) {
exit(1);
}
/* Read content line by line and write it to stdout. */
char linebuf[STRING_SIZE];
while (fgets(linebuf, STRING_SIZE, fp)) {
printf("%s", linebuf);
}
fclose(fp);
return 0;
}