From: Shengjing Zhu Date: Sun, 8 Dec 2019 19:00:01 +0000 (+0800) Subject: nspawn: allow combination of private-network and network-namespace-path X-Git-Tag: v245-rc1~273 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=679ecd3616345ae3ea1791af747546ae583d0cb8;p=thirdparty%2Fsystemd.git nspawn: allow combination of private-network and network-namespace-path Fixes: #14289 --- diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 00adbcb61a2..4661dd94756 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -1562,13 +1562,13 @@ static int verify_arguments(void) { if (arg_userns_chown && arg_volatile_mode != VOLATILE_NO) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "--volatile= and --private-users-chown may not be combined."); - /* If --network-namespace-path is given with any other network-related option, we need to error out, - * to avoid conflicts between different network options. */ + /* If --network-namespace-path is given with any other network-related option (except --private-network), + * we need to error out, to avoid conflicts between different network options. */ if (arg_network_namespace_path && (arg_network_interfaces || arg_network_macvlan || arg_network_ipvlan || arg_network_veth_extra || arg_network_bridge || arg_network_zone || - arg_network_veth || arg_private_network)) + arg_network_veth)) return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "--network-namespace-path= cannot be combined with other network options."); if (arg_network_bridge && arg_network_zone) diff --git a/test/TEST-13-NSPAWN-SMOKE/test.sh b/test/TEST-13-NSPAWN-SMOKE/test.sh index 747d30d952f..de504df6321 100755 --- a/test/TEST-13-NSPAWN-SMOKE/test.sh +++ b/test/TEST-13-NSPAWN-SMOKE/test.sh @@ -150,7 +150,8 @@ function run { return 1 fi - if SYSTEMD_NSPAWN_UNIFIED_HIERARCHY="$1" SYSTEMD_NSPAWN_USE_CGNS="$2" SYSTEMD_NSPAWN_API_VFS_WRITABLE="$3" systemd-nspawn --register=no -D "$_root" "$_netns_opt" --private-network -b; then + # allow combination of --network-namespace-path and --private-network + if ! SYSTEMD_NSPAWN_UNIFIED_HIERARCHY="$1" SYSTEMD_NSPAWN_USE_CGNS="$2" SYSTEMD_NSPAWN_API_VFS_WRITABLE="$3" systemd-nspawn --register=no -D "$_root" "$_netns_opt" --private-network -b; then return 1 fi