]>
git.sur5r.net Git - openldap/log
Howard Chu [Mon, 13 Jan 2014 19:26:46 +0000 (11:26 -0800)]
ITS#7778 fix regression from #7329
Howard Chu [Sun, 12 Jan 2014 21:43:55 +0000 (13:43 -0800)]
ITS#7783 workaround stupid NSPR bug
free(NULL) is supposed to be safe. "Portable wrapper libraries"
that fail to preserve this behavior are inherently broken.
But then again, this is Mozilla code, so that's redundant.
Quanah Gibson-Mount [Tue, 7 Jan 2014 23:45:08 +0000 (17:45 -0600)]
Merge remote-tracking branch 'origin/mdb.master'
Hallvard Furuseth [Mon, 6 Jan 2014 22:21:54 +0000 (23:21 +0100)]
ITS#7775 Drop <assert.h>, drop/replace assert()s.
db_mid2l_insert(): Move assert to mdb.c.
mdb_cursor_set(): Previous assert cannot fail now.
mdb_cursor_put(): Check mc/key and return EINVAL.
mdb_cursor_dbi(): No error return, so just segfault if cursor==NULL.
Howard Chu [Mon, 6 Jan 2014 22:21:44 +0000 (23:21 +0100)]
ITS#7775 Cleanup mdb_node_del()
Hallvard Furuseth [Mon, 6 Jan 2014 22:17:38 +0000 (23:17 +0100)]
ITS#7775 Add mdb_env_set_assert()
Hallvard Furuseth [Mon, 6 Jan 2014 22:17:38 +0000 (23:17 +0100)]
Add mdb_env_<set,get>_userctx()
Hallvard Furuseth [Mon, 6 Jan 2014 22:17:37 +0000 (23:17 +0100)]
ITS#7377 Invalidate txn on page-allocation errors
This should likely be reverted when all callers handle these errors.
Hallvard Furuseth [Sun, 5 Jan 2014 15:37:26 +0000 (16:37 +0100)]
Wrap __func__ in mdb_func_
Hallvard Furuseth [Sun, 5 Jan 2014 15:26:21 +0000 (16:26 +0100)]
Invalidate the txn on corruption/internal errors
Howard Chu [Fri, 3 Jan 2014 20:40:28 +0000 (12:40 -0800)]
ITS#7775 cleanup unnecessary assert()s
Hallvard Furuseth [Tue, 31 Dec 2013 01:16:19 +0000 (02:16 +0100)]
mdb_page_malloc(): Move VGMEMP_ALLOC before memset
Hallvard Furuseth [Sun, 29 Dec 2013 14:58:21 +0000 (15:58 +0100)]
ITS#7771 mdb_cursor_del0(): Fix xcursor tracking.
Hallvard Furuseth [Sun, 29 Dec 2013 14:57:33 +0000 (15:57 +0100)]
sprintf format: pid_t need not be an int.
Hallvard Furuseth [Sun, 29 Dec 2013 14:09:51 +0000 (15:09 +0100)]
Add mdb_dbg_pgno(): (sub)pagenum for debug output.
Hallvard Furuseth [Sun, 29 Dec 2013 14:09:05 +0000 (15:09 +0100)]
ITS#7772 Reduce spurious sub-page growth.
mdb_cursor_put(): Use free sub-page space added by a
previous put(existing DUPSORT item), if any.
Tweak NUMKEYS code to avoid a new signedness warning.
Hallvard Furuseth [Sun, 29 Dec 2013 13:54:17 +0000 (14:54 +0100)]
ITS#7665 Drop lmdb.h doc on non-overlapping flags.
It was inaccurate and misplaced. Verify it in mdb.c instead.
Hallvard Furuseth [Sun, 29 Dec 2013 13:52:30 +0000 (14:52 +0100)]
ITS#7515 has been fixed.
Hallvard Furuseth [Sun, 29 Dec 2013 13:52:30 +0000 (14:52 +0100)]
Drop UNLOCK_MUTEX_R() on mdb_reader_pid() error
Pierangelo Masarati [Sat, 28 Dec 2013 15:18:10 +0000 (16:18 +0100)]
handle softadd/softdel (internal modifications; ITS#7773)
Pierangelo Masarati [Sat, 28 Dec 2013 10:03:55 +0000 (11:03 +0100)]
fix years old cut'n'paste
Hallvard Furuseth [Sat, 21 Dec 2013 11:31:57 +0000 (12:31 +0100)]
Fix commit "Raise safe max MDB_MAXKEYSIZE."
I.e.
d69d2ce2307e9d0e2167843935c386b05a869c31 , it left out some changes.
Hallvard Furuseth [Wed, 11 Dec 2013 13:40:45 +0000 (14:40 +0100)]
ITS#6758 Rewrite code for contrib:wrap_slap_ops.
Tweak slapd code so wrap_slap_ops can process it: Use pointers
BackendInfo *bi instead of array "func" = &bi->bi_op_bind. In
slapo-chain, keep a slap_operation_t instead of a function ptr.
Hallvard Furuseth [Wed, 11 Dec 2013 13:40:45 +0000 (14:40 +0100)]
ITS#6758 Add SLAP_OP() &co, contrib:wrap_slap_ops.
Add framework for debug macros SLAP_OP(), slap_be_op(),
slap_bi_op() around LDAP-operation backend calls.
contrib/slapd-tools/wrap_slap_ops converts code to use them.
Code compiles as before by default. #define USE_RS_ASSERT
enables debugging, $NO_RS_ASSERT tweaks it. See slapd/result.c.
Howard Chu [Wed, 11 Dec 2013 12:41:48 +0000 (04:41 -0800)]
ITS#7762 shortcut NULL RDNs
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Replace MDB_node.mn_offset[], to ease debugging.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Comment MDB_node, mdb_page_unspill, mdb_update_key
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Fix mdb_reader_list() and its spec.
It and the MDB_msg_func can now return >= 0 for success.
Always return any MDB_msg_func() error result.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Support dynamic max MDB keysize.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:13 +0000 (11:57 +0100)]
Raise safe max MDB_MAXKEYSIZE.
Use a sub-DB for DUPSORT item #1/#2 per key if needed: Not a sub-
page too big for a node, nor an overflow page (which not all DUPSORT
code checks for). Move "insert" code, to avoid non-loop goto upwards.
(This is the commit which needs the change to xdata.mv_size in
commit
9d6e4a916367e85ffdf37b1cb7b5cdb7ac0e15b5 "page sizes".)
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Relax MDB_MAXKEYSIZE for existing data.
Handle keys stored by a liblmdb with a bigger MDB_MAXKEYSIZE.
mdb_get/mdb_del(absent key bigger than our MDB_MAXKEYSIZE)
now return MDB_NOTFOUND instead of MDB_BAD_VALSIZE.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
ITS#7589 Fix me_nodemax and related node sizes.
Change me_nodemax to not count the mp_ptrs[] entry. That's mostly
how it was used. Compare node sizes ">" me_nodemax instead of ">=".
The ">=" was a workaround for confusing sizes with and without the
mp_ptrs[] entry, but broke for nodes with size (old me_nodemax-1).
Explicitly make me_nodemax even. An odd value could break the
comparisons. It was even anyway because MDB_MINKEYS == 2.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
ITS#7589 Fix delete(uneven-sized MDB_DUPFIXED data).
Do not give uneven sizes to the sub-page and the node it lives in.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
put(MDB_MULTIPLE): Skip existing item cleanly.
Don't set dkey.mv_size if mdb won't clear it before next iteration.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Add EVEN(): Micro-optimize "up to multiple of 2".
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Warning cleanup.
Drop unused computed/assigned values.
mdb_page_alloc(): Make "mop_len>0 implies mop!=NULL" provable.
Hallvard Furuseth [Wed, 11 Dec 2013 10:57:12 +0000 (11:57 +0100)]
Clean up mdb_copy.
Support MDB_NOSUBDIR. Catch more errors. Write messages
to stderr, not stdout which the data too may be piped to.
Howard Chu [Wed, 11 Dec 2013 02:08:36 +0000 (18:08 -0800)]
ITS#7761 bail out of search if config is pausing
Howard Chu [Mon, 9 Dec 2013 09:30:30 +0000 (01:30 -0800)]
ITS#7753 use $(MAKE) for tests
Howard Chu [Sat, 7 Dec 2013 16:36:14 +0000 (08:36 -0800)]
ITS#7759 avoid assert in parse_passwdpolicy_control
Howard Chu [Thu, 5 Dec 2013 02:42:49 +0000 (18:42 -0800)]
Fix GET_BOTH_RANGE
On near match, return the matched data.
Howard Chu [Tue, 3 Dec 2013 22:16:20 +0000 (14:16 -0800)]
ITS#7757 plug memleak
Howard Chu [Sat, 30 Nov 2013 01:04:58 +0000 (17:04 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Sat, 30 Nov 2013 01:03:49 +0000 (17:03 -0800)]
ITS#7756 keysizes were wrong in mdb_update_key
Howard Chu [Thu, 21 Nov 2013 19:18:24 +0000 (11:18 -0800)]
ITS#7749 more for prev commit
Howard Chu [Tue, 19 Nov 2013 04:39:35 +0000 (20:39 -0800)]
ITS#7750 fix olcDbConfig modification
Howard Chu [Fri, 15 Nov 2013 05:17:13 +0000 (21:17 -0800)]
Fix typo for Windows
Howard Chu [Fri, 15 Nov 2013 03:16:57 +0000 (19:16 -0800)]
ITS#7749 propagate op->o_extra in syncprov_findbase
Howard Chu [Thu, 14 Nov 2013 11:02:07 +0000 (03:02 -0800)]
ITS#7746 fix for cert with NULL issuerDN
Howard Chu [Tue, 12 Nov 2013 16:35:12 +0000 (08:35 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Tue, 12 Nov 2013 16:10:33 +0000 (08:10 -0800)]
Doc tweak
Measured perf cost of meminit was 7% worst case on an Intel Core2
system. YMMV.
Howard Chu [Tue, 12 Nov 2013 05:01:33 +0000 (21:01 -0800)]
ITS#7743 Fix indexed AND filter
Partially revert
47f6aec61e65afd66bea096887f1cd550b55946e
Was using RANGE_FIRST/RANGE_LAST on an IDL known to *not* be a range.
Howard Chu [Tue, 12 Nov 2013 04:16:49 +0000 (20:16 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Tue, 12 Nov 2013 04:15:54 +0000 (20:15 -0800)]
Bump to 0.9.10
Howard Chu [Tue, 12 Nov 2013 04:08:26 +0000 (20:08 -0800)]
Windows/Win64/MSVC tweaks
Silence warnings, fix broken MinGW64 definitions, etc.
Howard Chu [Tue, 12 Nov 2013 01:44:22 +0000 (17:44 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Tue, 12 Nov 2013 00:35:17 +0000 (16:35 -0800)]
Clarify WRITEMAP / NOMEMINIT
Howard Chu [Mon, 11 Nov 2013 23:09:32 +0000 (15:09 -0800)]
Change default mem init behavior
Init malloc'd memory by default, use #MDB_NOMEMINIT to disable.
Bump version to 0.9.10
Hallvard Furuseth [Thu, 7 Nov 2013 22:41:30 +0000 (23:41 +0100)]
Add MDB_CLEANMEM option.
Initialize unused portions of DB pages, for security or to silence
checkers like Purify and Valgrind. Like BDB configure --enable-umrw.
Hallvard Furuseth [Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)]
Fix MDB_MAXKEYSIZE doc: Account for MDB_DUPSORT.
A node may need room for [key, subpage with 2 items] = 3 keys.
Hallvard Furuseth [Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)]
ITS#7713 Handle bigger OS page sizes
Use DB page size = min(32k, OS pagesize). Previous limit was 8k
(MDB_MINKEYS*MDB_PAGESIZE).
Handle DB pagesize < OS pagesize. That's an I/O pessimization,
but transactions remain atomic: Only writing the MDB_meta must
be atomic, and it fits in one OS page.
Don't truncate desired subpage size: Asssign it to a size_t
(mv_size), not an uint16_t (mp_upper).
Hallvard Furuseth [Thu, 7 Nov 2013 22:38:15 +0000 (23:38 +0100)]
mdb_cursor_put(): Factor out code. Kill a label.
Howard Chu [Thu, 7 Nov 2013 17:37:48 +0000 (09:37 -0800)]
Fix prev commit, cursor depth comparison
Howard Chu [Thu, 7 Nov 2013 00:49:25 +0000 (16:49 -0800)]
Fix cursor_del0 cursor fixup
Skip cursors that aren't as deep as current cursor
Howard Chu [Wed, 6 Nov 2013 17:39:38 +0000 (09:39 -0800)]
ITS#7741 Fix entryDN index lookup
DN notfound is authoritative, don't ignore the result
Quanah Gibson-Mount [Tue, 5 Nov 2013 23:57:43 +0000 (15:57 -0800)]
ITS#7700
Update sections 6.2.2.1, 6.2.3.3
Howard Chu [Tue, 5 Nov 2013 20:59:56 +0000 (12:59 -0800)]
Fix CONFIG_DELETE crash
Closing a connection can abandon its ops without going thru the threadpool,
so make sure to lock the si_ops_mutex before walking the list.
Howard Chu [Tue, 5 Nov 2013 19:49:43 +0000 (11:49 -0800)]
ITS#7735 fix memctx usage in prev commit
Quanah Gibson-Mount [Wed, 30 Oct 2013 17:43:31 +0000 (10:43 -0700)]
Another BDB to MDB bit
Howard Chu [Tue, 5 Nov 2013 15:34:30 +0000 (07:34 -0800)]
ITS#7739 fix for empty nested include
Howard Chu [Tue, 5 Nov 2013 14:47:14 +0000 (06:47 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Jorge Perez Burgos [Tue, 5 Nov 2013 09:12:41 +0000 (10:12 +0100)]
ITS#7740 back-meta: avoid blocking other threads
Don't lock other threads while trying to connect to remote node.
Howard Chu [Tue, 5 Nov 2013 04:00:55 +0000 (20:00 -0800)]
More for #7589
Howard Chu [Sat, 2 Nov 2013 21:20:15 +0000 (14:20 -0700)]
Fix slap_reparse_sync_cookie prototype
Howard Chu [Fri, 1 Nov 2013 18:07:51 +0000 (11:07 -0700)]
ITS#7735 plug memleak
Introduced in commit
48cdd54d9accb9283807ed592369b72654fb302d
Quanah Gibson-Mount [Fri, 1 Nov 2013 16:57:20 +0000 (09:57 -0700)]
ITS#7737 Add a matching rule for OlcDbEnvFlgs
Howard Chu [Fri, 1 Nov 2013 00:37:07 +0000 (17:37 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Fri, 1 Nov 2013 00:31:15 +0000 (17:31 -0700)]
ITS#7589 another mdb_page_split fix
Tweak split_indx check, go one slot further.
Howard Chu [Thu, 31 Oct 2013 23:01:04 +0000 (16:01 -0700)]
ITS#7736 fix regression in ITS#7733 patch
In
d8eccb353b1be7f07e74149dde9a41bb199d74e8
Howard Chu [Mon, 28 Oct 2013 15:04:23 +0000 (08:04 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Mon, 28 Oct 2013 14:25:54 +0000 (07:25 -0700)]
ITS#7733 check cursor index before cursor_del
David Wilson [Mon, 28 Oct 2013 13:58:04 +0000 (06:58 -0700)]
ITS#7734 Add MDB_NORDAHEAD to CHANGELESS.
Howard Chu [Thu, 24 Oct 2013 22:58:24 +0000 (15:58 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Thu, 24 Oct 2013 22:57:17 +0000 (15:57 -0700)]
Bump to 0.9.9
Quanah Gibson-Mount [Mon, 21 Oct 2013 18:02:23 +0000 (11:02 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Mon, 21 Oct 2013 17:29:38 +0000 (10:29 -0700)]
Add mdb_env_get_fd()
Return the environment's filedescriptor. Useful when the caller
is doing their own locking.
Howard Chu [Fri, 18 Oct 2013 20:36:47 +0000 (13:36 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Mon, 14 Oct 2013 16:47:26 +0000 (09:47 -0700)]
Howard Chu [Sat, 12 Oct 2013 23:25:33 +0000 (16:25 -0700)]
ITS#7725 add nordahead envflag
Howard Chu [Sat, 12 Oct 2013 23:21:00 +0000 (16:21 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Sat, 12 Oct 2013 23:20:04 +0000 (16:20 -0700)]
ITS#7725 add MDB_NORDAHEAD flag for env_open
Howard Chu [Sat, 12 Oct 2013 22:30:05 +0000 (15:30 -0700)]
ITS#7692 no-op if target entry doesn't exist
Howard Chu [Sat, 12 Oct 2013 22:26:02 +0000 (15:26 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Ted C. Cheng [Wed, 18 Sep 2013 22:33:17 +0000 (15:33 -0700)]
ITS#7699 fixed one dds start-up assertion failure
Howard Chu [Sat, 12 Oct 2013 20:40:28 +0000 (13:40 -0700)]
ITS#7589 silence warnings
Howard Chu [Sat, 12 Oct 2013 20:31:09 +0000 (13:31 -0700)]
ITS#7589 Fix typo in prev commit
Howard Chu [Sat, 12 Oct 2013 20:19:33 +0000 (13:19 -0700)]
ITS#7589 Cleanup unneeded vars in prev patch
Howard Chu [Sat, 12 Oct 2013 16:34:40 +0000 (09:34 -0700)]
ITS#7589 avoid wasting space in mdb_page_split
Also, check the split point on branch pages as well as leaf pages.
Howard Chu [Fri, 4 Oct 2013 17:22:14 +0000 (10:22 -0700)]
Add MDB_USE_HASH
There may be other uses for it besides semaphore names.
Stef Walter [Thu, 12 Sep 2013 20:59:14 +0000 (22:59 +0200)]
ITS#7695 Fix ldapsearch regression with CLDAP
Don't try to parse the result of a CLDAP bind request. Since these are
faked, no message is actually returned.