[freenet-cvs] r12170 - trunk/freenet/src/freenet/node
nextgens at freenetproject.org
nextgens at freenetproject.org
Sat Mar 17 12:05:03 UTC 2007
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;
+ }
}
}
}
More information about the cvs
mailing list