aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/ssl/test.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/openssl/src/ssl/test.rs b/openssl/src/ssl/test.rs
index 6b539589..a8a797a2 100644
--- a/openssl/src/ssl/test.rs
+++ b/openssl/src/ssl/test.rs
@@ -1543,6 +1543,8 @@ fn psk_ciphers() {
const CIPHER: &'static str = "PSK-AES128-CBC-SHA";
const PSK: &[u8] = b"thisisaverysecurekey";
const CLIENT_IDENT: &[u8] = b"thisisaclient";
+ static CLIENT_CALLED: AtomicBool = ATOMIC_BOOL_INIT;
+ static SERVER_CALLED: AtomicBool = ATOMIC_BOOL_INIT;
let listener = TcpListener::bind("127.0.0.1:0").unwrap();
let port = listener.local_addr().unwrap().port();
@@ -1554,6 +1556,7 @@ fn psk_ciphers() {
ctx.set_psk_server_callback(move |_, identity, psk| {
assert!(identity.unwrap_or(&[]) == CLIENT_IDENT);
psk[..PSK.len()].copy_from_slice(&PSK);
+ SERVER_CALLED.store(true, Ordering::SeqCst);
Ok(PSK.len())
});
let ssl = Ssl::new(&ctx.build()).unwrap();
@@ -1567,8 +1570,11 @@ fn psk_ciphers() {
identity[..CLIENT_IDENT.len()].copy_from_slice(&CLIENT_IDENT);
identity[CLIENT_IDENT.len()] = 0;
psk[..PSK.len()].copy_from_slice(&PSK);
+ CLIENT_CALLED.store(true, Ordering::SeqCst);
Ok(PSK.len())
});
let ssl = Ssl::new(&ctx.build()).unwrap();
ssl.connect(stream).unwrap();
+
+ assert!(CLIENT_CALLED.load(Ordering::SeqCst) && SERVER_CALLED.load(Ordering::SeqCst));
}