Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapConnections.java +2 −2 Original line number Diff line number Diff line Loading @@ -248,7 +248,7 @@ class LdapConnections } if (autoConfigUnboundReadOnlyConn != null) { log.debug("Releasing read only auto config connection."); log.debug("Releasing unbound read only auto config connection."); persistence.releaseConnection(LdapPersistence.POOL_UNBOUNDREADONLY, autoConfigUnboundReadOnlyConn); profiler.checkpoint("Release read only connection"); } Loading @@ -267,7 +267,7 @@ class LdapConnections } if (manualConfigUnboundReadOnlyConn != null) { log.debug("Releasing read only manual config connection."); log.debug("Releasing unbound read only manual config connection."); unboundReadOnlyPool.releaseConnection(manualConfigUnboundReadOnlyConn); } } Loading projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +12 −9 Original line number Diff line number Diff line Loading @@ -808,18 +808,21 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO throw new AccessControlException("Given user and authenticating user do not match"); } ProxiedAuthorizationV2RequestControl control = new ProxiedAuthorizationV2RequestControl("dn:" + getSubjectDN().toNormalizedString()); Control[] controls = new Control[] {control}; String username = null; for (Principal p : user.getIdentities()) { if (p instanceof HttpPrincipal) username = p.getName(); } BindRequest bindRequest = new SimpleBindRequest( getUserDN(username, config.getUsersDN()), oldPassword); LDAPConnection conn = this.getUnboundReadConnection(); conn.bind(bindRequest); PasswordModifyExtendedRequest passwordModifyRequest = new PasswordModifyExtendedRequest( userDN.toNormalizedString(), oldPassword, newPassword, controls); LdapConfig ldapConfig = LdapConfig.getLdapConfig(); String server = ldapConfig.getReadWritePool().getServers().get(0); int port = ldapConfig.getPort(); LDAPConnection conn = new LDAPConnection(LdapDAO.getSocketFactory(ldapConfig), server, port); userDN.toNormalizedString(), oldPassword, newPassword); PasswordModifyExtendedResult passwordModifyResult = (PasswordModifyExtendedResult) conn.processExtendedOperation(passwordModifyRequest); Loading Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapConnections.java +2 −2 Original line number Diff line number Diff line Loading @@ -248,7 +248,7 @@ class LdapConnections } if (autoConfigUnboundReadOnlyConn != null) { log.debug("Releasing read only auto config connection."); log.debug("Releasing unbound read only auto config connection."); persistence.releaseConnection(LdapPersistence.POOL_UNBOUNDREADONLY, autoConfigUnboundReadOnlyConn); profiler.checkpoint("Release read only connection"); } Loading @@ -267,7 +267,7 @@ class LdapConnections } if (manualConfigUnboundReadOnlyConn != null) { log.debug("Releasing read only manual config connection."); log.debug("Releasing unbound read only manual config connection."); unboundReadOnlyPool.releaseConnection(manualConfigUnboundReadOnlyConn); } } Loading
projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapUserDAO.java +12 −9 Original line number Diff line number Diff line Loading @@ -808,18 +808,21 @@ public class LdapUserDAO<T extends Principal> extends LdapDAO throw new AccessControlException("Given user and authenticating user do not match"); } ProxiedAuthorizationV2RequestControl control = new ProxiedAuthorizationV2RequestControl("dn:" + getSubjectDN().toNormalizedString()); Control[] controls = new Control[] {control}; String username = null; for (Principal p : user.getIdentities()) { if (p instanceof HttpPrincipal) username = p.getName(); } BindRequest bindRequest = new SimpleBindRequest( getUserDN(username, config.getUsersDN()), oldPassword); LDAPConnection conn = this.getUnboundReadConnection(); conn.bind(bindRequest); PasswordModifyExtendedRequest passwordModifyRequest = new PasswordModifyExtendedRequest( userDN.toNormalizedString(), oldPassword, newPassword, controls); LdapConfig ldapConfig = LdapConfig.getLdapConfig(); String server = ldapConfig.getReadWritePool().getServers().get(0); int port = ldapConfig.getPort(); LDAPConnection conn = new LDAPConnection(LdapDAO.getSocketFactory(ldapConfig), server, port); userDN.toNormalizedString(), oldPassword, newPassword); PasswordModifyExtendedResult passwordModifyResult = (PasswordModifyExtendedResult) conn.processExtendedOperation(passwordModifyRequest); Loading