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