@@ -6,23 +6,23 @@ use std::io::{ErrorKind, Read, Write};
66use std:: rc:: Rc ;
77use std:: sync:: Arc ;
88
9+ use rustls:: DigitallySignedStruct ;
910use rustls:: RootCertStore ;
1011use rustls:: SupportedCipherSuite ;
11- use rustls:: DigitallySignedStruct ;
1212use rustls:: client:: ResolvesClientCert ;
1313use rustls:: client:: WebPkiServerVerifier ;
14- use rustls:: client:: danger:: { HandshakeSignatureValid , ServerCertVerified } ;
15- use rustls:: pki_types:: UnixTime ;
16- use rustls:: { ClientConfig , KeyLog , ProtocolVersion , SignatureScheme , SupportedProtocolVersion } ;
17- use rustls:: pki_types:: ServerName ;
1814use rustls:: client:: danger:: ServerCertVerifier ;
15+ use rustls:: client:: danger:: { HandshakeSignatureValid , ServerCertVerified } ;
1916use rustls:: crypto:: CryptoProvider ;
2017use rustls:: pki_types:: CertificateDer ;
2118use rustls:: pki_types:: CertificateRevocationListDer ;
2219use rustls:: pki_types:: PrivateKeyDer ;
20+ use rustls:: pki_types:: ServerName ;
21+ use rustls:: pki_types:: UnixTime ;
2322use rustls:: pki_types:: pem:: PemObject ;
2423use rustls:: server:: VerifierBuilderError ;
2524use rustls:: sign:: CertifiedKey ;
25+ use rustls:: { ClientConfig , KeyLog , ProtocolVersion , SignatureScheme , SupportedProtocolVersion } ;
2626
2727use crate :: { AnyPtr , ByteRepr , FnPtr , Ptr , Value } ;
2828
@@ -175,13 +175,13 @@ pub fn map_rustls_error(err: &rustls::Error) -> RustlsResult {
175175 CertificateError :: UnsupportedSignatureAlgorithmContext { .. } => {
176176 CertUnsupportedSignatureAlgorithm
177177 }
178- CertificateError :: NotValidForName
179- | CertificateError :: NotValidForNameContext { .. } => CertNotValidForName ,
180- CertificateError :: InvalidPurpose
181- | CertificateError :: InvalidPurposeContext { .. } => CertInvalidPurpose ,
182- CertificateError :: ApplicationVerificationFailure => {
183- CertApplicationVerificationFailure
178+ CertificateError :: NotValidForName | CertificateError :: NotValidForNameContext { .. } => {
179+ CertNotValidForName
180+ }
181+ CertificateError :: InvalidPurpose | CertificateError :: InvalidPurposeContext { .. } => {
182+ CertInvalidPurpose
184183 }
184+ CertificateError :: ApplicationVerificationFailure => CertApplicationVerificationFailure ,
185185 _ => CertOtherError ,
186186 } ,
187187 Error :: AlertReceived ( alert) => match alert {
@@ -218,8 +218,9 @@ fn rustls_result_message(result: u32) -> String {
218218 7010 => "peer closed TCP connection without first closing TLS connection" . to_string ( ) ,
219219 7011 => "no plaintext available; call rustls_connection_read_tls again" . to_string ( ) ,
220220 7014 => "error parsing certificate revocation list (CRL)" . to_string ( ) ,
221- 7015 => "no server certificate verifier was configured on the client config builder"
222- . to_string ( ) ,
221+ 7015 => {
222+ "no server certificate verifier was configured on the client config builder" . to_string ( )
223+ }
223224 7016 => "no default process-wide crypto provider has been installed" . to_string ( ) ,
224225 7017 => "failed to get random bytes from the crypto provider" . to_string ( ) ,
225226 other => format ! ( "rustls result {other}" ) ,
@@ -372,12 +373,11 @@ pub fn rustls_certified_key_build(
372373 if cert_chain. is_null ( ) || private_key. is_null ( ) || certified_key_out. is_null ( ) {
373374 return RustlsResult :: NullParameter ;
374375 }
375- let private_key_der = match private_key. with_slice ( private_key_len, |s| {
376- PrivateKeyDer :: from_pem_slice ( s)
377- } ) {
378- Ok ( der) => der,
379- Err ( _) => return RustlsResult :: PrivateKeyParseError ,
380- } ;
376+ let private_key_der =
377+ match private_key. with_slice ( private_key_len, PrivateKeyDer :: from_pem_slice) {
378+ Ok ( der) => der,
379+ Err ( _) => return RustlsResult :: PrivateKeyParseError ,
380+ } ;
381381 let signing_key = match default_crypto_provider ( )
382382 . key_provider
383383 . load_private_key ( private_key_der)
@@ -642,9 +642,7 @@ pub fn rustls_client_config_builder_set_certified_key(
642642 }
643643 keys. push ( key_ptr. with ( |k| k. 0 . clone ( ) ) ) ;
644644 }
645- builder. with_mut ( |b| {
646- b. cert_resolver = Some ( Arc :: new ( ResolvesClientCertFromChoices { keys } ) )
647- } ) ;
645+ builder. with_mut ( |b| b. cert_resolver = Some ( Arc :: new ( ResolvesClientCertFromChoices { keys } ) ) ) ;
648646 RustlsResult :: Ok
649647}
650648
@@ -744,16 +742,17 @@ pub fn rustls_client_config_builder_build(
744742 if config_out. is_null ( ) {
745743 return RustlsResult :: NullParameter ;
746744 }
747- let ( provider, versions, verifier, alpn_protocols, cert_resolver, key_log) = builder. with ( |b| {
748- (
749- b. provider . clone ( ) ,
750- b. versions . clone ( ) ,
751- b. verifier . clone ( ) ,
752- b. alpn_protocols . clone ( ) ,
753- b. cert_resolver . clone ( ) ,
754- b. key_log . clone ( ) ,
755- )
756- } ) ;
745+ let ( provider, versions, verifier, alpn_protocols, cert_resolver, key_log) =
746+ builder. with ( |b| {
747+ (
748+ b. provider . clone ( ) ,
749+ b. versions . clone ( ) ,
750+ b. verifier . clone ( ) ,
751+ b. alpn_protocols . clone ( ) ,
752+ b. cert_resolver . clone ( ) ,
753+ b. key_log . clone ( ) ,
754+ )
755+ } ) ;
757756 let verifier = match verifier {
758757 Some ( v) => v,
759758 None => return RustlsResult :: NoServerCertVerifier ,
@@ -762,12 +761,11 @@ pub fn rustls_client_config_builder_build(
762761 true => rustls:: DEFAULT_VERSIONS ,
763762 false => versions. as_slice ( ) ,
764763 } ;
765- let wants_verifier = match ClientConfig :: builder_with_provider ( provider)
766- . with_protocol_versions ( versions)
767- {
768- Ok ( config) => config,
769- Err ( e) => return map_rustls_error ( & e) ,
770- } ;
764+ let wants_verifier =
765+ match ClientConfig :: builder_with_provider ( provider) . with_protocol_versions ( versions) {
766+ Ok ( config) => config,
767+ Err ( e) => return map_rustls_error ( & e) ,
768+ } ;
771769 let config = wants_verifier
772770 . dangerous ( )
773771 . with_custom_certificate_verifier ( verifier) ;
@@ -1038,12 +1036,12 @@ pub fn rustls_connection_get_peer_certificate(
10381036 conn : Ptr < RustlsConnection > ,
10391037 i : usize ,
10401038) -> Ptr < RustlsCertificate > {
1041- conn. with ( |c| {
1042- match c. conn . peer_certificates ( ) . and_then ( |certs| certs. get ( i) ) {
1039+ conn. with (
1040+ |c| match c. conn . peer_certificates ( ) . and_then ( |certs| certs. get ( i) ) {
10431041 Some ( cert) => Ptr :: alloc ( RustlsCertificate ( cert. clone ( ) . into_owned ( ) ) ) ,
10441042 None => Ptr :: null ( ) ,
1045- }
1046- } )
1043+ } ,
1044+ )
10471045}
10481046
10491047pub fn rustls_certificate_get_der (
@@ -1109,8 +1107,7 @@ pub fn rustls_default_crypto_provider_ciphersuites_len() -> usize {
11091107}
11101108
11111109pub fn rustls_default_crypto_provider_random ( buf : Ptr < u8 > , len : usize ) -> RustlsResult {
1112- let mut tmp = Vec :: new ( ) ;
1113- tmp. resize ( len, 0u8 ) ;
1110+ let mut tmp = vec ! [ 0 ; len] ;
11141111 match default_crypto_provider ( ) . secure_random . fill ( & mut tmp) {
11151112 Ok ( ( ) ) => {
11161113 if len > 0 {
0 commit comments