This is an automated email from the git hooks/post-receive script.
firstyear pushed a commit to branch master
in repository 389-ds-base.
commit 1c790df928ec3b0644584b3a6ad9ae737e1678b0
Author: William Brown <firstyear(a)redhat.com>
Date: Fri Feb 17 16:28:53 2017 +1000
Ticket 49086 - SDN premangaling broken after SASL change
Bug Description: SDN premangaling is broken after pw_verify change.
This was because we move the verification code to pw_verify, that
requires a target_address *and* a target_spec to look up what backend
we are about to select.
Fix Description: After a pre_bind, reset the target spec.
https://pagure.io/389-ds-base/issue/49086
Author: wibrown
Review by: mreynolds (Thanks!)
---
ldap/servers/slapd/bind.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/ldap/servers/slapd/bind.c b/ldap/servers/slapd/bind.c
index d8811d5..b4bb363 100644
--- a/ldap/servers/slapd/bind.c
+++ b/ldap/servers/slapd/bind.c
@@ -626,6 +626,7 @@ do_bind( Slapi_PBlock *pb )
rc = 0;
/* Check if a pre_bind plugin mapped the DN to another backend */
+ Slapi_DN *target_spec_sdn = operation_get_target_spec(pb->pb_op);
Slapi_DN *pb_sdn;
slapi_pblock_get(pb, SLAPI_BIND_TARGET_SDN, &pb_sdn);
if (!pb_sdn) {
@@ -644,6 +645,14 @@ do_bind( Slapi_PBlock *pb )
goto free_and_return;
}
+ /* pagure 49086, it's too hard to actually try and merge the two SDN values
+ * without corrupting them. As a result, we need to update the target spec
instead.
+ *
+ * It's really important that when we start to rethink pblock, that we kill
this with fire.
+ */
+ slapi_sdn_free(&target_spec_sdn);
+ operation_set_target_spec(pb->pb_op, pb_sdn);
+
/* We could be serving multiple database backends. Select the appropriate one
*/
/* pw_verify_be_dn will select the backend we need for us. */
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.