mirror of
https://github.com/tun2proxy/tun2proxy.git
synced 2025-05-04 12:24:45 +00:00
Merge branch 'master' into digestauth
This commit is contained in:
commit
e6b1e93cd0
2 changed files with 9 additions and 5 deletions
|
@ -20,7 +20,7 @@ log = "0.4"
|
||||||
mio = { version = "0.8", features = ["os-poll", "net", "os-ext"] }
|
mio = { version = "0.8", features = ["os-poll", "net", "os-ext"] }
|
||||||
nix = { version = "0.26", features = ["process", "signal"] }
|
nix = { version = "0.26", features = ["process", "signal"] }
|
||||||
prctl = "1.0"
|
prctl = "1.0"
|
||||||
smoltcp = { version = "0.9.1", git = "https://github.com/smoltcp-rs/smoltcp", features = ["std", "phy-tuntap_interface"] }
|
smoltcp = { version = "0.10.0", features = ["std", "phy-tuntap_interface"] }
|
||||||
thiserror = "1.0"
|
thiserror = "1.0"
|
||||||
url = "2.3"
|
url = "2.3"
|
||||||
digest_auth = "0.3.1"
|
digest_auth = "0.3.1"
|
||||||
|
|
|
@ -9,6 +9,7 @@ use mio::{Events, Interest, Poll, Token};
|
||||||
use smoltcp::iface::{Config, Interface, SocketHandle, SocketSet};
|
use smoltcp::iface::{Config, Interface, SocketHandle, SocketSet};
|
||||||
use smoltcp::phy::{Device, Medium, RxToken, TunTapInterface, TxToken};
|
use smoltcp::phy::{Device, Medium, RxToken, TunTapInterface, TxToken};
|
||||||
use smoltcp::socket::tcp::State;
|
use smoltcp::socket::tcp::State;
|
||||||
|
use smoltcp::socket::udp::UdpMetadata;
|
||||||
use smoltcp::socket::{tcp, udp};
|
use smoltcp::socket::{tcp, udp};
|
||||||
use smoltcp::time::Instant;
|
use smoltcp::time::Instant;
|
||||||
use smoltcp::wire::{IpCidr, IpProtocol, Ipv4Packet, Ipv6Packet, TcpPacket, UdpPacket};
|
use smoltcp::wire::{IpCidr, IpProtocol, Ipv4Packet, Ipv6Packet, TcpPacket, UdpPacket};
|
||||||
|
@ -292,7 +293,7 @@ impl<'a> TunToProxy<'a> {
|
||||||
let mut virt = VirtualTunDevice::new(tun.capabilities());
|
let mut virt = VirtualTunDevice::new(tun.capabilities());
|
||||||
let gateway4: Ipv4Addr = Ipv4Addr::from_str("0.0.0.1")?;
|
let gateway4: Ipv4Addr = Ipv4Addr::from_str("0.0.0.1")?;
|
||||||
let gateway6: Ipv6Addr = Ipv6Addr::from_str("::1")?;
|
let gateway6: Ipv6Addr = Ipv6Addr::from_str("::1")?;
|
||||||
let mut iface = Interface::new(config, &mut virt, smoltcp::time::Instant::now());
|
let mut iface = Interface::new(config, &mut virt, Instant::now());
|
||||||
iface.update_ip_addrs(|ip_addrs| {
|
iface.update_ip_addrs(|ip_addrs| {
|
||||||
ip_addrs.push(IpCidr::new(gateway4.into(), 0)).unwrap();
|
ip_addrs.push(IpCidr::new(gateway4.into(), 0)).unwrap();
|
||||||
ip_addrs.push(IpCidr::new(gateway6.into(), 0)).unwrap()
|
ip_addrs.push(IpCidr::new(gateway6.into(), 0)).unwrap()
|
||||||
|
@ -577,7 +578,10 @@ impl<'a> TunToProxy<'a> {
|
||||||
let dst = SocketAddr::try_from(dst)?;
|
let dst = SocketAddr::try_from(dst)?;
|
||||||
socket.bind(dst)?;
|
socket.bind(dst)?;
|
||||||
socket
|
socket
|
||||||
.send_slice(response.as_slice(), resolved_conn.src.into())
|
.send_slice(
|
||||||
|
response.as_slice(),
|
||||||
|
UdpMetadata::from(resolved_conn.src),
|
||||||
|
)
|
||||||
.expect("failed to send DNS response");
|
.expect("failed to send DNS response");
|
||||||
let handle = self.sockets.add(socket);
|
let handle = self.sockets.add(socket);
|
||||||
self.expect_smoltcp_send()?;
|
self.expect_smoltcp_send()?;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue