aboutsummaryrefslogtreecommitdiffstats
path: root/src/connection.rs
diff options
context:
space:
mode:
authorLibravatar cel 🌸 <cel@bunny.garden>2024-11-24 02:04:45 +0000
committerLibravatar cel 🌸 <cel@bunny.garden>2024-11-24 02:04:45 +0000
commit35f164cdb6324c6dfb635f8de93a8221861a5991 (patch)
treef858e55999007046e511acce17b9e35bc1585ba4 /src/connection.rs
parent40024d2dadba9e70edb2f3448204565ce3f68ab7 (diff)
downloadluz-35f164cdb6324c6dfb635f8de93a8221861a5991.tar.gz
luz-35f164cdb6324c6dfb635f8de93a8221861a5991.tar.bz2
luz-35f164cdb6324c6dfb635f8de93a8221861a5991.zip
implement starttls
Diffstat (limited to 'src/connection.rs')
-rw-r--r--src/connection.rs15
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();
+ }
}