mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-19 23:43:00 +02:00
Merge remote-tracking branch 'origin/master' into kernel-update
This commit is contained in:
@@ -32,7 +32,8 @@ SUID_PROGS = setdmzholes setportfw setxtaccess \
|
||||
wirelessctrl getipstat getiptstate qosctrl launch-ether-wake \
|
||||
redctrl syslogdctrl extrahdctrl sambactrl upnpctrl tripwirectrl \
|
||||
smartctrl clamavctrl addonctrl pakfire mpfirectrl wlanapctrl \
|
||||
setaliases urlfilterctrl updxlratorctrl fireinfoctrl rebuildroutes
|
||||
setaliases urlfilterctrl updxlratorctrl fireinfoctrl rebuildroutes \
|
||||
getconntracktable
|
||||
SUID_UPDX = updxsetperms
|
||||
|
||||
install : all
|
||||
@@ -160,3 +161,6 @@ fireinfoctrl: fireinfoctrl.c setuid.o ../install+setup/libsmooth/varval.o
|
||||
|
||||
rebuildroutes: rebuildroutes.c setuid.o ../install+setup/libsmooth/varval.o
|
||||
$(COMPILE) -I../install+setup/libsmooth/ rebuildroutes.c setuid.o ../install+setup/libsmooth/varval.o -o $@
|
||||
|
||||
getconntracktable: getconntracktable.c setuid.o ../install+setup/libsmooth/varval.o
|
||||
$(COMPILE) -I../install+setup/libsmooth/ getconntracktable.c setuid.o ../install+setup/libsmooth/varval.o -o $@
|
||||
|
||||
31
src/misc-progs/getconntracktable.c
Normal file
31
src/misc-progs/getconntracktable.c
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user