/** * Tests whether the who am I? extended operation with an unauthenticated connection fails with * new setting of "ds-cfg-reject-unauthenticated-requests". * * @throws UnsupportedEncodingException If an unexpected problem occurs. * @throws IOException If an unexpected problem occurs. * @throws ClientException If an unexpected problem occurs. */ @Test public void testUnauthWAINewCfg() throws UnsupportedEncodingException, IOException, ClientException { try { DirectoryServer.setRejectUnauthenticatedRequests(true); Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort()); LDAPReader reader = new LDAPReader(s); LDAPWriter writer = new LDAPWriter(s); AtomicInteger nextMessageID = new AtomicInteger(1); LDAPAuthenticationHandler authHandler = new LDAPAuthenticationHandler(reader, writer, "localhost", nextMessageID); ByteString authzID = null; try { authzID = authHandler.requestAuthorizationIdentity(); } catch (LDAPException e) { assertNull(authzID); } finally { LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(), new UnbindRequestProtocolOp()); writer.writeMessage(unbindMessage); s.close(); } } finally { DirectoryServer.setRejectUnauthenticatedRequests(false); } }
/** * Tests whether the Who Am I? extended operation with an internal authenticated connection * succeeds with default setting of "ds-cfg-reject-unauthenticated-requests". * * @throws Exception If an unexpected problem occurs. */ @Test() public void testAuthWAIDefCfg() throws Exception { DirectoryServer.setRejectUnauthenticatedRequests(false); Socket s = new Socket("127.0.0.1", TestCaseUtils.getServerLdapPort()); LDAPReader reader = new LDAPReader(s); LDAPWriter writer = new LDAPWriter(s); AtomicInteger nextMessageID = new AtomicInteger(1); LDAPAuthenticationHandler authHandler = new LDAPAuthenticationHandler(reader, writer, "localhost", nextMessageID); authHandler.doSimpleBind( 3, ByteString.valueOf("cn=Directory Manager"), ByteString.valueOf("password"), new ArrayList<Control>(), new ArrayList<Control>()); ByteString authzID = authHandler.requestAuthorizationIdentity(); assertNotNull(authzID); LDAPMessage unbindMessage = new LDAPMessage(nextMessageID.getAndIncrement(), new UnbindRequestProtocolOp()); writer.writeMessage(unbindMessage); s.close(); }