Without this, my code ends up getting Undefined subroutine &Net::LDAP::Util::ldap_error_desc called at /usr/share/perl5/Net/LDAP/Message.pm line 112, <DATA> line 476. Cheers, Dominic. -- Dominic Hargreaves, Systems Development and Support Team Computing Services, University of Oxford
Hi. t/05dsml,t of perl-ldap-0.38 fails on Win32 due to the lack of "binmode". The attached patch would fix the issue. Thanks.
- Fix ASN parsing of syncRequestValue, syncDoneValue and syncInfoValue (attributes with default value are threated as optional values) - Renamed syncInfoValue ASN name to match RFC - Fixed parsing of SyncDone and SyncRequest: avoid emptying the value - Corrected Net::LDAP::Intermediate::SyncInfo parsing - Enable Net::LDAP::Intermediate::SyncInfo - Moved catching of IntermediateMessage from LDAP::Search to LDAP::Message (this is not specific to searches)
But the patch also triggers an error if no control is actually used: controls.0.type is undefined at /usr/lib/perl5/vendor_perl/5.10.0/Net/LDAP/Message.pm
here's a patch for Net::LDAP. I tried to connect to an LDAP server, but it failed within IO::Socket::SSL with a "Invalid certificate authority locations" error. However, IO::Socket::SSL only stores those kinds of errors in $IO::Socket::SSL::SSL_ERROR, which Net::LDAP did not check, so all I got was an "Operations error". This patch should fix that.
…ture Also, change ->error method to ->pp_error so as to no override the ->error method in the base class
Hi, This patch implements Intermediate Message and RFC 4533. Notes: - The only intrusive change is in lib/Net/LDAP/Search.pm - Net::LDAP::Intermediate::SyncInfo is not enabled by default (see lib/Net/LDAP/Intermediate.pm line 18) as there are decoding errors within ASN (see my previous mail). Waiting for feedback before (I hope) inclusion. Regards Mathieu Parent
In bind(), if the SASL client_start call fails, the exact error message is swallowed, and the user gets a generic "Local error" message back. The error handling looks like this: my $initial = $sasl_conn->client_start; return _error($ldap, $mesg, LDAP_LOCAL_ERROR, "$@") unless defined($initial); This looks like a copy & paste from a few lines above, where errors creating $sasl_conn are caught by an eval. In this case, there is no eval, and "$@" will always be empty. To return the exact SASL error message to the caller, I think the last parameter here should be $sasl_conn->error().
…r(s) using SASL/GSSAPI authentication to use the provided hostname not the canonical name (Patch from Dominic Hargreaves)
In the DIGEST-MD5 case, the final server SASL response is transported in the final bindResponse indicating LDAP_SUCCESS. Patch from Paul Kranenburg
"synchronize", instead of attempting to use an undefined value as a HASH reference. Original change from Mike Dorman <firstname.lastname@example.org>
Essentially this is a valueless control that's passed in to various operations (bind, modify, set_password make sense) and the server is then able to return richer error and warning information in a returned control. I've done some preliminary testing against Isode M-Vault, and it seems to work OK.