mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
firewall-util: refuse IPv6 firewall rules when kernel does not support IPv6
This commit is contained in:
@@ -756,9 +756,11 @@ int fw_nftables_init(FirewallContext *ctx) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = fw_nftables_init_family(nfnl, AF_INET6);
|
||||
if (r < 0)
|
||||
log_debug_errno(r, "Failed to init ipv6 NAT: %m");
|
||||
if (socket_ipv6_is_supported()) {
|
||||
r = fw_nftables_init_family(nfnl, AF_INET6);
|
||||
if (r < 0)
|
||||
log_debug_errno(r, "Failed to init ipv6 NAT: %m");
|
||||
}
|
||||
|
||||
ctx->nfnl = TAKE_PTR(nfnl);
|
||||
return 0;
|
||||
@@ -902,6 +904,9 @@ int fw_nftables_add_masquerade(
|
||||
|
||||
int r;
|
||||
|
||||
if (!socket_ipv6_is_supported() && af == AF_INET6)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
r = fw_nftables_add_masquerade_internal(ctx, add, af, source, source_prefixlen);
|
||||
if (r != -ENOENT)
|
||||
return r;
|
||||
@@ -1048,6 +1053,9 @@ int fw_nftables_add_local_dnat(
|
||||
|
||||
int r;
|
||||
|
||||
if (!socket_ipv6_is_supported() && af == AF_INET6)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
r = fw_nftables_add_local_dnat_internal(ctx, add, af, protocol, local_port, remote, remote_port, previous_remote);
|
||||
if (r != -ENOENT)
|
||||
return r;
|
||||
|
||||
Reference in New Issue
Block a user