Author: dbkr
Date: 2006-03-05 23:34:30 +0000 (Sun, 05 Mar 2006)
New Revision: 8171
Modified:
trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
trunk/freenet/src/freenet/clients/http/ToadletContextImpl.java
trunk/freenet/src/freenet/keys/FreenetURI.java
trunk/freenet/src/freenet/node/Version.java
Log:
501: Fixes for some exceptions:
- In ToadletContextImpl, when connections are closed at the client end
- In FproxyToadlet if SimpleToadletServer cannot bind to its port
- In FreenetURI if a null URI is passed in (which happens if a ClientGet with
no URI field is received over the FCP).
Modified: trunk/freenet/src/freenet/clients/http/FproxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FproxyToadlet.java 2006-03-05
22:04:52 UTC (rev 8170)
+++ trunk/freenet/src/freenet/clients/http/FproxyToadlet.java 2006-03-05
23:34:30 UTC (rev 8171)
@@ -175,24 +175,29 @@
int port = fproxyConfig.getInt("port");
String bind_ip = fproxyConfig.getString("bindto");
- SimpleToadletServer server = new SimpleToadletServer(port, bind_ip);
- node.setToadletContainer(server);
- FproxyToadlet fproxy = new
FproxyToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
- node.setFproxy(fproxy);
- server.register(fproxy, "/", false);
-
- PproxyToadlet pproxy = new
PproxyToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS),
node.pluginManager);
- server.register(pproxy, "/plugins/", true);
-
- WelcomeToadlet welcometoadlet = new
WelcomeToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
- server.register(welcometoadlet, "/welcome/", true);
-
- StaticToadlet statictoadlet = new
StaticToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
- server.register(statictoadlet, "/static/", true);
-
- fproxyConfig.finishedInitialization();
- System.out.println("Starting fproxy on port "+(port));
- Logger.normal(node,"Starting fproxy on "+bind_ip+":"+port);
+ 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.setToadletContainer(server);
+ FproxyToadlet fproxy = new
FproxyToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
+ node.setFproxy(fproxy);
+ server.register(fproxy, "/", false);
+
+ PproxyToadlet pproxy = new
PproxyToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS),
node.pluginManager);
+ server.register(pproxy, "/plugins/", true);
+
+ WelcomeToadlet welcometoadlet = new
WelcomeToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
+ server.register(welcometoadlet, "/welcome/", true);
+
+ StaticToadlet statictoadlet = new
StaticToadlet(node.makeClient(RequestStarter.INTERACTIVE_PRIORITY_CLASS));
+ server.register(statictoadlet, "/static/", true);
+ } catch (IOException ioe) {
+ Logger.error(node,"Failed to start fproxy on
"+bind_ip+":"+port);
+ }
+
+ fproxyConfig.finishedInitialization();
}
Modified: trunk/freenet/src/freenet/clients/http/ToadletContextImpl.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ToadletContextImpl.java
2006-03-05 22:04:52 UTC (rev 8170)
+++ trunk/freenet/src/freenet/clients/http/ToadletContextImpl.java
2006-03-05 23:34:30 UTC (rev 8171)
@@ -126,6 +126,12 @@
while(true) {
String firstLine = lis.readLine(32768, 128);
+ if (firstLine == null) {
+ sock.close();
+ return;
+ } else if (firstLine.equals("")) {
+ continue;
+ }
Logger.minor(ToadletContextImpl.class, "first
line: "+firstLine);
@@ -157,6 +163,10 @@
while(true) {
String line = lis.readLine(32768, 128);
+ if (line == null) {
+ sock.close();
+ return;
+ }
//System.out.println("Length="+line.length()+": "+line);
if(line.length() == 0) break;
int index = line.indexOf(':');
Modified: trunk/freenet/src/freenet/keys/FreenetURI.java
===================================================================
--- trunk/freenet/src/freenet/keys/FreenetURI.java 2006-03-05 22:04:52 UTC
(rev 8170)
+++ trunk/freenet/src/freenet/keys/FreenetURI.java 2006-03-05 23:34:30 UTC
(rev 8171)
@@ -130,6 +130,9 @@
}
public FreenetURI(String URI) throws MalformedURLException {
+ if (URI == null) {
+ throw new MalformedURLException("No URI specified");
+ }
// check scheme
int colon = URI.indexOf(':');
if (colon != -1
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-05 22:04:52 UTC (rev
8170)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-05 23:34:30 UTC (rev
8171)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 500;
+ private static final int buildNumber = 501;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 475;