diff options
-rw-r--r-- | src/firejail/network_main.c | 16 |
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 | ||