Author: zothar
Date: 2006-11-05 19:20:01 +0000 (Sun, 05 Nov 2006)
New Revision: 10827
Modified:
trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
Log:
N2NTM send and dismiss fixes.
Modified: trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java 2006-11-05
17:34:20 UTC (rev 10826)
+++ trunk/freenet/src/freenet/clients/http/N2NTMToadlet.java 2006-11-05
19:20:01 UTC (rev 10827)
@@ -100,8 +100,8 @@
}
public void handlePost(URI uri, Bucket data, ToadletContext ctx) throws
ToadletContextClosedException, IOException, RedirectException {
- if(data.size() > 1024*1024) {
- this.writeReply(ctx, 400, "text/plain", "Too big", "Too much
data, N2NTM toadlet limited to 1MB");
+ if(data.size() > 5*1024) {
+ this.writeReply(ctx, 400, "text/plain", "Too big", "Too much
data, N2NTM toadlet limited to 5KB");
return;
}
@@ -116,8 +116,12 @@
}
if (request.isPartSet("send")) {
- String message = request.getPartAsString("message", 2000);
+ String message = request.getPartAsString("message", 5*1024);
message = message.trim();
+ if(message.length() > 2000) {
+ this.writeReply(ctx, 400, "text/plain", "Too
long", "N2NTMs are limited to 2000 characters");
+ return;
+ }
HTMLNode pageNode =
ctx.getPageMaker().getPageNode("Send Node to Node Text Message Processing");
HTMLNode contentNode =
ctx.getPageMaker().getContentNode(pageNode);
HTMLNode peerTableInfobox = contentNode.addChild("div",
"class", "infobox infobox-normal");
@@ -201,7 +205,7 @@
messageTargetList.addChild("li", peer_name);
}
HTMLNode infoboxContent = infobox.addChild("div", "class",
"infobox-content");
- HTMLNode messageForm = infoboxContent.addChild("form", new
String[] { "action", "method", "enctype" }, new String[] { "/send_n2ntm/",
"post", "multipart/form-data" });
+ HTMLNode messageForm = infoboxContent.addChild("form", new
String[] { "action", "method" }, new String[] { "/send_n2ntm/", "post" });
messageForm.addChild("input", new String[] { "type", "name",
"value" }, new String[] { "hidden", "formPassword", formPassword });
// Iterate peers
for (Iterator it = peers.keySet().iterator(); it.hasNext(); ) {
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2006-11-05 17:34:20 UTC
(rev 10826)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2006-11-05 19:20:01 UTC
(rev 10827)
@@ -100,7 +100,7 @@
byte[] pwdBuf = new byte[16];
random.nextBytes(pwdBuf);
this.formPassword = Base64.encode(pwdBuf);
- alerts = new UserAlertManager();
+ alerts = new UserAlertManager(this);
logMINOR = Logger.shouldLog(Logger.MINOR, this);
if(logMINOR) Logger.minor(this, "Serializing
RequestStarterGroup from:\n"+throttleFS);
requestStarters = new RequestStarterGroup(node, this,
portNumber, random, config, throttleFS);
Modified: trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
===================================================================
--- trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
2006-11-05 17:34:20 UTC (rev 10826)
+++ trunk/freenet/src/freenet/node/useralerts/UserAlertManager.java
2006-11-05 19:20:01 UTC (rev 10827)
@@ -5,6 +5,7 @@
import java.util.HashSet;
import freenet.support.HTMLNode;
+import freenet.node.NodeClientCore;
/**
* Collection of UserAlert's.
@@ -12,8 +13,10 @@
public class UserAlertManager implements Comparator {
private final HashSet alerts;
+ private NodeClientCore core;
- public UserAlertManager() {
+ public UserAlertManager(NodeClientCore core) {
+ this.core = core;
alerts = new HashSet();
}
@@ -73,6 +76,7 @@
if (alert.userCanDismiss()) {
HTMLNode dismissFormNode =
alertContentNode.addChild("form", new String[] { "action", "method" }, new
String[] { ".", "post" });
dismissFormNode.addChild("input", new String[]
{ "type", "name", "value" }, new String[] { "hidden", "disable",
String.valueOf(alert.hashCode()) });
+ dismissFormNode.addChild("input", new String[]
{ "type", "name", "value" }, new String[] { "hidden", "formPassword",
core.formPassword });
dismissFormNode.addChild("input", new String[]
{ "type", "value" }, new String[] { "submit", alert.dismissButtonText() });
}
}