Author: nextgens Date: 2007-03-17 12:04:58 +0000 (Sat, 17 Mar 2007) New Revision: 12170
Modified:
trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
Log:
prevent a potential NPE to be thrown in IPDetectorPluginManager
Modified: trunk/freenet/src/freenet/node/IPDetectorPluginManager.java
===================================================================
--- trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2007-03-17
11:58:10 UTC (rev 12169)
+++ trunk/freenet/src/freenet/node/IPDetectorPluginManager.java 2007-03-17
12:04:58 UTC (rev 12170)
@@ -276,27 +276,29 @@
// Has been connected in the
last 24 hours.
// Unique IP address?
Peer peer = p.getPeer();
- InetAddress addr =
peer.getAddress(false);
- if(p.isConnected() && (peer !=
null) && (addr != null) && IPUtil.isValidAddress(peer.getAddress(), false)) {
- // Connected node, on a
real internet IP address.
- // Is it internal?
- boolean internal =
false;
- for(int
j=0;j<nodeAddrs.length;j++) {
-
if(addr.equals(nodeAddrs[j].getAddress())) {
- //
Internal
-
internal = true;
- break;
+ if(peer != null){
+ InetAddress addr =
peer.getAddress(false);
+ if(p.isConnected() &&
(addr != null) && IPUtil.isValidAddress(peer.getAddress(), false)) {
+ // Connected
node, on a real internet IP address.
+ // Is it
internal?
+ boolean
internal = false;
+ for(int
j=0;j<nodeAddrs.length;j++) {
+
if(addr.equals(nodeAddrs[j].getAddress())) {
+
// Internal
+
internal = true;
+
break;
+ }
}
- }
- if(!internal) {
- // Real IP
address
-
if(addressesConnected == null)
-
addressesConnected = new HashSet();
-
addressesConnected.add(addr);
-
if(addressesConnected.size() > 2) {
- // 3
connected addresses, lets assume we have connectivity.
-
if(logMINOR) Logger.minor(this, "Node has directly detected IP and has
connected to 3 real IPs");
- return;
+ if(!internal) {
+ // Real
IP address
+
if(addressesConnected == null)
+
addressesConnected = new HashSet();
+
addressesConnected.add(addr);
+
if(addressesConnected.size() > 2) {
+
// 3 connected addresses, lets assume we have connectivity.
+
if(logMINOR) Logger.minor(this, "Node has directly detected IP and has
connected to 3 real IPs");
+
return;
+ }
}
}
}
