forked from lavina/lavina
[xmpp] no panic!
This commit is contained in:
parent
77d175ccd9
commit
798b27ccb2
|
@ -1376,6 +1376,7 @@ dependencies = [
|
|||
"anyhow",
|
||||
"assert_matches",
|
||||
"derive_more",
|
||||
"lavina-core",
|
||||
"lazy_static",
|
||||
"quick-xml",
|
||||
"regex",
|
||||
|
|
|
@ -83,7 +83,7 @@ pub async fn launch(
|
|||
|
||||
let key = match read_one(&mut SyncBufReader::new(File::open(config.key)?))? {
|
||||
Some(PemItem::ECKey(k) | PemItem::PKCS8Key(k) | PemItem::RSAKey(k)) => PrivateKey(k),
|
||||
_ => panic!("no keys in file"),
|
||||
_ => return Err(fail("no keys in file")),
|
||||
};
|
||||
|
||||
let loaded_config = Arc::new(LoadedConfig {
|
||||
|
|
|
@ -4,6 +4,7 @@ edition = "2021"
|
|||
version.workspace = true
|
||||
|
||||
[dependencies]
|
||||
lavina-core.workspace = true
|
||||
quick-xml.workspace = true
|
||||
lazy_static.workspace = true
|
||||
regex.workspace = true
|
||||
|
|
|
@ -3,6 +3,7 @@ use quick_xml::events::{BytesEnd, BytesStart, BytesText, Event};
|
|||
use quick_xml::name::{Namespace, QName, ResolveResult};
|
||||
use quick_xml::{NsReader, Writer};
|
||||
use tokio::io::{AsyncBufRead, AsyncWrite};
|
||||
use lavina_core::prelude::fail;
|
||||
|
||||
use super::skip_text;
|
||||
|
||||
|
@ -28,10 +29,10 @@ impl ClientStreamStart {
|
|||
if let Event::Start(e) = incoming {
|
||||
let (ns, local) = reader.resolve_element(e.name());
|
||||
if ns != ResolveResult::Bound(Namespace(XMLNS.as_bytes())) {
|
||||
return Err(panic!());
|
||||
return Err(fail("Invalid namespace for stream element"));
|
||||
}
|
||||
if local.into_inner() != b"stream" {
|
||||
return Err(panic!());
|
||||
return Err(fail("Invalid local name for stream element"));
|
||||
}
|
||||
let mut to = None;
|
||||
let mut lang = None;
|
||||
|
@ -64,7 +65,7 @@ impl ClientStreamStart {
|
|||
version: version.unwrap(),
|
||||
})
|
||||
} else {
|
||||
Err(panic!())
|
||||
Err(fail("Incoming message does not belong XML Start Event"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue