[freenet-cvs] r16942 - trunk/freenet/src/freenet/node
zothar at freenetproject.org
zothar at freenetproject.org
Sun Jan 6 18:10:45 UTC 2008
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());
+ }
}
}
More information about the cvs
mailing list