Skip to content

Instantly share code, notes, and snippets.

@pvdrz
Last active August 31, 2023 15:35
Show Gist options
  • Save pvdrz/213e5a06fb84f4a6b13855e84ef78ca0 to your computer and use it in GitHub Desktop.
Save pvdrz/213e5a06fb84f4a6b13855e84ef78ca0 to your computer and use it in GitHub Desktop.
rustls 0-RTT
* Sending first request:
ConnectionCore::for_client(server_name=DnsName("localhost"))
start_handshake(server_name=DnsName("localhost"))
emit_client_hello_for_retry()
CommonState::send_msg(m.typ=Handshake::ClientHello, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=231, m.typ=Handshake)
ChunkVecBuffer::append(bytes.len=236) <<<BUFFERING>>>
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 236 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 1649 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=122)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::ServerHello)
ExpectServerHelloOrHelloRetryRequest::handle(m.typ=Handshake::ServerHello)
ExpectServerHello::handle(m.typ=Handshake::ServerHello)
tls13::handle_server_hello
CommonState::send_msg(m.typ=ChangeCipherSpec, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=1, m.typ=ChangeCipherSpec)
ChunkVecBuffer::append(bytes.len=6) <<<BUFFERING>>>
ConnectionCore::process_msg(msg.typ=ChangeCipherSpec, msg.len=1)
RecordLayer::decrypt_incoming(encr.len=27) -> decr.len=10
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=10)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::EncryptedExtensions)
ExpectEncryptedExtensions::handle(m.typ=Handshake::EncryptedExtensions)
RecordLayer::decrypt_incoming(encr.len=1119) -> decr.len=1102
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=1102)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Certificate)
ExpectCertificateOrCertReq::handle(m.typ=Handshake::Certificate)
ExpectCertificate::handle(m.typ=Handshake::Certificate)
RecordLayer::decrypt_incoming(encr.len=281) -> decr.len=264
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=264)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::CertificateVerify)
ExpectCertificateVerify::handle(m.typ=Handshake::CertificateVerify)
<dyn ServerCertVerifier>::verify_server_cert() <<<IO>>>
RecordLayer::decrypt_incoming(encr.len=69) -> decr.len=52
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=52)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Finished)
ExpectFinished::handle(m.typ=Handshake::Finished)
CommonState::send_msg(m.typ=Handshake::Finished, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=52, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=52) -> encr.len=69
CommonState::queue_tls_message(m.payload.len=69, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=74) <<<BUFFERING>>>
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 80 <<<IO>>>
Stream::write(buf.len=81)
Stream::complete_prior_io()
Writer::write(buf.len=81)
CommonState::send_some_plaintext(data.len=81)
CommonState::send_plain(data.len=81, limit=Yes)
CommonState::send_appdata_encrypt(payload.len=81, limit=Yes)
CommonState::send_single_frame(m.payload.len=81, m.typ=ApplicationData)
RecordLayer::encrypt_outgoing(plain.len=81) -> encr.len=98
CommonState::queue_tls_message(m.payload.len=98, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=103) <<<BUFFERING>>>
ConnectionCommon::complete_io()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 103 <<<IO>>>
* Normal request sent
Stream::read(buf.len=8192)
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 563 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=90) -> decr.len=73
ConnectionCore::process_msg(msg.typ=ApplicationData, msg.len=73)
ConnectionCommon::process_main_protocol(msg.typ=ApplicationData)
ExpectTraffic::handle(m.typ=ApplicationData)
CommonState::take_received_plaintext(bytes.len=73)
ChunkVecBuffer::append(bytes.len=73) <<<BUFFERING>>>
RecordLayer::decrypt_incoming(encr.len=19) -> decr.len=2
ConnectionCore::process_msg(msg.typ=Alert, msg.len=2)
Reader::read(buf.len=8192)
* Server response: "HTTP/1.0 200 OK\r\n"
* Sending second request:
ConnectionCore::for_client(server_name=DnsName("localhost"))
start_handshake(server_name=DnsName("localhost"))
emit_client_hello_for_retry()
CommonState::send_msg(m.typ=Handshake::ClientHello, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=326, m.typ=Handshake)
ChunkVecBuffer::append(bytes.len=331) <<<BUFFERING>>>
CommonState::send_msg(m.typ=ChangeCipherSpec, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=1, m.typ=ChangeCipherSpec)
ChunkVecBuffer::append(bytes.len=6) <<<BUFFERING>>>
<WriteEarlyData as Write>::write(buf.len=81)
ClientConnection::write_early_data(data.len=81)
CommonState::send_early_plaintext(data.len=81)
CommonState::send_appdata_encrypt(payload.len=81, limit=Yes)
CommonState::send_single_frame(m.payload.len=81, m.typ=ApplicationData)
RecordLayer::encrypt_outgoing(plain.len=81) -> encr.len=98
CommonState::queue_tls_message(m.payload.len=98, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=103) <<<BUFFERING>>>
* 0-RTT request sent
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 440 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 245 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=128)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::ServerHello)
ExpectServerHelloOrHelloRetryRequest::handle(m.typ=Handshake::ServerHello)
ExpectServerHello::handle(m.typ=Handshake::ServerHello)
tls13::handle_server_hello
ConnectionCore::process_msg(msg.typ=ChangeCipherSpec, msg.len=1)
RecordLayer::decrypt_incoming(encr.len=27) -> decr.len=10
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=10)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::EncryptedExtensions)
ExpectEncryptedExtensions::handle(m.typ=Handshake::EncryptedExtensions)
RecordLayer::decrypt_incoming(encr.len=69) -> decr.len=52
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=52)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Finished)
ExpectFinished::handle(m.typ=Handshake::Finished)
CommonState::send_msg(m.typ=Handshake::EndOfEarlyData, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=4, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=4) -> encr.len=21
CommonState::queue_tls_message(m.payload.len=21, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=26) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::Finished, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=52, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=52) -> encr.len=69
CommonState::queue_tls_message(m.payload.len=69, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=74) <<<BUFFERING>>>
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 100 <<<IO>>>
* 0-RTT data accepted
Stream::read(buf.len=8192)
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 539 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=106) -> decr.len=89
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=89)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
RecordLayer::decrypt_incoming(encr.len=90) -> decr.len=73
ConnectionCore::process_msg(msg.typ=ApplicationData, msg.len=73)
ConnectionCommon::process_main_protocol(msg.typ=ApplicationData)
ExpectTraffic::handle(m.typ=ApplicationData)
CommonState::take_received_plaintext(bytes.len=73)
ChunkVecBuffer::append(bytes.len=73) <<<BUFFERING>>>
Reader::read(buf.len=8192)
* Server response: "HTTP/1.0 200 OK\r\n"
* Sending first request:
ConnectionCore::for_client(server_name=DnsName("jbp.io"))
start_handshake(server_name=DnsName("jbp.io"))
emit_client_hello_for_retry()
CommonState::send_msg(m.typ=Handshake::ClientHello, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=228, m.typ=Handshake)
ChunkVecBuffer::append(bytes.len=233) <<<BUFFERING>>>
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 233 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 1448 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=122)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::ServerHello)
ExpectServerHelloOrHelloRetryRequest::handle(m.typ=Handshake::ServerHello)
ExpectServerHello::handle(m.typ=Handshake::ServerHello)
tls13::handle_server_hello
CommonState::send_msg(m.typ=ChangeCipherSpec, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=1, m.typ=ChangeCipherSpec)
ChunkVecBuffer::append(bytes.len=6) <<<BUFFERING>>>
ConnectionCore::process_msg(msg.typ=ChangeCipherSpec, msg.len=1)
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 6 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 3717 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=5027) -> decr.len=5010
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=10)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::EncryptedExtensions)
ExpectEncryptedExtensions::handle(m.typ=Handshake::EncryptedExtensions)
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=4684)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Certificate)
ExpectCertificateOrCertReq::handle(m.typ=Handshake::Certificate)
ExpectCertificate::handle(m.typ=Handshake::Certificate)
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=264)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::CertificateVerify)
ExpectCertificateVerify::handle(m.typ=Handshake::CertificateVerify)
<dyn ServerCertVerifier>::verify_server_cert() <<<IO>>>
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=52)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Finished)
ExpectFinished::handle(m.typ=Handshake::Finished)
CommonState::send_msg(m.typ=Handshake::Finished, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=52, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=52) -> encr.len=69
CommonState::queue_tls_message(m.payload.len=69, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=74) <<<BUFFERING>>>
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 74 <<<IO>>>
Stream::write(buf.len=78)
Stream::complete_prior_io()
Writer::write(buf.len=78)
CommonState::send_some_plaintext(data.len=78)
CommonState::send_plain(data.len=78, limit=Yes)
CommonState::send_appdata_encrypt(payload.len=78, limit=Yes)
CommonState::send_single_frame(m.payload.len=78, m.typ=ApplicationData)
RecordLayer::encrypt_outgoing(plain.len=78) -> encr.len=95
CommonState::queue_tls_message(m.payload.len=95, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=100) <<<BUFFERING>>>
ConnectionCommon::complete_io()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 100 <<<IO>>>
* Normal request sent
Stream::read(buf.len=8192)
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 1448 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=493) -> decr.len=476
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=238)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=238)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
ConnectionCommon::complete_io()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 441 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=1386) -> decr.len=1369
ConnectionCore::process_msg(msg.typ=ApplicationData, msg.len=1369)
ConnectionCommon::process_main_protocol(msg.typ=ApplicationData)
ExpectTraffic::handle(m.typ=ApplicationData)
CommonState::take_received_plaintext(bytes.len=1369)
ChunkVecBuffer::append(bytes.len=1369) <<<BUFFERING>>>
Reader::read(buf.len=8192)
* Server response: "HTTP/1.1 200 OK\r\n"
* Sending second request:
ConnectionCore::for_client(server_name=DnsName("jbp.io"))
start_handshake(server_name=DnsName("jbp.io"))
emit_client_hello_for_retry()
CommonState::send_msg(m.typ=Handshake::ClientHello, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=499, m.typ=Handshake)
ChunkVecBuffer::append(bytes.len=504) <<<BUFFERING>>>
CommonState::send_msg(m.typ=ChangeCipherSpec, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=1, m.typ=ChangeCipherSpec)
ChunkVecBuffer::append(bytes.len=6) <<<BUFFERING>>>
<WriteEarlyData as Write>::write(buf.len=78)
ClientConnection::write_early_data(data.len=78)
CommonState::send_early_plaintext(data.len=78)
CommonState::send_appdata_encrypt(payload.len=78, limit=Yes)
CommonState::send_single_frame(m.payload.len=78, m.typ=ApplicationData)
RecordLayer::encrypt_outgoing(plain.len=78) -> encr.len=95
CommonState::queue_tls_message(m.payload.len=95, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=100) <<<BUFFERING>>>
* 0-RTT request sent
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 610 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 721 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=128)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::ServerHello)
ExpectServerHelloOrHelloRetryRequest::handle(m.typ=Handshake::ServerHello)
ExpectServerHello::handle(m.typ=Handshake::ServerHello)
tls13::handle_server_hello
ConnectionCore::process_msg(msg.typ=ChangeCipherSpec, msg.len=1)
RecordLayer::decrypt_incoming(encr.len=79) -> decr.len=62
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=10)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::EncryptedExtensions)
ExpectEncryptedExtensions::handle(m.typ=Handshake::EncryptedExtensions)
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=52)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Finished)
ExpectFinished::handle(m.typ=Handshake::Finished)
CommonState::send_msg(m.typ=Handshake::EndOfEarlyData, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=4, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=4) -> encr.len=21
CommonState::queue_tls_message(m.payload.len=21, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=26) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::Finished, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=52, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=52) -> encr.len=69
CommonState::queue_tls_message(m.payload.len=69, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=74) <<<BUFFERING>>>
RecordLayer::decrypt_incoming(encr.len=493) -> decr.len=476
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=238)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=238)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::NewSessionTicket)
ExpectTraffic::handle(m.typ=Handshake::NewSessionTicket)
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 100 <<<IO>>>
* 0-RTT data accepted
Stream::read(buf.len=8192)
Stream::complete_prior_io()
ConnectionCommon::complete_io()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 1391 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=1386) -> decr.len=1369
ConnectionCore::process_msg(msg.typ=ApplicationData, msg.len=1369)
ConnectionCommon::process_main_protocol(msg.typ=ApplicationData)
ExpectTraffic::handle(m.typ=ApplicationData)
CommonState::take_received_plaintext(bytes.len=1369)
ChunkVecBuffer::append(bytes.len=1369) <<<BUFFERING>>>
Reader::read(buf.len=8192)
* Server response: "HTTP/1.1 200 OK\r\n"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
ConnectionCommon::read_tls()
MessageDeframer::read() -> 236 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=231)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::ClientHello)
CommonState::send_msg(m.typ=Handshake::ServerHello, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=122, m.typ=Handshake)
ChunkVecBuffer::append(bytes.len=127) <<<BUFFERING>>>
CommonState::send_msg(m.typ=ChangeCipherSpec, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=1, m.typ=ChangeCipherSpec)
ChunkVecBuffer::append(bytes.len=6) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::EncryptedExtensions, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=10, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=10) -> encr.len=27
CommonState::queue_tls_message(m.payload.len=27, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=32) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::Certificate, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=1102, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=1102) -> encr.len=1119
CommonState::queue_tls_message(m.payload.len=1119, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=1124) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::CertificateVerify, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=264, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=264) -> encr.len=281
CommonState::queue_tls_message(m.payload.len=281, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=286) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::Finished, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=52, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=52) -> encr.len=69
CommonState::queue_tls_message(m.payload.len=69, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=74) <<<BUFFERING>>>
ConnectionCommon::process_new_packets()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 1649 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 80 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=ChangeCipherSpec, msg.len=1)
RecordLayer::decrypt_incoming(encr.len=69) -> decr.len=52
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=52)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Finished)
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
ConnectionCommon::process_new_packets()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 103 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=98) -> decr.len=81
ConnectionCore::process_msg(msg.typ=ApplicationData, msg.len=81)
ConnectionCommon::process_main_protocol(msg.typ=ApplicationData)
CommonState::take_received_plaintext(bytes.len=81)
ChunkVecBuffer::append(bytes.len=81) <<<BUFFERING>>>
ConnectionCommon::process_new_packets()
Reader::read(buf.len=81)
Writer::write(buf.len=73)
CommonState::send_some_plaintext(data.len=73)
CommonState::send_plain(data.len=73, limit=Yes)
CommonState::send_appdata_encrypt(payload.len=73, limit=Yes)
CommonState::send_single_frame(m.payload.len=73, m.typ=ApplicationData)
RecordLayer::encrypt_outgoing(plain.len=73) -> encr.len=90
CommonState::queue_tls_message(m.payload.len=90, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=95) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Alert, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=2, m.typ=Alert)
RecordLayer::encrypt_outgoing(plain.len=2) -> encr.len=19
CommonState::queue_tls_message(m.payload.len=19, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=24) <<<BUFFERING>>>
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 563 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 0 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCommon::read_tls()
MessageDeframer::read() -> 440 <<<IO>>>
ConnectionCommon::process_new_packets()
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=326)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::ClientHello)
CommonState::send_msg(m.typ=Handshake::ServerHello, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=128, m.typ=Handshake)
ChunkVecBuffer::append(bytes.len=133) <<<BUFFERING>>>
CommonState::send_msg(m.typ=ChangeCipherSpec, must_encrypt=false)
CommonState::queue_tls_message(m.payload.len=1, m.typ=ChangeCipherSpec)
ChunkVecBuffer::append(bytes.len=6) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::EncryptedExtensions, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=10, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=10) -> encr.len=27
CommonState::queue_tls_message(m.payload.len=27, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=32) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::Finished, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=52, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=52) -> encr.len=69
CommonState::queue_tls_message(m.payload.len=69, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=74) <<<BUFFERING>>>
ConnectionCore::process_msg(msg.typ=ChangeCipherSpec, msg.len=1)
RecordLayer::decrypt_incoming(encr.len=98) -> decr.len=81
ConnectionCore::process_msg(msg.typ=ApplicationData, msg.len=81)
ConnectionCommon::process_main_protocol(msg.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=81) <<<BUFFERING>>>
Writer::write(buf.len=73)
CommonState::send_some_plaintext(data.len=73)
CommonState::send_plain(data.len=73, limit=Yes)
ChunkVecBuffer::append_limited_copy(bytes.len=73) <<<BUFFERING>>>
ChunkVecBuffer::append(bytes.len=73) <<<BUFFERING>>>
ConnectionCommon::process_new_packets()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 245 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 100 <<<IO>>>
ConnectionCommon::process_new_packets()
RecordLayer::decrypt_incoming(encr.len=21) -> decr.len=4
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=4)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::EndOfEarlyData)
RecordLayer::decrypt_incoming(encr.len=69) -> decr.len=52
ConnectionCore::process_msg(msg.typ=Handshake, msg.len=52)
ConnectionCommon::process_main_protocol(msg.typ=Handshake::Finished)
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_msg(m.typ=Handshake::NewSessionTicket, must_encrypt=true)
CommonState::send_single_frame(m.payload.len=89, m.typ=Handshake)
RecordLayer::encrypt_outgoing(plain.len=89) -> encr.len=106
CommonState::queue_tls_message(m.payload.len=106, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=111) <<<BUFFERING>>>
CommonState::send_plain(data.len=73, limit=No)
CommonState::send_appdata_encrypt(payload.len=73, limit=No)
CommonState::send_single_frame(m.payload.len=73, m.typ=ApplicationData)
RecordLayer::encrypt_outgoing(plain.len=73) -> encr.len=90
CommonState::queue_tls_message(m.payload.len=90, m.typ=ApplicationData)
ChunkVecBuffer::append(bytes.len=95) <<<BUFFERING>>>
ConnectionCommon::process_new_packets()
ConnectionCommon::write_tls()
ChunkVecBuf::write_to() -> 539 <<<IO>>>
ConnectionCommon::read_tls()
MessageDeframer::read() -> 0 <<<IO>>>
ConnectionCommon::process_new_packets()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment