From 25fef12b66f0d50abd3d73bbd6c2e5ce96f1b78e Mon Sep 17 00:00:00 2001 From: Bryce McKinlay Date: Tue, 3 Aug 1999 00:30:53 +0000 Subject: ServerSocket.java: Define ANY_IF. * java/net/ServerSocket.java: Define ANY_IF. (ServerSocket (int,int)): Use ANY_IF instead of null to bind to all network interfaces. * java/net/DatagramSocket.java (DatagramSocket): ditto. * java/net/natPlainSocketImpl.cc (bind): Expect 0.0.0' instead of null. * java/net/natPlainDatagramSocketImpl (bind): Expect 0.0.0' instead of null. From-SVN: r28429 --- libjava/java/net/DatagramSocket.java | 4 ++-- libjava/java/net/ServerSocket.java | 6 +++++- libjava/java/net/natPlainDatagramSocketImpl.cc | 12 +++--------- libjava/java/net/natPlainSocketImpl.cc | 13 +++---------- 4 files changed, 13 insertions(+), 22 deletions(-) (limited to 'libjava/java') diff --git a/libjava/java/net/DatagramSocket.java b/libjava/java/net/DatagramSocket.java index 3291efe..6f5e735 100644 --- a/libjava/java/net/DatagramSocket.java +++ b/libjava/java/net/DatagramSocket.java @@ -28,12 +28,12 @@ public class DatagramSocket public DatagramSocket() throws SocketException { - this(0, null); + this(0, ServerSocket.ANY_IF); } public DatagramSocket(int port) throws SocketException { - this(port, null); + this(port, ServerSocket.ANY_IF); } public DatagramSocket(int port, InetAddress laddr) throws SocketException diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java index 0d40bcc..95c9f35 100644 --- a/libjava/java/net/ServerSocket.java +++ b/libjava/java/net/ServerSocket.java @@ -25,6 +25,10 @@ public class ServerSocket static SocketImplFactory factory; SocketImpl impl; + static final byte[] zeros = {0,0,0,0}; + /* dummy InetAddress, used to bind socket to any (all) network interfaces */ + static final InetAddress ANY_IF = new InetAddress(zeros, null); + public ServerSocket (int port) throws java.io.IOException { @@ -34,7 +38,7 @@ public class ServerSocket public ServerSocket (int port, int backlog) throws java.io.IOException { - this(port, backlog, null); + this(port, backlog, ANY_IF); } public ServerSocket (int port, int backlog, InetAddress bindAddr) diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc index ec08d20..8ef7fd2 100644 --- a/libjava/java/net/natPlainDatagramSocketImpl.cc +++ b/libjava/java/net/natPlainDatagramSocketImpl.cc @@ -101,16 +101,10 @@ java::net::PlainDatagramSocketImpl::bind (jint lport, // FIXME: prob. need to do a setsockopt with SO_BROADCAST to allow multicast. union SockAddr u; struct sockaddr *ptr = (struct sockaddr *) &u.address; - jbyte *bytes = NULL; // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4. - int len = 4; // Initialize for INADDR_ANY in case host is NULL. - - if (host != NULL) - { - jbyteArray haddress = host->address; - bytes = elements (haddress); - len = haddress->length; - } + jbyteArray haddress = host->address; + jbyte *bytes = elements (haddress); + int len = haddress->length; if (len == 4) { diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc index 2e7f9d5..d42b821 100644 --- a/libjava/java/net/natPlainSocketImpl.cc +++ b/libjava/java/net/natPlainSocketImpl.cc @@ -71,17 +71,10 @@ java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport) { union SockAddr u; struct sockaddr *ptr = (struct sockaddr *) &u.address; - jbyte *bytes = NULL; - // FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4. - int len = 4; // Initialize for INADDR_ANY in case host is NULL. + jbyteArray haddress = host->address; + jbyte *bytes = elements (haddress); + int len = haddress->length; - if (host != NULL) - { - jbyteArray haddress = host->address; - bytes = elements (haddress); - len = haddress->length; - } - if (len == 4) { u.address.sin_family = AF_INET; -- cgit v1.1