Author: toad
Date: 2005-12-08 00:26:51 +0000 (Thu, 08 Dec 2005)
New Revision: 7694
Modified:
trunk/freenet/src/freenet/node/TestnetHandler.java
trunk/freenet/src/freenet/node/Version.java
trunk/freenet/src/freenet/support/FileLoggerHook.java
Log:
292: (mandatory)
Testnet and logging fixes.
Modified: trunk/freenet/src/freenet/node/TestnetHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/TestnetHandler.java 2005-12-08 00:09:46 UTC
(rev 7693)
+++ trunk/freenet/src/freenet/node/TestnetHandler.java 2005-12-08 00:26:51 UTC
(rev 7694)
@@ -81,6 +81,9 @@
public TestnetSocketHandler(Socket s2) {
this.s = s2;
+ Thread t = new Thread(this, "Testnet handler for
"+s.getInetAddress()+" at "+System.currentTimeMillis());
+ t.setDaemon(true);
+ t.start();
}
public void run() {
@@ -93,9 +96,14 @@
InputStreamReader isr = new
InputStreamReader(is, "ISO-8859-1");
BufferedReader br = new BufferedReader(isr);
String command = br.readLine();
+ Logger.minor(this, "Command: "+command);
if(command.equalsIgnoreCase("LIST")) {
-
node.fileLoggerHook.listAvailableLogs(new OutputStreamWriter(os, "ISO-8859-1"));
+ Logger.minor(this, "Listing available
logs");
+ OutputStreamWriter osw = new
OutputStreamWriter(os, "ISO-8859-1");
+
node.fileLoggerHook.listAvailableLogs(osw);
+ osw.close();
} else if(command.startsWith("GET:")) {
+ Logger.minor(this, "Sending log:
"+command);
String date =
command.substring("GET:".length());
DateFormat df =
DateFormat.getDateTimeInstance();
df.setTimeZone(TimeZone.getTimeZone("GMT"));
@@ -106,6 +114,8 @@
return;
}
node.fileLoggerHook.sendLogByContainedDate(d.getTime(), os);
+ } else {
+ Logger.error(this, "Unknown testnet
command: "+command);
}
} catch (IOException e) {
Logger.normal(this, "Failure handling testnet
connection: "+e);
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2005-12-08 00:09:46 UTC (rev
7693)
+++ trunk/freenet/src/freenet/node/Version.java 2005-12-08 00:26:51 UTC (rev
7694)
@@ -20,10 +20,10 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- public static final int buildNumber = 291;
+ public static final int buildNumber = 292;
/** Oldest build of Fred we will talk to */
- public static final int lastGoodBuild = 291;
+ public static final int lastGoodBuild = 292;
/** The highest reported build of fred */
public static int highestSeenBuild = buildNumber;
Modified: trunk/freenet/src/freenet/support/FileLoggerHook.java
===================================================================
--- trunk/freenet/src/freenet/support/FileLoggerHook.java 2005-12-08
00:09:46 UTC (rev 7693)
+++ trunk/freenet/src/freenet/support/FileLoggerHook.java 2005-12-08
00:26:51 UTC (rev 7694)
@@ -5,7 +5,6 @@
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
@@ -456,35 +455,43 @@
String name = f.getName();
if(name.toLowerCase().startsWith(prefix)) {
if(name.equals(previousFilename)) {
+ Logger.minor(this, "Deleting
"+previousFilename);
f.delete();
continue;
} else if(name.equals(latestFilename)) {
+ Logger.minor(this, "Renaming latest to
previous");
f.renameTo(previousFilename);
continue;
}
if(!name.endsWith(".log.gz")) {
+ Logger.minor(this, "Does not end in
.log.gz: "+name);
f.delete();
continue;
} else {
name = name.substring(0,
name.length()-".log.gz".length());
}
+ name = name.substring(prefix.length());
+ if(name.length() == 0 || name.charAt(0) != '-')
{
+ Logger.minor(this, "Deleting
unrecognized: "+name+" ("+f.getPath()+")");
+ f.delete();
+ continue;
+ } else
+ name = name.substring(1);
String[] tokens = name.split("-");
int[] nums = new int[tokens.length];
for(int j=0;j<tokens.length;j++) {
try {
nums[j] =
Integer.parseInt(tokens[j]);
} catch (NumberFormatException e) {
+ Logger.normal(this, "Could not
parse: "+tokens[j]+" into number from "+name);
// Broken
f.delete();
continue;
}
}
// First field: version
- if(nums.length < 1) {
- f.delete();
- continue;
- }
if(nums[0] != Version.buildNumber) {
+ Logger.minor(this, "Deleting old log
from build "+nums[0]+", current="+Version.buildNumber);
// Logs that old are useless
f.delete();
continue;
@@ -846,7 +853,7 @@
df.setTimeZone(TimeZone.getTimeZone("GMT"));
for(int i=0;i<oldLogFiles.length;i++) {
OldLogFile olf = oldLogFiles[i];
- writer.write(olf.filename.getName()+" : "+df.format(new
Date(olf.start))+" to "+df.format(new Date(olf.end))+ " - "+olf.size+" bytes");
+ writer.write(olf.filename.getName()+" : "+df.format(new
Date(olf.start))+" to "+df.format(new Date(olf.end))+ " - "+olf.size+"
bytes\n");
}
}