Author: zothar
Date: 2006-11-12 01:47:41 +0000 (Sun, 12 Nov 2006)
New Revision: 10894
Added:
trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
Modified:
trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
trunk/freenet/src/freenet/node/fcp/RemovePeer.java
Log:
Doing an operation with a specific peer that is unknown now returns an
UnknownNodeIdentifer FCP message rather than a protocol error.
Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeer.java 2006-11-12 01:31:06 UTC
(rev 10893)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeer.java 2006-11-12 01:47:41 UTC
(rev 10894)
@@ -30,7 +30,7 @@
String nodeIdentifier = fs.get("NodeIdentifier");
PeerNode pn = node.getPeerNode(nodeIdentifier);
if(pn == null) {
- ProtocolErrorMessage msg = new
ProtocolErrorMessage(ProtocolErrorMessage.NO_SUCH_NODE_IDENTIFIER, false, null,
nodeIdentifier);
+ FCPMessage msg = new
UnknownNodeIdentifierMessage(nodeIdentifier);
handler.outputHandler.queue(msg);
return;
}
Modified: trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
2006-11-12 01:31:06 UTC (rev 10893)
+++ trunk/freenet/src/freenet/node/fcp/ProtocolErrorMessage.java
2006-11-12 01:47:41 UTC (rev 10894)
@@ -40,7 +40,7 @@
static final int NOT_SUPPORTED = 16;
static final int INTERNAL_ERROR = 17;
static final int SHUTTING_DOWN = 18;
- static final int NO_SUCH_NODE_IDENTIFIER = 19;
+ static final int NO_SUCH_NODE_IDENTIFIER = 19; // Unused
static final int URL_PARSE_ERROR = 20;
static final int REF_PARSE_ERROR = 21;
static final int FILE_PARSE_ERROR = 22;
@@ -81,7 +81,7 @@
return "Could not write file";
case COULD_NOT_RENAME_FILE:
return "Could not rename file";
- case NO_SUCH_IDENTIFIER:
+ case NO_SUCH_IDENTIFIER: // Unused
return "No such identifier";
case NOT_SUPPORTED:
return "Not supported";
Modified: trunk/freenet/src/freenet/node/fcp/RemovePeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/RemovePeer.java 2006-11-12 01:31:06 UTC
(rev 10893)
+++ trunk/freenet/src/freenet/node/fcp/RemovePeer.java 2006-11-12 01:47:41 UTC
(rev 10894)
@@ -29,7 +29,7 @@
String nodeIdentifier = fs.get("NodeIdentifier");
PeerNode pn = node.getPeerNode(nodeIdentifier);
if(pn == null) {
- ProtocolErrorMessage msg = new
ProtocolErrorMessage(ProtocolErrorMessage.NO_SUCH_NODE_IDENTIFIER, false, null,
nodeIdentifier);
+ FCPMessage msg = new
UnknownNodeIdentifierMessage(nodeIdentifier);
handler.outputHandler.queue(msg);
return;
}
Added: trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
2006-11-12 01:31:06 UTC (rev 10893)
+++ trunk/freenet/src/freenet/node/fcp/UnknownNodeIdentifierMessage.java
2006-11-12 01:47:41 UTC (rev 10894)
@@ -0,0 +1,32 @@
+/* This code is part of Freenet. It is distributed under the GNU General
+ * Public License, version 2 (or at your option any later version). See
+ * http://www.gnu.org/ for further details of the GPL. */
+package freenet.node.fcp;
+
+import freenet.node.Node;
+import freenet.support.SimpleFieldSet;
+
+public class UnknownNodeIdentifierMessage extends FCPMessage {
+
+ final String nodeIdentifier;
+
+ public UnknownNodeIdentifierMessage(String id) {
+ this.nodeIdentifier = id;
+ }
+
+ public SimpleFieldSet getFieldSet() {
+ SimpleFieldSet sfs = new SimpleFieldSet();
+ sfs.put("NodeIdentifier", nodeIdentifier);
+ return sfs;
+ }
+
+ public String getName() {
+ return "UnknownNodeIdentifier";
+ }
+
+ public void run(FCPConnectionHandler handler, Node node)
+ throws MessageInvalidException {
+ throw new
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE,
"UnknownNodeIdentifier goes from server to client not the other way around",
nodeIdentifier);
+ }
+
+}