-
-
Notifications
You must be signed in to change notification settings - Fork 20
Description
This one is bad. Other methods that require an ldap bind to have been made, like Ldap::search()
, check if the connection is already bound and call Ldap::bind()
if not, so users may be accustomed to skipping calling Ldap::bind()
directly in user code. However, Ldap::addAttributes() does not do this, so if the Ldap instance doesn't already have a bound connection, we end up calling ldap_mod_add()
with null
as the ldap resource. Obviously, that doesn't work, but worse, ldap_mod_add returns null
, not false
, when it is given a null
resource, and we only throw an exception if it returns false
. So calling code gets no indication that something is wrong.
#68 and #73 as currently written are also subject to this bug.
I'll submit two PRs for this, one with only new tests that cover this case, and one with tests plus fix.
Originally posted by @mbaynton at zendframework/zend-ldap#75