From: Kurt Zeilenga Date: Wed, 22 Aug 2007 19:26:55 +0000 (+0000) Subject: Password policy request control should have no control value. X-Git-Tag: OPENLDAP_REL_ENG_2_4_MP~134 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e6699ce023755581696dda8d20681dbb51b2db07;p=openldap Password policy request control should have no control value. Extend ldap_create_control() to supporting creating such. --- diff --git a/libraries/libldap/controls.c b/libraries/libldap/controls.c index aa38040c3e..042dfe97a7 100644 --- a/libraries/libldap/controls.c +++ b/libraries/libldap/controls.c @@ -427,7 +427,6 @@ ldap_create_control( LDAPControl *ctrl; assert( requestOID != NULL ); - assert( ber != NULL ); assert( ctrlp != NULL ); ctrl = (LDAPControl *) LDAP_MALLOC( sizeof(LDAPControl) ); @@ -435,7 +434,8 @@ ldap_create_control( return LDAP_NO_MEMORY; } - if ( ber_flatten2( ber, &ctrl->ldctl_value, 1 ) == -1 ) { + ctrl->ldctl_value = NULL; + if ( ber && ( ber_flatten2( ber, &ctrl->ldctl_value, 1 ) == -1 )) { LDAP_FREE( ctrl ); return LDAP_NO_MEMORY; } diff --git a/libraries/libldap/ppolicy.c b/libraries/libldap/ppolicy.c index 16193f6400..b82208fe76 100644 --- a/libraries/libldap/ppolicy.c +++ b/libraries/libldap/ppolicy.c @@ -61,21 +61,13 @@ int ldap_create_passwordpolicy_control( LDAP *ld, LDAPControl **ctrlp ) { - BerElement *ber; - assert( ld != NULL ); assert( LDAP_VALID( ld ) ); assert( ctrlp != NULL ); - if ((ber = ldap_alloc_ber_with_options(ld)) == NULL) { - ld->ld_errno = LDAP_NO_MEMORY; - return(LDAP_NO_MEMORY); - } - ld->ld_errno = ldap_create_control( LDAP_CONTROL_PASSWORDPOLICYREQUEST, - ber, 0, ctrlp); + NULL, 0, ctrlp); - ber_free(ber, 1); return(ld->ld_errno); }