Fixed several bugs:
An extensible LDAP filter with dn attribute but without attribute name and
matching rule causes IndexOutOfBounds exception in LDAPFilter.decode method.
To reproduce the error, decode filter string "(:dn:=John Doe)"
Fix for issue 708.
Constructing a LDAPFilter object from a SearchFilter objects with NOT components
results in an incomplete LDAPFilter object. The LDAPFilter will be complete
except for the NOT components. This results in a NullPointerException exception
when calling methods that assume a LDAPFilter component will not be NULL (ie.
toString).
Fix for issue 709.
When encoding LDAPFilter objects to ASN1Element objects, extensible components
are encoded as or components. The matching rule ID is also included twice in the
encoding with the wrong ASN1 type of matching rule attribute.
Fix for issue 710.