]>
git.ipfire.org Git - thirdparty/openldap.git/log
Kris Zyp [Thu, 27 May 2021 03:43:09 +0000 (21:43 -0600)]
ITS#9564 lmdb: fix race condition freeing spilled pages at end of transaction
Move the freeing of the spilled pages list inside the protection of the
transaction mutex so there is no race condition with another transaction
Howard Chu [Mon, 6 Oct 2025 15:49:25 +0000 (16:49 +0100)]
ITS#10396 lmdb: fix mdb_cursor_del0 with multiple DUPSORT cursors
Use the correct stack index when adjusting other cursors pointing to
the affected page and the DB has a subDB. Broken in ITS#8406.
Howard Chu [Thu, 12 Jun 2025 14:16:00 +0000 (15:16 +0100)]
ITS#10355 lmdb mplay: don't assign to stdin/stdout
Mike Moritz [Wed, 28 May 2025 23:11:38 +0000 (23:11 +0000)]
ITS#10346 lmdb: fix compacting copy with large values
jinyaoguo [Wed, 28 May 2025 01:47:48 +0000 (21:47 -0400)]
ITS#10342 lmdb: fix potential memleak in child txn_begin
Howard Chu [Mon, 7 Apr 2025 15:46:52 +0000 (16:46 +0100)]
More for rawpart
It was ignoring the mapsize recorded in the meta page, and was
redundantly mapping the meta pages.
Howard Chu [Fri, 21 Feb 2025 04:42:03 +0000 (04:42 +0000)]
ITS#10024 lmdb: fix MDB_PREVSNAPSHOT txnid initialization
Howard Chu [Wed, 19 Feb 2025 09:13:46 +0000 (09:13 +0000)]
ITS#10296 lmdb: fix typo in prev commit
kero [Thu, 9 Jan 2025 14:56:00 +0000 (14:56 +0000)]
ITS#10296 lmdb: fix fdatasync on MacOS
Patch from kero, with corrections by hyc
Gary Wicker [Fri, 25 Oct 2024 01:05:00 +0000 (01:05 +0000)]
ITS#10275 mdb_load: add -Q option to use NOSYNC for faster loading
Howard Chu [Wed, 16 Oct 2024 22:28:02 +0000 (23:28 +0100)]
Keep module code in a separate object file
That way programs that don't use these functions won't needlessly
depend on -ldl
Howard Chu [Wed, 16 Oct 2024 22:11:20 +0000 (23:11 +0100)]
Cleanup redundant include
Howard Chu [Wed, 16 Oct 2024 21:50:06 +0000 (22:50 +0100)]
Delete unused module code
Howard Chu [Wed, 16 Oct 2024 21:47:42 +0000 (22:47 +0100)]
Move the crypto module helpers into main liblmdb.
Just makes things easier than using the individual mdb_env_set APIs.
Howard Chu [Wed, 16 Oct 2024 16:36:18 +0000 (17:36 +0100)]
ITS#9920 lmdb: fix page offset when converting subpage to real page
offset needs to account for additional space at page tail
Howard Chu [Mon, 14 Oct 2024 18:40:26 +0000 (19:40 +0100)]
ITS#9920 lmdb: fix data races in rpage decryption
Howard Chu [Mon, 14 Oct 2024 17:54:37 +0000 (18:54 +0100)]
ITS#9920 crypto: use libsodium instead of OpenSSL
Note: even though the same algorithms were used, the data produced by
this module doesn't work with the OpenSSL-based module and vice versa.
Howard Chu [Wed, 25 Sep 2024 19:05:15 +0000 (20:05 +0100)]
Another fix for OpenSSL 3.0+
Should rewrite this module to use libsodium instead.
Howard Chu [Wed, 25 Sep 2024 17:23:31 +0000 (18:23 +0100)]
LMDB: Add a separate mlm_setup0() to separate loading from setup
Howard Chu [Mon, 16 Sep 2024 23:11:22 +0000 (00:11 +0100)]
ITS#9920 lmdb: cleanup prev commit
Howard Chu [Mon, 16 Sep 2024 20:11:08 +0000 (21:11 +0100)]
ITS#9920 lmdb: fix page_split of encrypted page
Andras [Mon, 29 Jul 2024 11:28:16 +0000 (14:28 +0300)]
ITS#10244 win32: Fix passed ptr type
From
dfb3bbed656132456001c5aaca246fd4430e5ef5 ITS#9017
Howard Chu [Mon, 17 Jun 2024 16:06:19 +0000 (17:06 +0100)]
ITS#9378 don't try to print oversized keys in debug msg
Howard Chu [Mon, 3 Jun 2024 20:14:46 +0000 (21:14 +0100)]
LMDB: tweak mdb_load.1 manpage
Add missing -a option to Synopsis
Zach Vonler [Mon, 3 Jun 2024 19:39:02 +0000 (12:39 -0700)]
ITS#10222 LMDB: Updated mdb_dump man page
The -a option to mdb_load makes the previous text obsolete.
Howard Chu [Fri, 3 May 2024 19:43:39 +0000 (20:43 +0100)]
ITS#10212 LMDB: better fix
Howard Chu [Thu, 2 May 2024 15:29:03 +0000 (16:29 +0100)]
ITS#10212 LMDB: init txnid for read-only DBs
Howard Chu [Thu, 4 Apr 2024 06:15:24 +0000 (07:15 +0100)]
ITS#10198 Win32 mdb_strerror - stop passing "ignored" parameter
The M$ docs say the parameter is ignored, but it actually isn't,
and will cause a SEGV if the pointed memory isn't an init'd va_list.
Howard Chu [Tue, 26 Mar 2024 14:50:17 +0000 (14:50 +0000)]
ITS#9037 mdb_page_search: fix error code when DBI record is missing
Use the more relevant MDB_BAD_DBI instead of MDB_NOTFOUND error code
Howard Chu [Fri, 22 Dec 2023 19:55:22 +0000 (19:55 +0000)]
ITS#9378 Add replay tool
Reads a replay log and executes all the write ops
Howard Chu [Fri, 22 Dec 2023 13:14:32 +0000 (13:14 +0000)]
ITS#9378 Add explicit replay logging
Logs essential ops so they can be replayed.
Ignores read ops for now.
Howard Chu [Tue, 26 Dec 2023 01:43:42 +0000 (01:43 +0000)]
More crypto fixups
Howard Chu [Mon, 25 Dec 2023 23:33:43 +0000 (23:33 +0000)]
crypto demo: fixup OpenSSL 3 compat
Clément Renault [Mon, 27 Nov 2023 09:35:15 +0000 (10:35 +0100)]
ITS#10137 LMDB: Allow users to define MDB_IDL_LOGN
Howard Chu [Sun, 5 Nov 2023 17:34:03 +0000 (17:34 +0000)]
ITS#10125 mdb_load: fix cursor reinit in Append mode
Howard Chu [Sun, 27 Aug 2023 14:50:51 +0000 (15:50 +0100)]
ITS#10095 partial revert of ITS#9278
2fd44e325195ae81664eb5dc36e7d265927c5ebc
The patch was incorrect and introduced numerous race conditions.
The original problem was a FreeBSD bug, subsequently fixed:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269277
Howard Chu [Thu, 15 Dec 2022 09:36:58 +0000 (09:36 +0000)]
ITS#9961 LMDB: fix MSVC error
Howard Chu [Mon, 28 Nov 2022 23:56:43 +0000 (23:56 +0000)]
ITS#9920 must account for size of authentication data
When computing amount of free space or fill factor in a page
Howard Chu [Tue, 15 Nov 2022 15:33:48 +0000 (15:33 +0000)]
ITS#9916 liblmdb: use alternate MDB_page2 struct for some accesses
fakepage pointers are only guaranteed to be 2-byte aligned. Use a
2-byte aligned struct definition when referencing 2-byte page members
if a page pointer possibly points to a fakepage.
Howard Chu [Mon, 28 Nov 2022 14:29:53 +0000 (14:29 +0000)]
ITS#9806 LMDB page_split: key threshold depends on page size
32 was chosen for page size of 4KB. Not large nough for 16KB pages.
Mike Hommey [Thu, 3 Feb 2022 23:48:06 +0000 (08:48 +0900)]
ITS#9919 - Mark infrequently used functions as cold rather than manually putting them in a separate section
Mike Hommey [Thu, 6 Jun 2019 00:06:06 +0000 (09:06 +0900)]
ITS#9030 - Use sys/cachectl.h rather than asm/cachectl.h on mips
It also contains the cacheflush function declaration.
Howard Chu [Wed, 21 Sep 2022 19:18:34 +0000 (20:18 +0100)]
Howard Chu [Wed, 21 Sep 2022 16:07:36 +0000 (17:07 +0100)]
ITS#9524 fix loose page tracking
Fixes commit
0e17ba43a818f6bdab7759586e247bae12692c25 , loose pages
that have been dropped from dirty list should no longer be counted.
NikoPLP [Thu, 1 Sep 2022 14:58:19 +0000 (14:58 +0000)]
ITS#9910 fix undefined MDB_FDATASYNC on MacOSX
Broken by
d85fe32 ITS#9372
Joakim Hassila [Thu, 9 Jun 2022 19:48:38 +0000 (21:48 +0200)]
ITS#9861 fix readonly regression from #9017
Kris Zyp [Mon, 2 Nov 2020 20:33:09 +0000 (20:33 +0000)]
ITS#9385 fix using MDB_NOSUBDIR with nonexistent file
Kris Zyp [Wed, 28 Jul 2021 21:03:13 +0000 (15:03 -0600)]
ITS#9618 fix Windows WRITEMAP flush
Revert back to using standard FlushViewOfFile/FlushFileBuffers
to sync data with WRITEMAP mode on Windows
Howard Chu [Mon, 7 Jun 2021 14:54:32 +0000 (15:54 +0100)]
ITS#9574 add mdb_drop to .gitignore
Howard Chu [Fri, 9 Apr 2021 13:06:33 +0000 (14:06 +0100)]
ITS#9496 fix mdb_env_open bug from #8704
Broken in
3585a1eb977326c7e178c53f4eef1fdc81b46e63
Howard Chu [Sun, 14 Mar 2021 14:29:44 +0000 (14:29 +0000)]
ITS#9500 fix regression from ITS#8662
Howard Chu [Sun, 14 Mar 2021 14:25:55 +0000 (14:25 +0000)]
ITS#9376 simplify
Quanah Gibson-Mount [Thu, 18 Feb 2021 16:25:45 +0000 (16:25 +0000)]
ITS#9469 - Typo fixes
Howard Chu [Thu, 11 Feb 2021 11:34:57 +0000 (11:34 +0000)]
ITS#9461 fix typo
Howard Chu [Tue, 9 Feb 2021 23:38:06 +0000 (23:38 +0000)]
ITS#9461 refix ITS#9376
Was setting C_DEL flag gratuitously
Quanah Gibson-Mount [Tue, 12 Jan 2021 19:20:36 +0000 (19:20 +0000)]
Happy New Year!
Kris Zyp [Tue, 20 Oct 2020 14:52:08 +0000 (08:52 -0600)]
ITS#9372 Default to using POSIX semaphores on MacOS
Unless robust is specified (then use SysV)
Kris Zyp [Tue, 20 Oct 2020 14:04:56 +0000 (08:04 -0600)]
ITS#9371 Fix unknown size of void compilation errors
Howard Chu [Wed, 21 Oct 2020 20:24:53 +0000 (21:24 +0100)]
ITS#9376 Fixes for repeated deletes with xcursor
On DUPSORT DBs, must initialize xcursor regardless of whether
caller requested its data. Also in cursor_prev must check whether
cursor index is still within range before using it.
Howard Chu [Fri, 23 Oct 2020 16:47:15 +0000 (17:47 +0100)]
Support db_pagesize in mdb_load
Since setting was added in
de08119a296a4e8569fa04d7bfcbc7b3c2b41f2f
Howard Chu [Mon, 12 Oct 2020 21:55:51 +0000 (22:55 +0100)]
ITS#9364 fix doxygen comment
Howard Chu [Mon, 12 Oct 2020 21:28:27 +0000 (22:28 +0100)]
ITS#9364 Add docs for crypto modules
Howard Chu [Mon, 12 Oct 2020 20:57:05 +0000 (21:57 +0100)]
ITS#9364 Add crypto support to all tools
Using dynamically loaded crypto modules
Howard Chu [Mon, 12 Oct 2020 02:09:48 +0000 (03:09 +0100)]
ITS#9364 use crypto table properly
Howard Chu [Sun, 11 Oct 2020 17:19:10 +0000 (18:19 +0100)]
ITS#9364 tweak crypto sample again
Howard Chu [Sun, 11 Oct 2020 17:17:07 +0000 (18:17 +0100)]
ITS#9364 tweak sample
Cheat with OpenSSL 1.1 internal structures to avoid malloc/free per page
Howard Chu [Sun, 11 Oct 2020 16:29:54 +0000 (17:29 +0100)]
ITS#9364 add sample for authenticated encryption
Howard Chu [Sun, 11 Oct 2020 13:07:26 +0000 (14:07 +0100)]
ITS#9364 add error code texts
Howard Chu [Sun, 11 Oct 2020 12:56:52 +0000 (13:56 +0100)]
ITS#9364 rework crypto API
And add support for per-page checksums. Reserve space for checksum
at tail of page. Pass pgno+txnid as IV input for encryption.
Howard Chu [Sat, 10 Oct 2020 22:32:56 +0000 (23:32 +0100)]
ITS#9017 fixes for encryption
Howard Chu [Sun, 11 Oct 2020 00:32:30 +0000 (01:32 +0100)]
Fix rawpart flag collision
Howard Chu [Sat, 10 Oct 2020 15:29:01 +0000 (16:29 +0100)]
Fix fallthru warning
Howard Chu [Mon, 6 Aug 2018 12:09:37 +0000 (13:09 +0100)]
Add mdb_env_set_pagesize()
Howard Chu [Mon, 11 Jun 2018 09:12:03 +0000 (10:12 +0100)]
More RAWPART support
Use mmap to read and initialize the meta pages, raw device
may not support read/write syscalls.
Howard Chu [Sun, 21 Feb 2016 18:29:40 +0000 (18:29 +0000)]
Preliminary raw partition support
Autodetects that a block device is being used.
Howard Chu [Tue, 16 Jun 2020 18:49:14 +0000 (19:49 +0100)]
ITS#9278 fix robust mutex cleanup for FreeBSD
FreeBSD 11 supports robust process-shared POSIX mutexes,
but requires them to be explicitly destroyed before munmap
Howard Chu [Fri, 24 Apr 2020 23:46:58 +0000 (00:46 +0100)]
ITS#9017 cleanup Windows off_t
Howard Chu [Fri, 24 Apr 2020 14:07:33 +0000 (15:07 +0100)]
ITS#9017 doxygen comment for MDB_FIXEDSIZE
Howard Chu [Fri, 24 Apr 2020 14:03:33 +0000 (15:03 +0100)]
ITS#9017 LMDB: fix off_t usage on Windows
Kris Zyp [Wed, 19 Feb 2020 05:50:41 +0000 (22:50 -0700)]
ITS#9017 LMDB: allow using fixed file size on Windows
Kris Zyp [Wed, 19 Feb 2020 05:49:03 +0000 (22:49 -0700)]
ITS#9017 LMDB: improve Windows sync commit perf
Howard Chu [Thu, 23 Jan 2020 14:50:00 +0000 (14:50 +0000)]
ITS#9155 lmdb: free mt_spill_pgs in non-nested txn on end
Quanah Gibson-Mount [Thu, 9 Jan 2020 16:32:20 +0000 (16:32 +0000)]
Happy New Year!
Howard Chu [Fri, 15 Nov 2019 16:07:51 +0000 (16:07 +0000)]
Silence spurious fallthru warning
Howard Chu [Fri, 15 Nov 2019 16:06:34 +0000 (16:06 +0000)]
ITS#9118 add MAP_NOSYNC for FreeBSD
Howard Chu [Sun, 10 Nov 2019 05:00:47 +0000 (05:00 +0000)]
ITS#8704 add missing opt flags in prev commit
Howard Chu [Mon, 26 Aug 2019 16:51:53 +0000 (17:51 +0100)]
ITS#9068 fix backslash escaping
mdb_load wasn't properly inserting escaped backslashes into the data.
mdb_dump wasn't escaping backslashes when generating printable output.
Kris Zyp [Tue, 16 Apr 2019 02:07:56 +0000 (20:07 -0600)]
ITS#9007 don't free loose writemap pages
Broken in ITS#8756
Ka Ho Ng [Sun, 17 Feb 2019 15:59:56 +0000 (23:59 +0800)]
ITS#8978 Fix mdb_env_open2() failing when getting handle for NTDLL.dll
Always call GetModuleHandleW() with Unicode string, as mdb_fopen() is
calling CreateFileW() already.
Howard Chu [Wed, 30 Jan 2019 23:43:34 +0000 (23:43 +0000)]
ITS#8969 tweak mdb_page_split
Bump up number of keys for which we use fine-grained splitpoint search
Howard Chu [Thu, 17 Jan 2019 18:46:10 +0000 (18:46 +0000)]
IDLs for VL32 must be same size as for 64bit
Howard Chu [Mon, 14 Jan 2019 19:06:20 +0000 (19:06 +0000)]
Happy New Year
Quanah Gibson-Mount [Mon, 14 Jan 2019 18:39:38 +0000 (18:39 +0000)]
Happy New Year!
moneromooo-monero [Tue, 15 May 2018 09:53:13 +0000 (10:53 +0100)]
ITS#8857 document mdb_cursor_del does not invalidate the cursor
Howard Chu [Wed, 29 Aug 2018 00:25:01 +0000 (01:25 +0100)]
ITS#8908 DOC: GET_MULTIPLE etc don't return the key
Unnecessary since these are DUPs, the key will always be the same
Howard Chu [Mon, 6 Aug 2018 12:10:59 +0000 (13:10 +0100)]
ITS#8891 fix M$ WINAPI typedefs
Howard Chu [Fri, 22 Jun 2018 15:30:13 +0000 (16:30 +0100)]
ITS#8756 remove loose pg from dirty list in freelist_save
Howard Chu [Wed, 2 May 2018 16:05:29 +0000 (17:05 +0100)]
ITS#8844 use getpid() in mdb_env_close0()
Howard Chu [Mon, 2 Apr 2018 17:01:19 +0000 (18:01 +0100)]
ITS#8831 move flag init into readhdr
Avoid stomping on flags from 1st readhr invocation
Quanah Gibson-Mount [Thu, 22 Mar 2018 15:20:57 +0000 (15:20 +0000)]
Happy New Year