summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-09-18 23:00:37 +0200
committerDavid Lönnhager <david.l@mullvad.net>2025-09-22 09:58:20 +0200
commit3ec7bb153ba2a783338408686e9b2e88579f21a7 (patch)
treec98f0995020d218b62dc3bd65d0203abf7b3c0a0
parent6bf008c085d90b33f2a825ba15842e3c3c22e2fd (diff)
downloadmullvadvpn-3ec7bb153ba2a783338408686e9b2e88579f21a7.tar.xz
mullvadvpn-3ec7bb153ba2a783338408686e9b2e88579f21a7.zip
Improve xor_bytes performance
-rw-r--r--tunnel-obfuscation/src/lwo.rs8
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]