diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml index c58260367c2..eac810a498d 100644 --- a/components/net/Cargo.toml +++ b/components/net/Cargo.toml @@ -28,7 +28,7 @@ mime_guess = "1.8.0" msg = {path = "../msg"} net_traits = {path = "../net_traits"} openssl = "0.9" -parse-hosts = "0.3.0" +parse-hosts = "0.4.0" profile_traits = {path = "../profile_traits"} serde = "1.0" serde_json = "1.0" diff --git a/components/net/hosts.rs b/components/net/hosts.rs index adc46e870ea..768108052e7 100644 --- a/components/net/hosts.rs +++ b/components/net/hosts.rs @@ -41,19 +41,10 @@ pub fn replace_host_table(table: HashMap) { } pub fn parse_hostsfile(hostsfile_content: &str) -> HashMap { - let mut host_table = HashMap::new(); - - for line in HostsFile::read_buffered(hostsfile_content.as_bytes()).lines() { - if let Ok(ref line) = line { - for host in line.hosts() { - if let Some(ip) = line.ip() { - host_table.insert(host.to_owned(), ip); - } - } - } - } - - host_table + HostsFile::read_buffered(hostsfile_content.as_bytes()) + .pairs() + .filter_map(Result::ok) + .collect() } pub fn replace_host(host: &str) -> Cow {