08 Apr, 2013

1 commit

  • … config settings to latest recommendations / expected machine capabilities.
    
    * db-evictor-lru-only - change to false (depth based then lru) since it exhibits better behavior in partially cached deployments and does not impact cases where the DB is fully cached
    * db-log-file-max - increase back to 100MB due to recent improvements in JE which mean that smaller file sizes are no longer needed. Bigger log files means less of them, less frequent fsyncs, and less FDs
    * db-checkpointer-bytes-interval - increased to 500MB. The increased recovery time is minimal and a bigger checkpoint interval dramatically reduces the risk of persisting volatile data to disk
    * disk-low-threshold - updated to 200MB to align with increased log file size
    * disk-full-threshold - updated to 100MB to align with increased log file size
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8703 41b1ffd8-f28e-4786-ab96-9950f0a78031
    matthew
     

05 Apr, 2013

4 commits

  • AttributeBuilder.java:
    Added method add(ByteString) - to be used with the adapters' Converters class.
    
    AttributeBuilderTest.java:
    Added test method testAttributeBuilderAddByteString().
    Suppressed javadoc warnings + removed javadoc for exceptions.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8697 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Making checkstyle happy.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8696 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Making checkstyle happy.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8695 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Implemented authentication with a synchronous username search + bind.
    To come next: asynchronous username search + bind.
    
    
    HTTPAuthenticationConfig.java: ADDED
    
    build.xml, ivy.xml:
    Added some tests jars + updated grizzly to the newly released 2.3 stable version.
    
    CollectClientConnectionsFilter.java:
    Added HTTPAuthenticationConfig instance member to configure the HTTP auth from the JSON file.
    Added many methods to handle HTTP auth in a synchronous way. Will have to change this code to run asynchronously for performance.
    
    HTTPClientConnection.java:
    Changed a few signatures and types to handle more than Search operations.
    
    HTTPConnectionHandler.java:
    Added methods parseJsonConfiguration(), getAuthenticationConfig(), asString() and asBool() to read the config for HTTP Authentication.
    
    SdkConnectionAdapter.java:
    Handled several messages being sent through the same connection.
    Extracted methods enqueueOperation() from searchAsync().
    Implemented bindAsync().
    
    Adapters.java, Converters.java:
    Added new conversion methods.
    Renamed local variables to correctly use camel case.
    
    ConvertersTestCase.java:
    Removed try / catch / empty anti pattern.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8694 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

04 Apr, 2013

4 commits


28 Mar, 2013

2 commits

  • Implemented async search operation.
    Added support for canceling tasks.
    
    SdkConnectionAdapter.java: ADDED
    
    CollectClientConnectionsFilter.java:
    Hooked the async implementation instead of the synchronous InternalClientConnection.
    
    HTTPClientConnection.java:
    Implemented sendResponse(), sendSearchEntry(), sendSearchReference(), disconnect(), getOperationsInProgress(), getOperationInProgress(), removeOperationInProgress(), cancelOperation(), cancelAllOperations(), cancelAllOperationsExcept(), getNumberOfOperations().
    Added addOperationInProgress() and isConnectionValid().
    
    procotol*.properties:
    Renamed MILD_WARN_LDAP_CLIENT_DISCONNECT_IN_PROGRESS_166 to MILD_WARN_CLIENT_DISCONNECT_IN_PROGRESS_166.
    Removed INFO_HTTP_CONNHANDLER_STARTTLS_NOT_SUPPORTED_1515.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8665 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • git-svn-id: https://svn.forgerock.org/opendj/trunk@8664 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

26 Mar, 2013

