maintaining and extending php-ldap...2017/08/06  · maintaining and extending php-ldap 6 patch from...

20
This work is licensed under the Creative Commons Aribution-ShareAlike 3.0 Unported License. Maintaining and extending PHP-LDAP 1 Status and futur of PHP LDAP extension By Côme Chilliet – LDAPCon 2017

Upload: others

Post on 08-Jul-2020

3 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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