Author: zothar
Date: 2008-01-06 18:10:45 +0000 (Sun, 06 Jan 2008)
New Revision: 16942
Modified:
trunk/freenet/src/freenet/node/Node.java
Log:
Refactor N2NTM dependence on the peer being a darknet peer
Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java 2008-01-06 16:53:08 UTC (rev
16941)
+++ trunk/freenet/src/freenet/node/Node.java 2008-01-06 18:10:45 UTC (rev
16942)
@@ -2529,15 +2529,18 @@
}
public void receivedNodeToNodeMessage(PeerNode src, int type,
ShortBuffer messageData, boolean partingMessage) {
- if(!(src instanceof DarknetPeerNode)) {
- Logger.error(this, "Got N2NTM from opennet node ?!?!?!: from
"+src);
- return;
+ boolean fromDarknet = false;
+ if(src instanceof DarknetPeerNode) {
+ fromDarknet = true;
}
- DarknetPeerNode source = (DarknetPeerNode)src;
+ DarknetPeerNode darkSource = (DarknetPeerNode)src;
if(type == Node.N2N_MESSAGE_TYPE_FPROXY) {
-
- Logger.normal(this, "Received N2NM from
'"+source.getPeer()+"'");
+ if(!fromDarknet) {
+ Logger.error(this, "Got N2NTM from non-darknet node
?!?!?!: from "+src);
+ return;
+ }
+ Logger.normal(this, "Received N2NTM from
'"+darkSource.getPeer()+"'");
SimpleFieldSet fs = null;
try {
fs = new SimpleFieldSet(new
String(messageData.getData(), "UTF-8"), false, true);
@@ -2557,19 +2560,23 @@
fs.removeValue("receivedAs");
}
fs.putOverwrite("receivedAs", "nodeToNodeMessage");
- int fileNumber = source.writeNewExtraPeerDataFile( fs,
EXTRA_PEER_DATA_TYPE_N2NTM);
+ int fileNumber = darkSource.writeNewExtraPeerDataFile( fs,
EXTRA_PEER_DATA_TYPE_N2NTM);
if( fileNumber == -1 ) {
- Logger.error( this, "Failed to write N2NTM to extra
peer data file for peer "+source.getPeer());
+ Logger.error( this, "Failed to write N2NTM to extra
peer data file for peer "+darkSource.getPeer());
}
// Keep track of the fileNumber so we can potentially delete
the extra peer data file later, the file is authoritative
try {
- handleNodeToNodeTextMessageSimpleFieldSet(fs, source,
fileNumber);
+ handleNodeToNodeTextMessageSimpleFieldSet(fs,
darkSource, fileNumber);
} catch (FSParseException e) {
// Shouldn't happen
throw new Error(e);
}
} else {
- Logger.error(this, "Received unknown node to node message type
'"+type+"' from "+source.getPeer());
+ if(fromDarknet) {
+ Logger.error(this, "Received unknown node to node
message type '"+type+"' from "+darkSource.getPeer());
+ } else {
+ Logger.error(this, "Received unknown node to node
message type '"+type+"' from "+src.getPeer());
+ }
}
}