Cleanly handle invalid response from trusted server instead of panicking
This commit is contained in:
parent
00996dd834
commit
23cf39c525
1 changed files with 11 additions and 1 deletions
|
@ -1464,7 +1464,17 @@ impl Service {
|
||||||
.write()
|
.write()
|
||||||
.map_err(|_| Error::bad_database("RwLock is poisoned."))?;
|
.map_err(|_| Error::bad_database("RwLock is poisoned."))?;
|
||||||
for k in keys.server_keys {
|
for k in keys.server_keys {
|
||||||
let k = k.deserialize().unwrap();
|
let k = match k.deserialize() {
|
||||||
|
Ok(key) => key,
|
||||||
|
Err(e) => {
|
||||||
|
warn!(
|
||||||
|
"Received error {} while fetching keys from trusted server {}",
|
||||||
|
e, server
|
||||||
|
);
|
||||||
|
warn!("{}", k.into_json());
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// TODO: Check signature from trusted server?
|
// TODO: Check signature from trusted server?
|
||||||
servers.remove(&k.server_name);
|
servers.remove(&k.server_name);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue