New branch 'private-ticket-359-rhel-6.3' available with the following commits:
commit f92f3a6e91498770aa8e93b6842ba752d4ed279a
Author: Noriko Hosoi <nhosoi(a)totoro.usersys.redhat.com>
Date: Wed May 9 15:39:17 2012 -0700
Trac Ticket #359 - Database RUV could mismatch the one
in changelog under the stress
https://fedorahosted.org/389/ticket/359
Fix description:
. csnplRollUp (csnpl.c) - To get the first committed csndata, if
there are preceded uncommitted csn's in the csnpl list, this
patch skips them and returns the first committed csn.
. llistRemoveCurrentAndGetNext (llist.c) - when the last item
in the list is removed, tail pointer is initialized, too.
. ldbm_back_add, ldbm_back_modrdn (ldbm_add.c, ldbm_modrdn.c) -
make sure SLAPI_RESULT_CODE and SLAPI_PLUGIN_OPRETURN are set
not just when the transaction is started, but in general.
If an error occurs the RESULT_CODE triggers to remove the CSN
from the RUV element.
. plugin_call_func (plugin.c) - when the plugin type is be pre/
post op, respect the fatal error code (-1) instead of OR the
results from all the plugins. The error code -1 is checked
in ldap_back_add and ldbm_back_modrdn to distinguish from the
URP operation bits.
Ported commit f0f74b57f81998a325dc7472b9ea9b44c5ff6439.
(cherry picked from commit ed1ebf66451a16144563d2d3d636fee6451009a4)
commit 409a85203e2185bb69e76532831386103204a41f
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Thu May 3 08:21:53 2012 -0600
Ticket #348 - crash in ldap_initialize with multiple threads
https://fedorahosted.org/389/ticket/348
Resolves: Ticket #348
Bug Description: crash in ldap_initialize with multiple threads
Reviewed by: mreynolds (Thanks!)
Branch: rhel-6.3
Fix Description: ldclt was not calling PR_Init - needed in order to use
PR_CallOnce
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit 9368250f2db4353cec7b489cb48c9c1f192f5c90)
commit feff1524c2864e1dcb347218597f74bdd1b96fcb
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Tue Apr 24 20:09:38 2012 -0600
Ticket #348 - crash in ldap_initialize with multiple threads
https://fedorahosted.org/389/ticket/348
Resolves: Ticket #348
Bug Description: crash in ldap_initialize with multiple threads
Reviewed by: mreynolds (Thanks!)
Branch: master
Fix Description: Protect calls to ldap_initialize() with a mutex to prevent
multiple threads from calling it at the same time.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit 23c088919f66de014ee7f9aad407468e51451405)
(cherry picked from commit 3f73fa545d6e0edb9b4620be057e564ee5067276)
commit 47b11e178ef21b61712462795c154f57210873e0
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Fri Apr 20 20:15:21 2012 -0600
Ticket #347 - IPA dirsvr seg-fault during system longevity test
https://fedorahosted.org/389/ticket/347
Resolves: Ticket 347
Bug Description: IPA dirsvr seg-fault during system longevity test
Reviewed by: nhosoi, mreynolds (Thanks!)
Branch: rhel-6.3
Fix Description: Somehow the DB_MULTIPLE_NEXT pointer is being set to
an invalid value (-5). This causes the next iteration to return memory
that points to before the stack buffer, causing a seg fault. Valid
values for the pointer are > -1. The value -1 is used as the list terminator
value. The code that constructs the buffer is in the libdb function
__bam_bulk in bt_cursor.c. The fix is to check for a value < -1,
assume the page or value has been deleted out from under us, and do
a dbc->get to get the next buffer full, if any. The code also needs to
check for duplicate IDs being returned. In the failure case described
above, it is possible that the last ID returned in the multiple buffer is
the first ID in the next buffer. In that case, we want to skip the ID that
was already added to the IDL.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit 5d45dd8de06aaee3e0a52c85fa5b3e18febd7a27)
commit 1442b8dfe240f6abb9d0e5b582fc2b7e883425dd
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Tue Apr 10 13:49:26 2012 -0600
Ticket #336 - [abrt] 389-ds-base-1.2.10.4-2.fc16: index_range_read_ext: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
https://fedorahosted.org/389/ticket/336
Resolves: Ticket #336
Bug Description: [abrt] 389-ds-base-1.2.10.4-2.fc16: index_range_read_ext: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
Reviewed by: nhosoi (Thanks!)
Branch: rhel-6.3
Fix Description: previous fix had a typo and failed index tests
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
BZ: 808770
(cherry picked from commit a50f8c048801dfa50b692055aa7eabd7486a0051)
(cherry picked from commit 182ab2e0229fc3bd66b6c0301a9c564f5afcac68)
commit e373134642dd23848c50be56f173b8bd34c03c4d
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Sat Apr 7 09:05:18 2012 -0600
Ticket #336 - [abrt] 389-ds-base-1.2.10.4-2.fc16: index_range_read_ext: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
https://fedorahosted.org/389/ticket/336
Resolves: Ticket #336
Bug Description: [abrt] 389-ds-base-1.2.10.4-2.fc16: index_range_read_ext: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
Reviewed by: nhosoi (Thanks!)
Branch: rhel-6.3
Fix Description:
1) Entries can be deleted out from under a search operation. The range read
code was not handling this situation correctly. The code should notice that
the index query was empty, and continue to the next highest key in the range.
2) DB cursor c_close() functions can return DB_LOCK_DEADLOCK that must be
reported to the higher level operation functions. If not, then subsequent
operations in the same transaction fail. When a DB_LOCK_DEADLOCK is returned
by any DB update operation in the transaction, the transaction must be aborted
and a new transaction begun before any other transacted db operations can
occur.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
BZ: 808770
(cherry picked from commit d09ce0e3ab2ea24496ee44622b050e007bb3cb8a)
(cherry picked from commit a2fb904458713b493e3b84bafa1771675d1bced9)
commit 4dae58f116cb0541f4d0a8ffc4a4947fce51d12e
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Sat Apr 7 09:05:18 2012 -0600
Bug 808770 - [abrt] 389-ds-base-1.2.10.4-2.fc16: index_range_read_ext: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
https://bugzilla.redhat.com/show_bug.cgi?id=808770
Resolves: bug 808770
Bug Description: [abrt] 389-ds-base-1.2.10.4-2.fc16: index_range_read_ext: Process
/usr/sbin/ns-slapd was killed by signal 11 (SIGSEGV)
Reviewed by: ???
Branch: rhel-6.3
Fix Description:
1) Entries can be deleted out from under a search operation. The range read
code was not handling this situation correctly. The code should notice that
the index query was empty, and continue to the next highest key in the range.
2) DB cursor c_close() functions can return DB_LOCK_DEADLOCK that must be
reported to the higher level operation functions. If not, then subsequent
operations in the same transaction fail. When a DB_LOCK_DEADLOCK is returned
by any DB update operation in the transaction, the transaction must be aborted
and a new transaction begun before any other transacted db operations can
occur.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit dcb46ca16114e51108c1a0549235af5623f7596b)
commit 0af193c3a5c5bac9b77b933de3ba6fc96c310b3f
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Tue Mar 13 11:45:32 2012 -0600
Ticket #305 - Certain CMP operations hang or cause ns-slapd to crash
https://fedorahosted.org/389/ticket/305
Resolves: Ticket #305
Bug Description: Certain CMP operations hang or cause ns-slapd to crash
Reviewed by: nkinder, nhosoi (Thanks!)
Branch: rhel-6.3
Fix Description: This addresses the hang part, which I incorrectly assumed
was related to the crash part. The code using vattr_map_sp_next() was causing
an infinite loop (and hang) by passing the list head every time rather than
the previous next pointer.
In addition, LDAP compare operations were not working if a vattr service
provider was in effect for an attribute, and there was a real value for
the attribute in the entry. The rc code was being set to -1 to indicate
no vattr service providers provided the value, but it was not being reset
to 0 when the value was found in the actual entry. The fix is to reset
rc to 0 (success) and *result to 0 (compare false) when testing the real
attribute.
Platforms tested: RHEL6 x86_64
Flag Day: no
Doc impact: no
(cherry picked from commit 55135e37a9e330f084ab7d254306cbf155526b25)
(cherry picked from commit f00c678e36c138a7991b6c3c4780d40af30dc7c4)
commit 48776fe36afe559ee21cd450154805a2f30ee1de
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Thu Mar 1 18:50:05 2012 -0700
memleak in normalize_mods2bvals
do not re malloc the berval again - only need to do it once
Reviewed by: nhosoi (Thanks!)
(cherry picked from commit f6e4d3d0d4313ef9b4396ab8433a1c260989274b)
(cherry picked from commit b05139ba374e947fad681d6c97af5dc3800c4bda)
commit 5d1a743db2ecbe93d7c5892be2912997f5a1b78e
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Thu Mar 1 18:47:34 2012 -0700
memleak in mep_parse_config_entry
pass in value to slapi_sdn_new_dn_passin() so that entry->template_sdn
will own the memory
Reviewed by: nhosoi (Thanks!)
(cherry picked from commit 54fbe0b3b3669a0379a4b0a50769b4855539c225)
(cherry picked from commit c0eea24cb59f234903839604dd1be521897c3c58)
commit d7e36b3dd5f023aa209109c8974dffc0d07e7542
Author: Rich Megginson <rmeggins(a)redhat.com>
Date: Wed Feb 29 17:27:32 2012 -0700
handle null smods
Under certain error conditions, smods will be NULL at the end of the function.
Do not call passout if smods is NULL.
Reviewed by: nhosoi (Thanks!)
(cherry picked from commit afd6b1fd63c48642dd050e0e821b3d7c69fc4991)
(cherry picked from commit 90bc9eb924e373f38ad1a8ccd25aecd74a2799e0)
commit 86045935a2f9ef3dd3d727cad9b468d7398393d5
Author: Mark Reynolds <mareynol(a)redhat.com>
Date: Fri Mar 2 11:51:58 2012 -0500
Ticket #305 - Certain CMP operations hang or cause ns-slapd to crash
Bug Description: There is a potential double free in cos_cache_query_attr(). If you
run concurrent search or compares its very easy to crash the
server in this code
Fix Description: Moved the DN normalization into the cache rebuilding code.
https://fedorahosted.org/389/ticket/305
(cherry picked from commit 142c8f0fe93d77990df8ce991a8020918276ddd8)
(cherry picked from commit b9ab70a3594830daed65035031520f6d310b2540)