@@ -3314,16 +3314,16 @@ PHP_FUNCTION(ldap_exop)
3314
3314
#endif
3315
3315
3316
3316
#ifdef HAVE_LDAP_PASSWD_S
3317
- /* {{{ proto bool ldap_exop_passwd(resource link [, string user [, string oldpw [, string newpw [, string genpasswd ] ]]])
3317
+ /* {{{ proto bool|string ldap_exop_passwd(resource link [, string user [, string oldpw [, string newpw ]]])
3318
3318
Passwd modify extended operation */
3319
3319
PHP_FUNCTION (ldap_exop_passwd )
3320
3320
{
3321
- zval * link , * user , * newpw , * oldpw , * newpasswd ;
3322
- struct berval luser , loldpw , lnewpw , lnewpasswd ;
3321
+ zval * link , * user , * newpw , * oldpw ;
3322
+ struct berval luser , loldpw , lnewpw , lgenpasswd ;
3323
3323
ldap_linkdata * ld ;
3324
3324
int rc , myargcount = ZEND_NUM_ARGS ();
3325
3325
3326
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "r|zzzz/ " , & link , & user , & oldpw , & newpw , & newpasswd ) == FAILURE ) {
3326
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "r|zzz " , & link , & user , & oldpw , & newpw ) == FAILURE ) {
3327
3327
WRONG_PARAM_COUNT ;
3328
3328
}
3329
3329
@@ -3336,7 +3336,6 @@ PHP_FUNCTION(ldap_exop_passwd)
3336
3336
lnewpw .bv_len = 0 ;
3337
3337
3338
3338
switch (myargcount ) {
3339
- case 5 :
3340
3339
case 4 :
3341
3340
convert_to_string_ex (newpw );
3342
3341
lnewpw .bv_val = Z_STRVAL_P (newpw );
@@ -3357,39 +3356,38 @@ PHP_FUNCTION(ldap_exop_passwd)
3357
3356
rc = ldap_passwd_s (ld -> link , & luser ,
3358
3357
loldpw .bv_len > 0 ? & loldpw : NULL ,
3359
3358
lnewpw .bv_len > 0 ? & lnewpw : NULL ,
3360
- & lnewpasswd , NULL , NULL );
3359
+ & lgenpasswd , NULL , NULL );
3361
3360
if (rc != LDAP_SUCCESS ) {
3362
3361
php_error_docref (NULL , E_WARNING , "Passwd modify extended operation failed: %s (%d)" , ldap_err2string (rc ), rc );
3363
3362
RETURN_FALSE ;
3364
3363
}
3365
3364
3366
- if (myargcount > 4 ) {
3367
- zval_dtor (newpasswd );
3368
- if (lnewpasswd .bv_len == 0 ) {
3369
- ZVAL_EMPTY_STRING (newpasswd );
3365
+ if (lnewpw .bv_len == 0 ) {
3366
+ if (lgenpasswd .bv_len == 0 ) {
3367
+ RETVAL_EMPTY_STRING ();
3370
3368
} else {
3371
- ZVAL_STRINGL ( newpasswd , lnewpasswd .bv_val , lnewpasswd .bv_len );
3369
+ RETVAL_STRINGL ( lgenpasswd .bv_val , lgenpasswd .bv_len );
3372
3370
}
3371
+ } else {
3372
+ RETURN_TRUE ;
3373
3373
}
3374
3374
3375
- ldap_memfree (lnewpasswd .bv_val );
3376
-
3377
- RETURN_TRUE ;
3375
+ ldap_memfree (lgenpasswd .bv_val );
3378
3376
}
3379
3377
/* }}} */
3380
3378
#endif
3381
3379
3382
3380
#ifdef HAVE_LDAP_WHOAMI_S
3383
- /* {{{ proto bool ldap_exop_whoami(resource link , string authzid )
3381
+ /* {{{ proto bool|string ldap_exop_whoami(resource link)
3384
3382
Whoami extended operation */
3385
3383
PHP_FUNCTION (ldap_exop_whoami )
3386
3384
{
3387
- zval * link , * authzid ;
3385
+ zval * link ;
3388
3386
struct berval * lauthzid ;
3389
3387
ldap_linkdata * ld ;
3390
3388
int rc , myargcount = ZEND_NUM_ARGS ();
3391
3389
3392
- if (zend_parse_parameters (ZEND_NUM_ARGS (), "rz/ " , & link , & authzid ) == FAILURE ) {
3390
+ if (zend_parse_parameters (ZEND_NUM_ARGS (), "r " , & link ) == FAILURE ) {
3393
3391
WRONG_PARAM_COUNT ;
3394
3392
}
3395
3393
@@ -3404,16 +3402,13 @@ PHP_FUNCTION(ldap_exop_whoami)
3404
3402
RETURN_FALSE ;
3405
3403
}
3406
3404
3407
- zval_dtor (authzid );
3408
3405
if (lauthzid == NULL ) {
3409
- ZVAL_EMPTY_STRING ( authzid );
3406
+ RETVAL_EMPTY_STRING ( );
3410
3407
} else {
3411
- ZVAL_STRINGL ( authzid , lauthzid -> bv_val , lauthzid -> bv_len );
3408
+ RETVAL_STRINGL ( lauthzid -> bv_val , lauthzid -> bv_len );
3412
3409
ldap_memfree (lauthzid -> bv_val );
3413
3410
ldap_memfree (lauthzid );
3414
3411
}
3415
-
3416
- RETURN_TRUE ;
3417
3412
}
3418
3413
/* }}} */
3419
3414
#endif
@@ -3708,19 +3703,17 @@ ZEND_END_ARG_INFO()
3708
3703
#endif
3709
3704
3710
3705
#ifdef HAVE_LDAP_PASSWD_S
3711
- ZEND_BEGIN_ARG_INFO_EX (arginfo_ldap_exop_passwd , 0 , 0 , 5 )
3706
+ ZEND_BEGIN_ARG_INFO_EX (arginfo_ldap_exop_passwd , 0 , 0 , 4 )
3712
3707
ZEND_ARG_INFO (0 , link )
3713
3708
ZEND_ARG_INFO (0 , user )
3714
3709
ZEND_ARG_INFO (0 , oldpw )
3715
3710
ZEND_ARG_INFO (0 , newpw )
3716
- ZEND_ARG_INFO (1 , newpasswd )
3717
3711
ZEND_END_ARG_INFO ()
3718
3712
#endif
3719
3713
3720
3714
#ifdef HAVE_LDAP_WHOAMI_S
3721
- ZEND_BEGIN_ARG_INFO_EX (arginfo_ldap_exop_whoami , 0 , 0 , 2 )
3715
+ ZEND_BEGIN_ARG_INFO_EX (arginfo_ldap_exop_whoami , 0 , 0 , 1 )
3722
3716
ZEND_ARG_INFO (0 , link )
3723
- ZEND_ARG_INFO (1 , authzid )
3724
3717
ZEND_END_ARG_INFO ()
3725
3718
#endif
3726
3719
0 commit comments