15 Nov, 2006

5 commits

  • the "--controls" argument to "--control", since each instance only allows the
    user to specify information about a single control.  Issue #1009.
    
    Update the LDAPSearch, LDAPModify, LDAPCompare, and LDAPDelete tools to allow
    multiple instances of the "-J"/"--control" argument to specify multiple
    arbitrary controls.  Issue #1010.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@727 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • returns true whenever it is queried for a control that it actually supports
    instead of always blindly returning false.
    
    OpenDS Issue Number:  1011
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@726 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • "--saslOption", since each occurrence only specifies a single option.
    
    OpenDS Issue Number:  1008
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@725 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • so it is not displayed in the usage information (it is automatically provided
    by the shell script/batch file used to launch the tool, so the user doesn't
    need to provide it or be aware of it).
    
    OpenDS Issue Number:  1007
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@724 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • instead of pwdPolicySubentry for indicating which password policy should be
    applied for a given user.  The new attribute is not marked NO-USER-MODIFICATION
    so that it can be directly altered by administrators in addition to having a
    value populated by a virtual attribute.  The pwdPolicySubentry attribute is
    defined in the IETF draft as NO-USER-MODIFICATION and is only intended to be
    virtually defined, making it more difficult to configure a special policy for
    an individual user.
    
    This also eliminates the possibility that clients will see this attribute and
    will expect the corresponding password policy configuration to be based on the
    specification in the IETF draft, which is not the case for OpenDS.
    
    OpenDS Issue Number:  1003
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@723 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     

14 Nov, 2006

1 commit

  • - It is no longer necessary to specify the password storage scheme separately
      from the encoded value when comparing an encoded password. This makes this
      feature easier to use because it takes the data in the same format as is
      created by when encoding a clear-text password and as is stored in the
      directory.  Issue #971.
    
    - When comparing a clear-text password against an encoded version, you can now
      use the --useCompareResultCode option to cause the tool to exit with a return
      code of COMPARE_TRUE or COMPARE_FALSE, which is more useful when calling the
      utility in a script.  Previously, it would always return zero to indicate
      that the script completed successfully, regardless of whether the provided
      password matched or not.  Issue #988.
    
    - I've made the tool easier to call programmatically by adding additional
      methods that can be used to invoke it, by making it possible to avoid
      reinitializing the server, to provide alternate output and error streams (or
      eliminate the output entirely), and to return an integer value rather than
      using System.exit.  This all kind of falls under the umbrella of issue #987.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@714 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     

13 Nov, 2006

2 commits

  • server along with their base DNs, as well as list all base DNs for a given
    backend ID or list the backend ID for a given base DN.
    
    Reviewed By:  David Ely
    OpenDS Issue Number:  44
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@706 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • before synchronization code was in 2 packages :
    org.opends.server.synchronization and org.opends.server.changelog
    
    It was not clear that the code in the changelog package is part of the synchronization
    also some code in both of these packages are actually used by both sides of the synchronization.
    
    To make this better (and as said in the synchronization meeting) the code is now split in 4
    packages that are all below : org.opends.server.synchronization
    - synchronization.changelog contain the code running on the changelog side
    - synchronization.plugin contain the code running on the DS side.
    - synchronization.protocol contain the code used by both side to exchange information.
    - synchronization.common contain utilities that can be used by any of the first 3 packages.
    
    Hopefully this should make the synchronization code more easy to understand.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@704 41b1ffd8-f28e-4786-ab96-9950f0a78031
    gbellato
     

11 Nov, 2006

1 commit


10 Nov, 2006

