]> granicus.if.org Git - php/commitdiff
Removing client controls attribute from ldap_exop signature
authorCôme Chilliet <mcmic@php.net>
Thu, 7 Sep 2017 14:29:11 +0000 (16:29 +0200)
committerCôme Chilliet <mcmic@php.net>
Thu, 7 Sep 2017 14:31:03 +0000 (16:31 +0200)
Client controls will not get implemented in php-ldap as
 they are specific to each client ldap lib and most of the
 time unused any way. (servers controls on the other end are used
 and will get implemented)

ext/ldap/ldap.c
ext/ldap/tests/ldap_exop.phpt

index 511db374342b60de2afaca507802b7d29e2ba1b3..a8b9923b10cc429ee8bc16654ca510c8d4129aba 100644 (file)
@@ -3322,11 +3322,11 @@ PHP_FUNCTION(ldap_control_paged_result_response)
 
 /* {{{ Extended operations, Pierangelo Masarati */
 #ifdef HAVE_LDAP_EXTENDED_OPERATION_S
-/* {{{ proto resource ldap_exop(resource link, string reqoid [, string reqdata [, array servercontrols [, array clientcontrols [, string &retdata [, string &retoid]]]]])
+/* {{{ proto resource ldap_exop(resource link, string reqoid [, string reqdata [, array servercontrols [, string &retdata [, string &retoid]]]])
    Extended operation */
 PHP_FUNCTION(ldap_exop)
 {
-       zval *servercontrols, *clientcontrols;
+       zval *servercontrols;
        zval *link, *reqoid, *reqdata, *retdata, *retoid;
        char *lreqoid, *lretoid = NULL;
        struct berval lreqdata, *lretdata = NULL;
@@ -3335,7 +3335,7 @@ PHP_FUNCTION(ldap_exop)
        int rc, msgid, myargcount = ZEND_NUM_ARGS();
        /* int reqoid_len, reqdata_len, retdata_len, retoid_len, retdat_len; */
 
-       if (zend_parse_parameters(ZEND_NUM_ARGS(), "rz|zzzz/z/", &link, &reqoid, &reqdata, &servercontrols, &clientcontrols, &retdata, &retoid) != SUCCESS) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS(), "rz|zzz/z/", &link, &reqoid, &reqdata, &servercontrols, &retdata, &retoid) != SUCCESS) {
                WRONG_PARAM_COUNT;
        }
 
@@ -3344,7 +3344,6 @@ PHP_FUNCTION(ldap_exop)
        }
 
        switch (myargcount) {
-       case 7:
        case 6:
        case 5:
        case 4:
@@ -3358,13 +3357,13 @@ PHP_FUNCTION(ldap_exop)
                lreqoid = Z_STRVAL_P(reqoid);
        }
 
-       if (myargcount > 5) {
+       if (myargcount > 4) {
                /* synchronous call */
                rc = ldap_extended_operation_s(ld->link, lreqoid,
                        lreqdata.bv_len > 0 ? &lreqdata: NULL,
                        NULL,
                        NULL,
-                       myargcount > 6 ? &lretoid : NULL,
+                       myargcount > 5 ? &lretoid : NULL,
                        &lretdata );
                if (rc != LDAP_SUCCESS ) {
                        php_error_docref(NULL, E_WARNING, "Extended operation %s failed: %s (%d)", lreqoid, ldap_err2string(rc), rc);
@@ -3373,7 +3372,7 @@ PHP_FUNCTION(ldap_exop)
 
                /* Reverse -> fall through */
                switch (myargcount) {
-                       case 7:
+                       case 6:
                                zval_dtor(retoid);
                                if (lretoid == NULL) {
                                        ZVAL_EMPTY_STRING(retoid);
@@ -3381,8 +3380,8 @@ PHP_FUNCTION(ldap_exop)
                                        ZVAL_STRING(retoid, lretoid);
                                        ldap_memfree(lretoid);
                                }
-                       case 6:
-                               /* use arg #4 as the data returned by the server */
+                       case 5:
+                               /* use arg #5 as the data returned by the server */
                                zval_dtor(retdata);
                                if (lretdata == NULL) {
                                        ZVAL_EMPTY_STRING(retdata);
@@ -3802,7 +3801,6 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_exop, 0, 0, 2)
        ZEND_ARG_INFO(0, reqoid)
        ZEND_ARG_INFO(0, reqdata)
        ZEND_ARG_INFO(0, servercontrols)
-       ZEND_ARG_INFO(0, clientcontrols)
        ZEND_ARG_INFO(1, retdata)
        ZEND_ARG_INFO(1, retoid)
 ZEND_END_ARG_INFO()
index a80372a5557f47bb4165d3e8fefb94c54237b24a..48038cf230241b4480922bef9688090ec343c526 100644 (file)
@@ -36,10 +36,10 @@ function extract_genpw($retdata)
 
 $userAPassword = "oops";
 
-// ldap_exop(resource link, string reqoid [, string reqdata [, array servercontrols [, array clientcontrols [, string &retdata [, string &retoid]]]]])
+// ldap_exop(resource link, string reqoid [, string reqdata [, array servercontrols [, string &retdata [, string &retoid]]]])
 // bool ldap_parse_exop(resource link, resource result [, string &retdata [, string &retoid]])
 var_dump(
-       ldap_exop($link, LDAP_EXOP_WHO_AM_I, NULL, NULL, NULL, $retdata, $retoid),
+       ldap_exop($link, LDAP_EXOP_WHO_AM_I, NULL, NULL, $retdata, $retoid),
        $retdata,
        $retoid,
        $r = ldap_exop($link, LDAP_EXOP_WHO_AM_I),