Uploaded image for project: 'Directory Client API'
  1. Directory Client API
  2. DIRAPI-286

AdDirSync Control does not support multiple flags

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 1.0.0-RC2
    • Fix Version/s: 1.0.0
    • Labels:
      None

      Description

      When creating an initial search request using the DirSync control, I would like to pass multiple flags. Microsoft's documentation states:

      Flags
      Contains optional flags for use with the LDAP_SERVER_DIRSYNC_OID control. This can be zero or a combination of one or more of the values listed in the following list.

      Unfortunately, the IETF document that was linked in the ticket for supporting DirSync (DIRAPI-189) doesn't match the actual implementation, as specified by Microsoft in the link above. The IETF document only specifies a parentsFirst flag in the SearchRequest, but there are four potential SearchRequest flags (all of which can be found in AdDirFlags). AdDirSync specifies methods for getting and setting both a parentsFirst field and a flag field. In reality, there should be a single flags field that is a collection of applicable flags. Additionally, it appears the flag field is ignored during encoding and decoding - only the parentsFirst field is considered.

      My recommendation for resolving this issue revolves around Java's EnumSet class which seems to be commonly used for bitmasks in Java. I've drafted a patch for use in my project that is utilizing the Directory Client API, I'd be happy to attach that patch here to be used at least as a base for resolution of this issue.

        Attachments

        1. AdDirSyncPatch.diff
          20 kB
          Caleb McQuillin

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              cmcquillin Caleb McQuillin
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: