]>
git.sur5r.net Git - openldap/log
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.
Howard Chu [Thu, 10 Oct 2013 17:48:08 +0000 (10:48 -0700)]
ITS#7694 more for IPv6 CLDAP, slapd fix
Stef Walter [Thu, 12 Sep 2013 13:49:36 +0000 (15:49 +0200)]
ITS#7694 Fix use of IPv6 with LDAP_CONNECTIONLESS
LDAP_CONNECTIONLESS code assumed that the size of an peer address
is equal to or smaller than sizeof (struct sockaddr).
Fix to use struct sockaddr_storage instead which is intended for
this purpose. Use getnameinfo() where appropriate so we don't
assume anything about the contents of struct sockaddr