Skip to content

Commit db837d0

Browse files
committed
Exclude 0.0.0.0 from the list of globally routable addresses
1 parent c97524b commit db837d0

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

src/libstd/net/ip.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ impl Ipv4Addr {
131131
/// - test addresses used for documentation (192.0.2.0/24, 198.51.100.0/24 and 203.0.113.0/24)
132132
pub fn is_global(&self) -> bool {
133133
!self.is_private() && !self.is_loopback() && !self.is_link_local() &&
134-
!self.is_broadcast() && !self.is_documentation()
134+
!self.is_broadcast() && !self.is_documentation() && !self.is_unspecified()
135135
}
136136

137137
/// Returns true if this is a multicast address.
@@ -725,22 +725,22 @@ mod tests {
725725
}
726726

727727
// address unspec loopbk privt linloc global multicast brdcast doc
728-
check(&[0, 0, 0, 0], true, false, false, false, true, false, false, false);
729-
check(&[0, 0, 0, 1], false, false, false, false, true, false, false, false);
730-
check(&[1, 0, 0, 0], false, false, false, false, true, false, false, false);
731-
check(&[10, 9, 8, 7], false, false, true, false, false, false, false, false);
732-
check(&[127, 1, 2, 3], false, true, false, false, false, false, false, false);
733-
check(&[172, 31, 254, 253], false, false, true, false, false, false, false, false);
734-
check(&[169, 254, 253, 242], false, false, false, true, false, false, false, false);
735-
check(&[192, 0, 2, 183], false, false, false, false, false, false, false, true);
736-
check(&[192, 1, 2, 183], false, false, false, false, true, false, false, false);
737-
check(&[192, 168, 254, 253], false, false, true, false, false, false, false, false);
738-
check(&[198, 51, 100, 0], false, false, false, false, false, false, false, true);
739-
check(&[203, 0, 113, 0], false, false, false, false, false, false, false, true);
740-
check(&[203, 2, 113, 0], false, false, false, false, true, false, false, false);
741-
check(&[224, 0, 0, 0], false, false, false, false, true, true, false, false);
742-
check(&[239, 255, 255, 255], false, false, false, false, true, true, false, false);
743-
check(&[255, 255, 255, 255], false, false, false, false, false, false, true, false);
728+
check(&[0, 0, 0, 0], true, false, false, false, false, false, false, false);
729+
check(&[0, 0, 0, 1], false, false, false, false, true, false, false, false);
730+
check(&[1, 0, 0, 0], false, false, false, false, true, false, false, false);
731+
check(&[10, 9, 8, 7], false, false, true, false, false, false, false, false);
732+
check(&[127, 1, 2, 3], false, true, false, false, false, false, false, false);
733+
check(&[172, 31, 254, 253], false, false, true, false, false, false, false, false);
734+
check(&[169, 254, 253, 242], false, false, false, true, false, false, false, false);
735+
check(&[192, 0, 2, 183], false, false, false, false, false, false, false, true);
736+
check(&[192, 1, 2, 183], false, false, false, false, true, false, false, false);
737+
check(&[192, 168, 254, 253], false, false, true, false, false, false, false, false);
738+
check(&[198, 51, 100, 0], false, false, false, false, false, false, false, true);
739+
check(&[203, 0, 113, 0], false, false, false, false, false, false, false, true);
740+
check(&[203, 2, 113, 0], false, false, false, false, true, false, false, false);
741+
check(&[224, 0, 0, 0], false, false, false, false, true, true, false, false);
742+
check(&[239, 255, 255, 255], false, false, false, false, true, true, false, false);
743+
check(&[255, 255, 255, 255], false, false, false, false, false, false, true, false);
744744
}
745745

746746
#[test]

0 commit comments

Comments
 (0)