diff options
author | 2024-11-24 02:04:45 +0000 | |
---|---|---|
committer | 2024-11-24 02:04:45 +0000 | |
commit | 35f164cdb6324c6dfb635f8de93a8221861a5991 (patch) | |
tree | f858e55999007046e511acce17b9e35bc1585ba4 /src/connection.rs | |
parent | 40024d2dadba9e70edb2f3448204565ce3f68ab7 (diff) | |
download | luz-35f164cdb6324c6dfb635f8de93a8221861a5991.tar.gz luz-35f164cdb6324c6dfb635f8de93a8221861a5991.tar.bz2 luz-35f164cdb6324c6dfb635f8de93a8221861a5991.zip |
implement starttls
Diffstat (limited to 'src/connection.rs')
-rw-r--r-- | src/connection.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/connection.rs b/src/connection.rs index 89f382f..2b70747 100644 --- a/src/connection.rs +++ b/src/connection.rs @@ -27,8 +27,11 @@ impl Connection { match self { Connection::Encrypted(j) => Ok(j), Connection::Unencrypted(mut j) => { + j.start_stream().await?; info!("upgrading connection to tls"); - Ok(j.starttls().await?) + j.get_features().await?; + let j = j.starttls().await?; + Ok(j) } } } @@ -179,4 +182,14 @@ mod tests { async fn connect() { Connection::connect("blos.sm").await.unwrap(); } + + #[test(tokio::test)] + async fn test_tls() { + Connection::connect("blos.sm") + .await + .unwrap() + .ensure_tls() + .await + .unwrap(); + } } |