9个不稳定版本 (3个破坏性更新)
0.4.3 | 2019年10月17日 |
---|---|
0.4.2 | 2019年10月16日 |
0.3.1 | 2019年10月7日 |
0.2.0 | 2019年9月30日 |
0.1.1 | 2019年9月30日 |
#787 in 配置
28KB
685 行
dhcpd配置解析器
Rust库,用于解析OpenBSD dhcpd配置文件。
该库目前仅支持OpenBSD实现的dhcpd.leases
文件格式。请参阅手册页面
使用示例
use dhcpd_parser::parser;
use dhcpd_parser::parser::LeasesMethods;
let res = parser::parse("
lease 192.168.0.2 {
starts 2 2019/01/01 22:00:00 UTC;
ends 2 2019/01/01 22:00:00 UTC;
hardware type 11:11:11:11:11:11;
uid Client1;
client-hostname \"CLIENTHOSTNAME\";
hostname \"TESTHOSTNAME\";
abandoned;
}
lease 192.168.0.3 {
starts 1 1985/01/01 00:00:00 UTC;
hardware type 22:22:22:22:22:22;
uid Client2;
hostname \"TESTHOSTNAME\";
}
".to_string()).expect("This should be a correct lease file");
let leases = res.unwrap().leases;
assert_eq!(
leases[0].hostname.as_ref().unwrap(),
"TESTHOSTNAME",
);
assert_eq!(
leases[1].dates.starts.unwrap().to_string(),
"Monday 1985/01/01 00:00:00",
);
assert!(leases[1].dates.ends.is_none());
assert!(leases[0].abandoned);
assert!(!leases[1].abandoned);
assert_eq!(
leases.client_hostnames(),
["CLIENTHOSTNAME".to_owned()]
.iter()
.cloned()
.collect(),
);