diff options
| author | Benjamin Cheng <[email protected]> | 2018-06-02 15:50:24 -0400 |
|---|---|---|
| committer | Benjamin Cheng <[email protected]> | 2018-06-02 15:50:24 -0400 |
| commit | 88c61d252f904f6297697a36132a2ae46d43ed03 (patch) | |
| tree | 18f779dcb02ed159d698ef40b743d758fb35c42a /openssl/src | |
| parent | push PSK callback errors onto ErrorStack (diff) | |
| download | rust-openssl-88c61d252f904f6297697a36132a2ae46d43ed03.tar.xz rust-openssl-88c61d252f904f6297697a36132a2ae46d43ed03.zip | |
Ensure psk test callbacks are called
Diffstat (limited to 'openssl/src')
| -rw-r--r-- | openssl/src/ssl/test.rs | 6 |
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)); } |