Author: toad
Date: 2007-10-23 00:30:47 +0000 (Tue, 23 Oct 2007)
New Revision: 15493

Modified:
   trunk/freenet/src/freenet/node/RequestHandler.java
Log:
Send a noderef to the requestor if either we are passing opennet refs through 
darknet (we *didn't* do before) or the node is opennet (we did do before).
Do the check in finishOpennetNoRelayInner(). Remove the wrapper.

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2007-10-23 00:25:04 UTC 
(rev 15492)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2007-10-23 00:30:47 UTC 
(rev 15493)
@@ -151,7 +151,7 @@
                        // We've fetched it from our datastore, so there won't 
be a downstream noderef.
                        // But we want to send at least an 
FNPOpennetCompletedAck, otherwise the request source
                        // may have to timeout waiting for one.
-                               finishOpennetNoRelayChecked();
+                               finishOpennetNoRelayInner();
                }
             }
             return;
@@ -292,24 +292,11 @@
        finishOpennetRelay(noderef);
     }

-       private void finishOpennetNoRelayChecked() {
-               if(!source.isOpennet()) {
-                       Message msg = DMT.createFNPOpennetCompletedAck(uid);
-                       try {
-                               source.sendAsync(msg, null, 0, this);
-                       } catch (NotConnectedException e) {
-                               // Oh well...
-                       }
-                       return;
-               }
-               finishOpennetNoRelayInner();
-       }
-       
     private void finishOpennetNoRelayInner() {
        if(logMINOR)
                Logger.minor(this, "Finishing opennet: sending own reference");
                OpennetManager om = node.getOpennet();
-               if(om != null) {
+               if(om != null && (source.isOpennet() || 
node.passOpennetRefsThroughDarknet())) {
                        if(om.wantPeer(null, false)) {
                        Message msg = 
DMT.createFNPOpennetConnectDestination(uid, new 
ShortBuffer(om.crypto.myCompressedFullRef()));
                                try {


Reply via email to