bugfixes
This commit is contained in:
parent
562f9bb7f7
commit
dfd1af0c6b
1
.vscode/launch.json
vendored
1
.vscode/launch.json
vendored
@ -75,6 +75,7 @@
|
|||||||
"args": [
|
"args": [
|
||||||
"test",
|
"test",
|
||||||
"--no-run",
|
"--no-run",
|
||||||
|
"--features=rt-tokio",
|
||||||
"--manifest-path",
|
"--manifest-path",
|
||||||
"veilid-core/Cargo.toml"
|
"veilid-core/Cargo.toml"
|
||||||
],
|
],
|
||||||
|
@ -192,17 +192,8 @@ fn config_callback(key: String) -> ConfigCallbackReturn {
|
|||||||
"network.client_whitelist_timeout_ms" => Ok(Box::new(300_000u32)),
|
"network.client_whitelist_timeout_ms" => Ok(Box::new(300_000u32)),
|
||||||
"network.reverse_connection_receipt_time_ms" => Ok(Box::new(5_000u32)),
|
"network.reverse_connection_receipt_time_ms" => Ok(Box::new(5_000u32)),
|
||||||
"network.hole_punch_receipt_time_ms" => Ok(Box::new(5_000u32)),
|
"network.hole_punch_receipt_time_ms" => Ok(Box::new(5_000u32)),
|
||||||
"network.routing_table.node_ids" => {
|
"network.routing_table.node_id" => Ok(Box::new(TypedKeySet::new())),
|
||||||
let mut nids = BTreeMap::<CryptoKind, VeilidConfigNodeId>::new();
|
"network.routing_table.node_id_secret" => Ok(Box::new(TypedSecretSet::new())),
|
||||||
nids.insert(
|
|
||||||
CRYPTO_KIND_VLD0,
|
|
||||||
VeilidConfigNodeId {
|
|
||||||
node_id: None,
|
|
||||||
node_id_secret: None,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
Ok(Box::new(nids))
|
|
||||||
}
|
|
||||||
"network.routing_table.bootstrap" => Ok(Box::new(Vec::<String>::new())),
|
"network.routing_table.bootstrap" => Ok(Box::new(Vec::<String>::new())),
|
||||||
"network.routing_table.limit_over_attached" => Ok(Box::new(64u32)),
|
"network.routing_table.limit_over_attached" => Ok(Box::new(64u32)),
|
||||||
"network.routing_table.limit_fully_attached" => Ok(Box::new(32u32)),
|
"network.routing_table.limit_fully_attached" => Ok(Box::new(32u32)),
|
||||||
@ -329,7 +320,7 @@ pub async fn test_config() {
|
|||||||
assert_eq!(inner.network.rpc.timeout_ms, 10_000u32);
|
assert_eq!(inner.network.rpc.timeout_ms, 10_000u32);
|
||||||
assert_eq!(inner.network.rpc.max_route_hop_count, 4u8);
|
assert_eq!(inner.network.rpc.max_route_hop_count, 4u8);
|
||||||
assert_eq!(inner.network.rpc.default_route_hop_count, 1u8);
|
assert_eq!(inner.network.rpc.default_route_hop_count, 1u8);
|
||||||
assert_eq!(inner.network.routing_table.node_ids.len(), 1);
|
assert_eq!(inner.network.routing_table.node_ids.len(), 0);
|
||||||
assert_eq!(inner.network.routing_table.bootstrap, Vec::<String>::new());
|
assert_eq!(inner.network.routing_table.bootstrap, Vec::<String>::new());
|
||||||
assert_eq!(inner.network.routing_table.limit_over_attached, 64u32);
|
assert_eq!(inner.network.routing_table.limit_over_attached, 64u32);
|
||||||
assert_eq!(inner.network.routing_table.limit_fully_attached, 32u32);
|
assert_eq!(inner.network.routing_table.limit_fully_attached, 32u32);
|
||||||
|
@ -1883,7 +1883,7 @@ impl SignedDirectNodeInfo {
|
|||||||
// Verify the signatures that we can
|
// Verify the signatures that we can
|
||||||
let valid_crypto_kinds =
|
let valid_crypto_kinds =
|
||||||
crypto.verify_signatures(node_ids, &node_info_bytes, &typed_signatures)?;
|
crypto.verify_signatures(node_ids, &node_info_bytes, &typed_signatures)?;
|
||||||
node_ids.remove_all(&valid_crypto_kinds);
|
xx wrong! should remove only the kinds that are not valid! also fix relayed node_ids.remove_all(&valid_crypto_kinds);
|
||||||
if node_ids.len() == 0 {
|
if node_ids.len() == 0 {
|
||||||
apibail_generic!("no valid node ids in direct node info");
|
apibail_generic!("no valid node ids in direct node info");
|
||||||
}
|
}
|
||||||
|
@ -622,8 +622,8 @@ impl VeilidConfig {
|
|||||||
let v = cb(keyname.to_owned())?;
|
let v = cb(keyname.to_owned())?;
|
||||||
$key = match v.downcast() {
|
$key = match v.downcast() {
|
||||||
Ok(v) => *v,
|
Ok(v) => *v,
|
||||||
Err(_) => {
|
Err(e) => {
|
||||||
apibail_generic!(format!("incorrect type for key {}", keyname))
|
apibail_generic!(format!("incorrect type for key {}: {:?}", keyname, type_name_of_val(&*e)))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@ -632,27 +632,26 @@ impl VeilidConfig {
|
|||||||
macro_rules! get_config_node_ids {
|
macro_rules! get_config_node_ids {
|
||||||
() => {
|
() => {
|
||||||
let keys = cb("network.routing_table.node_id".to_owned())?;
|
let keys = cb("network.routing_table.node_id".to_owned())?;
|
||||||
let keys: Option<TypedKeySet> = match keys.downcast() {
|
let keys: TypedKeySet = match keys.downcast() {
|
||||||
Ok(v) => *v,
|
Ok(v) => *v,
|
||||||
Err(_) => {
|
Err(e) => {
|
||||||
apibail_generic!(
|
apibail_generic!(format!(
|
||||||
"incorrect type for key 'network.routing_table.node_id'".to_owned()
|
"incorrect type for key 'network.routing_table.node_id': {:?}",
|
||||||
)
|
type_name_of_val(&*e)
|
||||||
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let keys = keys.unwrap_or_default();
|
|
||||||
|
|
||||||
let secrets = cb("network.routing_table.node_id_secret".to_owned())?;
|
let secrets = cb("network.routing_table.node_id_secret".to_owned())?;
|
||||||
let secrets: Option<TypedSecretSet> = match secrets.downcast() {
|
let secrets: TypedSecretSet = match secrets.downcast() {
|
||||||
Ok(v) => *v,
|
Ok(v) => *v,
|
||||||
Err(_) => {
|
Err(e) => {
|
||||||
apibail_generic!(
|
apibail_generic!(format!(
|
||||||
"incorrect type for key 'network.routing_table.node_id_secret'"
|
"incorrect type for key 'network.routing_table.node_id_secret': {:?}",
|
||||||
.to_owned()
|
type_name_of_val(&*e)
|
||||||
)
|
))
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
let secrets = secrets.unwrap_or_default();
|
|
||||||
|
|
||||||
for ck in VALID_CRYPTO_KINDS {
|
for ck in VALID_CRYPTO_KINDS {
|
||||||
if let Some(key) = keys.get(ck) {
|
if let Some(key) = keys.get(ck) {
|
||||||
|
@ -1057,11 +1057,23 @@ impl Settings {
|
|||||||
"network.hole_punch_receipt_time_ms" => {
|
"network.hole_punch_receipt_time_ms" => {
|
||||||
Ok(Box::new(inner.core.network.hole_punch_receipt_time_ms))
|
Ok(Box::new(inner.core.network.hole_punch_receipt_time_ms))
|
||||||
}
|
}
|
||||||
"network.routing_table.node_id" => {
|
"network.routing_table.node_id" => Ok(Box::new(
|
||||||
Ok(Box::new(inner.core.network.routing_table.node_id.clone()))
|
inner
|
||||||
}
|
.core
|
||||||
|
.network
|
||||||
|
.routing_table
|
||||||
|
.node_id
|
||||||
|
.clone()
|
||||||
|
.unwrap_or_default(),
|
||||||
|
)),
|
||||||
"network.routing_table.node_id_secret" => Ok(Box::new(
|
"network.routing_table.node_id_secret" => Ok(Box::new(
|
||||||
inner.core.network.routing_table.node_id_secret.clone(),
|
inner
|
||||||
|
.core
|
||||||
|
.network
|
||||||
|
.routing_table
|
||||||
|
.node_id_secret
|
||||||
|
.clone()
|
||||||
|
.unwrap_or_default(),
|
||||||
)),
|
)),
|
||||||
"network.routing_table.bootstrap" => {
|
"network.routing_table.bootstrap" => {
|
||||||
Ok(Box::new(inner.core.network.routing_table.bootstrap.clone()))
|
Ok(Box::new(inner.core.network.routing_table.bootstrap.clone()))
|
||||||
|
@ -336,3 +336,7 @@ pub fn is_debug_backtrace_enabled() -> bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn type_name_of_val<T: ?Sized>(_val: &T) -> &'static str {
|
||||||
|
std::any::type_name::<T>()
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user