From alexlehm at freenetproject.org Fri Feb 1 19:23:45 2008 From: alexlehm at freenetproject.org (alexlehm at freenetproject.org) Date: Fri, 1 Feb 2008 19:23:45 +0000 (UTC) Subject: [Freemail] r17463 - trunk/apps/Freemail/src/freemail/imap Message-ID: <20080201192345.0B8FF47B33D@freenetproject.org> Author: alexlehm Date: 2008-02-01 19:23:44 +0000 (Fri, 01 Feb 2008) New Revision: 17463 Modified: trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java Log: 2027: UID SEARCH results in NumberFormatException (https://bugs.freenetproject.org/view.php?id=2027) 2059: uid store 0 gives NPE (https://bugs.freenetproject.org/view.php?id=2059) this fixes the Exceptions but saving drafts still doesn't work right in Thunderbird Modified: trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java =================================================================== --- trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java 2008-02-01 18:17:15 UTC (rev 17462) +++ trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java 2008-02-01 19:23:44 UTC (rev 17463) @@ -409,28 +409,44 @@ return; } + // until a proper search function is implemented we could return an empty + // result, but this confuses Thunderbird +// if (msg.args[0].toLowerCase().equals("search")) { +// // return a dummy result +// this.sendState("SEARCH"); +// this.reply(msg, "OK SEARCH completed"); +// return; +// } + // build a set from the uid ranges, first separated by , then by : + // if that fails, its probably an unsupported command + TreeSet ts=new TreeSet(); - String[] rangeparts = msg.args[1].split(","); + try { + String[] rangeparts = msg.args[1].split(","); - for(int i=0;i0) { + if(count 0) From dbkr at freenetproject.org Tue Feb 5 09:22:18 2008 From: dbkr at freenetproject.org (dbkr at freenetproject.org) Date: Tue, 5 Feb 2008 09:22:18 +0000 (UTC) Subject: [Freemail] r17546 - trunk/apps/Freemail/src/freemail Message-ID: <20080205092218.3FD1D47BC38@freenetproject.org> Author: dbkr Date: 2008-02-05 09:22:17 +0000 (Tue, 05 Feb 2008) New Revision: 17546 Modified: trunk/apps/Freemail/src/freemail/AccountManager.java trunk/apps/Freemail/src/freemail/FreemailCli.java trunk/apps/Freemail/src/freemail/FreemailPlugin.java Log: Sort out short address success / failure Modified: trunk/apps/Freemail/src/freemail/AccountManager.java =================================================================== --- trunk/apps/Freemail/src/freemail/AccountManager.java 2008-02-05 01:17:50 UTC (rev 17545) +++ trunk/apps/Freemail/src/freemail/AccountManager.java 2008-02-05 09:22:17 UTC (rev 17546) @@ -260,7 +260,7 @@ Logger.normal(AccountManager.class,"Account creation completed."); } - public static void addShortAddress(String username, String alias) throws Exception { + public static boolean addShortAddress(String username, String alias) throws Exception { File accountdir = new File(DATADIR, username); if (!accountdir.exists()) { throw new Exception("No such account - "+username+"."); @@ -307,6 +307,9 @@ m.commit(); + return true; + } else { + return false; } } Modified: trunk/apps/Freemail/src/freemail/FreemailCli.java =================================================================== --- trunk/apps/Freemail/src/freemail/FreemailCli.java 2008-02-05 01:17:50 UTC (rev 17545) +++ trunk/apps/Freemail/src/freemail/FreemailCli.java 2008-02-05 09:22:17 UTC (rev 17546) @@ -126,8 +126,9 @@ } return; } else if (action.equals("--shortaddress")) { + boolean success = false; try { - AccountManager.addShortAddress(account, alias); + success = AccountManager.addShortAddress(account, alias); } catch (IllegalArgumentException iae) { System.out.println("Couldn't add short address for "+account+". Error: "+iae.getMessage()); return; @@ -136,7 +137,11 @@ e.printStackTrace(); return; } - System.out.println("You now have all Freemail addresses ending: '@"+alias+".freemail'. Your long address will continue to work."); + if (success) { + System.out.println("You now have all Freemail addresses ending: '@"+alias+".freemail'. Your long address will continue to work."); + } else { + System.out.println("Failed to add short address."); + } return; } Modified: trunk/apps/Freemail/src/freemail/FreemailPlugin.java =================================================================== --- trunk/apps/Freemail/src/freemail/FreemailPlugin.java 2008-02-05 01:17:50 UTC (rev 17545) +++ trunk/apps/Freemail/src/freemail/FreemailPlugin.java 2008-02-05 09:22:17 UTC (rev 17546) @@ -242,8 +242,11 @@ try { AccountManager.Create(name); AccountManager.ChangePassword(name, password); + boolean tryShortAddress = false; + boolean shortAddressWorked = false; if(!domain.equals("")) { - AccountManager.addShortAddress(name, domain); + tryShortAddress = true; + shortAddressWorked = AccountManager.addShortAddress(name, domain); } Thread t = new Thread(new SingleAccountWatcher(new File(DATADIR, name)), "Account Watcher for "+name); t.setDaemon(true); @@ -255,7 +258,11 @@ HTMLNode text = successBox.addChild("div", "class", "infobox-content"); text.addChild("#", "The account "); text.addChild("i", name); - text.addChild("#", " was created successfully."); + String shortAddrMsg = ""; + if (tryShortAddress && ! shortAddressWorked) { + shortAddrMsg = ", but your short address could NOT be created"; + } + text.addChild("#", " was created successfully"+shortAddrMsg+"."); text.addChild("br"); text.addChild("br"); text.addChild("#", "You now need to configure your email client to send and receive email through " From dbkr at freenetproject.org Mon Feb 25 17:23:08 2008 From: dbkr at freenetproject.org (dbkr at freenetproject.org) Date: Mon, 25 Feb 2008 17:23:08 +0000 (UTC) Subject: [Freemail] r18150 - trunk/apps/Freemail/src/freemail Message-ID: <20080225172308.E6F823882E2@freenetproject.org> Author: dbkr Date: 2008-02-25 17:23:08 +0000 (Mon, 25 Feb 2008) New Revision: 18150 Modified: trunk/apps/Freemail/src/freemail/InboundContact.java Log: Fix NPE on dodgy addresses. Modified: trunk/apps/Freemail/src/freemail/InboundContact.java =================================================================== --- trunk/apps/Freemail/src/freemail/InboundContact.java 2008-02-25 15:59:59 UTC (rev 18149) +++ trunk/apps/Freemail/src/freemail/InboundContact.java 2008-02-25 17:23:08 UTC (rev 18150) @@ -197,6 +197,10 @@ public boolean validateFrom(EmailAddress from) throws IOException, ConnectionTerminatedException { String sd = from.getSubDomain(); + if (sd == null) { + // well that's definately not valid. Piffle! + return false; + } if (from.is_ssk_address()) { return Base32.encode(this.ibct_dir.getName().getBytes()).equalsIgnoreCase(sd);