GERONIMO-2623 Infinite loop in the SMTPTransport code when a socket factory class is used.



git-svn-id: https://svn.apache.org/repos/asf/geronimo/javamail/trunk@482370 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java b/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
index c71eead..6ea1769 100644
--- a/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
+++ b/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
@@ -1251,6 +1251,8 @@
                         Object[] createSocketArgs = new Object[] { host, portArg };
                         socket = (Socket) createSocket.invoke(defFactory, createSocketArgs);
                     }
+                    // now break out and configure the socket.
+                    break;
                 } catch (Throwable e) {
                     // if we're allowed to fallback, then use the default
                     // factory and try this again. We only
diff --git a/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java b/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
index c71eead..6ea1769 100644
--- a/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
+++ b/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
@@ -1251,6 +1251,8 @@
                         Object[] createSocketArgs = new Object[] { host, portArg };
                         socket = (Socket) createSocket.invoke(defFactory, createSocketArgs);
                     }
+                    // now break out and configure the socket.
+                    break;
                 } catch (Throwable e) {
                     // if we're allowed to fallback, then use the default
                     // factory and try this again. We only