| ... | @@ -662,7 +662,11 @@ pub fn init(stream: anytype, ca_bundle: Certificate.Bundle, host: []const u8) In | ... | @@ -662,7 +662,11 @@ pub fn init(stream: anytype, ca_bundle: Certificate.Bundle, host: []const u8) In |
| 662 | P.AEAD.encrypt(ciphertext, auth_tag, &out_cleartext, ad, nonce, p.client_handshake_key); | 662 | P.AEAD.encrypt(ciphertext, auth_tag, &out_cleartext, ad, nonce, p.client_handshake_key); |
| 663 | | 663 | |
| 664 | const both_msgs = client_change_cipher_spec_msg ++ finished_msg; | 664 | const both_msgs = client_change_cipher_spec_msg ++ finished_msg; |
| 665 | try stream.writeAll(&both_msgs); | 665 | var both_msgs_vec = [_]std.os.iovec_const{.{ |
| | 666 | .iov_base = &both_msgs, |
| | 667 | .iov_len = both_msgs.len, |
| | 668 | }}; |
| | 669 | try stream.writevAll(&both_msgs_vec); |
| 666 | | 670 | |
| 667 | const client_secret = hkdfExpandLabel(P.Hkdf, p.master_secret, "c ap traffic", &handshake_hash, P.Hash.digest_length); | 671 | const client_secret = hkdfExpandLabel(P.Hkdf, p.master_secret, "c ap traffic", &handshake_hash, P.Hash.digest_length); |
| 668 | const server_secret = hkdfExpandLabel(P.Hkdf, p.master_secret, "s ap traffic", &handshake_hash, P.Hash.digest_length); | 672 | const server_secret = hkdfExpandLabel(P.Hkdf, p.master_secret, "s ap traffic", &handshake_hash, P.Hash.digest_length); |