mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
Sync with HEAD
Fix LDAP IMR tags
This commit is contained in:
parent
9f5e9f7fd2
commit
b32d83ad66
1
CHANGES
1
CHANGES
@ -3,6 +3,7 @@ OpenLDAP 2.2 Change Log
|
||||
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
|
||||
|
@ -52,10 +52,12 @@ Implement authPassword (RFC 3112)
|
||||
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
|
||||
|
||||
|
||||
|
@ -319,6 +319,9 @@ typedef struct ldapcontrol {
|
||||
#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 */
|
||||
|
@ -353,7 +353,13 @@ ldap_parse_intermediate (
|
||||
|
||||
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;
|
||||
@ -364,7 +370,7 @@ ldap_parse_intermediate (
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user