Skip to content

Latest commit

 

History

History
91 lines (82 loc) · 4.91 KB

CHANGELOG.md

File metadata and controls

91 lines (82 loc) · 4.91 KB

CHANGELOG

0.8.0 (2022-05-21)

  • Properly handle and reap child processes in the LDAP server.
  • Handle POSIX signals sent to the LDAP server / child processes to properly shutdown existing clients.
  • Allow a PSR-3 compatible logging instance to be set on the LDAP server for info / error events.

0.7.0 (2022-01-22)

  • Add the ability to run the LDAP server / client over a UNIX socket.
  • Add the ability to run the LDAP server over an SSL / TLS only socket.
  • Add the ability for the server to handle client paging requests via a handler.
  • Add a helper factory method for creating a proxy LDAP server.
  • The LDAP server handlers can now be set as a class instance in addition to the class FQCN string.
  • When setting the options on the LdapClient you can now choose to force a disconnect at the same time.
  • The criticality for paging can now be set using the "isCritical" method.
  • Add integration tests for the LDAP server / proxy.

0.6.1 (2021-12-11)

  • Support PHP 8.0 / 8.1.
  • Updated PHPDocs for return types / exceptions / etc (@HenkPoley)

0.6.0 (2019-12-14)

  • Add initial SASL support with a limited set of mechanisms (DIGEST-MD5, CRAM-MD5, PLAIN, ANONYMOUS).
  • The Server RequestHandler interface now requires type-hints for all methods.
  • Server request handlers can now return their own RootDSE if they choose to.
  • Added an isValid() method to the Dn class.
  • Added a firstValue() and lastValue() method for attributes.
  • The client and server protocol handlers have been completely refactored.
  • Implemented PHPStan and made fixes necessary to bump it to the max level.
  • Introduced code coverage to CI runs.
  • Moved CI runs into Github Actions.
  • Use PSR-12 coding standards via ECS.

0.5.0 (2019-03-11)

  • Vastly improved memory efficiency and performance in general (especially on large search results).
  • Add a DirSync helper class for Active Directory.
  • Add Active Directory specific controls: ExpectedEntryCount, SetOwner, ADPolicyHints, ShowDeleted, ShowRecycled
  • Add a range retrieval helper class to make it easier to work with ranged results from Active Directory.
  • Add a "rename()" convenience method to the LdapClient.
  • Add a "move()" convenience method to the LdapClient.
  • Add a "getDescription()" method to the Attribute class to retrieve the attribute with all options.
  • Add a "getOptions()" method the the Attribute class to iterate through options for an attribute.
  • Add a "fromArray" method to make constructing entry objects from arrays sound more natural.
  • Calling the LdapClient "read()" method with no arguments will now return the RootDSE by default.
  • Fix an OpenLDAP specific bug in the paging helper class. OpenLDAP does not return a control when aborting paging.
  • Fix an issue with the Socket class not recognizing the certificate authority cert specified in the options.
  • Implement OpenLDAP / Active Directory test servers with test data during CI runs for integration tests via PHPUnit.
  • Moved the Socket classes to their own library so it can be used in other projects.
  • Add more complete documentation for working with Entry objects.

0.4.0 (2018-04-20)

  • Moved ASN.1 to its own library.
  • Add a create convenience method to the LdapClient to create a single LDAP entry.
  • Add a read convenience method to the LdapClient to return a single LDAP entry.
  • Add an update convenience method to the LdapClient to update a single LDAP entry.
  • Add a delete convenience method to the LdapClient to delete a single LDAP entry.
  • Rename searchRead() and searchList() operation methods to read() and list().
  • Throw an exception on referrals by default. Do not allow ignoring them, only following them.

0.3.0 (2018-02-12)

  • Implement referral handling options.
  • Add an LDAP URL parser / object based on RFC 4516.
  • Honor the timeout_read setting in the LDAP client.
  • Better handle remote disconnects / failed reads in the client to prevent hanging under some circumstances.
  • Add magic methods to Entry objects for attribute access.
  • Add an idle_timeout setting to the LDAP server. Default to 600 seconds.

0.2.0 (2017-12-08)

  • Renamed to FreeDSx to avoid naming confusion with the phpds extension.
  • Implement very limited LDAP server functionality.
  • Added a string filter parser based on RFC 4515. Allows creating filter objects from arbitrary string filters.
  • Added a toString() method on filters for displaying their string filter representation.
  • Add a compare() operation method helper to the LdapClient.
  • Corrected the ASN1 encoding of the 'not' filter.
  • Corrected BER encoding indefinite length partial PDU detection.
  • Be more defensive on RDN creation when parsing the string.
  • LDAP clients now throw an OperationException instead of a ProtocolException.
  • Added documentation for the client and server.

0.1.0 (2017-10-22)

  • Tagging initial release. Still under heavy development.