diff --git a/libjava/ChangeLog b/libjava/ChangeLog index bf0a93aa2f8..8c3ab9bcb56 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,22 @@ +2005-04-26 Michael Koch + + * java/net/InetAddress.java: Made all hexadecimal numbers lowercase. + Fixed typos in javadocs. + (isSiteLocalAddress): Fixed handling of byte values. + (isMCLinkLocal): Likewise. + * java/net/Inet4Address.java + (isMulticastAddress): Call super method. + (isLoopbackAddress): Likewise. + (isAnyLocalAddress): Likewise. + (isLinkLocalAddress): Likewise. + (isSiteLocalAddress): Likewise. + (isMCGlobal): Likewise. + (isMCNodeLocal): Likewise. + (isMCLinkLocal): Likewise. + (isMCSiteLocal): Likewise. + (isMCOrgLocal): Likewise. + (getHostAddress): Likewise. + 2005-04-26 Sven de Marothy * java/net/InetAddress.java diff --git a/libjava/java/net/Inet4Address.java b/libjava/java/net/Inet4Address.java index b654ce6cddb..1931b8984a4 100644 --- a/libjava/java/net/Inet4Address.java +++ b/libjava/java/net/Inet4Address.java @@ -1,5 +1,5 @@ /* Inet4Address.java -- - Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,7 +39,6 @@ exception statement from your version. */ package java.net; import java.io.ObjectStreamException; -import java.util.Arrays; /* * Written using on-line Java Platform 1.4 API Specification and @@ -85,7 +84,7 @@ public final class Inet4Address extends InetAddress */ public boolean isMulticastAddress() { - return (addr[0] & 0xF0) == 0xE0; + return super.isMulticastAddress(); } /** @@ -93,7 +92,7 @@ public final class Inet4Address extends InetAddress */ public boolean isLoopbackAddress() { - return addr[0] == 0x7F; + return super.isLoopbackAddress(); } /** @@ -103,9 +102,7 @@ public final class Inet4Address extends InetAddress */ public boolean isAnyLocalAddress() { - byte[] anylocal = { 0, 0, 0, 0 }; - - return Arrays.equals(addr, anylocal); + return super.isAnyLocalAddress(); } /** @@ -115,8 +112,7 @@ public final class Inet4Address extends InetAddress */ public boolean isLinkLocalAddress() { - // XXX: This seems to not exist with IPv4 addresses - return false; + return super.isLinkLocalAddress(); } /** @@ -126,23 +122,7 @@ public final class Inet4Address extends InetAddress */ public boolean isSiteLocalAddress() { - // 10.0.0.0/8 - if (addr[0] == 0x0A) - return true; - - // XXX: Suns JDK 1.4.1 (on Linux) seems to have a bug here: - // it says 172.16.0.0 - 172.255.255.255 are site local addresses - // - // 172.16.0.0/12 - if (addr[0] == 0xAC && (addr[1] & 0xF0) == 0x01) - return true; - - // 192.168.0.0/16 - if (addr[0] == 0xC0 && addr[1] == 0xA8) - return true; - - // XXX: Do we need to check more addresses here ? - return false; + return super.isSiteLocalAddress(); } /** @@ -152,8 +132,7 @@ public final class Inet4Address extends InetAddress */ public boolean isMCGlobal() { - // XXX: This seems to net exist with IPv4 addresses - return false; + return super.isMCGlobal(); } /** @@ -163,8 +142,7 @@ public final class Inet4Address extends InetAddress */ public boolean isMCNodeLocal() { - // XXX: This seems to net exist with IPv4 addresses - return false; + return isMCNodeLocal(); } /** @@ -174,10 +152,7 @@ public final class Inet4Address extends InetAddress */ public boolean isMCLinkLocal() { - if (! isMulticastAddress()) - return false; - - return (addr[0] == 0xE0) && (addr[1] == 0x00) && (addr[2] == 0x00); + return super.isMCLinkLocal(); } /** @@ -187,8 +162,7 @@ public final class Inet4Address extends InetAddress */ public boolean isMCSiteLocal() { - // XXX: This seems to net exist with IPv4 addresses - return false; + return super.isMCSiteLocal(); } /** @@ -198,8 +172,7 @@ public final class Inet4Address extends InetAddress */ public boolean isMCOrgLocal() { - // XXX: This seems to net exist with IPv4 addresses - return false; + return isMCOrgLocal(); } /** @@ -217,22 +190,7 @@ public final class Inet4Address extends InetAddress */ public String getHostAddress() { - StringBuffer sbuf = new StringBuffer(40); - int len = addr.length; - int i = 0; - - for (;;) - { - sbuf.append(addr[i] & 0xFF); - i++; - - if (i == len) - break; - - sbuf.append('.'); - } - - return sbuf.toString(); + return super.getHostAddress(); } /** @@ -272,4 +230,4 @@ public final class Inet4Address extends InetAddress return true; } -} // class Inet4Address +} diff --git a/libjava/java/net/InetAddress.java b/libjava/java/net/InetAddress.java index cfb7a5fb0d3..0c17206e5f5 100644 --- a/libjava/java/net/InetAddress.java +++ b/libjava/java/net/InetAddress.java @@ -143,7 +143,7 @@ public class InetAddress implements Serializable { // Mask against high order bits of 1110 if (addr.length == 4) - return (addr[0] & 0xF0) == 0xE0; + return (addr[0] & 0xf0) == 0xe0; // Mask against high order bits of 11111111 if (addr.length == 16) @@ -173,7 +173,7 @@ public class InetAddress implements Serializable { // This is the IPv4 implementation. // Any class derived from InetAddress should override this. - return addr[0] == 0x7F; + return (addr[0] & 0xff) == 0x7f; } /** @@ -198,18 +198,17 @@ public class InetAddress implements Serializable { // This is the IPv4 implementation. // Any class derived from InetAddress should override this. + // 10.0.0.0/8 - if (addr[0] == 0x0A) + if ((addr[0] & 0xff) == 0x0a) return true; - // XXX: Suns JDK 1.4.1 (on Linux) seems to have a bug here: - // it says 172.16.0.0 - 172.255.255.255 are site local addresses // 172.16.0.0/12 - if (addr[0] == 0xAC && (addr[1] & 0xF0) == 0x01) + if ((addr[0] & 0xff) == 0xac && (addr[1] & 0xf0) == 0x10) return true; // 192.168.0.0/16 - if (addr[0] == 0xC0 && addr[1] == 0xA8) + if ((addr[0] & 0xff) == 0xc0 && (addr[1] & 0xff) == 0xa8) return true; // XXX: Do we need to check more addresses here ? @@ -254,7 +253,9 @@ public class InetAddress implements Serializable if (! isMulticastAddress()) return false; - return (addr[0] == 0xE0 && addr[1] == 0x00 && addr[2] == 0x00); + return ((addr[0] & 0xff) == 0xe0 + && (addr[1] & 0xff) == 0x00 + && (addr[2] & 0xff) == 0x00); } /** @@ -447,7 +448,7 @@ public class InetAddress implements Serializable int i = len > 4 ? len - 4 : 0; for (; i < len; i++) - hash = (hash << 8) | (addr[i] & 0xFF); + hash = (hash << 8) | (addr[i] & 0xff); return hash; }