]>
git.ipfire.org Git - thirdparty/openldap.git/log
Hallvard Furuseth [Sat, 29 Jul 2017 05:59:01 +0000 (07:59 +0200)]
Drop mdb_page_get() arg 'level', it's always NULL
Hallvard Furuseth [Sat, 29 Jul 2017 05:56:46 +0000 (07:56 +0200)]
Doc fixes
Hallvard Furuseth [Thu, 27 Jul 2017 06:22:34 +0000 (08:22 +0200)]
Less hungry mdb_pages_xkeep()
Skip pages that are dirty only in an ancestor txn
Hallvard Furuseth [Thu, 27 Jul 2017 06:19:03 +0000 (08:19 +0200)]
Keep MC_OVPG() == NULL when not MDB_REMAPPING()
Needed since
418ea8b94e14567ba2be9f9772f38f563a0d7e9c introduced
option MDB_REMAP_CHUNKS.
Howard Chu [Wed, 26 Jul 2017 20:37:40 +0000 (21:37 +0100)]
ITS#8699 more for cursor_del ITS#8622
Set C_DEL flag on reinit'd subcursor
Howard Chu [Wed, 26 Jul 2017 19:52:31 +0000 (20:52 +0100)]
Fix
418ea8b94e SEGV on spilled ovpg
Don't spill an ovpg that is referenced in a cursor
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Drop P_DIRTY, and MDB_WRITEMAP dirty/spill lists
mt_workid = mt_txnid when WRITEMAP, so dirty pages == "spilled"
pages and mdb_page_flush() does nothing.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
mp_txnid = page state, avoids searching dirty_list
In nested txns, check mp_txnid to see which txn dirtied the page.
This change will also let us remove the P_DIRTY flag, and keep
some flags in (dirty page).mp_txnid if we should need it.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Demo - move P_DIRTY to P_ADM_FLAGS, page_dirty()
...to have something substantial to test P_ADM_FLAGS with,
at least until we drop the P_DIRTY flag.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Divide page flags in P_ADM_FLAGS and the rest
P_ADM_FLAGS flags are tied to the page, even through page_loose-alloc.
OTOH mdb_page_split() should only duplicate the relevant flags.
This is just the code for the feature, P_ADM_FLAGS is 0 for now.
We'll need it for P_HIDESPILL later.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Drop unnecessary searches in the spill lists
Check with IS_MUTABLE() if an MDB_page is spilled, instead of
searching spill lists. When unspilling, skip parent spill lists.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Skip unnecessary mdb_page_get()s when spilling
Do not bring in pages merely to see if they should be skipped.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Protect freelist at end of mdb_freelist_save()
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Use mdb_page_loose() more
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Verify final loose_count in mdb_txn_commit()
Mismatch may indicate that pages leaked or got used twice
in the same snapshot.
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
mdb_page_touch: Always set MDB_TXN_ERROR on error
Hallvard Furuseth [Tue, 25 Jul 2017 19:27:36 +0000 (21:27 +0200)]
Fix mdb_enctest()
Accept a partial ovpage. I.e. decryption of the beginning
should not depend on the data at the end.
Make the key and IV less regular. (Divisor 67 has period>64.)
Hallvard Furuseth [Tue, 25 Jul 2017 19:07:14 +0000 (21:07 +0200)]
Move misplaced OVERFLOW_NOTYET code
...so it would set pgno,txnid in the MDB_dovpage, not the actual ovpage
Hallvard Furuseth [Tue, 25 Jul 2017 19:03:48 +0000 (21:03 +0200)]
Fix broken mdb_page_get(ovpage) optimization
Hallvard Furuseth [Tue, 25 Jul 2017 18:17:21 +0000 (20:17 +0200)]
Fix last commit - sizeof(pgno_t) and C90 compat
Howard Chu [Tue, 25 Jul 2017 14:34:03 +0000 (15:34 +0100)]
Scaled back on overflow page work
Still keeping page header at top of overflow page for now
Howard Chu [Mon, 17 Jul 2017 12:02:00 +0000 (13:02 +0100)]
checkpoint - moving overflow page headers
Moving headers outside of overflow page.
Howard Chu [Sun, 2 Jul 2017 16:13:48 +0000 (17:13 +0100)]
Data format change: add txnid to page header
Hallvard Furuseth [Sat, 1 Jul 2017 06:04:59 +0000 (08:04 +0200)]
Trivial encryption when $LMDB_FLAGS = "e"
Hallvard Furuseth [Sat, 1 Jul 2017 11:15:37 +0000 (13:15 +0200)]
Get flags from $LMDB_FLAGS when MDB_TEST
Now we don't need to tweak the code of callers to test encryption.
Howard Chu [Fri, 30 Jun 2017 15:30:29 +0000 (16:30 +0100)]
Save/restore enc IV in page 0
Howard Chu [Fri, 30 Jun 2017 14:42:38 +0000 (15:42 +0100)]
Plug some information leaks
Zero out decrypted pages before freeing them.
Do proper init on reused loose pages.
Howard Chu [Thu, 29 Jun 2017 17:22:34 +0000 (18:22 +0100)]
Add test code for remap / encryption
Howard Chu [Thu, 29 Jun 2017 15:18:52 +0000 (16:18 +0100)]
Page-level encryption support
Currently encrypts all but the meta pages
Still needs to store/retrieve the initialization vector
Hallvard Furuseth [Sat, 1 Jul 2017 16:57:09 +0000 (18:57 +0200)]
Rename mdb_env_close0() -> mdb_env_close_active()
Hopefully we'll remember now what goes in which function.
Howard Chu [Thu, 29 Jun 2017 15:07:17 +0000 (16:07 +0100)]
Optimization for mdb_rpage_get()
The caller already knows if it's using an overflow page, so
pass the number of expected pages in instead of having to
map the page first and check the count there.
Howard Chu [Thu, 1 Jun 2017 16:48:04 +0000 (17:48 +0100)]
RPAGE_CACHE is now dynamically selectable
Behavior is controlled by MDB_REMAP_CHUNKS envflag
Remapping is always enabled in MDB_VL32
Howard Chu [Sat, 27 May 2017 14:37:14 +0000 (15:37 +0100)]
Add new MDB_RPAGE_CACHE def
Separate 32/64 dependency from rpage buffer mechanism
Howard Chu [Fri, 2 Oct 2020 12:25:52 +0000 (13:25 +0100)]
ITS#9361 prevent CSN from being generated for purge deletes
Quanah Gibson-Mount [Tue, 22 Sep 2020 19:41:16 +0000 (19:41 +0000)]
ITS#8618 - Remove deprecated -h and -p options to client tools
Quanah Gibson-Mount [Thu, 1 Oct 2020 16:41:34 +0000 (16:41 +0000)]
ITS#8872 - Rename configure.in to configure.ac
Howard Chu [Thu, 1 Oct 2020 13:26:48 +0000 (14:26 +0100)]
ITS#9342 delta-syncL ignore add of already existing entry
if the entryCSN is older. Previous patch breaks if writes are
received out of order, e.g. during a refresh.
Ondřej Kuzník [Wed, 30 Sep 2020 18:31:40 +0000 (19:31 +0100)]
ITS#9295 Do not replace 'op'
Ondřej Kuzník [Wed, 30 Sep 2020 18:25:56 +0000 (19:25 +0100)]
ITS#9359 Do not create an empty add
Ondřej Kuzník [Wed, 30 Sep 2020 18:25:26 +0000 (19:25 +0100)]
ITS#9359 Adjust test to trigger issue
Howard Chu [Wed, 30 Sep 2020 09:15:36 +0000 (10:15 +0100)]
ITS#9342 delta-sync: ignore add if entryCSN is too old
This check is only needed for ops received without a CSN in their cookie.
This only occurs when the ops completed out of order on the provider.
Howard Chu [Wed, 30 Sep 2020 09:51:22 +0000 (10:51 +0100)]
Partially Revert "ITS#8486 use kbtree for sessionlog"
This mostly reverts commit
1915cb968ab3eed2bbd0104a12c8b90b1cdebd99 .
Too many concurrency issues. Retains the improvement to
syncprov_sessionlog_cmp
Howard Chu [Tue, 29 Sep 2020 07:22:55 +0000 (08:22 +0100)]
ITS#9358 Fix reqStart normalizer
Don't truncate trailing zeroes in reqStart/reqEnd timestamps
Ondřej Kuzník [Fri, 25 Sep 2020 11:29:14 +0000 (12:29 +0100)]
ITS#9348 Stop using plain strerror()
Quanah Gibson-Mount [Tue, 22 Sep 2020 21:21:19 +0000 (21:21 +0000)]
ITS#8636 - Fix DESC for deltaCRL attribute
Quanah Gibson-Mount [Tue, 22 Sep 2020 19:11:06 +0000 (19:11 +0000)]
ITS#8341 - Add matching rule to the namingContexts attr
Howard Chu [Thu, 24 Sep 2020 14:12:48 +0000 (15:12 +0100)]
ITS#8486 use kbtree for sessionlog
Saves about 20% CPU time and RAM
Ondřej Kuzník [Tue, 22 Sep 2020 20:20:15 +0000 (20:20 +0000)]
ITS#8486 Protect tavl_* calls in play_sessionlog
Howard Chu [Sat, 19 Sep 2020 12:35:47 +0000 (13:35 +0100)]
ITS#8486 Minor play_sessionlog cleanup
Fix logmsg uuidstr.
Shortcut finding start of playback.
Allow dup CSNs in log, but with different UUIDs. All
non-present deletes in a refresh use the same CSN.
Ondřej Kuzník [Thu, 26 Oct 2017 11:00:20 +0000 (12:00 +0100)]
ITS#8486 Switch sessionlog to use TAVL
Quanah Gibson-Mount [Fri, 25 Sep 2020 00:07:23 +0000 (00:07 +0000)]
ITS#9348 - regenerate configure
Ondřej Kuzník [Thu, 24 Sep 2020 14:51:41 +0000 (15:51 +0100)]
ITS#5422 Save errno before passing it to Debug()
Howard Chu [Wed, 16 Sep 2020 21:55:50 +0000 (22:55 +0100)]
ITS#9348 cleanup strerr/sys_errlist detection
Howard Chu [Wed, 16 Sep 2020 14:33:13 +0000 (15:33 +0100)]
ITS#9348 replace all uses of STRERROR with AC_STRERROR_R
Avoid using sys_errlist unless there's no other choice
Howard Chu [Wed, 23 Sep 2020 13:58:37 +0000 (14:58 +0100)]
ITS#9354 cleanup watcher
After initial contact, don't exit if a server goes down.
Also, don't wait forever for responses, use a timeout and
mention when a timeout occurs.
Simplify csn/sid handling, we know the max we expect so just
allocate the space in advance and keep a fixed sid to slot
mapping.
Ondřej Kuzník [Wed, 23 Sep 2020 07:17:56 +0000 (08:17 +0100)]
ITS#9355 Propagate errors from overlay_entry_get_ov
Howard Chu [Tue, 22 Sep 2020 11:18:52 +0000 (12:18 +0100)]
ITS#8102 syncrepl: only use trylock on the cn=config DB
Quanah Gibson-Mount [Mon, 21 Sep 2020 20:55:18 +0000 (20:55 +0000)]
ITS#9351 - Regenerate configure
Quanah Gibson-Mount [Thu, 17 Sep 2020 15:45:23 +0000 (15:45 +0000)]
ITS#9351 - Always build back-monitor as a static backend
Howard Chu [Sat, 19 Sep 2020 23:56:34 +0000 (00:56 +0100)]
ITS#9354 Tool for monitoring slapd status
Howard Chu [Sun, 20 Sep 2020 15:27:34 +0000 (16:27 +0100)]
ITS#9353 fix monitor_back_register_database for empty suffix DB
Use the correct database entry instead of the frontendDB entry
Quanah Gibson-Mount [Thu, 17 Sep 2020 15:37:33 +0000 (15:37 +0000)]
ITS#6749 - Change configure monitor warning to DEBUG CONFIG instead of DEBUG ANY
Howard Chu [Thu, 17 Sep 2020 19:18:20 +0000 (20:18 +0100)]
ITS#9352 syncrepl: fix syncrepl_op_modify on entry with no entryCSN
Gabriel Buades [Wed, 16 Sep 2020 12:11:24 +0000 (14:11 +0200)]
ITS#9349 slapd-mdb: optimize index delete
Performance improvement for indexed attributes removal
Howard Chu [Thu, 17 Sep 2020 14:22:01 +0000 (15:22 +0100)]
ITS#9339 Fix syncrepl_monitor_init for dynamic monitor backend
Calling from backend.c only works if back-monitor is a static backend
Howard Chu [Wed, 16 Sep 2020 22:27:45 +0000 (23:27 +0100)]
Silence stupid warnings
Quanah Gibson-Mount [Wed, 16 Sep 2020 20:32:39 +0000 (20:32 +0000)]
Fix code indentation for recent changes
Howard Chu [Wed, 16 Sep 2020 14:08:52 +0000 (15:08 +0100)]
ITS#9348 don't declare sys_errlist if not present
If HAVE_SYS_ERRLIST is false, nothing uses them anyway, so the
declarations serve no purpose. Just breaks the compile if the
library actually defines them (and we are avoiding using them).
Howard Chu [Mon, 14 Sep 2020 22:21:14 +0000 (23:21 +0100)]
ITS#9345 fix for cmdline cookie
Previous commit could cause cmdline cookie to be ignored
Howard Chu [Mon, 14 Sep 2020 23:35:52 +0000 (00:35 +0100)]
ITS#9015 syncprov: fix for zero-length suffix
If the "" glue entry exists and lacks a contextCSN, must perform
an additional search to be sure the DB is otherwise empty. If so,
skip creating the contextCSN.
Quanah Gibson-Mount [Sat, 12 Sep 2020 04:59:37 +0000 (04:59 +0000)]
ITS#9344 - Fix TLS_PEERKEY_HASH_FAIL evaluation
Howard Chu [Sun, 13 Sep 2020 06:45:28 +0000 (07:45 +0100)]
ITS#9338 alternate fix
Don't resume pending ops unless there are no other threads
waiting to write
Howard Chu [Sun, 13 Sep 2020 07:37:05 +0000 (08:37 +0100)]
ITS#9345 disable test058 again
Howard Chu [Sat, 12 Sep 2020 20:49:43 +0000 (21:49 +0100)]
ITS#9346 Fix test063 to handle more servers
Howard Chu [Sat, 12 Sep 2020 20:38:20 +0000 (21:38 +0100)]
ITS#9345 syncrepl: call check_syncprov on freshly started consumer
Quanah Gibson-Mount [Sat, 12 Sep 2020 04:58:12 +0000 (04:58 +0000)]
ITS#9209 - Fix previous commit for command invocation
Quanah Gibson-Mount [Sat, 12 Sep 2020 04:40:46 +0000 (04:40 +0000)]
ITS#9209 - Fix command invocation
Howard Chu [Fri, 11 Sep 2020 23:14:19 +0000 (00:14 +0100)]
ITS#9043 Fix new log msg crashes
Solaris stdio hates NULL pointers
Howard Chu [Fri, 11 Sep 2020 22:47:15 +0000 (23:47 +0100)]
ITS#8054 fix etime calculation
Was overlooked in
a0cc1d9655da112a4d19cddf821460a4dedeed1c
Quanah Gibson-Mount [Thu, 3 Sep 2020 21:24:09 +0000 (21:24 +0000)]
Issue#9335 - Skip test if compiled without SASL support
Howard Chu [Thu, 10 Sep 2020 14:35:14 +0000 (15:35 +0100)]
ITS#9339 fix connection address handling
valgrind didn't like accesses to si->si_connaddr
Also fix an array bounds check in ITS#9282 merge_state
Howard Chu [Thu, 10 Sep 2020 14:15:52 +0000 (15:15 +0100)]
ITS#8102, #9330 partially revert
Fix a regression in delta-sync, was returning error on old
CSNs instead of ignoring them
Ondřej Kuzník [Thu, 10 Sep 2020 10:04:29 +0000 (11:04 +0100)]
ITS#9043 Only print sessionlog entries we think will apply
Ondřej Kuzník [Thu, 10 Sep 2020 10:03:37 +0000 (11:03 +0100)]
ITS#9043 Nul-terminate csn string
Howard Chu [Sun, 6 Sep 2020 20:24:47 +0000 (21:24 +0100)]
ITS#9339 fix test049 script
Was re-using rid=002, changed to unique rid
Howard Chu [Sun, 6 Sep 2020 15:25:23 +0000 (16:25 +0100)]
ITS#9339 Add cn=monitor to test063
Just for convenience
Howard Chu [Sun, 6 Sep 2020 15:09:35 +0000 (16:09 +0100)]
ITS#9339 Add syncrepl status to cn=monitor
Shows connection address, refresh/persist state, time of last
connect attempt and received data, and last sent and
received cookies per consumer.
Howard Chu [Sun, 6 Sep 2020 12:43:31 +0000 (13:43 +0100)]
ITS#9339 slapd-monitor: Add schema arc for overlays
Not directly related to syncrepl, but adds a necessary schema arc.
Also add a convenience function for obtaining an entry with known ndn.
Also fix to ignore outbound connections.
Howard Chu [Wed, 9 Sep 2020 16:58:56 +0000 (17:58 +0100)]
ITS#9043 tweak syncprov play_sessionlog logging
Don't log cookiecsn at top, it was already logged on receipt.
Only log the "control csn" and "too old" message once for each sid.
Howard Chu [Wed, 9 Sep 2020 10:46:02 +0000 (11:46 +0100)]
ITS#8102 serialize plain syncrepl
Using cs_pmutex. Reverts the addition of cs_modmutex in ITS#9330,
use cs_pmutex for both delta and plain writes.
Note that plain syncrepl already used cs_pmutex when a cookie CSN
was present in the op. Now it is used for all writes, regardless
of presence of cookie.
Howard Chu [Tue, 8 Sep 2020 20:25:30 +0000 (21:25 +0100)]
ITS#9342 delta-sync: ignore error if deleting an already deleted entry
Lukas Juhrich [Sat, 4 Nov 2017 01:50:44 +0000 (02:50 +0100)]
Issue#8769 - Fix oid search extension syntax in documentation
The option string, e.g. '<oid>=:dn:' is parsed like a LDIF entry starting from
the '=' and replacing the '=' with a dummy variable 'x'. In this case, said
string is 'x:dn:', so the resulting effective value is 'dn:'. This also implies
that base64 values have to be passed in the form '<oid>=::<b64value>'.
Quanah Gibson-Mount [Thu, 3 Sep 2020 18:10:30 +0000 (18:10 +0000)]
ITS#9209 - Use portable command instead of which for determining if binaries are present
Quanah Gibson-Mount [Wed, 2 Sep 2020 18:56:53 +0000 (18:56 +0000)]
Issue#9333 - Delete unused TIMING variable left over from OpenLDAP 2.0
Howard Chu [Fri, 4 Sep 2020 18:44:06 +0000 (19:44 +0100)]
ITS#9338 add regression test
Howard Chu [Fri, 4 Sep 2020 16:49:38 +0000 (17:49 +0100)]
ITS#9338 Add backlog control for testing slapd write waits
Howard Chu [Fri, 4 Sep 2020 13:28:44 +0000 (14:28 +0100)]
ITS#9338 Make sure connection gets rescheduled after write blockage clears up
Howard Chu [Fri, 4 Sep 2020 12:39:00 +0000 (13:39 +0100)]
ITS#9338 syncrepl: Don't reuse existing connection on Refresh fallback
Howard Chu [Thu, 3 Sep 2020 20:30:35 +0000 (21:30 +0100)]
ITS#9334 slapo-ppolicy re-fix ITS#9302
The mutex_lock was being skipped in the lockout case,
but still calling mutex_unlock at the end.
Howard Chu [Thu, 3 Sep 2020 20:08:17 +0000 (21:08 +0100)]
ITS#9201 partial revert