Commit: Regression in your 389 makefile patches
by Noriko Hosoi
Thanks to Simo for fixing the 389-ds-base Makefile.am.
Pushed his patch to the master branch.
> commit 3c827508f8e177992010011305f78da3b3ab3b25
> Author: Simo Sorce <simo(a)redhat.com>
> Date: Wed Sep 23 15:08:17 2015 -0400
>
> Fix out of tree build
>
> Signed-off-by: Simo Sorce <simo(a)redhat.com>
--noriko
On 09/23/2015 12:16 PM, Simo Sorce wrote:
> On 23/09/15 13:37, Simo Sorce wrote:
>> I know how to fix this, I repored and I am in the process.
>> It is mostly adding some $(srcdir)/ in front of some of the paths
>
> Can you try this patch.
> This changes only Makefile.am so you'll need to run autoreconf -fi
> before a configure.
>
>
> Noriko,
> you'll have to commit also the other files for a full patch to master.
7 years, 6 months
Please review (additional fix): [389 Project] #48188: segfault in ns-slapd due to accessing Slapi_DN freed in pre bind plug-in
by Noriko Hosoi
https://fedorahosted.org/389/ticket/48188
https://fedorahosted.org/389/attachment/ticket/48188/0001-Ticket-48188-se...
git patch file (master) -- Additional fixes based upon the comments by
Rich in comment 24
Description: Additional fixes based upon the comments by
rmeggins(a)redhat.com
(Thank you, Rich!!).
https://fedorahosted.org/389/ticket/48188?replyto=24#comment:24
1. Implemented the case 2)
If the plugin changes the SLAPI_BIND_TARGET_SDN *value*,
we need to select a different backend. It is possible
(but not very useful) for the plugin to change the pointer,
but use the same value.
2. Added an api slapi_be_select_exact which returns NULL if
no matching backend.
On 09/18/2015 11:48 AM, 389 Project wrote:
> #48188: segfault in ns-slapd due to accessing Slapi_DN freed in pre bind plug-in
> -------------------------------------------------+-------------------------
> Reporter: wetpaste | Owner: nhosoi
> Type: defect | Status:
> Priority: major | accepted
> Component: Directory Server | Milestone: 1.3.4.5
> Resolution: | Version: 1.3.3
> Blocked By: | Keywords:
> Review: review? | segfault crash
> Red Hat Bugzilla: | Blocking:
> [https://bugzilla.redhat.com/show_bug.cgi?id=1264224| Ticket origin:
> 1264224] | Community
> -------------------------------------------------+-------------------------
>
> Comment (by rmeggins):
>
> There are two issues
>
> 1) If the plugin changes the SLAPI_BIND_TARGET_SDN *pointer*, we need to
> use it instead of the current `sdn` and `dn`. For this, it is sufficient
> to do `pb_sdn != sdn`.
>
> 2) If the plugin changes the SLAPI_BIND_TARGET_SDN *value*, we need to
> select a different backend. It is possible (but not very useful) for the
> plugin to change the pointer, but use the same value.
>
> I'm also not sure if it is sufficient to call `be =
> slapi_be_select(sdn);`. The bind code sets the be like this:
> {{{
> /* We could be serving multiple database backends. Select the
> appropriate one */
> if (slapi_mapping_tree_select(pb, &be, &referral, errorbuf) !=
> LDAP_SUCCESS) {
> send_nobackend_ldap_result( pb );
> be = NULL;
> goto free_and_return;
> }
> }}}
> Do we need to have similar logic in order to change the backend? What if
> the plugin selects a non-existent backend that causes `be ==
> defbackend_get_backend()`?
>
> We also need to set the new backend in the pblock: `slapi_pblock_set( pb,
> SLAPI_BACKEND, be );`
>
7 years, 6 months