3 commits

  • are all made under the umbrella of issue #994, but there are individual issues
    for each change.
    
    - Issue #979 -- Re-order LDAP tool arguments
      When displaying usage information for many of the LDAP tools (e.g.,
      ldapsearch, ldapmodify, etc.), the arguments were not provided in any kind of
      logical grouping.  This has been corrected so that the arguments are listed
      in a more logical ordering.
    
    - Issue #983 -- Add tool description to argument parser
      When displaying usage information for administrative tools, it now includes a
      small summary of what the tool does at the top of the argument list.
    
    - Issue #984 -- Make tool usage more compact
      Previously, the tool usage included a blank line between each argument, which
      made the usage information seem too verbose, especially for tools like
      ldapsearch with a lot of arguments.  This extra space has been removed.
      Also, many of the argument descriptions have been rewritten in an attempt to
      avoid requiring multiple lines.
    
    - Issue #985 -- Wrap long output in administrative tools when appropriate
      Update most of the output for the administrative tools so that it is easier
      to read on 80-column displays.  This primarily impacts error message, and
      cases in which the format of the output is important (e.g., LDIF output from
      ldapsearch) no changes were made.
    
    - Issue #986 -- Eliminate hard-coded strings in tools
      Some of the tools had hard-coded strings used for error and warning messages.
      They have been replaced with localizeable output from the messages files.
    
    - Issue #990 -- LDAP tools don't use trust store password
      The LDAP tools didn't provide any mechanism for specifying the PIN needed to
      access the contents of an SSL trust store.  Some types of trust stores may
      require a PIN to access them, so it is now possible to either directly
      specify the PIN or to provide the path to a PIN file.
    
    - Issue #991 -- Disconnect when running stop-ds shouldn't be an error
      When using the stop-ds script, if the server began shutting down before it
      returned a response to the client, the client would provide an error message
      making it sound like something went wrong.  The output has now been updated
      to indicate that the server is likely in the course of shutting down.
    
    - Issue #992 -- Tool usage should include the tool name rather than the class
      When displaying usage information for the administrative tools, the
      fully-qualified class name for the Java class was displayed, where the name
      of the shell script or batch file would have been more useful.
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@702 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • These changes implement a window mechanism in the sycnhronization protocol.
    
    Up to now the flow control mechanism used by the synchronization
    was  the TCP flow control mechanism. However, since TCP is not aware about
    the type of the synchronization mechanism this was not allowing sending
    of ACK messages when the TCP connection was saturated.
    This was also preventing the implementation of the prioritized synchronization.
    
    With these changes the TCP windows are set to a very large value and the
    flow control is based on a configurable window size on the changelog servers
    and on the LDAP servers.
    
    These changes also add monitoring informations for the current and max window sizes.
    
    I also took the opportunity to remove most the static variables and methods that were
    preventing multi instantiation of the Changelog class.
    
    I have also added tests for the incoding/decoding of ServerStartMessage and
    ChangelogStartMessage, WindowMessage and for testing the window mechanism.
    
    Also add the possibility to choose the port number used by the LDAP server when running
    the unit test using property : org.opends.server.LdapPort
    This can be usefull for debugging purpose.
    
    reviewed by Daniel
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@700 41b1ffd8-f28e-4786-ab96-9950f0a78031
    gbellato
     
  • --configFile arguments are marked hidden since those options will be provided
    by the shell script or batch file used to launch the tool.
    
    Also, unhide the "--nodetach" option in the start-ds script and make sure that
    it will appear in all lowercase characters.
    
    OpenDS Issue Numbers:  978, 980
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@699 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     

09 Nov, 2006

7 commits


08 Nov, 2006

2 commits

  • CATEGORY_MASK_JEB in order to ensure they are all unique and don't conflict
    with messages in any other message file.
    
    OpenDS Issue Number:  968
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@684 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • …or it out of the EntryID class. The nextId property is now a non static property in the RootContainer class. Each RootContainer is responsible for keeping track of the next ID and assigning new entry IDs to all entries in its EntryContainers. 
    
    The constructor for IndexIteratorAllIds now requires a RootContainer parameter.
    
    The getIterator method in EntryIDSet class is also modified so it will no longer return a IndexIteratorAllIds object if no values are added to the set.
    
    This fix also fixes the issue where performing a replaceEntryTransaction or renameEntryTransaction throws a NPE if a ModifyOperation is not specified. The backends API states that backend implementation should allow nulls for internal operations.
    
    Thanks Neil for the code review.
    
    Fix for issue 802 and issue 803
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@682 41b1ffd8-f28e-4786-ab96-9950f0a78031
    boli
     

