maintaining and extending php-ldap...2017/08/06 · maintaining and extending php-ldap 6 patch from...
TRANSCRIPT
![Page 1: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/1.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
1
Status and futur of PHP LDAP extension
By Côme Chilliet – LDAPCon 2017
![Page 2: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/2.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
2
● Working on FusionDirectory since 2011
● Using PHP-LDAP
● Missing features
![Page 3: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/3.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
3
● Using ppolicy through PHP-LDAP
● Extended Operations
● Controls
![Page 4: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/4.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
4
● Bug tickets
● Patches
● Roadmap
![Page 5: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/5.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
5
![Page 6: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/6.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
6
● Patch from 2005 adding EXOP and controls– Ticket opened in 2006– Never merged
● Paged result controls patch from 2007– Merged in 2012 (PHP 5.4)– Limited
● Patch from 2012 to remove deprecated flag● Ticket from 2012 asking for VLV support
![Page 7: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/7.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
7
● Becoming maintainer
● Let’s accept patches!
● Where are they all gone?
![Page 8: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/8.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
8
● Patches are outdated
● Implementing controls
● Chicken and egg situation
![Page 9: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/9.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
9
● Starting slowly
● Removal of deprecated flag– ldap_sort deprecated in PHP7, removed in PHP8
● First break of PHP-LDAP– host:port syntax for ldap_connect
![Page 10: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/10.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
10
Extended Operations in PHP 7.2
resource 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]])
string ldap_exop_whoami(resource $link)
string ldap_exop_passwd(resource $link [, string $user [, string $oldpw [, string $newpw ]]])
int ldap_exop_refresh(resource $link, string $dn, int $ttl)
![Page 11: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/11.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
11
Controls in PHP 7.3● Modified functions: ldap_add, ldap_mod_replace,
ldap_mod_add, ldap_mod_del, ldap_modify, ldap_rename, ldap_compare, ldap_delete, ldap_modify_batch, ldap_parse_result, ldap_search, ldap_list, ldap_read
● Added functions: ldap_add_ext, ldap_bind_ext, ldap_delete_ext, ldap_mod_add_ext, ldap_mod_replace_ext, ldap_mod_del_ext, ldap_modify_ext, ldap_rename_ext
![Page 12: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/12.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
12
![Page 13: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/13.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
13
![Page 14: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/14.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
14
![Page 15: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/15.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
15
![Page 16: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/16.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
16
![Page 17: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/17.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
17
![Page 18: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/18.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
18
![Page 19: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/19.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
19
Futur development for PHP-LDAP:– Encoding help for more controls
– Encoding help for EXOPs?
– Documentation– Your suggestion goes here
![Page 20: Maintaining and extending PHP-LDAP...2017/08/06 · Maintaining and extending PHP-LDAP 6 Patch from 2005 adding EXOP and controls – Ticket opened in 2006 – Never merged Paged](https://reader033.vdocuments.us/reader033/viewer/2022042412/5f2b89bb6842a8400746af13/html5/thumbnails/20.jpg)
This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
Maintaining and extending PHP-LDAP
20
Thank you for your attention
Links:https://bugs.php.net
https://www.fusiondirectory.org
Contact:[email protected]
[email protected]: #php, #php-ldap, #fusiondirectory