Be less restrictive regarding packet sizes

pull/5/head
Frank Denis 5 years ago
parent 7c76ee9a13
commit 89704db220

@ -263,7 +263,7 @@ async fn tcp_acceptor(globals: Arc<Globals>, tcp_listener: TcpListener) -> Resul
client_connection.read_exact(&mut binlen).await?;
let packet_len = BigEndian::read_u16(&binlen) as usize;
ensure!(
(DNSCRYPT_TCP_QUERY_MIN_SIZE..=DNSCRYPT_TCP_QUERY_MAX_SIZE).contains(&packet_len),
(DNS_HEADER_SIZE..=DNSCRYPT_TCP_QUERY_MAX_SIZE).contains(&packet_len),
"Unexpected query size"
);
let mut packet = vec![0u8; packet_len];
@ -293,7 +293,7 @@ async fn udp_acceptor(
loop {
let mut packet = vec![0u8; DNSCRYPT_UDP_QUERY_MAX_SIZE];
let (packet_len, client_addr) = tokio_udp_socket.recv_from(&mut packet).await?;
if packet_len < DNSCRYPT_UDP_QUERY_MIN_SIZE {
if packet_len < DNS_HEADER_SIZE {
continue;
}
let net_udp_socket = net_udp_socket.try_clone()?;

Loading…
Cancel
Save