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;


Reply via email to