diff options
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(); + } } |