Have Net::LDAP::Entry->update() accept options in the LDIF case too. Here they need to be options for Net::LDAP::LDIF->write_entry(). Document the "LDIF" case of Net::LDAP::Entry->update().
This alias helps to clean up the object the same way no matter whether it is a Net::LDAP or a Net::LDAP::LDIF object. This is mainly intended as a convenience function in cooperation with Net::LDAP::Entry->update(). After the creation of the Net::LDAP resp. Net::LDAP::LDIF objects using their respective constructors, changes can be done consistently using Net::LDAP::Entry->update() and the objects can be cleaned up using their bind() method. This comes extremely handy when writing a client that offers the option to simulate writes to the directory. Simply use the Net::LDAP::LDIF object with the methods above the same way you would use the Net::LDAP object, and you will get an LDIF file with the simulated changes.
If not defined, set the SASL property 'ssf' to 0, to avoid the warning "Use of uninitialized value in numeric gt (>) at ..." in Authen::SASL::Perl.pm IMHO the proper way to get this fixed is to fix it Authen::SASL::Perl.pm, so I sent a patch with a fix to Graham.
IO::Socket::SSL's maintainer wants to migrate away from the value "sslv2/3" for IO::Socket::SSL parameter SSL_version, which is where sslversion ends. Adapt documentation and code to the value "sslv23", which is accepted in IO::Socket::SSL since version 0.90 released in 2002. For compatibility purposes still acept "sslv2/3", but convert it to "sslv23".
Net::LDAP supports non-blocking IO using select(2). It also supports LDAPS by using IO::Socket::SSL. The problem is that select(2) isn't enough to see if there is any data on an SSL socket - one must also check if there is any pending data in the SSL buffer that was already read from the socket. Patch by firstname.lastname@example.org
This leads to .gitignore and MYMETA.yml being ignored.