Remove ipv6 feature
This commit is contained in:
		@@ -17,7 +17,6 @@ codecov = { repository = "solana-labs/solana", branch = "master", service = "git
 | 
				
			|||||||
chacha = ["solana/chacha"]
 | 
					chacha = ["solana/chacha"]
 | 
				
			||||||
cuda = ["solana/cuda"]
 | 
					cuda = ["solana/cuda"]
 | 
				
			||||||
erasure = ["solana/erasure"]
 | 
					erasure = ["solana/erasure"]
 | 
				
			||||||
ipv6 = ["solana/ipv6", "solana-netutil/ipv6"]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dev-dependencies]
 | 
					[dev-dependencies]
 | 
				
			||||||
bincode = "1.1.2"
 | 
					bincode = "1.1.2"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,7 +17,6 @@ codecov = { repository = "solana-labs/solana", branch = "master", service = "git
 | 
				
			|||||||
chacha = []
 | 
					chacha = []
 | 
				
			||||||
cuda = []
 | 
					cuda = []
 | 
				
			||||||
erasure = []
 | 
					erasure = []
 | 
				
			||||||
ipv6 = ["solana-netutil/ipv6"]
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
bincode = "1.1.2"
 | 
					bincode = "1.1.2"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,7 +24,7 @@ impl Config {
 | 
				
			|||||||
        let mut bind_addr =
 | 
					        let mut bind_addr =
 | 
				
			||||||
            solana_netutil::parse_port_or_addr(&self.bind_port_or_address, default_port);
 | 
					            solana_netutil::parse_port_or_addr(&self.bind_port_or_address, default_port);
 | 
				
			||||||
        if self.use_local_address {
 | 
					        if self.use_local_address {
 | 
				
			||||||
            let ip = solana_netutil::get_ip_addr().unwrap();
 | 
					            let ip = solana_netutil::get_ip_addr(false).unwrap();
 | 
				
			||||||
            bind_addr.set_ip(ip);
 | 
					            bind_addr.set_ip(ip);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if self.use_public_address {
 | 
					        if self.use_public_address {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,4 +27,3 @@ solana-vote-signer = { path = "../vote-signer", version = "0.12.0" }
 | 
				
			|||||||
chacha = ["solana/chacha"]
 | 
					chacha = ["solana/chacha"]
 | 
				
			||||||
cuda = ["solana/cuda"]
 | 
					cuda = ["solana/cuda"]
 | 
				
			||||||
erasure = ["solana/erasure"]
 | 
					erasure = ["solana/erasure"]
 | 
				
			||||||
ipv6 = ["solana/ipv6"]
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,9 +8,6 @@ license = "Apache-2.0"
 | 
				
			|||||||
homepage = "https://solana.com/"
 | 
					homepage = "https://solana.com/"
 | 
				
			||||||
edition = "2018"
 | 
					edition = "2018"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[features]
 | 
					 | 
				
			||||||
ipv6 = []
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[dependencies]
 | 
					[dependencies]
 | 
				
			||||||
log = "0.4.2"
 | 
					log = "0.4.2"
 | 
				
			||||||
ipnetwork = "0.12.7"
 | 
					ipnetwork = "0.12.7"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,7 +48,10 @@ pub fn parse_port_or_addr(optstr: &Option<String>, default_port: u16) -> SocketA
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn find_eth0ish_ip_addr(ifaces: &mut Vec<datalink::NetworkInterface>) -> Option<IpAddr> {
 | 
					fn find_eth0ish_ip_addr(
 | 
				
			||||||
 | 
					    ifaces: &mut Vec<datalink::NetworkInterface>,
 | 
				
			||||||
 | 
					    enable_ipv6: bool,
 | 
				
			||||||
 | 
					) -> Option<IpAddr> {
 | 
				
			||||||
    // put eth0 and wifi0, etc. up front of our list of candidates
 | 
					    // put eth0 and wifi0, etc. up front of our list of candidates
 | 
				
			||||||
    ifaces.sort_by(|a, b| {
 | 
					    ifaces.sort_by(|a, b| {
 | 
				
			||||||
        a.name
 | 
					        a.name
 | 
				
			||||||
@@ -84,9 +87,8 @@ fn find_eth0ish_ip_addr(ifaces: &mut Vec<datalink::NetworkInterface>) -> Option<
 | 
				
			|||||||
                    return Some(p.ip());
 | 
					                    return Some(p.ip());
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                IpAddr::V6(_addr) => {
 | 
					                IpAddr::V6(_addr) => {
 | 
				
			||||||
                    // Select an ipv6 address if the config is selected
 | 
					                    // Select an ipv6 address if requested
 | 
				
			||||||
                    #[cfg(feature = "ipv6")]
 | 
					                    if enable_ipv6 {
 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        if p.ip().is_loopback() {
 | 
					                        if p.ip().is_loopback() {
 | 
				
			||||||
                            trace!("    loopback");
 | 
					                            trace!("    loopback");
 | 
				
			||||||
                            lo = Some(p.ip());
 | 
					                            lo = Some(p.ip());
 | 
				
			||||||
@@ -102,10 +104,9 @@ fn find_eth0ish_ip_addr(ifaces: &mut Vec<datalink::NetworkInterface>) -> Option<
 | 
				
			|||||||
    lo
 | 
					    lo
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pub fn get_ip_addr() -> Option<IpAddr> {
 | 
					pub fn get_ip_addr(enable_ipv6: bool) -> Option<IpAddr> {
 | 
				
			||||||
    let mut ifaces = datalink::interfaces();
 | 
					    let mut ifaces = datalink::interfaces();
 | 
				
			||||||
 | 
					    find_eth0ish_ip_addr(&mut ifaces, enable_ipv6)
 | 
				
			||||||
    find_eth0ish_ip_addr(&mut ifaces)
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
fn udp_socket(reuseaddr: bool) -> io::Result<Socket> {
 | 
					fn udp_socket(reuseaddr: bool) -> io::Result<Socket> {
 | 
				
			||||||
@@ -224,56 +225,68 @@ mod tests {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        // loopback bad when alternatives exist
 | 
					        // loopback bad when alternatives exist
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
            find_eth0ish_ip_addr(&mut vec![
 | 
					            find_eth0ish_ip_addr(
 | 
				
			||||||
 | 
					                &mut vec![
 | 
				
			||||||
                    mock_interface!(eth0, "192.168.137.1/8"),
 | 
					                    mock_interface!(eth0, "192.168.137.1/8"),
 | 
				
			||||||
                    mock_interface!(lo, "127.0.0.1/24")
 | 
					                    mock_interface!(lo, "127.0.0.1/24")
 | 
				
			||||||
            ]),
 | 
					                ],
 | 
				
			||||||
 | 
					                false
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
            Some(mock_interface!(eth0, "192.168.137.1/8").ips[0].ip())
 | 
					            Some(mock_interface!(eth0, "192.168.137.1/8").ips[0].ip())
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        // find loopback as a last resort
 | 
					        // find loopback as a last resort
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
            find_eth0ish_ip_addr(&mut vec![mock_interface!(lo, "127.0.0.1/24")]),
 | 
					            find_eth0ish_ip_addr(&mut vec![mock_interface!(lo, "127.0.0.1/24")], false),
 | 
				
			||||||
            Some(mock_interface!(lo, "127.0.0.1/24").ips[0].ip()),
 | 
					            Some(mock_interface!(lo, "127.0.0.1/24").ips[0].ip()),
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        // multicast bad
 | 
					        // multicast bad
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
            find_eth0ish_ip_addr(&mut vec![mock_interface!(eth0, "224.0.1.5/24")]),
 | 
					            find_eth0ish_ip_addr(&mut vec![mock_interface!(eth0, "224.0.1.5/24")], false),
 | 
				
			||||||
            None
 | 
					            None
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // finds "wifi0"
 | 
					        // finds "wifi0"
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
            find_eth0ish_ip_addr(&mut vec![
 | 
					            find_eth0ish_ip_addr(
 | 
				
			||||||
 | 
					                &mut vec![
 | 
				
			||||||
                    mock_interface!(eth0, "224.0.1.5/24"),
 | 
					                    mock_interface!(eth0, "224.0.1.5/24"),
 | 
				
			||||||
                    mock_interface!(eth2, "192.168.137.1/8"),
 | 
					                    mock_interface!(eth2, "192.168.137.1/8"),
 | 
				
			||||||
                    mock_interface!(eth3, "10.0.75.1/8"),
 | 
					                    mock_interface!(eth3, "10.0.75.1/8"),
 | 
				
			||||||
                    mock_interface!(eth4, "172.22.140.113/4"),
 | 
					                    mock_interface!(eth4, "172.22.140.113/4"),
 | 
				
			||||||
                    mock_interface!(lo, "127.0.0.1/24"),
 | 
					                    mock_interface!(lo, "127.0.0.1/24"),
 | 
				
			||||||
                    mock_interface!(wifi0, "192.168.1.184/8"),
 | 
					                    mock_interface!(wifi0, "192.168.1.184/8"),
 | 
				
			||||||
            ]),
 | 
					                ],
 | 
				
			||||||
 | 
					                false
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
            Some(mock_interface!(wifi0, "192.168.1.184/8").ips[0].ip())
 | 
					            Some(mock_interface!(wifi0, "192.168.1.184/8").ips[0].ip())
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        // finds "wifi0" in the middle
 | 
					        // finds "wifi0" in the middle
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
            find_eth0ish_ip_addr(&mut vec![
 | 
					            find_eth0ish_ip_addr(
 | 
				
			||||||
 | 
					                &mut vec![
 | 
				
			||||||
                    mock_interface!(eth0, "224.0.1.5/24"),
 | 
					                    mock_interface!(eth0, "224.0.1.5/24"),
 | 
				
			||||||
                    mock_interface!(eth2, "192.168.137.1/8"),
 | 
					                    mock_interface!(eth2, "192.168.137.1/8"),
 | 
				
			||||||
                    mock_interface!(eth3, "10.0.75.1/8"),
 | 
					                    mock_interface!(eth3, "10.0.75.1/8"),
 | 
				
			||||||
                    mock_interface!(wifi0, "192.168.1.184/8"),
 | 
					                    mock_interface!(wifi0, "192.168.1.184/8"),
 | 
				
			||||||
                    mock_interface!(eth4, "172.22.140.113/4"),
 | 
					                    mock_interface!(eth4, "172.22.140.113/4"),
 | 
				
			||||||
                    mock_interface!(lo, "127.0.0.1/24"),
 | 
					                    mock_interface!(lo, "127.0.0.1/24"),
 | 
				
			||||||
            ]),
 | 
					                ],
 | 
				
			||||||
 | 
					                false
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
            Some(mock_interface!(wifi0, "192.168.1.184/8").ips[0].ip())
 | 
					            Some(mock_interface!(wifi0, "192.168.1.184/8").ips[0].ip())
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        // picks "eth2", is lowest valid "eth"
 | 
					        // picks "eth2", is lowest valid "eth"
 | 
				
			||||||
        assert_eq!(
 | 
					        assert_eq!(
 | 
				
			||||||
            find_eth0ish_ip_addr(&mut vec![
 | 
					            find_eth0ish_ip_addr(
 | 
				
			||||||
 | 
					                &mut vec![
 | 
				
			||||||
                    mock_interface!(eth0, "224.0.1.5/24"),
 | 
					                    mock_interface!(eth0, "224.0.1.5/24"),
 | 
				
			||||||
                    mock_interface!(eth2, "192.168.137.1/8"),
 | 
					                    mock_interface!(eth2, "192.168.137.1/8"),
 | 
				
			||||||
                    mock_interface!(eth3, "10.0.75.1/8"),
 | 
					                    mock_interface!(eth3, "10.0.75.1/8"),
 | 
				
			||||||
                    mock_interface!(eth4, "172.22.140.113/4"),
 | 
					                    mock_interface!(eth4, "172.22.140.113/4"),
 | 
				
			||||||
                    mock_interface!(lo, "127.0.0.1/24"),
 | 
					                    mock_interface!(lo, "127.0.0.1/24"),
 | 
				
			||||||
            ]),
 | 
					                ],
 | 
				
			||||||
 | 
					                false
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
            Some(mock_interface!(eth2, "192.168.137.1/8").ips[0].ip())
 | 
					            Some(mock_interface!(eth2, "192.168.137.1/8").ips[0].ip())
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user