Côme Chilliet
6ac7d313c8
Added support for SORT controls
...
On an openldap server you need the sssvlv overlay for these to work
2017-09-21 10:05:42 +02:00
Côme Chilliet
def30dbde2
Avoid memory leak when creating paged control value
2017-09-21 10:05:42 +02:00
Côme Chilliet
d76d57b887
Fixed ifdef for VLV controls (copy/paste error)
2017-09-21 10:05:42 +02:00
Côme Chilliet
c112b53a60
Added ldap_rename_ext and its test
2017-09-21 10:05:42 +02:00
Côme Chilliet
679442b1d1
Indexing controls by OID when parsing them
2017-09-21 10:05:42 +02:00
Côme Chilliet
9c7666d93a
Avoid returning iscritical field when parsing response controls
...
As stated in RFC4511 Section 4.1.11, this field is always false in
response controls and only makes sense in request controls
2017-09-21 10:05:42 +02:00
Côme Chilliet
d8a7214d8c
Fixed ldap_parse_result comment
2017-09-21 10:05:42 +02:00
Côme Chilliet
ead53aba54
Added ldap_delete_ext and its test
2017-09-21 10:05:42 +02:00
Côme Chilliet
17e490a2e3
Added ldap_mod_*_ext methods for modification with controls
2017-09-21 10:05:42 +02:00
Côme Chilliet
32b51035be
Added ldap_add_ext and preread/postread support and tests
2017-09-21 10:05:42 +02:00
Côme Chilliet
b36342453b
Added ldap_bind_ext to pass controls and get result object
...
ldap_bind_ext allows to pass controls and get result object
from bind operation
Also added a test for it, pretty basic as tests cannot depend upon
ppolicy overlay
2017-09-21 10:05:41 +02:00
Côme Chilliet
9275e05d8e
Improved a bit error handling to avoid passing commands with incomplete controls
2017-09-21 10:05:41 +02:00
Côme Chilliet
3a1ba93066
Added support and test for LDAP_CONTROL_VALUESRETURNFILTER
2017-09-21 10:05:41 +02:00
Côme Chilliet
b5ca0c1c78
Removed client controls alltogether
...
Client controls are ldap client lib specific and all the one
I could find are ignoring client controls anyway.
2017-09-21 10:05:41 +02:00
Côme Chilliet
81b27abac0
Added support for controls in ldap_modify_batch
2017-09-21 10:05:41 +02:00
Côme Chilliet
2b52cb74da
Added controls support to ldap_compare
...
Note: for functions like ldap_compare, ldap_delete, ldap_modify,
a way to get the result object back will need to be added
so that controls returned by the server may be analyzed.
2017-09-21 10:05:41 +02:00
Côme Chilliet
82cc72a3ba
Added controls support to ldap_rename
2017-09-21 10:05:41 +02:00
Côme Chilliet
437c75abcb
Fixed prototypes in comments
2017-09-21 10:05:41 +02:00
Côme Chilliet
93fbbbf5a6
Added controls support to ldap_delete
2017-09-21 10:05:40 +02:00
Côme Chilliet
5ee0fc9b56
Added support for controls in ldap_add, ldap_modify, ldap_mod_*
...
Also added workaround for a bug in ldap_create_assertion_control_value
Made sure failed control creation aborts the operation
And added test for assertion control on ldap_modify
2017-09-21 10:05:40 +02:00
Côme Chilliet
02bd89a552
Added support for assert control value encoding
2017-09-21 10:05:40 +02:00
Côme Chilliet
5691d8bf49
Added controls support to ldap_exop
2017-09-21 10:05:40 +02:00
Côme Chilliet
8de071e0f7
Added controls support to ldap_search, ldap_list and ldap_read.
2017-09-21 10:05:40 +02:00
Côme Chilliet
5ccb31e49e
Added controls support to ldap_parse_result and ldap_exop_passwd
...
Known controls are parsed to and from associative arrays.
Only ppolicy and paged results are implemented for now.
2017-09-21 10:05:40 +02:00
Côme Chilliet
26ccaa39b3
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Removing client controls attribute from ldap_exop signature
2017-09-07 16:33:42 +02:00
Côme Chilliet
e67379399a
Removing client controls attribute from ldap_exop signature
...
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)
2017-09-07 16:31:03 +02:00
Côme Chilliet
28630f7920
Fixed an error in ldap_exop introduced by last commit
2017-09-06 15:05:27 +02:00
Côme Chilliet
3fdeb27739
Improving a bit code quality in ldap_exop function
...
Ideas from 5b3f4c2fb9
The same can be done for the rest of the code,
and synchronous/asynchronous version should be merged when implementing
controls.
2017-09-06 12:56:51 +02:00
Côme Chilliet
f3f25a8446
Merge branch 'PHP-7.2'
...
* PHP-7.2:
Added controls parameters to ldap_exop so that control support can be added later
2017-08-04 18:11:52 +02:00
Côme Chilliet
aa0e402acf
Added controls parameters to ldap_exop so that control support can be added later
2017-08-04 18:10:49 +02:00
Anatol Belski
572429473d
Fix datatypes and warnings
...
Needs more testing yet.
use size_t
add range check and fix warning
more size_t fixes
2017-07-25 19:03:33 +02:00
Côme Chilliet
5e56d050e5
Added ldap_exop_refresh helper for EXOP REFRESH operation on dds overlay
...
ldap_exop_refresh(resource link, string dn, int ttl)
Returns FALSE on failure, newttl on success
2017-07-20 16:16:59 +02:00
Côme Chilliet
a148ee8c7c
Fixed removing all controls by passing an empty array to ldap_set_option
2017-07-11 16:18:33 +02:00
Côme Chilliet
ed8bfcc6ea
Small fix in ext/ldap, Moved vars definitions to the beginning of the block using them
2017-07-10 11:33:08 +02:00
Côme Chilliet
274d84139b
Added constants for known ldap controls OID and tests for ldap_get/set_option for controls
...
Also fixed existing tests which were expecting ldap_get_option to fail on controls
2017-07-05 16:41:52 +02:00
Côme Chilliet
3a09c1246c
Added support for controls to ldap_get_option
2017-07-05 16:41:52 +02:00
Côme Chilliet
3207747b9e
Changed API to avoid using passing result by reference
...
See discussion on internals ML
2017-07-04 10:03:27 +02:00
Côme Chilliet
13062efd02
Removed unused variables left over by LDAP EXOP patch
2017-07-03 12:23:34 +02:00
Côme Chilliet
e05d230e52
Removed TSRMLS_CC instances left over by LDAP EXOP patch
2017-07-03 12:08:24 +02:00
Côme Chilliet
bda80aa332
Swapped position of retoid and retdata as retoid is almost never used
2017-07-03 10:58:13 +02:00
Côme Chilliet
e9001cab46
Removed two step syntax for EXOP helpers, one call workflow is enough
2017-07-03 10:58:13 +02:00
Côme Chilliet
413e9c84f6
Removed TODOs regarding implementing passwd and whoami exops based on ldap_exop
2017-07-03 10:58:13 +02:00
Côme Chilliet
9aa99cc34c
Added constants for standard EXOPs
2017-07-03 10:58:13 +02:00
Côme Chilliet
4652c46245
Removed ldap_refresh function as I’m not sure how to fix/use/test it
2017-07-03 10:58:13 +02:00
Côme Chilliet
e832ce4b22
Fixed ldap_exop and ldap_parse_exop. Only tested them for whoami exop. (see test file)
2017-07-03 10:58:13 +02:00
Côme Chilliet
28530b2f1c
Fixed ldap_parse_exop_whoami and ldap_parse_exop_passwd and added test for them
2017-07-03 10:58:13 +02:00
Côme Chilliet
fdafd68419
Fixed ldap_exop_whoami and added a test for it
2017-07-03 10:58:12 +02:00
Côme Chilliet
ae76c8ba2c
Fixed ldap_exop_passwd and added tests for it
2017-07-03 10:58:12 +02:00
Côme Chilliet
def09c7cab
Fixed building errors in LDAP EXOP
2017-07-03 10:58:12 +02:00
Côme Chilliet
a0920f2822
Added EXOP features based on patch from http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/databases/php-ldap/files/ldap-ctrl-exop56.patch
2017-07-03 10:58:12 +02:00