Author: dbkr
Date: 2006-07-19 11:59:22 +0000 (Wed, 19 Jul 2006)
New Revision: 9661
Modified:
trunk/apps/Freemail/src/freemail/RTSFetcher.java
trunk/apps/Freemail/src/freemail/RTSLog.java
Log:
Fix modification whilst iterating, tidy up and more verbosity.
Modified: trunk/apps/Freemail/src/freemail/RTSFetcher.java
===================================================================
--- trunk/apps/Freemail/src/freemail/RTSFetcher.java 2006-07-19 02:14:57 UTC
(rev 9660)
+++ trunk/apps/Freemail/src/freemail/RTSFetcher.java 2006-07-19 11:59:22 UTC
(rev 9661)
@@ -63,26 +63,26 @@
int i;
for (i = 0; i < files.length; i++) {
- if (files[i].getName().startsWith(RTS_UNPROC_PREFIX)) {
- if (this.handle_rts(files[i])) {
+ if (!files[i].getName().startsWith(RTS_UNPROC_PREFIX))
+ continue;
+ if (this.handle_rts(files[i])) {
+ files[i].delete();
+ } else {
+ String[] parts = files[i].getName().split(":",
2);
+
+ int tries;
+ if (parts.length < 2) {
+ tries = 0;
+ } else {
+ tries = Integer.parseInt(parts[1]);
+ }
+ tries++;
+ if (tries > RTS_MAX_ATTEMPTS) {
+ System.out.println("Maximum attempts at
handling RTS reached - deleting RTS");
files[i].delete();
} else {
- String[] parts =
files[i].getName().split(":", 2);
-
- int tries;
- if (parts.length < 2) {
- tries = 0;
- } else {
- tries =
Integer.parseInt(parts[1]);
- }
- tries++;
- if (tries > RTS_MAX_ATTEMPTS) {
- System.out.println("Maximum
attempts at handling RTS reached - deleting RTS");
- files[i].delete();
- } else {
- File newname = new
File(this.contact_dir, RTS_UNPROC_PREFIX + ":" + tries);
- files[i].renameTo(newname);
- }
+ File newname = new
File(this.contact_dir, RTS_UNPROC_PREFIX + ":" + tries);
+ files[i].renameTo(newname);
}
}
}
@@ -164,6 +164,8 @@
return true;
}
+ System.out.println("RTS decrypted to: "+new String(plaintext));
+
File rtsfile = null;
byte[] their_encrypted_sig;
int messagebytes = 0;
@@ -235,6 +237,8 @@
HighLevelFCPClient fcpcli = new HighLevelFCPClient();
+ System.out.println("Trying to fetch sender's mailsite:
"+their_mailsite);
+
File msfile = fcpcli.fetch(their_mailsite);
if (msfile == null) {
// oh well, try again in a bit
@@ -283,6 +287,7 @@
return true;
}
}
+ System.out.println("Signature valid :)");
// the signature is valid! Hooray!
// Now verify the message is for us
String our_mailsite_keybody;
@@ -301,6 +306,8 @@
return true;
}
+ System.out.println("Original message intended for us :)");
+
// create the inbound contact
FreenetURI their_mailsite_furi;
try {
@@ -320,6 +327,8 @@
msfile.delete();
rtsfile.delete();
+ System.out.println("Inbound contact created!");
+
return true;
}
Modified: trunk/apps/Freemail/src/freemail/RTSLog.java
===================================================================
--- trunk/apps/Freemail/src/freemail/RTSLog.java 2006-07-19 02:14:57 UTC
(rev 9660)
+++ trunk/apps/Freemail/src/freemail/RTSLog.java 2006-07-19 11:59:22 UTC
(rev 9661)
@@ -3,6 +3,8 @@
import java.util.Date;
import java.util.Set;
import java.util.Iterator;
+import java.util.Vector;
+import java.util.Enumeration;
import java.io.File;
import freemail.utils.PropsFile;
@@ -36,6 +38,7 @@
public void pruneBefore(Date keepafter) {
Set props = this.logfile.listProps();
+ Vector hitlist = new Vector();
Iterator i = props.iterator();
while (i.hasNext()) {
@@ -53,11 +56,18 @@
Date logdate =
DateStringFactory.DateFromKeyString(datestr);
if (logdate == null) {
// couldn't parse the date... hmm
- this.logfile.remove(cur);
+ hitlist.add(cur);
} else if (logdate.before(keepafter)) {
- this.logfile.remove(cur);
+ hitlist.add(cur);
}
}
+
+ Enumeration e = hitlist.elements();
+ while (e.hasMoreElements()) {
+ String victim = (String) e.nextElement();
+
+ this.logfile.remove(victim);
+ }
}
public int getNextId(String day) {