aboutsummaryrefslogtreecommitdiffstats
path: root/src/fnet
diff options
context:
space:
mode:
authorLibravatar startx2017 <vradu.startx@yandex.com>2017-12-14 19:15:33 -0500
committerLibravatar startx2017 <vradu.startx@yandex.com>2017-12-14 19:15:33 -0500
commitc59a19848dd37ac12bf024ba0cc295d3338116ae (patch)
tree12f6a8d9487f6cd9cb94ab348e4226b84c31a737 /src/fnet
parentfix RELNOTES (diff)
downloadfirejail-c59a19848dd37ac12bf024ba0cc295d3338116ae.tar.gz
firejail-c59a19848dd37ac12bf024ba0cc295d3338116ae.tar.zst
firejail-c59a19848dd37ac12bf024ba0cc295d3338116ae.zip
redirect output messages to stderr
Diffstat (limited to 'src/fnet')
-rw-r--r--src/fnet/arp.c4
-rw-r--r--src/fnet/fnet.h2
-rw-r--r--src/fnet/interface.c4
-rw-r--r--src/fnet/main.c12
4 files changed, 18 insertions, 4 deletions
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) {
192 192
193 // printing 193 // printing
194 if (header_printed == 0) { 194 if (header_printed == 0) {
195 printf(" Network scan:\n"); 195 fmessage(" Network scan:\n");
196 header_printed = 1; 196 header_printed = 1;
197 } 197 }
198 printf(" %02x:%02x:%02x:%02x:%02x:%02x\t%d.%d.%d.%d\n", 198 fmessage(" %02x:%02x:%02x:%02x:%02x:%02x\t%d.%d.%d.%d\n",
199 PRINT_MAC(hdr.sender_mac), PRINT_IP(ip)); 199 PRINT_MAC(hdr.sender_mac), PRINT_IP(ip));
200 } 200 }
201 } 201 }
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 @@
24#include <stdlib.h> 24#include <stdlib.h>
25#include <string.h> 25#include <string.h>
26#include <assert.h> 26#include <assert.h>
27#include <stdarg.h>
27#include "../include/common.h" 28#include "../include/common.h"
28 29
29// main.c 30// main.c
30extern int arg_quiet; 31extern int arg_quiet;
32extern void fmessage(char* fmt, ...); // TODO: this function is duplicated in src/firejail/util.c
31 33
32// veth.c 34// veth.c
33int net_create_veth(const char *dev, const char *nsdev, unsigned pid); 35int 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) {
172 if (getifaddrs(&ifaddr) == -1) 172 if (getifaddrs(&ifaddr) == -1)
173 errExit("getifaddrs"); 173 errExit("getifaddrs");
174 174
175 printf("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", 175 fmessage("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n",
176 "Interface", "MAC", "IP", "Mask", "Status"); 176 "Interface", "MAC", "IP", "Mask", "Status");
177 // walk through the linked list 177 // walk through the linked list
178 for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) { 178 for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) {
@@ -208,7 +208,7 @@ void net_ifprint(int scan) {
208 sprintf(macstr, "%02x:%02x:%02x:%02x:%02x:%02x", PRINT_MAC(mac)); 208 sprintf(macstr, "%02x:%02x:%02x:%02x:%02x:%02x", PRINT_MAC(mac));
209 209
210 // print 210 // print
211 printf("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n", 211 fmessage("%-17.17s%-19.19s%-17.17s%-17.17s%-6.6s\n",
212 ifa->ifa_name, macstr, ipstr, maskstr, status); 212 ifa->ifa_name, macstr, ipstr, maskstr, status);
213 213
214 // network scanning 214 // 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 @@
20#include "fnet.h" 20#include "fnet.h"
21int arg_quiet = 0; 21int arg_quiet = 0;
22 22
23void fmessage(char* fmt, ...) { // TODO: this function is duplicated in src/firejail/util.c
24 if (arg_quiet)
25 return;
26
27 va_list args;
28 va_start(args,fmt);
29 vfprintf(stderr, fmt, args);
30 va_end(args);
31 fflush(0);
32}
33
34
23static void usage(void) { 35static void usage(void) {
24 printf("Usage:\n"); 36 printf("Usage:\n");
25 printf("\tfnet create veth dev1 dev2 bridge child\n"); 37 printf("\tfnet create veth dev1 dev2 bridge child\n");