07 Nov, 2006

2 commits


06 Nov, 2006

1 commit


03 Nov, 2006

1 commit

  • The following refactoring work was performed:
    
    * removed the DN, RDN, and AVA comparator classes. The DN
      and RDN classes implement Comparable. RDN.compareTo now
      uses ordering matching rules where possible (taken from
      the original RDN Comparator class)
    
    * RDN class is now almost immutable (it's intention is to
      be 100% immutable). It is still possible to retrieve
      attribute values and modify them (attribute values should
      be immutable - issue raised)
    
    * RDN compareTo, hashCode, and equals methods now
      sort AVAs based on the type's name/oid (previously no
      sorting was performed)
    
    * provide factory methods for simple RDNs and a builder
      class for constructing more complex RDNs
    
    * DN class is now immutable with the exception described above
      for RDN attribute values. There are now factory methods for
      creating, joining, and splitting DNs
    
    * special factory method for creating null DNs - DN.nullDN()
    
    * DN.getParent() renamed to DN.getParentDNInSuffix() - all references
      updated - this method will be moved in a subsequent change
      to the DirectoryServer class
    
    * implemented a new DN.getParent() method which ignores suffixes
    
    * DN no longer copy their RDN array when constructing parent
      DNs or localNames - instead array offset+length is identifies
      which part of the array is associated with the DN
    
    * refactored and simplified much of the DN/RDN decoding routines
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@671 41b1ffd8-f28e-4786-ab96-9950f0a78031
    matthew_swift
     

31 Oct, 2006

1 commit

  • files will be marked for deletion as soon as possible.  This will help the
    start-ds script to exit more quickly in the event that the provided set of
    command-line arguments was invalid, as well as the case in which a valid set of
    arguments was provided but the server should not actually be started (e.g.,
    "--version").
    
    OpenDS Issue Number:  906
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@660 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     

30 Oct, 2006

4 commits


25 Oct, 2006

2 commits

  • All of these changes fall under the blanket of issue 882, but are also
    associated with a number of individual sub-issues.
    
    The changes include:
    
    - Create new "_client-script.sh" and "_server-script.sh" shell scripts that
      hold the majority of the logic required to launch the client-side and
      server-side tools (Issue #873).
    
    - Explicitly set the PATH, LD_LIBRARY_PATH, and LD_PRELOAD (and the 32-bit and
      64-bit specific variants of LD_LIBRARY_PATH and LD_PRELOAD) to ensure better
      security and more consistent behavior when invoking external commands
      (Issue #607).
    
    - Fix potential problems that could arise if either OpenDS or the Java runtime
      are installed in a path that contains spaces (Issue #820).
    
    - Update the start-ds.sh script so that it always creates a PID file, whether
      running in the foreground or in the background (Issue #859).
    
    - Update the start-ds.sh script so that when running in the background it will
      not exit until it confirms that the server is actually running.  It will also
      display any messages written to standard output/standard error during
      startup (Issue #590).
    
    - Update the stop-ds.sh script so that it can either perform a local stop (via
      kill with the TERM signal) or a remote stop (over LDAP using the shutdown
      task).  If the script is invoked with no arguments and there is a local PID
      file present, then it will be a local stop via kill, and it will wait until
      the server actually has stopped before exiting.  Otherwise it will be a
      remote stop over LDAP (Issue #871).
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@640 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     
  • the last entry in the source file had been deleted.
    
    OpenDS Issue Number:  881
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@639 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     

24 Oct, 2006

1 commit

  • remove convenience methods for creating and decoding bit string values.  These
    methods aren't really very useful for anything, and they don't properly deal
    with bit strings where the number of bits is not a multiple of eight.
    
    The updates to the test code were provided by Benjamin Damm.
    
    OpenDS Issue Number:  726
    
    
    git-svn-id: https://svn.forgerock.org/opendj/trunk@638 41b1ffd8-f28e-4786-ab96-9950f0a78031
    neil_a_wilson
     

23 Oct, 2006

1 commit


22 Oct, 2006

2 commits


19 Oct, 2006

4 commits