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");
                }
        }



Reply via email to