Skip to content

Commit b84be9f

Browse files
committed
PR feedback
1 parent 20730de commit b84be9f

File tree

4 files changed

+66
-23
lines changed

4 files changed

+66
-23
lines changed

examples/resumption/src/bin/server.rs

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,24 @@ pub static TICKET_KEY: [u8; 16] = [0; 16];
1717
pub static TICKET_KEY_NAME: &[u8] = "keyname".as_bytes();
1818

1919
struct ResumptionConfig;
20-
impl ConfigLoader for ResumptionConfig {
21-
fn load(&mut self, _cx: ConnectionContext) -> s2n_tls::config::Config {
20+
21+
impl ResumptionConfig {
22+
fn build() -> Result<s2n_tls::config::Config, s2n_tls::error::Error> {
2223
let mut config_builder = s2n_tls::config::Builder::new();
2324
config_builder
24-
.enable_session_tickets(true)
25-
.unwrap()
26-
.add_session_ticket_key(TICKET_KEY_NAME, &TICKET_KEY, SystemTime::now())
27-
.unwrap()
28-
.load_pem(CERT_PEM.as_bytes(), KEY_PEM.as_bytes())
29-
.unwrap()
30-
.set_security_policy(&s2n_tls::security::DEFAULT_TLS13)
31-
.unwrap()
32-
.enable_quic()
33-
.unwrap()
34-
.set_application_protocol_preference([b"h3"])
35-
.unwrap();
36-
config_builder.build().unwrap()
25+
.enable_session_tickets(true)?
26+
.add_session_ticket_key(TICKET_KEY_NAME, &TICKET_KEY, SystemTime::now())?
27+
.load_pem(CERT_PEM.as_bytes(), KEY_PEM.as_bytes())?
28+
.set_security_policy(&s2n_tls::security::DEFAULT_TLS13)?
29+
.enable_quic()?
30+
.set_application_protocol_preference([b"h3"])?;
31+
config_builder.build()
32+
}
33+
}
34+
35+
impl ConfigLoader for ResumptionConfig {
36+
fn load(&mut self, _cx: ConnectionContext) -> s2n_tls::config::Config {
37+
Self::build().expect("Config builder failed")
3738
}
3839
}
3940

quic/s2n-quic-tls/src/callback.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -352,12 +352,8 @@ pub struct State {
352352
impl State {
353353
/// Complete the handshake
354354
pub fn on_handshake_complete(&mut self) {
355-
if self.rx_phase == HandshakePhase::Handshake {
356-
self.rx_phase.transition();
357-
}
358-
if self.tx_phase == HandshakePhase::Handshake {
359-
self.tx_phase.transition();
360-
}
355+
self.tx_phase.transition();
356+
self.rx_phase.transition();
361357
debug_assert_eq!(self.tx_phase, HandshakePhase::Application);
362358
debug_assert_eq!(self.rx_phase, HandshakePhase::Application);
363359
}

quic/s2n-quic-tls/src/tests.rs

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use s2n_tls::{
2525
connection::Connection,
2626
error::Error,
2727
};
28-
use std::sync::Arc;
28+
use std::{sync::Arc, time::SystemTime};
2929

3030
pub struct MyCallbackHandler {
3131
done: Arc<AtomicBool>,
@@ -75,6 +75,31 @@ impl ConnectionFuture for MyConnectionFuture {
7575
}
7676
}
7777

78+
pub static TICKET_KEY: [u8; 16] = [0; 16];
79+
pub static TICKET_KEY_NAME: &[u8] = "keyname".as_bytes();
80+
81+
struct ResumptionConfig;
82+
83+
impl ResumptionConfig {
84+
fn build() -> Result<s2n_tls::config::Config, s2n_tls::error::Error> {
85+
let mut config_builder = s2n_tls::config::Builder::new();
86+
config_builder
87+
.enable_session_tickets(true)?
88+
.add_session_ticket_key(TICKET_KEY_NAME, &TICKET_KEY, SystemTime::now())?
89+
.load_pem(CERT_PEM.as_bytes(), KEY_PEM.as_bytes())?
90+
.set_security_policy(&s2n_tls::security::DEFAULT_TLS13)?
91+
.enable_quic()?
92+
.set_application_protocol_preference([b"h3"])?;
93+
config_builder.build()
94+
}
95+
}
96+
97+
impl crate::ConfigLoader for ResumptionConfig {
98+
fn load(&mut self, _cx: crate::ConnectionContext) -> s2n_tls::config::Config {
99+
Self::build().expect("Config builder failed")
100+
}
101+
}
102+
78103
#[cfg(any(test, all(s2n_quic_unstable, feature = "unstable_private_key")))]
79104
impl PrivateKeyCallback for MyCallbackHandler {
80105
fn handle_operation(
@@ -203,6 +228,10 @@ fn s2n_server_with_client_auth() -> Result<server::Server, Error> {
203228
.build()
204229
}
205230

231+
fn s2n_server_with_resumption() -> server::Server<ResumptionConfig> {
232+
server::Server::from_loader(ResumptionConfig)
233+
}
234+
206235
fn s2n_server_with_client_auth_verifier_rejects_client_certs() -> Result<server::Server, Error> {
207236
server::Builder::default()
208237
.with_empty_trust_store()?
@@ -288,6 +317,24 @@ fn s2n_client_s2n_server_test() {
288317
run(&mut server_endpoint, &mut client_endpoint, None);
289318
}
290319

320+
#[test]
321+
#[cfg_attr(miri, ignore)]
322+
fn s2n_client_s2n_server_resumption_test() {
323+
let mut client_endpoint = s2n_client();
324+
let mut server_endpoint = s2n_server_with_resumption();
325+
326+
run(&mut server_endpoint, &mut client_endpoint, None);
327+
}
328+
329+
#[test]
330+
#[cfg_attr(miri, ignore)]
331+
fn rustls_client_s2n_server_resumption_test() {
332+
let mut client_endpoint = rustls_client();
333+
let mut server_endpoint = s2n_server_with_resumption();
334+
335+
run(&mut server_endpoint, &mut client_endpoint, None);
336+
}
337+
291338
#[test]
292339
#[cfg_attr(miri, ignore)]
293340
fn rustls_client_s2n_server_test() {

quic/s2n-quic-transport/src/space/application.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,6 @@ impl<Config: endpoint::Config> transmission::interest::Provider for ApplicationS
606606
self.recovery_manager.transmission_interest(query)?;
607607
self.stream_manager.transmission_interest(query)?;
608608
self.datagram_manager.transmission_interest(query)?;
609-
610609
Ok(())
611610
}
612611
}

0 commit comments

Comments
 (0)