Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4323384

rebind failure causes existing object to be deleted

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 1.3.1
    • 1.3.0
    • core-libs
    • None
    • ladybird
    • sparc
    • solaris_2.6

        When DirContext.rebind() is used to overwrite an existing object,
        the original LDAP entry is first removed, and then the new one added.
        This is done in two steps because some servers (Netscape) does the
        schema validation step-wise instead of after the list of modifications
        have been completed (which by the way violates RFC 2251). Other
        servers don't like the fact that objectclass is being deleted, while
        others don't allow the objectclass attribute to be modified subsequent to
        entry creation.

        Currently, there is code that tries to recover if the addition fails.
        It will try to add the original entry back. However, it doesn't do
        this well enough and misses the case where the local JNDI client
        throws an exception. Here are the two cases it missed:

        Adding an attribute with 0 values
        Adding an attribute that has a value that is neither String nor byte[].

              rleesunw Rosanna Lee (Inactive)
              rleesunw Rosanna Lee (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: