27 lines
1.4 KiB
Diff
27 lines
1.4 KiB
Diff
|
diff --git openjdk.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java openjdk/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||
|
index cf4becb7db..4ab2ac0a31 100644
|
||
|
--- openjdk.orig/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||
|
+++ openjdk/jdk/src/share/classes/com/sun/jndi/ldap/LdapCtxFactory.java
|
||
|
@@ -189,6 +189,10 @@ final public class LdapCtxFactory implements ObjectFactory, InitialContextFactor
|
||
|
ctx = getLdapCtxFromUrl(
|
||
|
r.getDomainName(), url, new LdapURL(u), env);
|
||
|
return ctx;
|
||
|
+ } catch (AuthenticationException e) {
|
||
|
+ // do not retry on a different endpoint to avoid blocking
|
||
|
+ // the user if authentication credentials are wrong.
|
||
|
+ throw e;
|
||
|
} catch (NamingException e) {
|
||
|
// try the next element
|
||
|
lastException = e;
|
||
|
@@ -241,6 +245,10 @@ final public class LdapCtxFactory implements ObjectFactory, InitialContextFactor
|
||
|
for (String u : urls) {
|
||
|
try {
|
||
|
return getUsingURL(u, env);
|
||
|
+ } catch (AuthenticationException e) {
|
||
|
+ // do not retry on a different URL to avoid blocking
|
||
|
+ // the user if authentication credentials are wrong.
|
||
|
+ throw e;
|
||
|
} catch (NamingException e) {
|
||
|
ex = e;
|
||
|
}
|