From d284f60d67874457fc8e977c1af9242f14c56a8d Mon Sep 17 00:00:00 2001 From: Adam Wick Date: Fri, 21 Jan 2022 20:24:23 -0800 Subject: [PATCH] Whoops! Had swapped the IPv6 and Name tags; now Firefox works. --- src/network/address.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/network/address.rs b/src/network/address.rs index deb281d..7c40855 100644 --- a/src/network/address.rs +++ b/src/network/address.rs @@ -150,14 +150,14 @@ impl SOCKSv5Address { Ok(SOCKSv5Address::IP4(Ipv4Addr::from(addr_buffer))) } 3 => { + let name = read_string(r).await?; + Ok(SOCKSv5Address::Name(name)) + } + 4 => { let mut addr_buffer = [0; 16]; read_amt(r, 16, &mut addr_buffer).await?; Ok(SOCKSv5Address::IP6(Ipv6Addr::from(addr_buffer))) } - 4 => { - let name = read_string(r).await?; - Ok(SOCKSv5Address::Name(name)) - } x => Err(DeserializationError::InvalidAddressType(x)), } } @@ -174,13 +174,13 @@ impl SOCKSv5Address { .map_err(SerializationError::IOError) } SOCKSv5Address::IP6(x) => { - w.write_all(&[3]).await?; + w.write_all(&[4]).await?; w.write_all(&x.octets()) .await .map_err(SerializationError::IOError) } SOCKSv5Address::Name(x) => { - w.write_all(&[4]).await?; + w.write_all(&[3]).await?; write_string(x, w).await } }