Author: dbkr
Date: 2006-08-09 18:24:35 +0000 (Wed, 09 Aug 2006)
New Revision: 10004

Modified:
   trunk/apps/Freemail/src/freemail/AccountManager.java
   trunk/apps/Freemail/src/freemail/Freemail.java
   trunk/apps/Freemail/src/freemail/MailMessage.java
   trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java
   trunk/apps/Freemail/src/freemail/smtp/SMTPHandler.java
Log:
Fix bif SMTP plain auth bug - Thunderbird /mozilla mail couldn't send mail. 
Also some more IMAP fixes.


Modified: trunk/apps/Freemail/src/freemail/AccountManager.java
===================================================================
--- trunk/apps/Freemail/src/freemail/AccountManager.java        2006-08-09 
16:51:00 UTC (rev 10003)
+++ trunk/apps/Freemail/src/freemail/AccountManager.java        2006-08-09 
18:24:35 UTC (rev 10004)
@@ -282,6 +282,7 @@
        }

        private static boolean validate_username(String username) {
+               if (username.length() < 1) return false;
                if (username.matches("[\\w_]*")) return true;
                return false;
        }

Modified: trunk/apps/Freemail/src/freemail/Freemail.java
===================================================================
--- trunk/apps/Freemail/src/freemail/Freemail.java      2006-08-09 16:51:00 UTC 
(rev 10003)
+++ trunk/apps/Freemail/src/freemail/Freemail.java      2006-08-09 18:24:35 UTC 
(rev 10004)
@@ -12,7 +12,7 @@
        // version info
        public static final int VER_MAJOR = 0;
        public static final int VER_MINOR = 1;
-       public static final int BUILD_NO = 2;
+       public static final int BUILD_NO = 3;
        public static final String VERSION_TAG = "Pet Shop";

        private static final String TEMPDIRNAME = "temp";

Modified: trunk/apps/Freemail/src/freemail/MailMessage.java
===================================================================
--- trunk/apps/Freemail/src/freemail/MailMessage.java   2006-08-09 16:51:00 UTC 
(rev 10003)
+++ trunk/apps/Freemail/src/freemail/MailMessage.java   2006-08-09 18:24:35 UTC 
(rev 10004)
@@ -176,6 +176,8 @@
        }

        public void readHeaders(BufferedReader bufrdr) throws IOException {
+               if (this.headers.size() > 0) return;
+               
                String line;
                String[] parts = null;
                while ( (line = bufrdr.readLine()) != null) {

Modified: trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java
===================================================================
--- trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java      2006-08-09 
16:51:00 UTC (rev 10003)
+++ trunk/apps/Freemail/src/freemail/imap/IMAPHandler.java      2006-08-09 
18:24:35 UTC (rev 10004)
@@ -144,6 +144,11 @@
                        mbname = msg.args[1];
                }

+               String replyprefix = "LIST";
+               if (msg.type.equals("lsub")) {
+                       replyprefix = "LSUB";
+               }
+               
                refname = trimQuotes(refname);
                if (refname.length() == 0) refname = null;

@@ -152,12 +157,12 @@

                if (mbname == null) {
                        // return hierarchy delimiter
-                       this.sendState("LIST (\\Noselect) \".\" \"\"");
+                       this.sendState(replyprefix+" (\\Noselect) \".\" \"\"");
                } else if (mbname.equals("%") || mbname.equals("INBOX") || 
mbname.equals("*") || mbname.equals("INBOX*")) {
-                       this.sendState("LIST (\\NoInferiors) \".\" \"INBOX\"");
+                       this.sendState(replyprefix+" (\\NoInferiors) \".\" 
\"INBOX\"");
                }

-               this.reply(msg, "OK LIST completed");
+               this.reply(msg, "OK "+replyprefix+" completed");
        }

        private void handle_select(IMAPMessage msg) {

Modified: trunk/apps/Freemail/src/freemail/smtp/SMTPHandler.java
===================================================================
--- trunk/apps/Freemail/src/freemail/smtp/SMTPHandler.java      2006-08-09 
16:51:00 UTC (rev 10003)
+++ trunk/apps/Freemail/src/freemail/smtp/SMTPHandler.java      2006-08-09 
18:24:35 UTC (rev 10004)
@@ -161,6 +161,10 @@
                        // username twice. Some think only once.
                        // This will work either way.
                        uname = creds[0];
+                       // there may be a null first (is this always the case?)
+                       if (uname.length() < 1) {
+                               uname = creds[1];
+                       }
                        password = creds[creds.length - 1];
                } else {
                        this.ps.print("504 Auth type unimplemented - weren't 
you listening?\r\n");


Reply via email to