mirror of
https://github.com/telemt/telemt.git
synced 2026-06-19 17:31:10 +03:00
c0a3e43aa8
- Introduced client TLS record wrapping tests to ensure correct handling of empty and oversized payloads. - Added integration tests for middle relay to validate quota saturation behavior under concurrent pressure. - Implemented high-risk security tests covering various payload scenarios, including alignment checks and boundary conditions. - Developed length cast hardening tests to verify proper handling of wire lengths and overflow conditions. - Created quota overflow lock tests to ensure stable behavior under saturation and reclaim scenarios. - Refactored existing middle relay security tests for improved clarity and consistency in lock handling.
38 lines
1022 B
Rust
38 lines
1022 B
Rust
use super::*;
|
|
|
|
#[test]
|
|
fn extension_builder_fails_closed_on_u16_length_overflow() {
|
|
let builder = TlsExtensionBuilder {
|
|
extensions: vec![0u8; (u16::MAX as usize) + 1],
|
|
};
|
|
|
|
let built = builder.build();
|
|
assert!(
|
|
built.is_empty(),
|
|
"oversized extension blob must fail closed instead of truncating length field"
|
|
);
|
|
}
|
|
|
|
#[test]
|
|
fn server_hello_builder_fails_closed_on_session_id_len_overflow() {
|
|
let builder = ServerHelloBuilder {
|
|
random: [0u8; 32],
|
|
session_id: vec![0xAB; (u8::MAX as usize) + 1],
|
|
cipher_suite: cipher_suite::TLS_AES_128_GCM_SHA256,
|
|
compression: 0,
|
|
extensions: TlsExtensionBuilder::new(),
|
|
};
|
|
|
|
let message = builder.build_message();
|
|
let record = builder.build_record();
|
|
|
|
assert!(
|
|
message.is_empty(),
|
|
"session_id length overflow must fail closed in message builder"
|
|
);
|
|
assert!(
|
|
record.is_empty(),
|
|
"session_id length overflow must fail closed in record builder"
|
|
);
|
|
}
|