From c59a19848dd37ac12bf024ba0cc295d3338116ae Mon Sep 17 00:00:00 2001 From: startx2017 Date: Thu, 14 Dec 2017 19:15:33 -0500 Subject: redirect output messages to stderr --- src/fnet/arp.c | 4 ++-- src/fnet/fnet.h | 2 ++ src/fnet/interface.c | 4 ++-- src/fnet/main.c | 12 ++++++++++++ 4 files changed, 18 insertions(+), 4 deletions(-) (limited to 'src/fnet') diff --git a/src/fnet/arp.c b/src/fnet/arp.c index 4736f3509..00525229e 100644 --- a/src/fnet/arp.c +++ b/src/fnet/arp.c @@ -192,10 +192,10 @@ void arp_scan(const char *dev, uint32_t ifip, uint32_t ifmask) { // printing if (header_printed == 0) { - printf(" Network scan:\n"); + fmessage(" Network scan:\n"); header_printed = 1; } - printf(" %02x:%02x:%02x:%02x:%02x:%02x\t%d.%d.%d.%d\n", + fmessage(" %02x:%02x:%02x:%02x:%02x:%02x\t%d.%d.%d.%d\n", PRINT_MAC(hdr.sender_mac), PRINT_IP(ip)); } } diff --git a/src/fnet/fnet.h b/src/fnet/fnet.h index b4b7e6a37..78d6eb1c6 100644 --- a/src/fnet/fnet.h +++ b/src/fnet/fnet.h @@ -24,10 +24,12 @@ #include #include #include +#include #include "../include/common.h" // main.c extern int arg_quiet; +extern void fmessage(char* fmt, ...); // TODO: this function is duplicated in src/firejail/util.c // veth.c int net_create_veth(const char *dev, const char *nsdev, unsigned pid); diff --git a/src/fnet/interface.c b/src/fnet/interface.c index 8c1fd6ca4..d05c0d50d 100644 --- a/src/fnet/interface.c +++ b/src/fnet/interface.c @@ -172,7 +172,7 @@ void net_ifprint(int scan) { if (getifaddrs(&ifaddr) == -1) errExit("getifaddrs"); - printf("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", + fmessage("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", "Interface", "MAC", "IP", "Mask", "Status"); // walk through the linked list for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { @@ -208,7 +208,7 @@ void net_ifprint(int scan) { sprintf(macstr, "%02x:%02x:%02x:%02x:%02x:%02x", PRINT_MAC(mac)); // print - printf("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", + fmessage("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", ifa->ifa_name, macstr, ipstr, maskstr, status); // network scanning diff --git a/src/fnet/main.c b/src/fnet/main.c index f44760b5c..f746f9c7d 100644 --- a/src/fnet/main.c +++ b/src/fnet/main.c @@ -20,6 +20,18 @@ #include "fnet.h" int arg_quiet = 0; +void fmessage(char* fmt, ...) { // TODO: this function is duplicated in src/firejail/util.c + if (arg_quiet) + return; + + va_list args; + va_start(args,fmt); + vfprintf(stderr, fmt, args); + va_end(args); + fflush(0); +} + + static void usage(void) { printf("Usage:\n"); printf("\tfnet create veth dev1 dev2 bridge child\n"); -- cgit v1.2.3-54-g00ecf