4 commits

  • Code cleanup: More AbstractOperation => Operation.
    Converted java comments to javadocs.
    Added @Override annotations.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8652 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Code cleanup: Changed code from using AbstractOperation abstract class to using Operation interface instead.
    
    
    
    Operation.java
    Now extends Runnable.
    
    OperationWrapper.java
    Consequence of the change to Operation.java.
    
    
    WorkQueue.java:
    In submitOperation(), used Operation interface instead of AbstractOperation abstract class.
    
    DirectoryServer.java:
    In enqueueRequest() used Operation interface instead of AbstractOperation abstract class.
    Removed CLASS_NAME constant, used this class's name in getClassName().
    
    ParallelWorkerThread.java:
    Changed instance member operation from AbstractOperation abstract class to Operation interface.
    
    ParallelWorkQueue.java:
    Changed instance member opQueue from ConcurrentLinkedQueue<AbstractOperation> to ConcurrentLinkedQueue<Operation>.
    In submitOperation(), nextOperation() and retryNextOperation(), used Operation interface instead of AbstractOperation abstract class.
    
    TraditionalWorkerThread.java
    Changed instance member operation from AbstractOperation abstract class to Operation interface.
    In shutDown() used Operation interface instead of AbstractOperation abstract class.
    
    TraditionalWorkQueue.java
    Changed instance member opQueue from LinkedBlockingQueue<AbstractOperation> to LinkedBlockingQueue<Operation>.
    In initializeWorkQueue(), submitOperation(), nextOperation(), retryNextOperation() and applyConfigurationChange(), used Operation interface instead of AbstractOperation abstract class.
    In applyConfigurationChange(), remove a duplicate condition check.
    
    
    
    All files:
    Converted java comments to javadocs.
    Added @Override annotations.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8651 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • …able to modify entries
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8649 41b1ffd8-f28e-4786-ab96-9950f0a78031
    cjr
     
  • HTTPConnectionHandlerConfiguration.xml:
    Removed the advanced attribute from ds-cfg-config-file property. This should be accessible from normal use.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8644 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

25 Mar, 2013

4 commits

  • Added support for using the Rest2LDAP servlet from OpenDJ HTTPConnectionHandler.
    
    
    
    HTTPConnectionHandler.java:
    Added support for using the Rest2LDAP servlet + removed the FakeServlet.
    Added the JSON_MAPPER constant to parse the JSON config file for Rest2LDAP.
    Added getClientConnectionsMap() getter.
    Added getConnectionFactory() method, heavily inspired from org.forgerock.opendj.rest2ldap.servlet.Rest2LDAPConnectionFactoryProvider.getConnectionFactory().
    In startHttpServer(), silenced Grizzly logging + set the IOThreadStrategy to be single threaded + changed the access path to the servlet.
    
    CollectClientConnectionsFilter.java:
    Added support for using the Rest2LDAP servlet.
    Removed clientConnections instance member, now get this value from the HTTPConnectionHandler.
    
    config.ldif, 02-config.ldif, HTTPConnectionHandlerConfiguration.xml, HTTPConnectionHandlerCfgDefn.properties:
    Added ds-cfg-config-file property to ds-cfg-http-connection-handler objectClass.
    
    http-config.json: ADDED (copied from opendj-rest2ldap-servlet project)
    
    
    ivy.xml:
    Added dependencies to Rest2LDAP.
    
    ivysettings.xml:
    Added support for updating SNAPSHOTS.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8638 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • InternalClientConnection.java:
    Removed redundant code that duplicates work already done by AbstractOperation's constructor.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8637 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Fixing build.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8633 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • TLSByteChannel.java:
    Extracted static method getSSF() to allow testing.
    Modified CIPHER_MAP: added WITH_ARIA_256, WITH_ARIA_128
    + removed the modes of operation CBC and GCM at the end of some cipher names
    + removed subsequent duplicates, sorted by SSF size descending (moved WITH_3DES_EDE)
    + fixed overlapping bug with WITH_DES and WITH_DES_CBC_40.
    
    TLSByteChannelTestCase.java: ADDED
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8632 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

21 Mar, 2013

1 commit

  • ConcurrentHashMap does not accept putting in null values, so I will put in the key itself (It is redundant, but this is not a problem here.)
    
    HTTPConnectionHandler.java:
    clientConnections changed from Map<ClientConnection, Void> to Map<ClientConnection, ClientConnection>.
    
    CollectClientConnectionsFilter.java:
    Consequence  of the change to HTTPConnectionHandler. 
    Use the key to put in the value.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8622 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

20 Mar, 2013

