Author: saces
Date: 2007-02-19 13:41:39 +0000 (Mon, 19 Feb 2007)
New Revision: 11843
Modified:
trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
Log:
add check for valid message endmarker
Modified: trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-02-19 13:01:47 UTC (rev 11842)
+++ trunk/freenet/src/freenet/node/fcp/FCPConnectionInputHandler.java
2007-02-19 13:41:39 UTC (rev 11843)
@@ -54,6 +54,14 @@
}
if(messageType.equals("")) continue;
fs = new SimpleFieldSet(lis, 4096, 128, true, true,
true, true);
+
+ // check for valid endmarker
+ if ((!fs.getEndMarker().startsWith("End")) &&
(!"Data".equals(fs.getEndMarker()))) {
+ FCPMessage err = new
ProtocolErrorMessage(ProtocolErrorMessage.MESSAGE_PARSE_ERROR, false, "Invalid
end marker: "+fs.getEndMarker(), fs.get("Identifer"), false);
+ handler.outputHandler.queue(err);
+ continue;
+ }
+
FCPMessage msg;
try {
msg = FCPMessage.create(messageType, fs,
handler.bf, handler.server.core.persistentTempBucketFactory);