Author: toad
Date: 2006-03-15 22:06:45 +0000 (Wed, 15 Mar 2006)
New Revision: 8258

Added:
   trunk/freenet/src/freenet/clients/http/CSSNameCallback.java
Modified:
   trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
   trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
   trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
   trunk/freenet/src/freenet/clients/http/StaticToadlet.java
   trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
   trunk/freenet/src/freenet/clients/http/Toadlet.java
   trunk/freenet/src/freenet/clients/http/TrivialToadlet.java
   trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
   trunk/freenet/src/freenet/node/Node.java
   trunk/freenet/src/freenet/node/Version.java
   trunk/freenet/src/freenet/pluginmanager/PproxyToadlet.java
Log:
538:
Make CSS theme setting universal, make fproxy.enabled work on the fly (maybe), 
don't delete all fproxy settings just because enabled=false...

Added: trunk/freenet/src/freenet/clients/http/CSSNameCallback.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/CSSNameCallback.java 2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/CSSNameCallback.java 2006-03-15 
22:06:45 UTC (rev 8258)
@@ -0,0 +1,9 @@
+package freenet.clients.http;
+
+public interface CSSNameCallback {
+
+       public String getCSSName();
+       
+       public void setCSSName(String name);
+       
+}

Modified: trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConfigToadlet.java   2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/ConfigToadlet.java   2006-03-15 
22:06:45 UTC (rev 8258)
@@ -18,8 +18,8 @@
 public class ConfigToadlet extends Toadlet {
        private Config config;

-       ConfigToadlet(HighLevelSimpleClient client, Config conf, String 
CSSName) {
-               super(client, CSSName);
+       ConfigToadlet(HighLevelSimpleClient client, Config conf, 
CSSNameCallback cb) {
+               super(client, cb);
                config=conf;
        }

@@ -72,7 +72,7 @@
                SubConfig[] sc = config.getConfigs();

                HTTPRequest request = new HTTPRequest(uri);
-               ctx.getPageMaker().makeHead(buf, "Freenet Node Configuration", 
CSSName);
+               ctx.getPageMaker().makeHead(buf, "Freenet Node Configuration", 
getCSSName());
                buf.append("<h1 class=\"title\">Node Configuration</h1>\n");
                buf.append("<div class=\"config\">\n");
                buf.append("    <ul class=\"config\">\n");

Modified: trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FproxyToadlet.java   2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/FproxyToadlet.java   2006-03-15 
22:06:45 UTC (rev 8258)
@@ -29,8 +29,8 @@

 public class FproxyToadlet extends Toadlet {

-       public FproxyToadlet(HighLevelSimpleClient client, String CSSName) {
-               super(client, CSSName);
+       public FproxyToadlet(HighLevelSimpleClient client, CSSNameCallback 
server) {
+               super(client, server);
        }

        public String supportedMethods() {
@@ -120,133 +120,37 @@
                }
        }

-       static class FproxyEnabledCallback implements BooleanCallback {
+       public static void maybeCreateFproxyEtc(Node node, Config config) 
throws IOException, InvalidConfigValueException {

-               final Node node;
-               
-               FproxyEnabledCallback(Node n) {
-                       this.node = n;
-               }
-               
-               public boolean get() {
-                       return node.getFproxy() != null;
-               }
-               public void set(boolean val) throws InvalidConfigValueException 
{
-                       if(val == get()) return;
-                       throw new InvalidConfigValueException("Cannot change 
fproxy enabled/disabled after startup");
-               }
-       }
-       
-       static final int DEFAULT_FPROXY_PORT = 8888;
-       
-       static class FproxyPortCallback implements IntCallback {
-               
-               final Node node;
-               
-               FproxyPortCallback(Node n) {
-                       this.node = n;
-               }
-               
-               public int get() {
-                       SimpleToadletServer f = node.getToadletContainer();
-                       if(f == null) return DEFAULT_FPROXY_PORT;
-                       return f.port;
-               }
-               
-               public void set(int port) throws InvalidConfigValueException {
-                       if(port != get())
-                               throw new InvalidConfigValueException("Cannot 
change fproxy port number on the fly");
-               }
-       }
-       
-       static class FproxyBindtoCallback implements StringCallback {
-               
-               final Node node;
-               
-               FproxyBindtoCallback(Node n) {
-                       this.node = n;
-               }
-               
-               public String get() {
-                       SimpleToadletServer f = node.getToadletContainer();
-                       if(f == null) return "127.0.0.1";
-                       return f.bindto;
-               }
-               
-               public void set(String bindto) throws 
InvalidConfigValueException {
-                       if(bindto != get())
-                               throw new InvalidConfigValueException("Cannot 
change fproxy bind address on the fly");
-               }
-       }
-       
-       // FIXME: Not changed on the fly :-S Should be done in 
SimpleToadletServer
-       static class FproxyCSSNameCallback implements StringCallback {
-               
-               final Node node;
-               
-               FproxyCSSNameCallback(Node n) {
-                       this.node = n;
-               }
-               
-               public String get() {
-                       return node.getFproxy().getCSSName();
-               }
-               
-               public void set(String CSSName) throws 
InvalidConfigValueException {
-                       FproxyToadlet f = node.getFproxy();
-                       f.setCSSName(CSSName);
-               }
-       }
-       
-       public static void maybeCreateFproxyEtc(Node node, Config config) 
throws IOException {
-               
                SubConfig fproxyConfig = new SubConfig("fproxy", config);

-               fproxyConfig.register("enabled", true, 1, true, "Enable 
fproxy?", "Whether to enable fproxy and related HTTP services",
-                               new FproxyEnabledCallback(node));
-               
-               boolean fproxyEnabled = fproxyConfig.getBoolean("enabled");
-               
-               if(!fproxyEnabled) {
-                       fproxyConfig.finishedInitialization();
-                       Logger.normal(node, "Not starting Fproxy as it's 
disabled");
-                       return;
-               }
-               
-               fproxyConfig.register("port", DEFAULT_FPROXY_PORT, 2, true, 
"Fproxy port number", "Fproxy port number",
-                               new FproxyPortCallback(node));
-               fproxyConfig.register("bindto", "127.0.0.1", 2, true, "IP 
address to bind to", "IP address to bind to",
-                               new FproxyBindtoCallback(node));
-               fproxyConfig.register("css", "clean", 1, true, "CSS Name", 
"Name of the CSS Fproxy should use",
-                               new FproxyCSSNameCallback(node));
-               
-               int port = fproxyConfig.getInt("port");
-               String bind_ip = fproxyConfig.getString("bindto");
-               String CSSName = fproxyConfig.getString("css");
-               
-               System.out.println("Starting fproxy on port "+(port));
-               Logger.normal(node,"Starting fproxy on "+bind_ip+":"+port);
-               
                try {
-                       SimpleToadletServer server = new 
SimpleToadletServer(port, bind_ip, node.tempBucketFactory);
+                       SimpleToadletServer server = new 
SimpleToadletServer(fproxyConfig, node);
+                       
+                       HighLevelSimpleClient client = 
node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS);
+                       
                        node.setToadletContainer(server);
-                       FproxyToadlet fproxy = new 
FproxyToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS), 
CSSName);
+                       FproxyToadlet fproxy = new FproxyToadlet(client, 
server);
                        node.setFproxy(fproxy);
                        server.register(fproxy, "/", false);

-                       PproxyToadlet pproxy = new 
PproxyToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS), 
node.pluginManager, CSSName);
+                       PproxyToadlet pproxy = new PproxyToadlet(client, 
node.pluginManager, server);
                        server.register(pproxy, "/plugins/", true);

-                       WelcomeToadlet welcometoadlet = new 
WelcomeToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS), 
node, CSSName);
+                       WelcomeToadlet welcometoadlet = new 
WelcomeToadlet(client, node, server);
                        server.register(welcometoadlet, "/welcome/", true);

-                       ConfigToadlet configtoadlet = new 
ConfigToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS), 
config, CSSName);
+                       ConfigToadlet configtoadlet = new ConfigToadlet(client, 
config, server);
                        server.register(configtoadlet, "/config/", true);

-                       StaticToadlet statictoadlet = new 
StaticToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS), 
CSSName);
+                       StaticToadlet statictoadlet = new StaticToadlet(client, 
server);
                        server.register(statictoadlet, "/static/", true);
