Author: zothar
Date: 2006-11-12 23:18:26 +0000 (Sun, 12 Nov 2006)
New Revision: 10906

Modified:
   trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
Log:
Complain correctly if fields are missing in ModifyPeerNote FCP client to server 
message handler.

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java      2006-11-12 
20:23:42 UTC (rev 10905)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeerNote.java      2006-11-12 
23:18:26 UTC (rev 10906)
@@ -32,6 +32,9 @@

        public void run(FCPConnectionHandler handler, Node node) throws 
MessageInvalidException {
                String nodeIdentifier = fs.get("NodeIdentifier");
+               if( nodeIdentifier == null ) {
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: 
NodeIdentifier field missing", null);
+               }
                PeerNode pn = node.getPeerNode(nodeIdentifier);
                if(pn == null) {
                        FCPMessage msg = new 
UnknownNodeIdentifierMessage(nodeIdentifier);
@@ -45,6 +48,9 @@
                        throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_FIELD, "Error parsing 
PeerNoteType field: "+e.getMessage(), null);
                }
                String encodedNoteText = fs.get("NoteText");
+               if( encodedNoteText == null ) {
+                       throw new 
MessageInvalidException(ProtocolErrorMessage.MISSING_FIELD, "Error: NoteText 
field missing", null);
+               }
                String noteText;
                // **FIXME** this should be generalized for multiple peer notes 
per peer, after PeerNode is similarly generalized
                try {


Reply via email to