diff options
| author | David Lönnhager <david.l@mullvad.net> | 2025-09-18 23:00:37 +0200 |
|---|---|---|
| committer | David Lönnhager <david.l@mullvad.net> | 2025-09-22 09:58:20 +0200 |
| commit | 3ec7bb153ba2a783338408686e9b2e88579f21a7 (patch) | |
| tree | c98f0995020d218b62dc3bd65d0203abf7b3c0a0 | |
| parent | 6bf008c085d90b33f2a825ba15842e3c3c22e2fd (diff) | |
| download | mullvadvpn-3ec7bb153ba2a783338408686e9b2e88579f21a7.tar.xz mullvadvpn-3ec7bb153ba2a783338408686e9b2e88579f21a7.zip | |
Improve xor_bytes performance
| -rw-r--r-- | tunnel-obfuscation/src/lwo.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/tunnel-obfuscation/src/lwo.rs b/tunnel-obfuscation/src/lwo.rs index b788d44401..9fd044458b 100644 --- a/tunnel-obfuscation/src/lwo.rs +++ b/tunnel-obfuscation/src/lwo.rs @@ -244,10 +244,10 @@ fn header_mut(packet: &mut [u8], key_byte: u8) -> Option<&mut [u8]> { } } -fn xor_bytes(data: &mut [u8], key: &[u8]) { - data.iter_mut() - .zip(key.iter().cycle()) - .for_each(|(byte, key_byte)| *byte ^= key_byte); +fn xor_bytes(data: &mut [u8], key: &[u8; 32]) { + for (i, byte) in data.iter_mut().enumerate() { + *byte ^= key[i % key.len()]; + } } #[async_trait] |
