GERONIMO-3427 STMP login fails if server sends multiple lines of response back from initial connection.
git-svn-id: https://svn.apache.org/repos/asf/geronimo/javamail/trunk@569310 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-javamail_1.3.1/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java b/geronimo-javamail_1.3.1/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
index 81b8904..44eb94d 100644
--- a/geronimo-javamail_1.3.1/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
+++ b/geronimo-javamail_1.3.1/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
@@ -1383,7 +1383,17 @@
*/
protected boolean getWelcome() throws MessagingException {
SMTPReply line = getReply();
- return !line.isError();
+ // process any error now
+ if (line.isError()) {
+ return false;
+ }
+ // Some servers send a multi-line welcome message. Keep
+ // reading lines until we hit the end of the response.
+ while (line.isContinued()) {
+ line = getReply();
+ }
+ // this worked.
+ return true;
}
/**
diff --git a/geronimo-javamail_1.4/geronimo-javamail_1.4_mail/pom.xml b/geronimo-javamail_1.4/geronimo-javamail_1.4_mail/pom.xml
index e6fd2b3..aa5e120 100644
--- a/geronimo-javamail_1.4/geronimo-javamail_1.4_mail/pom.xml
+++ b/geronimo-javamail_1.4/geronimo-javamail_1.4_mail/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.apache.geronimo.javamail</groupId>
<artifactId>geronimo-javamail-1.4</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
diff --git a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/pom.xml b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/pom.xml
index 7dcef0e..987d704 100644
--- a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/pom.xml
+++ b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/pom.xml
@@ -27,7 +27,7 @@
<parent>
<groupId>org.apache.geronimo.javamail</groupId>
<artifactId>geronimo-javamail-1.4</artifactId>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
</parent>
diff --git a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
index 7b96d52..ad63808 100644
--- a/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
+++ b/geronimo-javamail_1.4/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
@@ -1381,7 +1381,17 @@
*/
protected boolean getWelcome() throws MessagingException {
SMTPReply line = getReply();
- return !line.isError();
+ // process any error now
+ if (line.isError()) {
+ return false;
+ }
+ // Some servers send a multi-line welcome message. Keep
+ // reading lines until we hit the end of the response.
+ while (line.isContinued()) {
+ line = getReply();
+ }
+ // this worked.
+ return true;
}
/**
diff --git a/geronimo-javamail_1.4/pom.xml b/geronimo-javamail_1.4/pom.xml
index cc60809..e9093b8 100644
--- a/geronimo-javamail_1.4/pom.xml
+++ b/geronimo-javamail_1.4/pom.xml
@@ -35,7 +35,7 @@
<name>Geronimo JavaMail</name>
<packaging>pom</packaging>
- <version>1.2</version>
+ <version>1.3-SNAPSHOT</version>
<description>
Geronimmo JavaMail provider.