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);


Reply via email to