Author: nextgens
Date: 2006-05-13 21:24:30 +0000 (Sat, 13 May 2006)
New Revision: 8694
Added:
trunk/freenet/src/freenet/clients/http/BlackOpsToadlet.java
Modified:
trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
trunk/freenet/src/freenet/clients/http/HTTPRequest.java
trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
trunk/freenet/src/net/i2p/util/NativeBigInteger.java
Log:
More work on NIMs : still not working :/
Added: trunk/freenet/src/freenet/clients/http/BlackOpsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/BlackOpsToadlet.java 2006-05-13
19:32:41 UTC (rev 8693)
+++ trunk/freenet/src/freenet/clients/http/BlackOpsToadlet.java 2006-05-13
21:24:30 UTC (rev 8694)
@@ -0,0 +1,75 @@
+package freenet.clients.http;
+
+import java.io.IOException;
+import java.net.URI;
+
+import freenet.client.ClientMetadata;
+import freenet.client.DefaultMIMETypes;
+import freenet.client.HighLevelSimpleClient;
+import freenet.client.InsertBlock;
+import freenet.client.InserterException;
+import freenet.clients.http.filter.MIMEType;
+import freenet.config.SubConfig;
+import freenet.keys.FreenetURI;
+import freenet.node.Node;
+import freenet.support.Bucket;
+
+
+public class BlackOpsToadlet extends Toadlet {
+ Node node;
+ SubConfig config;
+ BookmarkManager bookmarks;
+
+ BlackOpsToadlet(HighLevelSimpleClient client, Node n) {
+ super(client);
+ this.node = n;
+ }
+
+ public void handlePost(URI uri, Bucket data, ToadletContext ctx) throws
ToadletContextClosedException, IOException {
+
+ HTTPRequest request = new HTTPRequest(uri,data,ctx);
+ if(request==null) return;
+
+ StringBuffer buf = new StringBuffer();
+
+
+ FreenetURI key = new
FreenetURI(request.getPartAsString("key",128));
+ ClientMetadata contentType = new
ClientMetadata(request.getPartAsString("content-type",128));
+
+ Bucket bucket = request.getPart("filename");
+
+ InsertBlock block = new InsertBlock(bucket,
contentType, key);
+ try {
+ ctx.getPageMaker().makeHead(buf, "Insertion");
+ buf.append("<div class=\"infobox\">\n");
+ key = this.insert(block, false);
+ buf.append("The key : <a href=\"/" +
key.getKeyType() + "@" + key.getGuessableKey() + "\">" +
+ key.getKeyType() + "@" +
key.getGuessableKey() +"</a> ("+bucket.getName()+") has been inserted
successfully.<br>");
+ } catch (InserterException e) {
+
+ buf.append("Error: "+e.getMessage()+"<br>");
+ if(e.uri != null)
+ buf.append("URI would have been:
"+e.uri+"<br>");
+ int mode = e.getMode();
+ if(mode ==
InserterException.FATAL_ERRORS_IN_BLOCKS || mode ==
InserterException.TOO_MANY_RETRIES_IN_BLOCKS) {
+ buf.append("Splitfile-specific
error:\n"+e.errorCodes.toVerboseString()+"<br>");
+ }
+ }
+ bucket.free();
+
+ buf.append("<br><a href=\"javascript:back()\"
title=\"Back\">Back</a>\n");
+ buf.append("<br><a href=\"/\" title=\"Node
Homepage\">Homepage</a>\n");
+ buf.append("</div>\n");
+
+ request.freeParts();
+ ctx.getPageMaker().makeTail(buf);
+ writeReply(ctx, 200, "text/html", "OK", buf.toString());
+ }
+
+ public void handleGet(URI uri, ToadletContext ctx) throws
ToadletContextClosedException, IOException {}
+
+ public String supportedMethods() {
+ return "POST";
+ }
+}
+
Modified: trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FproxyToadlet.java 2006-05-13
19:32:41 UTC (rev 8693)
+++ trunk/freenet/src/freenet/clients/http/FproxyToadlet.java 2006-05-13
21:24:30 UTC (rev 8694)
@@ -327,6 +327,10 @@
QueueToadlet queueToadlet = new
QueueToadlet(node.getFCPServer(), client);
server.register(queueToadlet, "/queue/", true);
+
+ BlackOpsToadlet servletoadlet = new
BlackOpsToadlet(client, node);
+ server.register(servletoadlet, "/system/", true);
+
} catch (IOException ioe) {
Logger.error(node,"Failed to start fproxy: "+ioe, ioe);
Modified: trunk/freenet/src/freenet/clients/http/HTTPRequest.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/HTTPRequest.java 2006-05-13
19:32:41 UTC (rev 8693)
+++ trunk/freenet/src/freenet/clients/http/HTTPRequest.java 2006-05-13
21:24:30 UTC (rev 8694)
@@ -453,11 +453,11 @@
for (int i = 0; i < valueparts.length; i++) {
String[] subparts =
valueparts[i].split("=");
- if (subparts.length != 2) {
+ if (valueparts.length <= 2) {
continue;
}
if
(hdrname.equalsIgnoreCase("Content-Disposition")) {
- if
(subparts[0].trim().equalsIgnoreCase("name")) {
+ if
(subparts[0].trim().equalsIgnoreCase("filename")) {
name =
subparts[1].trim();
if (name.charAt(0) ==
'"') name = name.substring(1);
if
(name.charAt(name.length() - 1) == '"')
@@ -505,6 +505,7 @@
return (Bucket)this.parts.get(name);
}
+
public boolean isPartSet(String name) {
return this.parts.containsKey(name);
}
Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-05-13
19:32:41 UTC (rev 8693)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java 2006-05-13
21:24:30 UTC (rev 8694)
@@ -6,18 +6,12 @@
import java.net.URISyntaxException;
import java.util.Enumeration;
-import freenet.client.ClientMetadata;
import freenet.client.HighLevelSimpleClient;
-import freenet.client.InsertBlock;
-import freenet.client.InserterException;
import freenet.config.SubConfig;
-import freenet.keys.FreenetURI;
import freenet.node.Node;
import freenet.node.UserAlert;
import freenet.node.Version;
-import freenet.support.ArrayBucket;
import freenet.support.Bucket;
-import freenet.support.BucketTools;
import freenet.support.HTMLEncoder;
import freenet.support.Logger;
@@ -158,39 +152,6 @@
writeReply(ctx, 200, "text/html", "OK",
buf.toString());
}
}
- }else if(request.getPartAsString("key",128).length()>0){
-
- FreenetURI key = new
FreenetURI(request.getPartAsString("key",128));
- ClientMetadata contentType = new
ClientMetadata(request.getPartAsString("content-type",128));
-
- Bucket bucket = request.getPart("filename");
- InsertBlock block = new InsertBlock(bucket,
contentType, key);
- try {
- ctx.getPageMaker().makeHead(buf, "Insertion");
- buf.append("<div class=\"infobox\">\n");
-
- key = this.insert(block, false);
- buf.append("The key : <a href=\"/" +
key.getKeyType() + "@" + key.getGuessableKey() + "\">" +
- key.getKeyType() + "@" +
key.getGuessableKey() +"</a> has been inserted successfully.<br>");
- } catch (InserterException e) {
-
- buf.append("Error: "+e.getMessage()+"<br>");
- if(e.uri != null)
- buf.append("URI would have been:
"+e.uri+"<br>");
- int mode = e.getMode();
- if(mode ==
InserterException.FATAL_ERRORS_IN_BLOCKS || mode ==
InserterException.TOO_MANY_RETRIES_IN_BLOCKS) {
- buf.append("Splitfile-specific
error:\n"+e.errorCodes.toVerboseString()+"<br>");
- }
- }
- bucket.free();
-
- buf.append("<br><a href=\"javascript:back()\"
title=\"Back\">Back</a>\n");
- buf.append("<br><a href=\"/\" title=\"Node
Homepage\">Homepage</a>\n");
- buf.append("</div>\n");
-
- ctx.getPageMaker().makeTail(buf);
- writeReply(ctx, 200, "text/html", "OK", buf.toString());
- request.freeParts();
}else {
this.handleGet(uri, ctx);
}
Modified: trunk/freenet/src/net/i2p/util/NativeBigInteger.java
===================================================================
--- trunk/freenet/src/net/i2p/util/NativeBigInteger.java 2006-05-13
19:32:41 UTC (rev 8693)
+++ trunk/freenet/src/net/i2p/util/NativeBigInteger.java 2006-05-13
21:24:30 UTC (rev 8694)
@@ -563,7 +563,7 @@
if(isFreebsd)
return "jbigi-freebsd"+sAppend; // The convention on
freebsd...
if(isMacOS)
- return "jbigi-osx-none"; // The convention on freebsd...
+ return "jbigi-osx-none"; // The convention on Mac OS
X...
throw new RuntimeException("Dont know jbigi library name for os
type '"+System.getProperty("os.name")+"'");
}
private static final String getLibrarySuffix()