Author: toad
Date: 2007-03-22 20:41:54 +0000 (Thu, 22 Mar 2007)
New Revision: 12278

Modified:
   trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
   trunk/freenet/src/freenet/node/PeerManager.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/TextModeClientInterface.java
   trunk/freenet/src/freenet/node/fcp/AddPeer.java
Log:
Fix NPE on startup :)

Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2007-03-22 20:37:23 UTC (rev 12277)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2007-03-22 20:41:54 UTC (rev 12278)
@@ -701,7 +701,7 @@
                        }
                        PeerNode pn;
                        try {
-                               pn = new PeerNode(fs, this.node, false);
+                               pn = new PeerNode(fs, node, node.peers, false);
                                pn.setPrivateDarknetCommentNote(privateComment);
                        } catch (FSParseException e1) {
                                this.sendErrorPage(ctx, 200, "Failed To Add 
Node", "Unable to parse the given text as a node reference ("+e1+"). Please try 
again.");

Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java     2007-03-22 20:37:23 UTC 
(rev 12277)
+++ trunk/freenet/src/freenet/node/PeerManager.java     2007-03-22 20:41:54 UTC 
(rev 12278)
@@ -142,7 +142,7 @@
                 fs = new SimpleFieldSet(br, false, true);
                 PeerNode pn;
                 try {
-                    pn = new PeerNode(fs, node, true);
+                    pn = new PeerNode(fs, node, this, true);
                 } catch (FSParseException e2) {
                     Logger.error(this, "Could not parse peer: "+e2+ '\n' 
+fs.toString(),e2);
                     continue;
@@ -319,7 +319,7 @@
      * Connect to a node provided the fieldset representing it.
      */
     public void connect(SimpleFieldSet noderef) throws FSParseException, 
PeerParseException, ReferenceSignatureVerificationException {
-        PeerNode pn = new PeerNode(noderef, node, false);
+        PeerNode pn = new PeerNode(noderef, node, this, false);
         for(int i=0;i<myPeers.length;i++) {
             if(Arrays.equals(myPeers[i].identity, pn.identity)) return;
         }

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-03-22 20:37:23 UTC 
(rev 12277)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-03-22 20:41:54 UTC 
(rev 12278)
@@ -335,10 +335,10 @@
      * @param fs The SimpleFieldSet to parse
      * @param node2 The running Node we are part of.
      */
-    public PeerNode(SimpleFieldSet fs, Node node2, boolean fromLocal) throws 
FSParseException, PeerParseException, ReferenceSignatureVerificationException {
+    public PeerNode(SimpleFieldSet fs, Node node2, PeerManager peers, boolean 
fromLocal) throws FSParseException, PeerParseException, 
ReferenceSignatureVerificationException {
        logMINOR = Logger.shouldLog(Logger.MINOR, this);
         this.node = node2;
-        this.peers = node.peers;
+        this.peers = peers;
         String identityString = fs.get("identity");
        if(identityString == null)
                throw new PeerParseException("No identity!");

Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-03-22 
20:37:23 UTC (rev 12277)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2007-03-22 
20:41:54 UTC (rev 12278)
@@ -1022,7 +1022,7 @@
         }
         PeerNode pn;
         try {
-            pn = new PeerNode(fs, n, false);
+            pn = new PeerNode(fs, n, n.peers, false);
         } catch (FSParseException e1) {
             System.err.println("Did not parse: "+e1);
             Logger.error(this, "Did not parse: "+e1, e1);

Modified: trunk/freenet/src/freenet/node/fcp/AddPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/AddPeer.java     2007-03-22 20:37:23 UTC 
(rev 12277)
+++ trunk/freenet/src/freenet/node/fcp/AddPeer.java     2007-03-22 20:41:54 UTC 
(rev 12278)
@@ -110,7 +110,7 @@
                fs.setEndMarker( "End" );
                PeerNode pn;
                try {
-                       pn = new PeerNode(fs, node, false);
+                       pn = new PeerNode(fs, node, node.peers, false);
                } catch (FSParseException e) {
                        throw new 
MessageInvalidException(ProtocolErrorMessage.REF_PARSE_ERROR, "Error parsing 
retrieved ref: "+e.getMessage(), null, false);
                } catch (PeerParseException e) {


Reply via email to