Author: tv
Date: Sat Mar 31 19:03:01 2012
New Revision: 1307877
URL: http://svn.apache.org/viewvc?rev=1307877&view=rev
Log:
Apply patch to fix JCS-89
Modified:
commons/proper/jcs/branches/generics-interface/src/java/org/apache/jcs/utils/discovery/UDPDiscoveryReceiver.java
Modified:
commons/proper/jcs/branches/generics-interface/src/java/org/apache/jcs/utils/discovery/UDPDiscoveryReceiver.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/branches/generics-interface/src/java/org/apache/jcs/utils/discovery/UDPDiscoveryReceiver.java?rev=1307877&r1=1307876&r2=1307877&view=diff
==============================================================================
---
commons/proper/jcs/branches/generics-interface/src/java/org/apache/jcs/utils/discovery/UDPDiscoveryReceiver.java
(original)
+++
commons/proper/jcs/branches/generics-interface/src/java/org/apache/jcs/utils/discovery/UDPDiscoveryReceiver.java
Sat Mar 31 19:03:01 2012
@@ -166,9 +166,18 @@ public class UDPDiscoveryReceiver
final ObjectInputStream objectStream = new ObjectInputStream(
byteStream );
obj = objectStream.readObject();
- if ( log.isDebugEnabled() )
+ if ( (obj != null) && (obj instanceof UDPDiscoveryMessage) )
{
- log.debug( "Read object from address [" +
packet.getSocketAddress() + "], object=[" + obj + "]" );
+ // Ensure that the address we're supposed to send to is,
indeed, the address
+ // of the machine on the other end of this connection. This
guards against
+ // instances where we don't exactly get the right local host
address
+ UDPDiscoveryMessage msg = (UDPDiscoveryMessage) obj;
+ msg.setHost(packet.getAddress().getHostAddress());
+
+ if ( log.isDebugEnabled() )
+ {
+ log.debug( "Read object from address [" +
packet.getSocketAddress() + "], object=[" + obj + "]" );
+ }
}
}
catch ( Exception e )