@@ -84,17 +84,21 @@ fn verify_trusted_with_set_cert() {
84
84
85
85
#[ test]
86
86
fn verify_untrusted_callback_override_ok ( ) {
87
+ static CALLED_BACK : AtomicBool = AtomicBool :: new ( false ) ;
88
+
87
89
let server = Server :: builder ( ) . build ( ) ;
88
90
89
91
let mut client = server. client ( ) ;
90
92
client
91
93
. ctx ( )
92
94
. set_verify_callback ( SslVerifyMode :: PEER , |_, x509| {
95
+ CALLED_BACK . store ( true , Ordering :: SeqCst ) ;
93
96
assert ! ( x509. current_cert( ) . is_some( ) ) ;
94
97
true
95
98
} ) ;
96
99
97
100
client. connect ( ) ;
101
+ assert ! ( CALLED_BACK . load( Ordering :: SeqCst ) ) ;
98
102
}
99
103
100
104
#[ test]
@@ -113,18 +117,22 @@ fn verify_untrusted_callback_override_bad() {
113
117
114
118
#[ test]
115
119
fn verify_trusted_callback_override_ok ( ) {
120
+ static CALLED_BACK : AtomicBool = AtomicBool :: new ( false ) ;
121
+
116
122
let server = Server :: builder ( ) . build ( ) ;
117
123
118
124
let mut client = server. client ( ) ;
119
125
client. ctx ( ) . set_ca_file ( "test/root-ca.pem" ) . unwrap ( ) ;
120
126
client
121
127
. ctx ( )
122
128
. set_verify_callback ( SslVerifyMode :: PEER , |_, x509| {
129
+ CALLED_BACK . store ( true , Ordering :: SeqCst ) ;
123
130
assert ! ( x509. current_cert( ) . is_some( ) ) ;
124
131
true
125
132
} ) ;
126
133
127
134
client. connect ( ) ;
135
+ assert ! ( CALLED_BACK . load( Ordering :: SeqCst ) ) ;
128
136
}
129
137
130
138
#[ test]
@@ -144,33 +152,41 @@ fn verify_trusted_callback_override_bad() {
144
152
145
153
#[ test]
146
154
fn verify_callback_load_certs ( ) {
155
+ static CALLED_BACK : AtomicBool = AtomicBool :: new ( false ) ;
156
+
147
157
let server = Server :: builder ( ) . build ( ) ;
148
158
149
159
let mut client = server. client ( ) ;
150
160
client
151
161
. ctx ( )
152
162
. set_verify_callback ( SslVerifyMode :: PEER , |_, x509| {
163
+ CALLED_BACK . store ( true , Ordering :: SeqCst ) ;
153
164
assert ! ( x509. current_cert( ) . is_some( ) ) ;
154
165
true
155
166
} ) ;
156
167
157
168
client. connect ( ) ;
169
+ assert ! ( CALLED_BACK . load( Ordering :: SeqCst ) ) ;
158
170
}
159
171
160
172
#[ test]
161
173
fn verify_trusted_get_error_ok ( ) {
174
+ static CALLED_BACK : AtomicBool = AtomicBool :: new ( false ) ;
175
+
162
176
let server = Server :: builder ( ) . build ( ) ;
163
177
164
178
let mut client = server. client ( ) ;
165
179
client. ctx ( ) . set_ca_file ( "test/root-ca.pem" ) . unwrap ( ) ;
166
180
client
167
181
. ctx ( )
168
182
. set_verify_callback ( SslVerifyMode :: PEER , |_, x509| {
183
+ CALLED_BACK . store ( true , Ordering :: SeqCst ) ;
169
184
assert_eq ! ( x509. error( ) , X509VerifyResult :: OK ) ;
170
185
true
171
186
} ) ;
172
187
173
188
client. connect ( ) ;
189
+ assert ! ( CALLED_BACK . load( Ordering :: SeqCst ) ) ;
174
190
}
175
191
176
192
#[ test]
@@ -469,8 +485,11 @@ fn test_alpn_server_select_none_fatal() {
469
485
#[ test]
470
486
#[ cfg( any( ossl102, libressl261) ) ]
471
487
fn test_alpn_server_select_none ( ) {
488
+ static CALLED_BACK : AtomicBool = AtomicBool :: new ( false ) ;
489
+
472
490
let mut server = Server :: builder ( ) ;
473
491
server. ctx ( ) . set_alpn_select_callback ( |_, client| {
492
+ CALLED_BACK . store ( true , Ordering :: SeqCst ) ;
474
493
ssl:: select_next_proto ( b"\x08 http/1.1\x08 spdy/3.1" , client) . ok_or ( ssl:: AlpnError :: NOACK )
475
494
} ) ;
476
495
let server = server. build ( ) ;
@@ -479,6 +498,7 @@ fn test_alpn_server_select_none() {
479
498
client. ctx ( ) . set_alpn_protos ( b"\x06 http/2" ) . unwrap ( ) ;
480
499
let s = client. connect ( ) ;
481
500
assert_eq ! ( None , s. ssl( ) . selected_alpn_protocol( ) ) ;
501
+ assert ! ( CALLED_BACK . load( Ordering :: SeqCst ) ) ;
482
502
}
483
503
484
504
#[ test]
@@ -595,7 +615,7 @@ fn refcount_ssl_context() {
595
615
596
616
{
597
617
let new_ctx_a = SslContext :: builder ( SslMethod :: tls ( ) ) . unwrap ( ) . build ( ) ;
598
- let _new_ctx_b = ssl. set_ssl_context ( & new_ctx_a) ;
618
+ ssl. set_ssl_context ( & new_ctx_a) . unwrap ( ) ;
599
619
}
600
620
}
601
621
@@ -731,7 +751,7 @@ fn connector_no_hostname_still_verifies() {
731
751
}
732
752
733
753
#[ test]
734
- fn connector_no_hostname_can_disable_verify ( ) {
754
+ fn connector_can_disable_verify ( ) {
735
755
let server = Server :: builder ( ) . build ( ) ;
736
756
737
757
let mut connector = SslConnector :: builder ( SslMethod :: tls ( ) ) . unwrap ( ) ;
@@ -742,8 +762,7 @@ fn connector_no_hostname_can_disable_verify() {
742
762
let mut s = connector
743
763
. configure ( )
744
764
. unwrap ( )
745
- . verify_hostname ( false )
746
- . connect ( "foobar.com" , s)
765
+ . connect ( "fizzbuzz.com" , s)
747
766
. unwrap ( ) ;
748
767
s. read_exact ( & mut [ 0 ] ) . unwrap ( ) ;
749
768
}
0 commit comments