aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/firejail/network_main.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/firejail/network_main.c b/src/firejail/network_main.c
index e9de84400..c93c47eda 100644
--- a/src/firejail/network_main.c
+++ b/src/firejail/network_main.c
@@ -175,9 +175,19 @@ void net_check_cfg(void) {
175 if (cfg.bridge3.configured) 175 if (cfg.bridge3.configured)
176 net_configured++; 176 net_configured++;
177 177
178 // --defaultgw requires a network 178 int if_configured = 0;
179 if (cfg.defaultgw && net_configured == 0) { 179 if (cfg.interface0.configured)
180 fprintf(stderr, "Error: option --defaultgw requires at least one network to be configured\n"); 180 if_configured++;
181 if (cfg.interface1.configured)
182 if_configured++;
183 if (cfg.interface2.configured)
184 if_configured++;
185 if (cfg.interface3.configured)
186 if_configured++;
187
188 // --defaultgw requires a network or an interface
189 if (cfg.defaultgw && net_configured == 0 && if_configured == 0) {
190 fprintf(stderr, "Error: option --defaultgw requires at least one network or one interface to be configured\n");
181 exit(1); 191 exit(1);
182 } 192 }
183 193