OpenLDAP 2.2.18 Release
Fixed libldap schema keyword sensitivity (ITS#3334)
Fixed libldap DN filter sensitivity (ITS#3334)
+ Fixed libldap intermediate response tags
Fixed slapd matching rule name sensitivity (ITS#3334)
Fixed slapd multiple value delete (ITS#3346)
Fixed slapd referral memory leak
Add LDIFv2 (XML) support to command line tools
Implement LDAPprep and SASLprep
Implement additional matching rules (RFC 3698)
+Add syncrepl "turn" support
Add dumpasn1 logging support
Add tests to test suite
-Convert utfconv.txt into man page(s).
+Add jail(2) support
Recode linked-list structs to use <ldap_queue.h> macros
+Convert utfconv.txt into man page(s).
Update any manual page
#define LDAP_TAG_EXOP_RES_OID ((ber_tag_t) 0x8aU) /* context specific + primitive */
#define LDAP_TAG_EXOP_RES_VALUE ((ber_tag_t) 0x8bU) /* context specific + primitive */
+#define LDAP_TAG_IM_RES_OID ((ber_tag_t) 0x80U) /* context specific + primitive */
+#define LDAP_TAG_IM_RES_VALUE ((ber_tag_t) 0x81U) /* context specific + primitive */
+
#define LDAP_TAG_SASL_RES_CREDS ((ber_tag_t) 0x87U) /* context specific + primitive */
/* LDAP Request Messages */
tag = ber_peek_tag( ber, &len );
- if( tag == LDAP_TAG_EXOP_RES_OID ) {
+ /*
+ * NOTE: accept intermediate and extended response tag values
+ * as older versions of slapd(8) incorrectly used extended
+ * response tags.
+ * Should be removed when 2.2 is moved to Historic.
+ */
+ if( tag == LDAP_TAG_IM_RES_OID || tag == LDAP_TAG_EXOP_RES_OID ) {
/* we have a resoid */
if( ber_scanf( ber, "a", &resoid ) == LBER_ERROR ) {
ld->ld_errno = LDAP_DECODING_ERROR;
tag = ber_peek_tag( ber, &len );
}
- if( tag == LDAP_TAG_EXOP_RES_VALUE ) {
+ if( tag == LDAP_TAG_IM_RES_VALUE || tag == LDAP_TAG_EXOP_RES_VALUE ) {
/* we have a resdata */
if( ber_scanf( ber, "O", &resdata ) == LBER_ERROR ) {
ld->ld_errno = LDAP_DECODING_ERROR;