+                       
+                       SymlinkerToadlet symlinkToadlet = new 
SymlinkerToadlet(client, server, node);
+                       server.register(symlinkToadlet, "/sl/", true);
+
                } catch (IOException ioe) {
-                       Logger.error(node,"Failed to start fproxy on 
"+bind_ip+":"+port);
+                       Logger.error(node,"Failed to start fproxy on 
"+fproxyConfig.getString("bindTo")+":"+fproxyConfig.getInt("port"));
                }

                fproxyConfig.finishedInitialization();

Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2006-03-15 20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java     
2006-03-15 22:06:45 UTC (rev 8258)
@@ -5,17 +5,19 @@
 import java.net.InetAddress;
 import java.net.ServerSocket;
 import java.net.Socket;
+import java.net.SocketException;
+import java.net.SocketTimeoutException;
 import java.net.URI;
 import java.util.Iterator;
 import java.util.LinkedList;

 import freenet.config.BooleanCallback;
-import freenet.config.Config;
+import freenet.config.IntCallback;
 import freenet.config.InvalidConfigValueException;
+import freenet.config.StringCallback;
 import freenet.config.SubConfig;
 import freenet.crypt.DummyRandomSource;
 import freenet.node.Node;
-import freenet.node.RequestStarter;
 import freenet.support.BucketFactory;
 import freenet.support.FileLoggerHook;
 import freenet.support.Logger;
@@ -23,7 +25,7 @@
 import freenet.support.io.FilenameGenerator;
 import freenet.support.io.TempBucketFactory;

-public class SimpleToadletServer implements ToadletContainer, Runnable {
+public class SimpleToadletServer implements ToadletContainer, Runnable, 
CSSNameCallback {

        public class ToadletElement {
                public ToadletElement(Toadlet t2, String urlPrefix) {
@@ -39,13 +41,120 @@
        final BucketFactory bf;
        private final ServerSocket sock;
        private final LinkedList toadlets;
+       private String cssName;
+       private Thread myThread;

-       public SimpleToadletServer(int i, String newbindto, BucketFactory bf) 
throws IOException {
+       static final int DEFAULT_FPROXY_PORT = 8888;
+       
+       class FproxyPortCallback implements IntCallback {
+               
+               public int get() {
+                       return port;
+               }
+               
+               public void set(int newPort) throws InvalidConfigValueException 
{
+                       if(port != newPort)
+                               throw new InvalidConfigValueException("Cannot 
change fproxy port number on the fly");
+                       // FIXME
+               }
+       }
+       
+       class FproxyBindtoCallback implements StringCallback {
+               
+               public String get() {
+                       return bindto;
+               }
+               
+               public void set(String bindto) throws 
InvalidConfigValueException {
+                       if(bindto != get())
+                               throw new InvalidConfigValueException("Cannot 
change fproxy bind address on the fly");
+               }
+       }
+       
+       class FproxyCSSNameCallback implements StringCallback {
+               
+               public String get() {
+                       return cssName;
+               }
+               
+               public void set(String CSSName) throws 
InvalidConfigValueException {
+                       if(CSSName.indexOf(':') != -1 || CSSName.indexOf('/') 
!= -1)
+                               throw new InvalidConfigValueException("CSS name 
must not contain slashes or colons!");
+                       cssName = CSSName;
+               }
+       }
+       
+       class FproxyEnabledCallback implements BooleanCallback {
+               
+               public boolean get() {
+                       synchronized(SimpleToadletServer.this) {
+                               return myThread != null;
+                       }
+               }
+               public void set(boolean val) throws InvalidConfigValueException 
{
+                       if(val == get()) return;
+                       synchronized(SimpleToadletServer.this) {
+                               if(val) {
+                                       // Start it
+                                       myThread = new 
Thread(SimpleToadletServer.this, "SimpleToadletServer");
+                                       myThread.setDaemon(true);
+                                       myThread.start();
+                               } else {
+                                       myThread.interrupt();
+                                       myThread = null;
+                               }
+                       }
+               }
+       }
+       
+       /**
+        * Create a SimpleToadletServer, using the settings from the SubConfig 
(the fproxy.*
+        * config).
+        */
+       public SimpleToadletServer(SubConfig fproxyConfig, Node node) throws 
IOException, InvalidConfigValueException {
+               
+               fproxyConfig.register("enabled", true, 1, true, "Enable 
fproxy?", "Whether to enable fproxy and related HTTP services",
+                               new FproxyEnabledCallback());
+               
+               boolean enabled = fproxyConfig.getBoolean("enabled");
+               
+               fproxyConfig.register("port", DEFAULT_FPROXY_PORT, 2, true, 
"Fproxy port number", "Fproxy port number",
+                               new FproxyPortCallback());
+               fproxyConfig.register("bindto", "127.0.0.1", 2, true, "IP 
address to bind to", "IP address to bind to",
+                               new FproxyBindtoCallback());
+               fproxyConfig.register("css", "clean", 1, true, "CSS Name", 
"Name of the CSS Fproxy should use",
+                               new FproxyCSSNameCallback());
+
+               this.bf = node.tempBucketFactory;
+               port = fproxyConfig.getInt("port");
+               bindto = fproxyConfig.getString("bindto");
+               cssName = fproxyConfig.getString("css");
+               if(cssName.indexOf(':') != -1 || cssName.indexOf('/') != -1)
+                       throw new InvalidConfigValueException("CSS name must 
not contain slashes or colons!");
+               
+               this.sock = new ServerSocket(port, 0, 
InetAddress.getByName(this.bindto));
+               toadlets = new LinkedList();
+               
+               node.setToadletContainer(this); // even if not enabled, because 
of config
+               
+               if(!enabled) {
+                       Logger.normal(node, "Not starting Fproxy as it's 
disabled");
+               } else {
+                       myThread = new Thread(this, "SimpleToadletServer");
+                       myThread.setDaemon(true);
+                       myThread.start();
+                       System.out.println("Starting fproxy on port "+(port));
+                       Logger.normal(this, "Starting fproxy on 
"+bindto+":"+port);
+               }
+       }
+       
+       public SimpleToadletServer(int i, String newbindto, BucketFactory bf, 
String cssName) throws IOException {
                this.port = i;
                this.bindto = newbindto;
                this.bf = bf;
                this.sock = new ServerSocket(port, 0, 
InetAddress.getByName(this.bindto));
                toadlets = new LinkedList();
+               this.cssName = cssName;
                Thread t = new Thread(this, "SimpleToadletServer");
                t.setDaemon(true);
                t.start();
@@ -80,7 +189,7 @@
         Logger.globalSetThreshold(Logger.MINOR);
         Logger.globalAddHook(logger);
         logger.start();
-               SimpleToadletServer server = new SimpleToadletServer(1111, 
"127.0.0.1", new TempBucketFactory(new FilenameGenerator(new 
DummyRandomSource(), true, new File("temp-test"), "test-temp-")));
+               SimpleToadletServer server = new SimpleToadletServer(1111, 
"127.0.0.1", new TempBucketFactory(new FilenameGenerator(new 
DummyRandomSource(), true, new File("temp-test"), "test-temp-")), "aqua");
                server.register(new TrivialToadlet(null,null), "", true);
                System.out.println("Bound to port 1111.");
                while(true) {
@@ -93,11 +202,21 @@
        }

        public void run() {
+               try {
+                       sock.setSoTimeout(500);
+               } catch (SocketException e1) {
+                       Logger.error(this, "Could not set so-timeout to 500ms; 
on-the-fly disabling of the interface will not work");
+               }
                while(true) {
+                       synchronized(this) {
+                               if(myThread == null) return;
+                       }
                        try {
                                Socket conn = sock.accept();
                                Logger.minor(this, "Accepted connection");
-                               SocketHandler sh = new SocketHandler(conn);
+                               new SocketHandler(conn);
+                       } catch (SocketTimeoutException e) {
+                               // Go around again, this introduced to avoid 
blocking forever when told to quit
                        } catch (IOException e) {
                                Logger.minor(this, "Got IOException accepting 
conn: "+e, e);
                                // Ignore
@@ -124,4 +243,12 @@
                }

        }
+
+       public String getCSSName() {
+               return this.cssName;
+       }
+
+       public void setCSSName(String name) {
+               this.cssName = name;
+       }
 }

Modified: trunk/freenet/src/freenet/clients/http/StaticToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StaticToadlet.java   2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/StaticToadlet.java   2006-03-15 
22:06:45 UTC (rev 8258)
@@ -2,18 +2,18 @@

 import java.io.IOException;
 import java.io.InputStream;
+import java.net.FileNameMap;
 import java.net.URI;
-import java.net.FileNameMap;
 import java.net.URLConnection;
+
 import freenet.client.HighLevelSimpleClient;
-import freenet.support.MultiValueTable;

 /**
  * Static Toadlet.
  * Serve up static files
  */
 public class StaticToadlet extends Toadlet {
-       StaticToadlet(HighLevelSimpleClient client, String CSSName) {
+       StaticToadlet(HighLevelSimpleClient client, CSSNameCallback CSSName) {
                super(client, CSSName);
        }


Modified: trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2006-03-15 20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/SymlinkerToadlet.java        
2006-03-15 22:06:45 UTC (rev 8258)
@@ -32,7 +32,7 @@
        private final Node node;
        SubConfig tslconfig;

-       public SymlinkerToadlet(HighLevelSimpleClient client, String CSSName, 
Node node) {
+       public SymlinkerToadlet(HighLevelSimpleClient client, CSSNameCallback 
CSSName, Node node) {
                super(client, CSSName);
                this.node = node;
                tslconfig = new SubConfig("toadletsymlinker", node.config);

Modified: trunk/freenet/src/freenet/clients/http/Toadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/Toadlet.java 2006-03-15 20:49:06 UTC 
(rev 8257)
+++ trunk/freenet/src/freenet/clients/http/Toadlet.java 2006-03-15 22:06:45 UTC 
(rev 8258)
@@ -3,8 +3,6 @@
 import java.io.IOException;
 import java.net.URI;

-import org.omg.CORBA.CTX_RESTRICT_SCOPE;
-
 import freenet.client.FetchException;
 import freenet.client.FetchResult;
 import freenet.client.HighLevelSimpleClient;
@@ -34,13 +32,18 @@
  */
 public abstract class Toadlet {

-       protected Toadlet(HighLevelSimpleClient client, String CSSName) {
+       protected Toadlet(HighLevelSimpleClient client, CSSNameCallback cb) {
                this.client = client;
-               this.CSSName = CSSName;
+               this.cssName = cb;
        }
-       
+
+       private final CSSNameCallback cssName;
        private final HighLevelSimpleClient client;
        ToadletContainer container;
+
+       public final String getCSSName() {
+               return cssName.getCSSName();
+       }

        /**
         * Handle a GET request.
@@ -53,7 +56,7 @@
        public void handleGet(URI uri, ToadletContext ctx) throws 
ToadletContextClosedException, IOException, RedirectException {
                StringBuffer buf = new StringBuffer();

-               ctx.getPageMaker().makeHead(buf, "Not supported", CSSName);
+               ctx.getPageMaker().makeHead(buf, "Not supported", getCSSName());

                buf.append("Operation not supported");
                ctx.getPageMaker().makeTail(buf);
@@ -71,7 +74,7 @@
        public void handlePut(URI uri, Bucket data, ToadletContext ctx) throws 
ToadletContextClosedException, IOException, RedirectException {
                StringBuffer buf = new StringBuffer();

-               ctx.getPageMaker().makeHead(buf, "Not supported", CSSName);
+               ctx.getPageMaker().makeHead(buf, "Not supported", getCSSName());

                buf.append("Operation not supported");
                ctx.getPageMaker().makeTail(buf);
@@ -85,7 +88,7 @@
        public void handlePost(URI uri, Bucket data, ToadletContext ctx) throws 
ToadletContextClosedException, IOException, RedirectException {
                StringBuffer buf = new StringBuffer();

-               ctx.getPageMaker().makeHead(buf, "Not supported", CSSName);
+               ctx.getPageMaker().makeHead(buf, "Not supported", getCSSName());

                buf.append("Operation not supported");
                ctx.getPageMaker().makeTail(buf);
@@ -147,7 +150,7 @@
        protected void sendErrorPage(ToadletContext ctx, int code, String desc, 
String message) throws ToadletContextClosedException, IOException {
                StringBuffer buf = new StringBuffer();

-               ctx.getPageMaker().makeHead(buf, desc, CSSName);
+               ctx.getPageMaker().makeHead(buf, desc, getCSSName());
                buf.append(message);
                ctx.getPageMaker().makeTail(buf);
                writeReply(ctx, code, "text/html", desc, buf.toString());
@@ -170,14 +173,4 @@
                "</h1>" + content.replaceAll("\n", "<br/>\n") + "</body>";
        }

-       public String CSSName;
-       
-       public void setCSSName(String name){
-               CSSName = name;
-       }
-       
-       public String getCSSName(){
-               return CSSName;
-       }
-
 }

Modified: trunk/freenet/src/freenet/clients/http/TrivialToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/TrivialToadlet.java  2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/TrivialToadlet.java  2006-03-15 
22:06:45 UTC (rev 8258)
@@ -9,7 +9,7 @@

 public class TrivialToadlet extends Toadlet {

-       TrivialToadlet(HighLevelSimpleClient client, String CSSName) {
+       TrivialToadlet(HighLevelSimpleClient client, CSSNameCallback CSSName) {
                super(client, CSSName);
        }


Modified: trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/clients/http/WelcomeToadlet.java  2006-03-15 
22:06:45 UTC (rev 8258)
@@ -3,23 +3,19 @@
 import java.io.IOException;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.text.Format.Field;

 import freenet.client.HighLevelSimpleClient;
+import freenet.node.Node;
+import freenet.node.Version;
+import freenet.pluginmanager.HTTPRequest;
 import freenet.support.Bucket;
 import freenet.support.BucketTools;
-import freenet.support.HTMLEncoder;
 import freenet.support.Logger;
-import freenet.support.MultiValueTable;
-import freenet.support.SimpleFieldSet;
-import freenet.node.Version;
-import freenet.node.Node;
-import freenet.pluginmanager.HTTPRequest;

 public class WelcomeToadlet extends Toadlet {
        Node node;

-       WelcomeToadlet(HighLevelSimpleClient client, Node n, String CSSName) {
+       WelcomeToadlet(HighLevelSimpleClient client, Node n, CSSNameCallback 
CSSName) {
                super(client, CSSName);
                this.node = n;
        }
@@ -53,7 +49,7 @@
                HTTPRequest request = new HTTPRequest(uri);


-               ctx.getPageMaker().makeHead(buf, "Freenet FProxy Homepage", 
CSSName);
+               ctx.getPageMaker().makeHead(buf, "Freenet FProxy Homepage", 
getCSSName());

                // Version info
                buf.append("<div class=\"infobox\">\n");

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2006-03-15 20:49:06 UTC (rev 
8257)
+++ trunk/freenet/src/freenet/node/Node.java    2006-03-15 22:06:45 UTC (rev 
8258)
@@ -253,7 +253,6 @@
     TextModeClientInterface directTMCI;
     FCPServer fcpServer;
     FproxyToadlet fproxyServlet;
-    private SymlinkerToadlet symlinkerToadlet;
     SimpleToadletServer toadletContainer;

     // Persistent temporary buckets
@@ -913,10 +912,10 @@
                } catch (IOException e) {
                        e.printStackTrace();
                        throw new 
NodeInitException(EXIT_COULD_NOT_START_FPROXY, "Could not start fproxy: "+e);
+               } catch (InvalidConfigValueException e) {
+                       throw new 
NodeInitException(EXIT_COULD_NOT_START_FPROXY, "Could not start fproxy: "+e);   
              
                }

-               symlinkerToadlet = new 
SymlinkerToadlet(makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS),"", 
this);
-               toadletContainer.register(symlinkerToadlet, "/sl/", true);
                /*
         SimpleToadletServer server = new SimpleToadletServer(port+2000);
         FproxyToadlet fproxy = new 
FproxyToadlet(n.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
@@ -2096,10 +2095,6 @@
         System.exit(0);
        }

-       public SymlinkerToadlet getSymlinkerToadlet() {
-               return symlinkerToadlet;
-       }
-
        public void setTMCI(TextModeClientInterfaceServer server) {
                this.tmci = server;
        }

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-15 20:49:06 UTC (rev 
8257)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-15 22:06:45 UTC (rev 
8258)
@@ -20,7 +20,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 537;
+       private static final int buildNumber = 538;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 507;

Modified: trunk/freenet/src/freenet/pluginmanager/PproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/pluginmanager/PproxyToadlet.java  2006-03-15 
20:49:06 UTC (rev 8257)
+++ trunk/freenet/src/freenet/pluginmanager/PproxyToadlet.java  2006-03-15 
22:06:45 UTC (rev 8258)
@@ -9,6 +9,7 @@
 import java.util.Iterator;

 import freenet.client.HighLevelSimpleClient;
+import freenet.clients.http.CSSNameCallback;
 import freenet.clients.http.Toadlet;
 import freenet.clients.http.ToadletContext;
 import freenet.clients.http.ToadletContextClosedException;
@@ -20,7 +21,7 @@
 public class PproxyToadlet extends Toadlet {
        private PluginManager pm = null;

-       public PproxyToadlet(HighLevelSimpleClient client, PluginManager pm, 
String CSSName) {
+       public PproxyToadlet(HighLevelSimpleClient client, PluginManager pm, 
CSSNameCallback CSSName) {
                super(client, CSSName);
                this.pm = pm;
        }
@@ -119,7 +120,7 @@
        private void showPluginList(ToadletContext ctx, HTTPRequest request) 
throws ToadletContextClosedException, IOException {
                if (!request.hasParameters()) {
                        StringBuffer out = new StringBuffer();
-                       ctx.getPageMaker().makeHead(out, "Plugin List", 
CSSName);
+                       ctx.getPageMaker().makeHead(out, "Plugin List", 
getCSSName());
                        out.append("<table style=\"border: 1pt solid 
#c0c0c0;\">");
                        out.append("  <tr>\n");
                        out.append("    <th>Name</th>\n");


Reply via email to