config/json: fix network rule for json config (#151) (#361)

This commit is contained in:
trumpfounder
2023-03-20 16:18:16 +08:00
committed by GitHub
parent f531fc2217
commit 1855c7f363

View File

@@ -221,6 +221,7 @@ pub struct Rule {
pub external: Option<Vec<String>>,
#[serde(rename = "portRange")]
pub port_range: Option<Vec<String>>,
pub network: Option<Vec<String>>,
#[serde(rename = "inboundTag")]
pub inbound_tag: Option<Vec<String>>,
pub target: String,
@@ -943,6 +944,12 @@ pub fn to_internal(json: &mut Config) -> Result<internal::Config> {
rule.port_ranges.push(ext_port_range);
}
}
if let Some(ext_networks) = ext_rule.network.as_mut() {
for ext_network in ext_networks.drain(0..) {
// FIXME validate
rule.networks.push(ext_network);
}
}
if let Some(ext_its) = ext_rule.inbound_tag.as_mut() {
for it in ext_its.drain(0..) {
rule.inbound_tags.push(it);