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()


Reply via email to