Browse Source

Mark places in the code for IPv6 support

This commit adds some TODO comments that indicate places in the code that will need to be updated for true IPv6 support. This includes finding the system's nameservers and sending a message over UDP.

It was brought up in GH-25 and I felt like a comment was necessary.
Benjamin Sago 4 years ago
parent
commit
e9f5577776
2 changed files with 3 additions and 0 deletions
  1. 1 0
      dns-transport/src/udp.rs
  2. 2 0
      src/resolve.rs

+ 1 - 0
dns-transport/src/udp.rs

@@ -47,6 +47,7 @@ impl UdpTransport {
 impl Transport for UdpTransport {
 impl Transport for UdpTransport {
     fn send(&self, request: &Request) -> Result<Response, Error> {
     fn send(&self, request: &Request) -> Result<Response, Error> {
         info!("Opening UDP socket");
         info!("Opening UDP socket");
+        // TODO: This will need to be changed for IPv6 support.
         let socket = UdpSocket::bind((Ipv4Addr::UNSPECIFIED, 0))?;
         let socket = UdpSocket::bind((Ipv4Addr::UNSPECIFIED, 0))?;
 
 
         if self.addr.contains(':') {
         if self.addr.contains(':') {

+ 2 - 0
src/resolve.rs

@@ -51,6 +51,7 @@ fn system_nameservers() -> io::Result<Option<Nameserver>> {
 
 
         if let Some(nameserver_str) = line.strip_prefix("nameserver ") {
         if let Some(nameserver_str) = line.strip_prefix("nameserver ") {
             let ip: Result<std::net::Ipv4Addr, _> = nameserver_str.parse();
             let ip: Result<std::net::Ipv4Addr, _> = nameserver_str.parse();
+            // TODO: This will need to be changed for IPv6 support.
 
 
             match ip {
             match ip {
                 Ok(_ip) => nameservers.push(nameserver_str.into()),
                 Ok(_ip) => nameservers.push(nameserver_str.into()),
@@ -78,6 +79,7 @@ fn system_nameservers() -> io::Result<Option<Nameserver>> {
     for dns_server in adapters
     for dns_server in adapters
         .iter()
         .iter()
         .flat_map(|adapter| adapter.dns_servers().iter()) {
         .flat_map(|adapter| adapter.dns_servers().iter()) {
+            // TODO: This will need to be changed for IPv6 support.
             if dns_server.is_ipv4() {
             if dns_server.is_ipv4() {
                 debug!("Found first nameserver {:?}", dns_server);
                 debug!("Found first nameserver {:?}", dns_server);
                 return Ok(Some(dns_server.to_string()))
                 return Ok(Some(dns_server.to_string()))