Browse Source

Improve readability of IP addresses

pull/15/head
B. Blechschmidt 3 years ago
parent
commit
846375a7d3
  1. 20
      src/tun2proxy.rs

20
src/tun2proxy.rs

@ -11,10 +11,7 @@ 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; use smoltcp::socket::tcp;
use smoltcp::time::Instant; use smoltcp::time::Instant;
use smoltcp::wire::{ use smoltcp::wire::{IpCidr, IpProtocol, Ipv4Packet, Ipv6Packet, TcpPacket, UdpPacket};
IpAddress, IpCidr, IpProtocol, Ipv4Address, Ipv4Packet, Ipv6Address, Ipv6Packet, TcpPacket,
UdpPacket,
};
use std::collections::{HashMap, HashSet}; use std::collections::{HashMap, HashSet};
use std::convert::{From, TryFrom}; use std::convert::{From, TryFrom};
use std::fmt::{Display, Formatter}; use std::fmt::{Display, Formatter};
@ -23,6 +20,7 @@ use std::net::Shutdown::Both;
use std::net::{IpAddr, SocketAddr}; use std::net::{IpAddr, SocketAddr};
use std::os::unix::io::AsRawFd; use std::os::unix::io::AsRawFd;
use std::rc::Rc; use std::rc::Rc;
use std::str::FromStr;
#[derive(Hash, Clone, Eq, PartialEq)] #[derive(Hash, Clone, Eq, PartialEq)]
pub enum DestinationHost { pub enum DestinationHost {
@ -304,19 +302,25 @@ impl<'a> TunToProxy<'a> {
let mut iface = Interface::new(config, &mut virt); let mut iface = Interface::new(config, &mut virt);
iface.update_ip_addrs(|ip_addrs| { iface.update_ip_addrs(|ip_addrs| {
ip_addrs ip_addrs
.push(IpCidr::new(IpAddress::v4(0, 0, 0, 1), 0)) .push(IpCidr::new(
std::net::Ipv4Addr::from_str("0.0.0.1").unwrap().into(),
0,
))
.unwrap(); .unwrap();
ip_addrs ip_addrs
.push(IpCidr::new(IpAddress::v6(0, 0, 0, 0, 0, 0, 0, 1), 0)) .push(IpCidr::new(
std::net::Ipv6Addr::from_str("::1").unwrap().into(),
0,
))
.unwrap() .unwrap()
}); });
iface iface
.routes_mut() .routes_mut()
.add_default_ipv4_route(Ipv4Address::new(0, 0, 0, 1)) .add_default_ipv4_route(std::net::Ipv4Addr::from_str("0.0.0.1").unwrap().into())
.unwrap(); .unwrap();
iface iface
.routes_mut() .routes_mut()
.add_default_ipv6_route(Ipv6Address::new(0, 0, 0, 0, 0, 0, 0, 1)) .add_default_ipv6_route(std::net::Ipv6Addr::from_str("::1").unwrap().into())
.unwrap(); .unwrap();
iface.set_any_ip(true); iface.set_any_ip(true);

Loading…
Cancel
Save