Add new fields for OPNSense 25.1
This commit is contained in:
parent
537da5800f
commit
c4f4a58dcf
@ -22,8 +22,10 @@ use harmony_macros::{ip, mac_address};
|
|||||||
|
|
||||||
#[tokio::main]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
|
env_logger::init();
|
||||||
|
|
||||||
let firewall = harmony::topology::LogicalHost {
|
let firewall = harmony::topology::LogicalHost {
|
||||||
ip: ip!("192.168.5.229"),
|
ip: ip!("192.168.122.106"),
|
||||||
name: String::from("opnsense-1"),
|
name: String::from("opnsense-1"),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -83,6 +83,7 @@ pub struct Interface {
|
|||||||
pub adv_dhcp_config_advanced: Option<MaybeString>,
|
pub adv_dhcp_config_advanced: Option<MaybeString>,
|
||||||
pub adv_dhcp_config_file_override: Option<MaybeString>,
|
pub adv_dhcp_config_file_override: Option<MaybeString>,
|
||||||
pub adv_dhcp_config_file_override_path: Option<MaybeString>,
|
pub adv_dhcp_config_file_override_path: Option<MaybeString>,
|
||||||
|
pub mtu: Option<u32>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
use crate::HAProxy;
|
use crate::HAProxy;
|
||||||
use crate::{data::dhcpd::DhcpInterface, xml_utils::to_xml_str};
|
use crate::{data::dhcpd::DhcpInterface, xml_utils::to_xml_str};
|
||||||
use log::error;
|
use log::{debug, error};
|
||||||
use uuid::Uuid;
|
use uuid::Uuid;
|
||||||
use yaserde::{MaybeString, NamedList, RawXml};
|
use yaserde::{MaybeString, NamedList, RawXml};
|
||||||
use yaserde_derive::{YaDeserialize, YaSerialize};
|
use yaserde_derive::{YaDeserialize, YaSerialize};
|
||||||
@ -17,12 +17,12 @@ pub struct OPNsense {
|
|||||||
pub dhcpd: NamedList<DhcpInterface>,
|
pub dhcpd: NamedList<DhcpInterface>,
|
||||||
pub snmpd: Snmpd,
|
pub snmpd: Snmpd,
|
||||||
pub syslog: Syslog,
|
pub syslog: Syslog,
|
||||||
pub nat: Nat,
|
pub nat: Option<Nat>,
|
||||||
pub filter: Filters,
|
pub filter: Filters,
|
||||||
pub load_balancer: Option<LoadBalancer>,
|
pub load_balancer: Option<LoadBalancer>,
|
||||||
pub rrd: Option<RawXml>,
|
pub rrd: Option<RawXml>,
|
||||||
pub ntpd: Ntpd,
|
pub ntpd: Ntpd,
|
||||||
pub widgets: Widgets,
|
pub widgets: Option<Widgets>,
|
||||||
pub revision: Revision,
|
pub revision: Revision,
|
||||||
#[yaserde(rename = "OPNsense")]
|
#[yaserde(rename = "OPNsense")]
|
||||||
pub opnsense: OPNsenseXmlSection,
|
pub opnsense: OPNsenseXmlSection,
|
||||||
@ -46,10 +46,12 @@ pub struct OPNsense {
|
|||||||
pub pischem: Option<Pischem>,
|
pub pischem: Option<Pischem>,
|
||||||
pub ifgroups: Ifgroups,
|
pub ifgroups: Ifgroups,
|
||||||
pub dnsmasq: Option<RawXml>,
|
pub dnsmasq: Option<RawXml>,
|
||||||
|
pub wizardtemp: Option<RawXml>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<String> for OPNsense {
|
impl From<String> for OPNsense {
|
||||||
fn from(content: String) -> Self {
|
fn from(content: String) -> Self {
|
||||||
|
debug!("XML content: {content}");
|
||||||
yaserde::de::from_str(&content)
|
yaserde::de::from_str(&content)
|
||||||
.map_err(|e| println!("{}", e.to_string()))
|
.map_err(|e| println!("{}", e.to_string()))
|
||||||
.expect("OPNSense received invalid string, should be full XML")
|
.expect("OPNSense received invalid string, should be full XML")
|
||||||
@ -242,6 +244,7 @@ pub struct Ssh {
|
|||||||
pub passwordauth: u8,
|
pub passwordauth: u8,
|
||||||
pub keysig: MaybeString,
|
pub keysig: MaybeString,
|
||||||
pub permitrootlogin: u8,
|
pub permitrootlogin: u8,
|
||||||
|
pub rekeylimit: MaybeString,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
#[derive(Default, PartialEq, Debug, YaSerialize, YaDeserialize)]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user