补充rtr-client,完善tls连接等

This commit is contained in:
xiuting.xu
2026-03-25 10:08:40 +08:00
parent 9cbea4e2d0
commit 03c0ab0ec7
45 changed files with 7521 additions and 1835 deletions

View File

@@ -1,12 +1,12 @@
use std::net::{Ipv4Addr, Ipv6Addr};
use std::fmt::Write;
use std::net::{Ipv4Addr, Ipv6Addr};
use serde_json::{json, Value};
use rpki::data_model::resources::ip_resources::{IPAddress, IPAddressPrefix};
use rpki::rtr::cache::SerialResult;
use rpki::rtr::payload::{Payload, RouteOrigin};
use rpki::rtr::pdu::{CacheResponse, EndOfDataV1, IPv4Prefix, IPv6Prefix};
use rpki::rtr::cache::SerialResult;
pub struct RtrDebugDumper {
entries: Vec<Value>,
@@ -163,12 +163,7 @@ pub fn v4_origin(
RouteOrigin::new(prefix, max_len, asn.into())
}
pub fn v6_origin(
addr: Ipv6Addr,
prefix_len: u8,
max_len: u8,
asn: u32,
) -> RouteOrigin {
pub fn v6_origin(addr: Ipv6Addr, prefix_len: u8, max_len: u8, asn: u32) -> RouteOrigin {
let prefix = v6_prefix(addr, prefix_len);
RouteOrigin::new(prefix, max_len, asn.into())
}
@@ -236,9 +231,8 @@ pub fn serial_result_to_string(result: &SerialResult) -> String {
match result {
SerialResult::UpToDate => "UpToDate".to_string(),
SerialResult::ResetRequired => "ResetRequired".to_string(),
SerialResult::Deltas(deltas) => {
let serials: Vec<u32> = deltas.iter().map(|d| d.serial()).collect();
format!("Deltas {:?}", serials)
SerialResult::Delta(delta) => {
format!("Delta serial={}", delta.serial())
}
}
}
@@ -266,12 +260,7 @@ pub fn print_snapshot_hashes(label: &str, snapshot: &rpki::rtr::cache::Snapshot)
);
}
pub fn test_report(
name: &str,
purpose: &str,
input: &str,
output: &str,
) {
pub fn test_report(name: &str, purpose: &str, input: &str, output: &str) {
println!(
"\n==================== TEST REPORT ====================\n测试名称: {}\n测试目的: {}\n\n【输入】\n{}\n【输出】\n{}\n====================================================\n",
name, purpose, input, output
@@ -307,16 +296,14 @@ pub fn serial_result_detail_to_string(result: &rpki::rtr::cache::SerialResult) -
rpki::rtr::cache::SerialResult::ResetRequired => {
" result: ResetRequired\n".to_string()
}
rpki::rtr::cache::SerialResult::Deltas(deltas) => {
rpki::rtr::cache::SerialResult::Delta(delta) => {
let mut out = String::new();
let _ = writeln!(&mut out, " result: Deltas");
for (idx, delta) in deltas.iter().enumerate() {
let _ = writeln!(&mut out, " delta[{}].serial: {}", idx, delta.serial());
let _ = writeln!(&mut out, " delta[{}].announced:", idx);
out.push_str(&indent_block(&payloads_to_string(delta.announced()), 4));
let _ = writeln!(&mut out, " delta[{}].withdrawn:", idx);
out.push_str(&indent_block(&payloads_to_string(delta.withdrawn()), 4));
}
let _ = writeln!(&mut out, " result: Delta");
let _ = writeln!(&mut out, " delta.serial: {}", delta.serial());
let _ = writeln!(&mut out, " delta.announced:");
out.push_str(&indent_block(&payloads_to_string(delta.announced()), 4));
let _ = writeln!(&mut out, " delta.withdrawn:");
out.push_str(&indent_block(&payloads_to_string(delta.withdrawn()), 4));
out
}
}