Page MenuHomeSolus

Update ldb to 1.3.4 for Samba 4.7.8
ClosedPublic

Authored by ermo on Jul 4 2018, 12:04 PM.
Tags
None
Referenced Files
F11010358: D3231.id8032.diff
Thu, Aug 3, 2:17 AM
F11008358: D3231.diff
Wed, Aug 2, 2:42 AM
F10985742: D3231.id8058.diff
Sun, Jul 23, 10:46 PM
F10894431: D3231.diff
Jul 1 2023, 10:43 AM
F10870084: D3231.diff
Jun 18 2023, 8:24 AM
F10801216: D3231.id8032.diff
May 29 2023, 12:40 AM
F10800891: D3231.id8058.diff
May 28 2023, 10:50 PM
F10800878: D3231.id7994.diff
May 28 2023, 10:44 PM
Subscribers
None

Details

Summary

Updated from 1.1.29

ldb: Version 1.1.30

  • let ldbdump parse the -i option
  • don't allow the reveal_internals control for ldbedit
  • only allow --show-binary for ldbsearch
  • don't let ldbsearch create non-existing files
  • fix ldb_tdb search inconsistencies
  • add cmocka based tests
  • provide an interface for improved indexing for callers like Samba, which will allow much better performance.
  • Makes ldb access to tdb:// databases use a private event context rather than the global event context passed in by the caller. This is because running other operations while locks are held or a search is being conducted is not safe.

ldb: 1.1.31

  • Add efficient function to find duplicate values in ldb messages (this makes large multi-valued attributes in ldb_tdb more efficient)

ldb: version 1.2.0

  • handle one more LDB_FLAG_INTERNAL_DISABLE_SINGLE_VALUE_CHECK case in ldb_tdb
  • fix ldb_tdb locking (performance) problems
  • fix ldb_tdb search inconsistencies by adding read_[un]lock() hooks to the module stack (bug #12858)
  • add cmocka based tests for the locking issues
  • ldb_version.h provides LDB_VERSION_{MAJOR,MINOR,RELEASE} defines
  • protect ldb_modules.h from being used by Samba < 4.7 Note: that this release (as well as 1.1.30 and 1.1.31) may cause problems for older applications, e.g. Samba See https://bugzilla.samba.org/show_bug.cgi?id=12859

ldb: version 1.2.1

  • Bug #12882: Do not install _ldb_text.py if we have system libldb
  • Use libraries from build dir for testsuite
  • Bug #12900: Fix index out of bound in ldb_msg_find_common_values

ldb: version 1.2.2

  • Bug #13017: Add ldb_ldif_message_redacted_string() to allow debug of redacted log messages, avoiding showing secret values
  • Bug #13015: Allow re-index of newer databases with binary GUID TDB keys (this officially removes support for re-index of the original pack format 0, rather than simply segfaulting).
  • Avoid memory allocation and so make modify of records in ldb_tdb faster

ldb: Release 1.2.3

  • Intersect the index from SCOPE_ONELEVEL with the index for the search expression

    This helps ensure we do not have to scan all objects at this level which could be very many (one per DNS zone entry).

    However, due to the O(n*m) behaviour in the LDB index code we only do this for small numbers of matches on the filter tree.

    This behaviour will only be for ldb 1.2 and will not be kept long-term in LDB, versions 1.3.1 and above will instead only intersect when the more efficient GUID index is in use.

    Finally, disallowDNFilter now applies to SCOPE_ONELEVEL banning dn= as a filter string when so configured.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13191

ldb: Release ldb 1.3.0

  • GUID Index support. NOTE: When activated by setting @IDXGUID in the @INDEXLIST dn, all entries in the DB are re-keyed in a way that is NOT visible to ldb 1.2.2 and earlier. To re-key back to the previous format, remove the @IDXGUID attribute from @INDEXLIST using ldb 1.2.2 or later. (ldb 1.2.2 can re-key, but not otherwise read, the new DB format).
  • Give LDB_ERR_CONSTRAINT_VIOLATION, not LDB_ERR_ENTRY_ALREADY_EXISTS when a duplicate value is detected in a unique index
  • Print status information during a > 10,000 entry re-index (as this can be slow)

ldb: version 1.3.1

  • Intersect the index from SCOPE_ONELEVEL with the index for the search expression (bug #13191)
  • smaller/greater comparison tests
  • Show the last successful DN when failing to parse LDIF
  • ldb_index: Add an attriubute flag to require a unique value.
  • silence some clang warnings in picky developer mode

ldb: version 1.3.2

  • Expose the SHOW_BINARY, ENABLE_TRACING and DONT_CREATE_DB flag constants in the python api.
  • Extend dn.is_child_of() test.
  • Don't load LDB_MODULESDIR as a module file.
  • Fix binary data in debug log (bug #13185).

ldb: Release ldb 1.3.3

  • Fix failure to upgrade to the GUID index DB format
  • Add tests for GUID index behaviour

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13306

ldb: version 1.3.4

  • Fix memory leaks and missing error checks (bug 13459, 13471, 13475)
  • Fix fallback to full scan (performance regression) on one-level search (bug 13448)
  • Fix read corruption (missing results) during writes, particularly during a Samba subtree rename (bug 13452)

Depends on D3229, D3230

Closes T6600

Test Plan
  • Compiled against glibc-2.27, python-2.7.15, popt-1.16, talloc-2.1.13, tevent-0.9.36, tdb-1.3.15
  • Compiled and Tested against samba-4.7.8

Diff Detail

Repository
R1610 ldb
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ermo requested review of this revision.Jul 4 2018, 12:04 PM

Configure with --disable-rpath-install per T6626

This revision is now accepted and ready to land.Jul 10 2018, 4:05 PM
This revision was automatically updated to reflect the committed changes.