Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion common/s2n-codec/src/zerocopy.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0

use ::byteorder::NetworkEndian;
use core::{
cmp::Ordering,
fmt,
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-core/src/inet/checksum.rs
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ mod tests {
//# checksum = ~sum;
//# }

let mut addr = data.as_ptr() as *const u8;
let mut addr = data.as_ptr();
let mut count = data.len();

unsafe {
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-core/src/packet/decoding.rs
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ impl HeaderDecoderResult {
DecoderError,
> {
let (payload, remaining) = buffer.decode_slice(self.packet_len)?;
let packet_number = ProtectedPacketNumber::default();
let packet_number = ProtectedPacketNumber;
let payload = ProtectedPayload::new(self.header_len, payload.into_less_safe_slice());

Ok((payload, packet_number, remaining))
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-core/src/xdp/bpf.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ impl<'a> DecoderBufferMut<'a> {
#[inline]
pub unsafe fn new(start: *mut u8, end: *mut u8) -> Self {
let len = end as usize - start as usize;
let data = core::slice::from_raw_parts_mut(start as *mut u8, len);
let data = core::slice::from_raw_parts_mut(start, len);
let buffer = Inner::new(data);
Self { buffer, end }
}
Expand Down
5 changes: 5 additions & 0 deletions quic/s2n-quic-platform/src/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,11 @@ pub struct Storage {
layout: Layout,
}

/// Safety: the ring buffer controls access to the underlying storage
unsafe impl Send for Storage {}
/// Safety: the ring buffer controls access to the underlying storage
unsafe impl Sync for Storage {}

impl Storage {
#[inline]
pub fn new(layout: Layout) -> Self {
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-platform/src/message/msg.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ pub(super) unsafe fn alloc<T: Copy + Sized, F: Fn(&mut T) -> &mut msghdr>(
// calculate each of the pointers we need to set up a message
let mut entry_ptr = ptr.add(entry_offset) as *mut T;
let mut header_ptr = ptr.add(header_offset) as *mut Header;
let mut payload_ptr = ptr.add(payload_offset) as *mut u8;
let mut payload_ptr = ptr.add(payload_offset);

for _ in 0..entries {
// for each message update all of the pointers to the correct locations
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-platform/src/message/simple.rs
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ unsafe fn alloc(entries: u32, payload_len: u32, offset: usize) -> super::Storage
let ptr = storage.as_ptr();

let mut entry_ptr = ptr.add(entry_offset) as *mut Message;
let mut payload_ptr = ptr.add(payload_offset) as *mut u8;
let mut payload_ptr = ptr.add(payload_offset);
for _ in 0..entries {
let entry = &mut *entry_ptr;
entry.payload_ptr = payload_ptr;
Expand Down
45 changes: 25 additions & 20 deletions quic/s2n-quic-qns/src/server/h09.rs
Original file line number Diff line number Diff line change
Expand Up @@ -164,31 +164,36 @@ fn parse_h09_request(chunks: &[Bytes], path: &mut String, is_open: bool) -> Resu

#[test]
fn parse_h09_request_test() {
macro_rules! test {
([$($chunk:expr),* $(,)?], $expected:pat) => {{
let chunks = [$(Bytes::from_static($chunk.as_bytes())),*];
let mut path = String::new();
fn parse(chunks: &[&str]) -> Result<Option<String>> {
let chunks: Vec<_> = chunks
.iter()
.map(|v| Bytes::copy_from_slice(v.as_bytes()))
.collect();

for idx in 0..chunks.len() {
let _ = parse_h09_request(&chunks[..idx], &mut path, true);
}
let mut path = String::new();

for idx in 0..chunks.len() {
let _ = parse_h09_request(&chunks[..idx], &mut path, true);
}

let result = parse_h09_request(&chunks, &mut path, false);
let result = result.map(|has_request| if has_request { Some(path) } else { None });
let result = result.as_ref().map(|v| v.as_deref());
let result = parse_h09_request(&chunks, &mut path, false);

result.map(|has_request| if has_request { Some(path) } else { None })
}

macro_rules! test {
([$($chunk:expr),* $(,)?], $expected:pat) => {{
let result = parse(&[$($chunk),*]).unwrap();
let result = result.as_deref();
assert!(matches!(result, $expected), "{:?}", result);
}}
}

test!([], Err(_));
test!(["GET /"], Ok(Some("")));
test!(["GET /abc"], Ok(Some("abc")));
test!(["GET /abc/123"], Ok(Some("abc/123")));
test!(["GET /CAPS/lower"], Ok(Some("CAPS/lower")));
test!(["GET /abc\rextra stuff"], Ok(Some("abc")));
test!(
["G", "E", "T", " ", "/", "t", "E", "s", "T"],
Ok(Some("tEsT"))
);
assert!(parse(&[]).is_err());
test!(["GET /"], Some(""));
test!(["GET /abc"], Some("abc"));
test!(["GET /abc/123"], Some("abc/123"));
test!(["GET /CAPS/lower"], Some("CAPS/lower"));
test!(["GET /abc\rextra stuff"], Some("abc"));
test!(["G", "E", "T", " ", "/", "t", "E", "s", "T"], Some("tEsT"));
}
4 changes: 2 additions & 2 deletions quic/s2n-quic-qns/src/tls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ impl Server {
}

fn build_null(&self) -> Result<null::Provider> {
Ok(null::Provider::default())
Ok(null::Provider)
}
}

Expand Down Expand Up @@ -154,7 +154,7 @@ impl Client {
}

fn build_null(&self) -> Result<null::Provider> {
Ok(null::Provider::default())
Ok(null::Provider)
}
}

Expand Down
6 changes: 3 additions & 3 deletions quic/s2n-quic-transport/src/connection/local_id_registry.rs
Original file line number Diff line number Diff line change
Expand Up @@ -549,7 +549,7 @@ impl LocalIdRegistry {
return;
}

for mut id_info in self
for id_info in self
.registered_ids
.iter_mut()
.filter(|id_info| id_info.transmission_interest().can_transmit(constraint))
Expand Down Expand Up @@ -579,7 +579,7 @@ impl LocalIdRegistry {
return;
}

for mut id_info in self.registered_ids.iter_mut() {
for id_info in self.registered_ids.iter_mut() {
if let PendingAcknowledgement(packet_number) = id_info.status {
if ack_set.contains(packet_number) {
id_info.status = Active;
Expand All @@ -601,7 +601,7 @@ impl LocalIdRegistry {
return;
}

for mut id_info in self.registered_ids.iter_mut() {
for id_info in self.registered_ids.iter_mut() {
if let PendingAcknowledgement(packet_number) = id_info.status {
if ack_set.contains(packet_number) {
id_info.status = PendingReissue;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ impl PeerIdRegistry {
if new_id_info.is_active() {
active_id_count += 1;

if let Some(mut id_pending_new_connection_id) = id_pending_new_connection_id {
if let Some(id_pending_new_connection_id) = id_pending_new_connection_id {
// If there was an ID pending new connection ID, it can be moved to PendingRetirement
// now that we know we aren't processing a duplicate NEW_CONNECTION_ID and the
// new connection ID wasn't immediately retired.
Expand Down
8 changes: 4 additions & 4 deletions quic/s2n-quic-transport/src/path/ecn/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ fn ecn_ce_suppression() {
fn ecn_loss_recovery_probing() {
let now = time::now();

for state in vec![
for state in [
State::Capable(Timer::default()),
State::Testing(0),
State::Unknown,
Expand All @@ -239,7 +239,7 @@ fn ecn_loss_recovery_probing() {

#[test]
fn is_capable() {
for state in vec![
for state in [
State::Testing(0),
State::Unknown,
State::Failed(Timer::default()),
Expand Down Expand Up @@ -637,7 +637,7 @@ fn validate_capable_ce_suppression_test() {
#[test]
fn validate_capable_not_in_unknown_state() {
let mut publisher = Publisher::snapshot();
for state in vec![
for state in [
State::Testing(0),
State::Capable(Timer::default()),
State::Failed(Timer::default()),
Expand Down Expand Up @@ -766,7 +766,7 @@ fn on_packet_sent() {
#[test]
fn on_packet_loss() {
let mut publisher = Publisher::snapshot();
for state in vec![
for state in [
State::Testing(0),
State::Capable(Timer::default()),
State::Unknown,
Expand Down
20 changes: 10 additions & 10 deletions quic/s2n-quic-transport/src/path/manager/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -718,7 +718,7 @@ fn test_adding_new_path() {
&datagram,
true,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand Down Expand Up @@ -777,7 +777,7 @@ fn do_not_add_new_path_if_handshake_not_confirmed() {
&datagram,
handshake_confirmed,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
);
Expand Down Expand Up @@ -837,7 +837,7 @@ fn do_not_add_new_path_if_client() {
&datagram,
true,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
);
Expand Down Expand Up @@ -926,7 +926,7 @@ fn limit_number_of_connection_migrations() {
&new_addr,
&datagram,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
);
Expand Down Expand Up @@ -983,7 +983,7 @@ fn connection_migration_challenge_behavior() {
&new_addr,
&datagram,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand Down Expand Up @@ -1077,7 +1077,7 @@ fn connection_migration_use_max_ack_delay_from_active_path() {
&new_addr,
&datagram,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand Down Expand Up @@ -1154,7 +1154,7 @@ fn connection_migration_new_path_abandon_timer() {
&new_addr,
&datagram,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand Down Expand Up @@ -1426,7 +1426,7 @@ fn temporary_until_authenticated() {
&datagram,
true,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand All @@ -1448,7 +1448,7 @@ fn temporary_until_authenticated() {
&datagram,
true,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand Down Expand Up @@ -1485,7 +1485,7 @@ fn temporary_until_authenticated() {
&datagram,
true,
&mut Default::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
&mut publisher,
)
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-transport/src/path/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ pub(crate) mod ecn;
mod manager;
pub(crate) mod mtu;

pub use challenge::*;
pub use challenge::Challenge;
pub use manager::*;

/// re-export core
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-transport/src/path/mtu.rs
Original file line number Diff line number Diff line change
Expand Up @@ -948,7 +948,7 @@ mod test {
let mut publisher = Publisher::snapshot();

// test the loss in each state
for state in vec![
for state in [
State::Disabled,
State::SearchRequested,
State::Searching(pn(1), now()),
Expand Down
2 changes: 1 addition & 1 deletion quic/s2n-quic-transport/src/recovery/manager/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3152,7 +3152,7 @@ fn helper_generate_multi_path_manager(
&datagram,
true,
&mut Endpoint::default(),
&mut migration::default::Validator::default(),
&mut migration::default::Validator,
DEFAULT_MAX_MTU,
publisher,
)
Expand Down
4 changes: 2 additions & 2 deletions quic/s2n-quic-transport/src/space/application.rs
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ impl<Config: endpoint::Config> ApplicationSpace<Config> {
let bytes_progressed = self.stream_manager.outgoing_bytes_progressed();

let payload = transmission::Transmission {
config: <PhantomData<Config>>::default(),
config: PhantomData::<Config>,
outcome: &mut outcome,
packet_number,
payload: transmission::application::Payload::<Config>::new(
Expand Down Expand Up @@ -262,7 +262,7 @@ impl<Config: endpoint::Config> ApplicationSpace<Config> {
let destination_connection_id = context.path().peer_connection_id;

let payload = transmission::Transmission {
config: <PhantomData<Config>>::default(),
config: PhantomData::<Config>,
outcome: &mut outcome,
packet_number,
payload: transmission::connection_close::Payload {
Expand Down
4 changes: 2 additions & 2 deletions quic/s2n-quic-transport/src/space/handshake.rs
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ impl<Config: endpoint::Config> HandshakeSpace<Config> {

let destination_connection_id = context.path().peer_connection_id;
let payload = transmission::Transmission {
config: <PhantomData<Config>>::default(),
config: PhantomData::<Config>,
outcome: &mut outcome,
packet_number,
payload: transmission::early::Payload {
Expand Down Expand Up @@ -198,7 +198,7 @@ impl<Config: endpoint::Config> HandshakeSpace<Config> {

let destination_connection_id = context.path().peer_connection_id;
let payload = transmission::Transmission {
config: <PhantomData<Config>>::default(),
config: PhantomData::<Config>,
outcome: &mut outcome,
packet_number,
payload: transmission::connection_close::Payload {
Expand Down
4 changes: 2 additions & 2 deletions quic/s2n-quic-transport/src/space/initial.rs
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ impl<Config: endpoint::Config> InitialSpace<Config> {

let destination_connection_id = context.path().peer_connection_id;
let payload = transmission::Transmission {
config: <PhantomData<Config>>::default(),
config: PhantomData::<Config>,
outcome: &mut outcome,
packet_number,
payload: transmission::early::Payload {
Expand Down Expand Up @@ -247,7 +247,7 @@ impl<Config: endpoint::Config> InitialSpace<Config> {

let destination_connection_id = context.path().peer_connection_id;
let payload = transmission::Transmission {
config: <PhantomData<Config>>::default(),
config: PhantomData::<Config>,
outcome: &mut outcome,
packet_number,
payload: transmission::connection_close::Payload {
Expand Down
Loading