diff --git a/apps/addressbook/java/src/addressbook/AddressBook.java b/apps/addressbook/java/src/addressbook/AddressBook.java index 4261f2d56..c0d3f8c26 100644 --- a/apps/addressbook/java/src/addressbook/AddressBook.java +++ b/apps/addressbook/java/src/addressbook/AddressBook.java @@ -243,4 +243,27 @@ public class AddressBook { public void write() { this.write(new File(this.location)); } -} \ No newline at end of file + + /** + * Filter out bad addresses in this addressbook, and write them to log. + * Returns the number of addresses removed. + * + * @author Sugadude + */ + public int filter(Log log) { + Iterator iter = this.addresses.keySet().iterator(); + int removed = 0; + while(iter.hasNext()) { + String aKey = (String) iter.next(); + if(!aKey.endsWith(".i2p")) { + iter.remove(); + removed++; + if(log != null) + log.append("Invalid address " + aKey + " filtered out."); + } + } + if(removed > 0) + this.modified = true; + return removed; + } +} diff --git a/apps/addressbook/java/src/addressbook/Daemon.java b/apps/addressbook/java/src/addressbook/Daemon.java index 770501b5e..e9af850a0 100644 --- a/apps/addressbook/java/src/addressbook/Daemon.java +++ b/apps/addressbook/java/src/addressbook/Daemon.java @@ -64,6 +64,7 @@ public class Daemon { while (iter.hasNext()) { master.merge((AddressBook) iter.next(), log); } + master.filter(log); /** @author Sugadude */ master.write(new File(routerLocation)); master.write(published); subscriptions.write(); @@ -168,4 +169,4 @@ public class Daemon { } } } -} \ No newline at end of file +} diff --git a/history.txt b/history.txt index 540bec85e..0a636562c 100644 --- a/history.txt +++ b/history.txt @@ -1,4 +1,7 @@ -$Id: history.txt,v 1.136 2005/01/26 23:48:41 smeghead Exp $ +$Id: history.txt,v 1.137 2005/02/03 08:39:47 smeghead Exp $ + +2005-02-06 Sugadude + * Added a filter to the addressbook to remove entries that dont end in ".i2p" 2005-02-03 smeghead * Added Ant buildfile in apps/fortuna for creating a custom Fortuna PRNG jar