Author: zothar
Date: 2006-09-08 16:32:34 +0000 (Fri, 08 Sep 2006)
New Revision: 10432

Modified:
   trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
Log:
Add allowLocalAddresses UI to /darknet/ and FCP

Modified: trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2006-09-08 13:35:11 UTC (rev 10431)
+++ trunk/freenet/src/freenet/clients/http/DarknetConnectionsToadlet.java       
2006-09-08 16:32:34 UTC (rev 10432)
@@ -465,6 +465,8 @@
                                        actionSelect.addChild("option", 
"value", "clear_burst_only", "On selected peers, clear BurstOnly");
                                        actionSelect.addChild("option", 
"value", "set_listen_only", "On selected peers, set ListenOnly");
                                        actionSelect.addChild("option", 
"value", "clear_listen_only", "On selected peers, clear ListenOnly");
+                                       actionSelect.addChild("option", 
"value", "set_allow_local", "On selected peers, set allowLocalAddresses");
+                                       actionSelect.addChild("option", 
"value", "clear_allow_local", "On selected peers, clear allowLocalAddresses");
                                }
                                actionSelect.addChild("option", "value", "", 
"-- -- --");
                                actionSelect.addChild("option", "value", 
"remove", "Remove selected peers");
@@ -721,6 +723,32 @@
                        headers.put("Location", "/darknet/");
                        ctx.sendReplyHeaders(302, "Found", headers, null, 0);
                        return;
+               } else if (request.isPartSet("submit") && 
request.getPartAsString("action",25).equals("set_allow_local")) {
+                       //int hashcode = 
Integer.decode(request.getParam("node")).intValue();
+                       
+                       PeerNode[] peerNodes = node.getDarknetConnections();
+                       for(int i = 0; i < peerNodes.length; i++) {
+                               if 
(request.isPartSet("node_"+peerNodes[i].hashCode())) {
+                                       
peerNodes[i].setAllowLocalAddresses(true);
+                               }
+                       }
+                       MultiValueTable headers = new MultiValueTable();
+                       headers.put("Location", "/darknet/");
+                       ctx.sendReplyHeaders(302, "Found", headers, null, 0);
+                       return;
+               } else if (request.isPartSet("submit") && 
request.getPartAsString("action",25).equals("clear_allow_local")) {
+                       //int hashcode = 
Integer.decode(request.getParam("node")).intValue();
+                       
+                       PeerNode[] peerNodes = node.getDarknetConnections();
+                       for(int i = 0; i < peerNodes.length; i++) {
+                               if 
(request.isPartSet("node_"+peerNodes[i].hashCode())) {
+                                       
peerNodes[i].setAllowLocalAddresses(false);
+                               }
+                       }
+                       MultiValueTable headers = new MultiValueTable();
+                       headers.put("Location", "/darknet/");
+                       ctx.sendReplyHeaders(302, "Found", headers, null, 0);
+                       return;
                } else if (request.isPartSet("remove") || 
(request.isPartSet("submit") && 
request.getPartAsString("action",25).equals("remove"))) {
                        //int hashcode = 
Integer.decode(request.getParam("node")).intValue();


Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-09-08 13:35:11 UTC 
(rev 10431)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-09-08 16:32:34 UTC 
(rev 10432)
@@ -2932,4 +2932,11 @@
        public boolean isSignatureVerificationSuccessfull() {
                return isSignatureVerificationSuccessfull;
        }
+       
+       public void setAllowLocalAddresses(boolean setting) {
+               synchronized(this) {
+                       allowLocalAddresses = setting;
+               }
+        node.peers.writePeers();
+       }
 }

Modified: trunk/freenet/src/freenet/node/fcp/ModifyPeer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ModifyPeer.java  2006-09-08 13:35:11 UTC 
(rev 10431)
+++ trunk/freenet/src/freenet/node/fcp/ModifyPeer.java  2006-09-08 16:32:34 UTC 
(rev 10432)
@@ -53,6 +53,12 @@
                                
pn.setBurstOnly(Fields.stringToBool(isBurstOnlyString, false));
                        }
                }
+               String allowLocalAddressesString = 
fs.get("AllowLocalAddresses");
+               if(allowLocalAddressesString != null) {
+                       if(!allowLocalAddressesString.equals("")) {
+                               
pn.setAllowLocalAddresses(Fields.stringToBool(allowLocalAddressesString, 
false));
+                       }
+               }
                handler.outputHandler.queue(new Peer(pn, true, true));
        }



Reply via email to