Author: zothar
Date: 2007-07-16 01:18:16 +0000 (Mon, 16 Jul 2007)
New Revision: 14153
Added:
trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java
Modified:
trunk/freenet/src/freenet/node/fcp/FCPMessage.java
Log:
FCP: Added ListPeer since we can't abuse ModifyPeer to do the function of
ListPeer for opennet peers.
Modified: trunk/freenet/src/freenet/node/fcp/FCPMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPMessage.java 2007-07-15 22:43:25 UTC
(rev 14152)
+++ trunk/freenet/src/freenet/node/fcp/FCPMessage.java 2007-07-16 01:18:16 UTC
(rev 14153)
@@ -55,6 +55,8 @@
return new GetNode(fs);
if(name.equals(GetRequestStatusMessage.NAME))
return new GetRequestStatusMessage(fs);
+ if(name.equals(ListPeerMessage.NAME))
+ return new ListPeerMessage(fs);
if(name.equals(ListPeersMessage.NAME))
return new ListPeersMessage(fs);
if(name.equals(ListPeerNotesMessage.NAME))
Added: trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java
(rev 0)
+++ trunk/freenet/src/freenet/node/fcp/ListPeerMessage.java 2007-07-16
01:18:16 UTC (rev 14153)
@@ -0,0 +1,42 @@
+/* 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.node.PeerNode;
+import freenet.support.SimpleFieldSet;
+
+public class ListPeerMessage extends FCPMessage {
+
+ static final String NAME = "ListPeer";
+
+ final SimpleFieldSet fs;
+
+ public ListPeerMessage(SimpleFieldSet fs) {
+ this.fs = fs;
+ }
+
+ public SimpleFieldSet getFieldSet() {
+ return new SimpleFieldSet(true);
+ }
+
+ public String getName() {
+ return NAME;
+ }
+
+ public void run(FCPConnectionHandler handler, Node node) throws
MessageInvalidException {
+ if(!handler.hasFullAccess()) {
+ throw new
MessageInvalidException(ProtocolErrorMessage.ACCESS_DENIED, "ListPeer requires
full access", fs.get("Identifier"), false);
+ }
+ String nodeIdentifier = fs.get("NodeIdentifier");
+ PeerNode pn = node.getPeerNode(nodeIdentifier);
+ if(pn == null) {
+ FCPMessage msg = new
UnknownNodeIdentifierMessage(nodeIdentifier);
+ handler.outputHandler.queue(msg);
+ return;
+ }
+ handler.outputHandler.queue(new Peer(pn, true, true));
+ }
+
+}