Author: toad
Date: 2007-12-14 15:02:20 +0000 (Fri, 14 Dec 2007)
New Revision: 16540
Modified:
trunk/freenet/src/freenet/node/AnnounceSender.java
trunk/freenet/src/freenet/node/FNPPacketMangler.java
trunk/freenet/src/freenet/node/NodeCrypto.java
trunk/freenet/src/freenet/node/OpennetManager.java
trunk/freenet/src/freenet/node/RequestHandler.java
trunk/freenet/src/freenet/node/RequestSender.java
Log:
Anon initiator: opennet= is specified by the setup type
Modified: trunk/freenet/src/freenet/node/AnnounceSender.java
===================================================================
--- trunk/freenet/src/freenet/node/AnnounceSender.java 2007-12-14 14:57:50 UTC
(rev 16539)
+++ trunk/freenet/src/freenet/node/AnnounceSender.java 2007-12-14 15:02:20 UTC
(rev 16540)
@@ -340,7 +340,7 @@
if(noderefBuf == null) {
return true; // Don't relay
}
- SimpleFieldSet fs = om.validateNoderef(noderefBuf, 0,
noderefLength, next);
+ SimpleFieldSet fs = om.validateNoderef(noderefBuf, 0,
noderefLength, next, false);
if(fs == null) {
if(cb != null) cb.bogusNoderef("invalid noderef");
return true; // Don't relay
@@ -436,7 +436,7 @@
if(noderefBuf == null) {
return false;
}
- SimpleFieldSet fs = om.validateNoderef(noderefBuf, 0,
noderefLength, source);
+ SimpleFieldSet fs = om.validateNoderef(noderefBuf, 0,
noderefLength, source, false);
if(fs == null) {
om.rejectRef(uid, source, DMT.NODEREF_REJECTED_INVALID,
this);
return false;
Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2007-12-14
14:57:50 UTC (rev 16539)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2007-12-14
15:02:20 UTC (rev 16540)
@@ -1160,7 +1160,7 @@
// FIXME Send some sort of explicit rejection
message.
return null;
}
- SimpleFieldSet ref = om.validateNoderef(hisRef, 0,
hisRef.length, null);
+ SimpleFieldSet ref = om.validateNoderef(hisRef, 0,
hisRef.length, null, true);
if(ref == null) {
Logger.error(this, "Invalid noderef");
// FIXME Send some sort of explicit rejection
message.
Modified: trunk/freenet/src/freenet/node/NodeCrypto.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeCrypto.java 2007-12-14 14:57:50 UTC
(rev 16539)
+++ trunk/freenet/src/freenet/node/NodeCrypto.java 2007-12-14 15:02:20 UTC
(rev 16540)
@@ -297,15 +297,17 @@
// Negotiation types
fs.putSingle("version", Version.getVersionString()); // Keep,
vital that peer know our version. For example, some types may be sent in
different formats to different node versions (e.g. Peer).
fs.putSingle("lastGoodVersion",
Version.getLastGoodVersionString()); // Also vital
- fs.put("testnet", node.testnetEnabled); // Vital that peer know
this!
+ // FIXME move inside bracket after next mandatory.
+ fs.put("testnet", node.testnetEnabled);
if(node.testnetEnabled) {
fs.put("testnetPort", node.testnetHandler.getPort());
// Useful, saves a lot of complexity
}
if(!isOpennet)
fs.putSingle("myName", node.getMyName()); // FIXME see
#942
- fs.put("opennet", isOpennet);
- //if(!forAnonInitiator) { FIXME re-enable check once related
changes are mandatory
+ if(!forAnonInitiator) {
+ // Anonymous initiator setup type specifies whether the
node is opennet or not.
+ fs.put("opennet", isOpennet);
synchronized (referenceSync) {
if(myReferenceSignature == null ||
mySignedReference == null || !mySignedReference.equals(fs.toOrderedString())){
mySignedReference =
fs.toOrderedString();
@@ -317,7 +319,7 @@
}
fs.putSingle("sig",
myReferenceSignature.toLongString());
}
- //}
+ }
if(logMINOR) Logger.minor(this, "My reference:
"+fs.toOrderedString());
return fs;
Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java 2007-12-14 14:57:50 UTC
(rev 16539)
+++ trunk/freenet/src/freenet/node/OpennetManager.java 2007-12-14 15:02:20 UTC
(rev 16540)
@@ -632,7 +632,7 @@
}
}
- public SimpleFieldSet validateNoderef(byte[] noderef, int offset, int
length, PeerNode from) {
+ public SimpleFieldSet validateNoderef(byte[] noderef, int offset, int
length, PeerNode from, boolean forceOpennetEnabled) {
SimpleFieldSet ref;
try {
ref = PeerNode.compressedNoderefToFieldSet(noderef, 0,
noderef.length);
@@ -640,6 +640,8 @@
Logger.error(this, "Invalid noderef: "+e, e);
return null;
}
+ if(forceOpennetEnabled)
+ ref.put("opennet", true);
if(!OpennetPeerNode.validateRef(ref)) {
Logger.error(this, "Could not parse opennet noderef for
"+this+" from "+from);
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2007-12-14 14:57:50 UTC
(rev 16539)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2007-12-14 15:02:20 UTC
(rev 16540)
@@ -392,7 +392,7 @@
if(noderef == null)
return false;
- SimpleFieldSet ref = om.validateNoderef(noderef, 0,
noderef.length, source);
+ SimpleFieldSet ref = om.validateNoderef(noderef, 0,
noderef.length, source, false);
if(ref == null)
return false;
@@ -443,7 +443,7 @@
// Send it forward to the data source, if it is valid.
- if(om.validateNoderef(newNoderef, 0, newNoderef.length, source)
!= null) {
+ if(om.validateNoderef(newNoderef, 0, newNoderef.length, source,
false) != null) {
try {
om.sendOpennetRef(true, uid, dataSource,
newNoderef, this);
} catch (NotConnectedException e) {
Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java 2007-12-14 14:57:50 UTC
(rev 16539)
+++ trunk/freenet/src/freenet/node/RequestSender.java 2007-12-14 15:02:20 UTC
(rev 16540)
@@ -682,7 +682,7 @@
if(noderef == null) return;
- SimpleFieldSet ref = om.validateNoderef(noderef, 0,
noderef.length, next);
+ SimpleFieldSet ref = om.validateNoderef(noderef, 0,
noderef.length, next, false);
if(ref == null) return;