network.modedecides whether the guest network backend is created (definition, creation).security.networkEnabledcontrols whether the jailer grants host-side IP networking to the shim (definition, propagation).security.jailerEnabledcontrols whether the host sandbox is enabled. When it is disabled,networkEnabledhas no effect (check).
Bold rows are the three behavior changes made by 1079:
network.mode |
networkEnabled |
jailerEnabled |
Before 1079 | After 1079 |
|---|---|---|---|---|
enabled |
true |
true |
Guest networking with jailer. | Unchanged. |
enabled |
true |
false |
Guest networking without jailer. | Unchanged. |
enabled |
false |
true |
Seatbelt denied AF_UNIX; startup failed. | Rejected at creation. |
enabled |
false |
false |
Guest networking remained enabled; silent fail-open. | Rejected at creation. |
disabled |
true |
true |
No guest network; jailer enabled. | Unchanged. |
disabled |
true |
false |
No guest network; jailer disabled. | Unchanged. |
disabled |
false |
true |
AF_UNIX control plane denied; startup failed. | AF_UNIX allowed; startup succeeds. |
disabled |
false |
false |
No guest network; jailer disabled. | Unchanged. |
BoxliteRuntime::create() and get_or_create() call sanitize_common() first
(creation boundary). This
condition covers both enabled / false / true and enabled / false / false:
if !self.advanced.security.network_enabled
&& matches!(self.network, NetworkSpec::Enabled { .. })The check is implemented in
runtime/options.rs. It
intentionally ignores jailer_enabled, preventing a disabled jailer from
silently turning the configuration into a fail-open.
disabled / false / true still creates no guest network backend
(vmm_spawn.rs).
The jailer collects the exact AF_UNIX bind/connect paths required by the box
(jailer/mod.rs). Seatbelt always
grants those paths but still omits the IP networking policy
(policy branch,
exact grants).
The box can therefore start while the guest remains offline.