3 commits

  • Fixed the issues identified with r8615.
    
    ivy.xml:
    Use the latest of Grizzly.
    Use very specifically javax.servlet-api 3.1-b02 to ensure compatibility with java 6.
    
    HTTPConnectionHandler.java:
    Uncommented all the code that I previously commented to allow code to compile on Jenkins.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8619 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Made the code compile with java 6 until we can further solve the issue.
    I'll come back to this code to uncomment the lines I commented here.
    
    ivy.xml:
    Excluded the dependency to activation.jar.
    Remporarily downgraded grizzly and javax.servlet versions.
    Replaced tabs with spaces.
    
    HTTPConnectionHandler.java:
    Commented out some code to be reenabled in a subsequent commit.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8615 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • Added the HTTPConnnectionHandler implemented using Grizzly.
    Added support for all configuration similar to the LDAPConnectionHandler.
    Missing support for ds-cfg-keep-stats and ds-cfg-num-request-handlers.
    
    
    config.ldif, 02-config.ldif:
    Added new entry for HTTP connection handler + defaults.
    
    HTTPConnectionHandlerCfgDefn.properties, HTTPConnectionHandlerConfiguration.xml: ADDED
    
    LDAPConnectionHandlerConfiguration.xml:
    Moved properties common to HTTPConnectionHandlerConfiguration.xml to Package.xml .
    
    protocol*.properties:
    Merged protocol messages between LDAP, HTTP and JMX. Made them non LDAP specific.
    Added 2 new protocol messages for HTTP.
    
    
    CollectClientConnectionsFilter.java, HTTPClientConnection.java, HTTPConnectionHandler.java, package-info.java: ADDED
    
    JmxClientConnection.java, JmxConnectionHandler.java, LDAPClientConnection.java:
    Used common protocol messages.
    
    LDAPConnectionHandler.java
    Used common protocol messages.
    Extracted method configureSSL()
    Simplified the code in getEnabledSSLCipherSuites() and getEnabledSSLProtocols() and protected against a multi threaded change ofg the SSL engine by using a local copy.
    
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8613 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

19 Mar, 2013

3 commits

  • This is just a one liner to use the proper error message (looks like a copy/paste mistake).
    The error reported will now show as below:
    
    $ ldapsearch -h localhost -p 1389 -D "uid=user.0,ou=people,dc=example,dc=com" -w password -Y "uid=user.1,ou=people,dc=example,dc=com" -b "dc=example,dc=com" 'uid=user.1'
    SEARCH operation failed
    Result Code:  2 (Protocol Error)
    Additional Information:  The authorization ID "uid=user.1,ou=people,dc=example,dc=com" contained in the proxied authorization V2 control is invalid because it does not start with "dn:" to indicate a user DN or "u:" to indicate a username
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8609 41b1ffd8-f28e-4786-ab96-9950f0a78031
    ludo
     
  • TLSCapableConnection.java:
    Renamed isStartTLSAvailable() to prepareTLS() after a discussion with Ludo and Matt.
     
    StartTLSExtendedOperation.java, LDAPClientConnection.java:
    Consequence of the change to TLSCapableConnection.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8608 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     
  • TLSCapableConnection.java:
    Renamed isTLSAvailable() to isStartTLSAvailable() to better explicit the purpose of this method.
     
    StartTLSExtendedOperation.java:
    Consequence of the change to TLSCapableConnection.
    
    LDAPClientConnection.java:
    Consequence of the change to TLSCapableConnection.
    Used StaticUtils.close() methods.
    Removed one useless parameter from ConnectionFinalizerJob constructor.
    
    StaticUtils.java:
    Added close(Selector...).
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8607 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

18 Mar, 2013

1 commit


14 Mar, 2013

3 commits


13 Mar, 2013

2 commits

  • git-svn-id: https://svn.forgerock.org/opendj/trunk@8595 41b1ffd8-f28e-4786-ab96-9950f0a78031
    ludo
     
  • The main set of changes have been provided by Elliot Kandall @ UCSF, but I've done additional cleanup of code and refactoring, added support for multiple constants per lines (this was required by the support for escaping [ and ].
    Unit tests are provided and have been extended after the code review and suggestions by reviewers (CR-1401).
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8593 41b1ffd8-f28e-4786-ab96-9950f0a78031
    ludo
     

12 Mar, 2013

1 commit

  • … prop is set and server is running with JDK1.7
    
    The issue here is that the TreeSet implementation changed starting from Java 1.7.
    When adding as a first element a non Comparable object, Java 1.7 will now throw a ClassCastException.
    
    SNMPInetAddressAcl.java:
    Changed hostsList instance member type from TreeSet to Set + HashSet.
    In checkReadPermission() used Set.contains().
    Used foreach.
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@8590 41b1ffd8-f28e-4786-ab96-9950f0a78031
    JnRouvignac
     

11 Mar, 2013

1 commit


08 Mar, 2013

2 commits


07 Mar, 2013

4 commits