-
Notifications
You must be signed in to change notification settings - Fork 582
Allow Configuration of Stateless Retry Key #5112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Cargo - windows-latestThe rust bindings need to be updated. Please apply ( diff --git a/src/rs/ffi/win_bindings.rs b/src/rs/ffi/win_bindings.rs
index 5b5a00e..ff0bfe3 100644
--- a/src/rs/ffi/win_bindings.rs
+++ b/src/rs/ffi/win_bindings.rs
@@ -168,6 +168,7 @@ pub const QUIC_PARAM_GLOBAL_LIBRARY_GIT_HASH: u32 = 16777224;
pub const QUIC_PARAM_GLOBAL_EXECUTION_CONFIG: u32 = 16777225;
pub const QUIC_PARAM_GLOBAL_TLS_PROVIDER: u32 = 16777226;
pub const QUIC_PARAM_GLOBAL_STATELESS_RESET_KEY: u32 = 16777227;
+pub const QUIC_PARAM_GLOBAL_STATELESS_RETRY_CONFIG: u32 = 16777228;
pub const QUIC_PARAM_CONFIGURATION_SETTINGS: u32 = 50331648;
pub const QUIC_PARAM_CONFIGURATION_TICKET_KEYS: u32 = 50331649;
pub const QUIC_PARAM_CONFIGURATION_VERSION_SETTINGS: u32 = 50331650;
@@ -4848,6 +4849,34 @@ const _: () = {
["Offset of field: QUIC_STREAM_STATISTICS::StreamBlockedByAppUs"]
[::std::mem::offset_of!(QUIC_STREAM_STATISTICS, StreamBlockedByAppUs) - 56usize];
};
+pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_128_GCM: QUIC_AEAD_ALGORITHM_TYPE = 0;
+pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_256_GCM: QUIC_AEAD_ALGORITHM_TYPE = 1;
+pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_CHACHA20_POLY1305: QUIC_AEAD_ALGORITHM_TYPE =
+ 2;
+pub type QUIC_AEAD_ALGORITHM_TYPE = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct QUIC_STATELESS_RETRY_CONFIG {
+ pub Algorithm: QUIC_AEAD_ALGORITHM_TYPE,
+ pub RotationMs: u32,
+ pub SecretLength: u32,
+ pub Secret: [u8; 1usize],
+}
+#[allow(clippy::unnecessary_operation, clippy::identity_op)]
+const _: () = {
+ ["Size of QUIC_STATELESS_RETRY_CONFIG"]
+ [::std::mem::size_of::<QUIC_STATELESS_RETRY_CONFIG>() - 16usize];
+ ["Alignment of QUIC_STATELESS_RETRY_CONFIG"]
+ [::std::mem::align_of::<QUIC_STATELESS_RETRY_CONFIG>() - 4usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::Algorithm"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, Algorithm) - 0usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::RotationMs"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, RotationMs) - 4usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::SecretLength"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, SecretLength) - 8usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::Secret"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, Secret) - 12usize];
+};
pub type QUIC_SET_CONTEXT_FN = ::std::option::Option<
unsafe extern "C" fn(Handle: HQUIC, Context: *mut ::std::os::raw::c_void),
>; |
Cargo - windows-latestThe rust bindings need to be updated. Please apply ( diff --git a/src/rs/ffi/win_bindings.rs b/src/rs/ffi/win_bindings.rs
index 5b5a00e..ff0bfe3 100644
--- a/src/rs/ffi/win_bindings.rs
+++ b/src/rs/ffi/win_bindings.rs
@@ -168,6 +168,7 @@ pub const QUIC_PARAM_GLOBAL_LIBRARY_GIT_HASH: u32 = 16777224;
pub const QUIC_PARAM_GLOBAL_EXECUTION_CONFIG: u32 = 16777225;
pub const QUIC_PARAM_GLOBAL_TLS_PROVIDER: u32 = 16777226;
pub const QUIC_PARAM_GLOBAL_STATELESS_RESET_KEY: u32 = 16777227;
+pub const QUIC_PARAM_GLOBAL_STATELESS_RETRY_CONFIG: u32 = 16777228;
pub const QUIC_PARAM_CONFIGURATION_SETTINGS: u32 = 50331648;
pub const QUIC_PARAM_CONFIGURATION_TICKET_KEYS: u32 = 50331649;
pub const QUIC_PARAM_CONFIGURATION_VERSION_SETTINGS: u32 = 50331650;
@@ -4848,6 +4849,34 @@ const _: () = {
["Offset of field: QUIC_STREAM_STATISTICS::StreamBlockedByAppUs"]
[::std::mem::offset_of!(QUIC_STREAM_STATISTICS, StreamBlockedByAppUs) - 56usize];
};
+pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_128_GCM: QUIC_AEAD_ALGORITHM_TYPE = 0;
+pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_256_GCM: QUIC_AEAD_ALGORITHM_TYPE = 1;
+pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_CHACHA20_POLY1305: QUIC_AEAD_ALGORITHM_TYPE =
+ 2;
+pub type QUIC_AEAD_ALGORITHM_TYPE = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct QUIC_STATELESS_RETRY_CONFIG {
+ pub Algorithm: QUIC_AEAD_ALGORITHM_TYPE,
+ pub RotationMs: u32,
+ pub SecretLength: u32,
+ pub Secret: [u8; 1usize],
+}
+#[allow(clippy::unnecessary_operation, clippy::identity_op)]
+const _: () = {
+ ["Size of QUIC_STATELESS_RETRY_CONFIG"]
+ [::std::mem::size_of::<QUIC_STATELESS_RETRY_CONFIG>() - 16usize];
+ ["Alignment of QUIC_STATELESS_RETRY_CONFIG"]
+ [::std::mem::align_of::<QUIC_STATELESS_RETRY_CONFIG>() - 4usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::Algorithm"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, Algorithm) - 0usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::RotationMs"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, RotationMs) - 4usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::SecretLength"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, SecretLength) - 8usize];
+ ["Offset of field: QUIC_STATELESS_RETRY_CONFIG::Secret"]
+ [::std::mem::offset_of!(QUIC_STATELESS_RETRY_CONFIG, Secret) - 12usize];
+};
pub type QUIC_SET_CONTEXT_FN = ::std::option::Option<
unsafe extern "C" fn(Handle: HQUIC, Context: *mut ::std::os::raw::c_void),
>; |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #5112 +/- ##
==========================================
- Coverage 87.41% 85.52% -1.89%
==========================================
Files 59 59
Lines 18086 18330 +244
==========================================
- Hits 15809 15676 -133
- Misses 2277 2654 +377 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Cargo - ubuntu-latestThe rust bindings need to be updated. Please apply ( diff --git a/src/rs/ffi/linux_bindings.rs b/src/rs/ffi/linux_bindings.rs
index 01b44d4..d863f72 100644
--- a/src/rs/ffi/linux_bindings.rs
+++ b/src/rs/ffi/linux_bindings.rs
@@ -4887,8 +4887,6 @@ const _: () = {
};
pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_128_GCM: QUIC_AEAD_ALGORITHM_TYPE = 0;
pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_256_GCM: QUIC_AEAD_ALGORITHM_TYPE = 1;
-pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_CHACHA20_POLY1305: QUIC_AEAD_ALGORITHM_TYPE =
- 2;
pub type QUIC_AEAD_ALGORITHM_TYPE = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)] |
Cargo - windows-latestThe rust bindings need to be updated. Please apply ( diff --git a/src/rs/ffi/win_bindings.rs b/src/rs/ffi/win_bindings.rs
index afb9206..4f7ebfd 100644
--- a/src/rs/ffi/win_bindings.rs
+++ b/src/rs/ffi/win_bindings.rs
@@ -4881,8 +4881,6 @@ const _: () = {
};
pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_128_GCM: QUIC_AEAD_ALGORITHM_TYPE = 0;
pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_AES_256_GCM: QUIC_AEAD_ALGORITHM_TYPE = 1;
-pub const QUIC_AEAD_ALGORITHM_TYPE_QUIC_AEAD_ALGORITHM_CHACHA20_POLY1305: QUIC_AEAD_ALGORITHM_TYPE =
- 2;
pub type QUIC_AEAD_ALGORITHM_TYPE = ::std::os::raw::c_int;
#[repr(C)]
#[derive(Debug, Copy, Clone)] |
Description
Add a new Global SetParam to set the Stateless Retry key, algorithm, and key rotation interval.
Fixes #5005.
Testing
New tests added covering the invalid parameter cases.
Documentation
Settings.md was updated to describe the new parameter.