Author: toad
Date: 2006-06-13 17:31:36 +0000 (Tue, 13 Jun 2006)
New Revision: 9183
Modified:
trunk/freenet/src/freenet/node/KeyTracker.java
trunk/freenet/src/freenet/node/PeerManager.java
trunk/freenet/src/freenet/node/PeerNode.java
trunk/freenet/src/freenet/node/Version.java
Log:
811: Fix NPE causing recent connection failures.
Modified: trunk/freenet/src/freenet/node/KeyTracker.java
===================================================================
--- trunk/freenet/src/freenet/node/KeyTracker.java 2006-06-13 16:52:00 UTC
(rev 9182)
+++ trunk/freenet/src/freenet/node/KeyTracker.java 2006-06-13 17:31:36 UTC
(rev 9183)
@@ -340,7 +340,7 @@
public synchronized void receivedPacket(int seqNumber) {
Logger.minor(this, "Received packet "+seqNumber);
try {
- pn.receivedPacket();
+ pn.receivedPacket(false);
} catch (NotConnectedException e) {
Logger.minor(this, "Ignoring, because disconnected");
return;
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2006-06-13 16:52:00 UTC
(rev 9182)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2006-06-13 17:31:36 UTC
(rev 9183)
@@ -500,7 +500,12 @@
w.close();
if(!succeeded) return;
} catch (IOException e) {
- Logger.error(this, "Cannot close file!: " + e, e);
+ try {
+ w.close();
+ } catch (IOException e1) {
+ Logger.error(this, "Cannot close peers file: "+e, e);
+ }
+ Logger.error(this, "Cannot write file: " + e, e);
return; // don't overwrite old file!
}
if (!new File(f).renameTo(new File(filename))) {
Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java 2006-06-13 16:52:00 UTC
(rev 9182)
+++ trunk/freenet/src/freenet/node/PeerNode.java 2006-06-13 17:31:36 UTC
(rev 9183)
@@ -977,7 +977,7 @@
}
private void setDetectedPeer(Peer newPeer) {
- if(!detectedPeer.equals(newPeer)) {
+ if(detectedPeer == null || !detectedPeer.equals(newPeer)) {
this.detectedPeer=newPeer;
this.lastAttemptedHandshakeIPUpdateTime = 0;
}
@@ -1024,8 +1024,8 @@
* Update timeLastReceivedPacket
* @throws NotConnectedException
*/
- synchronized void receivedPacket() throws NotConnectedException {
- if(isConnected == false) {
+ synchronized void receivedPacket(boolean dontLog) throws
NotConnectedException {
+ if(isConnected == false && !dontLog) {
if(unverifiedTracker == null && currentTracker == null) {
Logger.error(this, "Received packet while
disconnected!: "+this, new Exception("error"));
throw new NotConnectedException();
@@ -1149,7 +1149,7 @@
node.peers.disconnected(this);
Logger.normal(this, "Completed handshake with "+this+" on "+replyTo+"
- current: "+currentTracker+" old: "+previousTracker+" unverified:
"+unverifiedTracker+" bootID: "+thisBootID+" myName: "+myName);
try {
- receivedPacket();
+ receivedPacket(unverified);
} catch (NotConnectedException e) {
Logger.error(this, "Disconnected in completedHandshake
with "+this);
return true; // i suppose
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-06-13 16:52:00 UTC (rev
9182)
+++ trunk/freenet/src/freenet/node/Version.java 2006-06-13 17:31:36 UTC (rev
9183)
@@ -18,7 +18,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 810;
+ private static final int buildNumber = 811;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 765;