aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/net
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/net')
-rw-r--r--libjava/java/net/natPlainDatagramSocketImpl.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/libjava/java/net/natPlainDatagramSocketImpl.cc b/libjava/java/net/natPlainDatagramSocketImpl.cc
index d94a2f3..aedd48b 100644
--- a/libjava/java/net/natPlainDatagramSocketImpl.cc
+++ b/libjava/java/net/natPlainDatagramSocketImpl.cc
@@ -194,7 +194,6 @@ void
java::net::PlainDatagramSocketImpl::bind (jint lport,
java::net::InetAddress *host)
{
- // FIXME: prob. need to do a setsockopt with SO_BROADCAST to allow multicast.
union SockAddr u;
struct sockaddr *ptr = (struct sockaddr *) &u.address;
// FIXME: Use getaddrinfo() to get actual protocol instead of assuming ipv4.
@@ -233,6 +232,11 @@ java::net::PlainDatagramSocketImpl::bind (jint lport,
localPort = ntohs (u.address.sin_port);
else
goto error;
+ /* Allow broadcast by default. */
+ int broadcast = 1;
+ if (::setsockopt (fnum, SOL_SOCKET, SO_BROADCAST, (char *) &broadcast,
+ sizeof (broadcast)) != 0)
+ goto error;
return;
}
error: