LDIF.pm: check for decoding errors in LWP-based URLs
delete(): return $self if called w/o args
else the example in the docs of $entry->delete->update($ldap) does
not work
LDIF.pm: refactor _write_entry

Allow _write_entry() to take a list entries interspersed with options-pairs.
(i.e. _write_entry($e1, control => $c1, $e2 control = > [ $c2a, $c2b ], ...).

The goal is to
a) keep compatibility with existing code
b) to make it possible to pass options specific to N:L:E objects
LDIF.pm: implement writing controls
Entry.{pm,pod}: accept options for update() in the LDIF case

With Net::LDAP::LDIF's write_entry() now being able to cope with options,
make use of it in the entry's update method.

This way, controls can be passed to Net::LDAP as well as Net::LDAP::LDIF
objects.
LDIF.pod: document write_entry()'s changed argument lists
t/10ldif-controls.t: tests for writing LDIF controls
Do not set SSL_ciphers to ALL by default

'ALL' cipher list is not the same as OpenSSL default. The 'ALL'
contains more ciphers. Some of them are too weak, some of them
prevents from using SSLv3 protocol. Then used SSLv2 protocol does not
support elliptic curve parameter negotion which can cause
interoperability issues when server picks a curve not supported by the
client.

IO-Socket-SSL-1.955 supports special value '' (empty string) to
designed the OpenSSL default. However older IO-Socket-SSL recommends
not to set the option at all.

Thus this patch sets SSL_ciphers only if Net::LDAP application passes
the ciphers option.

Signed-off-by: Petr Písař <ppisar@redhat.com>
Merge pull request #34 from marschap/next

prepare for next release
Merge pull request #33 from vetinari/entry-delete-fix

delete(): return $self if called w/o args
Merge branch 'next'
Release 0.63
Entry.pod: fix typo
LDIF.pm: fix next outside loop in _write_one_entry

Fix omission from  b5addc3 and convert a "next" outside a loop into a "return".

Thanks for Jim Toth <jjtoth@vcu.edu> for reporting the bug.
RT#96203: LDAP.pm: use correct length for syswrite

Use correct length of bytes to write with syswrite() instead of default 15000
in _sendmesg().

According to the bug reporter, it may cause error in case that the function
WRITE was redefined (e.g. Authen-SASL RT#85294) and did not handle this case
properly.

It should not change anything in Net::LDAP but help other modules not covering
all WRITE cases.
LDAP.pm: set SSL_cipher_list to correct value

Fix commit 11fe2a9 which contains a superfluous defined and thus
set SSL_cipher_list to true instead of the value of the ciphers arg.

Thanks to THOMAS GUEVIN <THOMAS.GUEVIN@adtran.com> for reporting the bug.
Merge pull request #35 from marschap/next

prepare for next release
Release 0.64