Loading DnsProxyListener.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -659,11 +659,20 @@ std::string makeThreadName(unsigned netId, uint32_t uid) { } // namespace DnsProxyListener::DnsProxyListener() : FrameworkListener(SOCKET_NAME) { registerCmd(new GetAddrInfoCmd()); registerCmd(new GetHostByAddrCmd()); registerCmd(new GetHostByNameCmd()); registerCmd(new ResNSendCommand()); registerCmd(new GetDnsNetIdCommand()); mGetAddrInfoCmd = std::make_unique<GetAddrInfoCmd>(); registerCmd(mGetAddrInfoCmd.get()); mGetHostByAddrCmd = std::make_unique<GetHostByAddrCmd>(); registerCmd(mGetHostByAddrCmd.get()); mGetHostByNameCmd = std::make_unique<GetHostByNameCmd>(); registerCmd(mGetHostByNameCmd.get()); mResNSendCommand = std::make_unique<ResNSendCommand>(); registerCmd(mResNSendCommand.get()); mGetDnsNetIdCommand = std::make_unique<GetDnsNetIdCommand>(); registerCmd(mGetDnsNetIdCommand.get()); } void DnsProxyListener::Handler::spawn() { Loading DnsProxyListener.h +6 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,12 @@ class DnsProxyListener : public FrameworkListener { virtual ~GetDnsNetIdCommand() {} int runCommand(SocketClient* c, int argc, char** argv) override; }; std::unique_ptr<GetAddrInfoCmd> mGetAddrInfoCmd; std::unique_ptr<GetHostByAddrCmd> mGetHostByAddrCmd; std::unique_ptr<GetHostByNameCmd> mGetHostByNameCmd; std::unique_ptr<ResNSendCommand> mResNSendCommand; std::unique_ptr<GetDnsNetIdCommand> mGetDnsNetIdCommand; }; } // namespace net Loading Experiments.h +0 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,6 @@ class Experiments { "max_cache_entries", "max_queries_global", "mdns_resolution", "parallel_lookup_release", "parallel_lookup_sleep_time", "retransmission_time_interval", "retry_count", Loading doh/config.rs +4 −2 Original line number Diff line number Diff line Loading @@ -292,7 +292,9 @@ async fn quiche_connect() { let mut config = Config::from_key(&Key { cert_path: None, max_idle_timeout: 10, enable_early_data: true }) .unwrap(); let socket_addr = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 42)); let local = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 42)); let peer = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 41)); let conn_id = quiche::ConnectionId::from_ref(&[]); quiche::connect(None, &conn_id, socket_addr, config.take().await.deref_mut()).unwrap(); quiche::connect(None, &conn_id, local, peer, config.take().await.deref_mut()).unwrap(); } doh/connection/driver.rs +5 −2 Original line number Diff line number Diff line Loading @@ -217,7 +217,8 @@ impl Driver { } // If we got packets from our peer, pass them to quiche Ok((size, from)) = self.socket.recv_from(self.buffer.as_mut()) => { self.quiche_conn.recv(&mut self.buffer[..size], quiche::RecvInfo { from })?; let local = self.socket.local_addr()?; self.quiche_conn.recv(&mut self.buffer[..size], quiche::RecvInfo { from, to: local })?; debug!("Received {} bytes on network {}", size, self.net_id); } }; Loading Loading @@ -299,7 +300,9 @@ impl H3Driver { } // If we got packets from our peer, pass them to quiche Ok((size, from)) = self.driver.socket.recv_from(self.driver.buffer.as_mut()) => { self.driver.quiche_conn.recv(&mut self.driver.buffer[..size], quiche::RecvInfo { from }).map(|_| ())?; let local = self.driver.socket.local_addr()?; self.driver.quiche_conn.recv(&mut self.driver.buffer[..size], quiche::RecvInfo { from, to: local }).map(|_| ())?; debug!("Received {} bytes on network {}", size, self.driver.net_id); } }; Loading Loading
DnsProxyListener.cpp +14 −5 Original line number Diff line number Diff line Loading @@ -659,11 +659,20 @@ std::string makeThreadName(unsigned netId, uint32_t uid) { } // namespace DnsProxyListener::DnsProxyListener() : FrameworkListener(SOCKET_NAME) { registerCmd(new GetAddrInfoCmd()); registerCmd(new GetHostByAddrCmd()); registerCmd(new GetHostByNameCmd()); registerCmd(new ResNSendCommand()); registerCmd(new GetDnsNetIdCommand()); mGetAddrInfoCmd = std::make_unique<GetAddrInfoCmd>(); registerCmd(mGetAddrInfoCmd.get()); mGetHostByAddrCmd = std::make_unique<GetHostByAddrCmd>(); registerCmd(mGetHostByAddrCmd.get()); mGetHostByNameCmd = std::make_unique<GetHostByNameCmd>(); registerCmd(mGetHostByNameCmd.get()); mResNSendCommand = std::make_unique<ResNSendCommand>(); registerCmd(mResNSendCommand.get()); mGetDnsNetIdCommand = std::make_unique<GetDnsNetIdCommand>(); registerCmd(mGetDnsNetIdCommand.get()); } void DnsProxyListener::Handler::spawn() { Loading
DnsProxyListener.h +6 −0 Original line number Diff line number Diff line Loading @@ -164,6 +164,12 @@ class DnsProxyListener : public FrameworkListener { virtual ~GetDnsNetIdCommand() {} int runCommand(SocketClient* c, int argc, char** argv) override; }; std::unique_ptr<GetAddrInfoCmd> mGetAddrInfoCmd; std::unique_ptr<GetHostByAddrCmd> mGetHostByAddrCmd; std::unique_ptr<GetHostByNameCmd> mGetHostByNameCmd; std::unique_ptr<ResNSendCommand> mResNSendCommand; std::unique_ptr<GetDnsNetIdCommand> mGetDnsNetIdCommand; }; } // namespace net Loading
Experiments.h +0 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,6 @@ class Experiments { "max_cache_entries", "max_queries_global", "mdns_resolution", "parallel_lookup_release", "parallel_lookup_sleep_time", "retransmission_time_interval", "retry_count", Loading
doh/config.rs +4 −2 Original line number Diff line number Diff line Loading @@ -292,7 +292,9 @@ async fn quiche_connect() { let mut config = Config::from_key(&Key { cert_path: None, max_idle_timeout: 10, enable_early_data: true }) .unwrap(); let socket_addr = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 42)); let local = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 42)); let peer = SocketAddr::V4(SocketAddrV4::new(Ipv4Addr::new(127, 0, 0, 1), 41)); let conn_id = quiche::ConnectionId::from_ref(&[]); quiche::connect(None, &conn_id, socket_addr, config.take().await.deref_mut()).unwrap(); quiche::connect(None, &conn_id, local, peer, config.take().await.deref_mut()).unwrap(); }
doh/connection/driver.rs +5 −2 Original line number Diff line number Diff line Loading @@ -217,7 +217,8 @@ impl Driver { } // If we got packets from our peer, pass them to quiche Ok((size, from)) = self.socket.recv_from(self.buffer.as_mut()) => { self.quiche_conn.recv(&mut self.buffer[..size], quiche::RecvInfo { from })?; let local = self.socket.local_addr()?; self.quiche_conn.recv(&mut self.buffer[..size], quiche::RecvInfo { from, to: local })?; debug!("Received {} bytes on network {}", size, self.net_id); } }; Loading Loading @@ -299,7 +300,9 @@ impl H3Driver { } // If we got packets from our peer, pass them to quiche Ok((size, from)) = self.driver.socket.recv_from(self.driver.buffer.as_mut()) => { self.driver.quiche_conn.recv(&mut self.driver.buffer[..size], quiche::RecvInfo { from }).map(|_| ())?; let local = self.driver.socket.local_addr()?; self.driver.quiche_conn.recv(&mut self.driver.buffer[..size], quiche::RecvInfo { from, to: local }).map(|_| ())?; debug!("Received {} bytes on network {}", size, self.driver.net_id); } }; Loading