]>
git.sur5r.net Git - openldap/log
Howard Chu [Fri, 30 Nov 2012 20:47:00 +0000 (12:47 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Fri, 30 Nov 2012 20:45:34 +0000 (12:45 -0800)]
Rename libmdb to liblmdb
Howard Chu [Fri, 30 Nov 2012 20:39:53 +0000 (12:39 -0800)]
Add install target
Howard Chu [Fri, 30 Nov 2012 20:35:05 +0000 (12:35 -0800)]
Rename mdb.h to lmdb.h
Howard Chu [Fri, 30 Nov 2012 20:33:18 +0000 (12:33 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Fri, 30 Nov 2012 20:30:51 +0000 (12:30 -0800)]
Rename libmdb to liblmdb, lmdb.h
Avoid naming conflicts with other mdb* packages. Bump version to 0.9.5
Howard Chu [Thu, 29 Nov 2012 01:13:26 +0000 (17:13 -0800)]
ITS#7455 use freelist for overflow pages
Howard Chu [Wed, 28 Nov 2012 23:34:44 +0000 (15:34 -0800)]
Drop unneeded #include <time.h>
Howard Chu [Wed, 28 Nov 2012 23:34:19 +0000 (15:34 -0800)]
Doc layout tweaks
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
mdb_env_sync(,force=1): Override MDB_MAPASYNC.
With MDB_MAPASYNC, the API provided no way to ensure full sync.
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
mdb_cursor_dbi(): Assume valid args.
It returned 0, which is the freelist DBI and is valid for a few uses.
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
API change: mdb_drop() only accepts del=0 or 1.
This allows for other flag values in the future.
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
API change: mdb_env_set_maxdbs(, *named* DBs).
Let the user specify the number of databases he will actually
use. Adding 2 for FREE_DBI and MAIN_DBI is an internal matter.
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
ITS#7453 Fix reset of MDB_NOSYNC/MDB_NOMETASYNC.
mdb_env_open() with these flags did not open a synchronizing
file descriptor. Thus disabling them later did not work.
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
Tweak MDB_FIXEDMAP handling.
Drop mmap()'s MAP_FIXED flag, so it returns another address instead
of unmapping existing overlapping pages. Verify the returned address.
Hallvard Furuseth [Tue, 27 Nov 2012 22:56:47 +0000 (23:56 +0100)]
Renumber MDB_NOSUBDIR. Check mdb_env_open() flags.
MDB_NOSUBDIR was == MDB_REVERSEKEY. That affected the freelist:
Env flags are stored in mm_flags alias mm_dbs[FREE_DBI].md_flags.
It stays a persistent flag, in case mdb_env_open someday wants
to pick/verify which lockfile to use with the datafile.
Catch bad flags so they will no longer make it into the data file.
Howard Chu [Tue, 27 Nov 2012 22:16:21 +0000 (14:16 -0800)]
ITS#7451 fix back-ldif return on empty dir
Broken by commit
2d1af3f2f7e32eca5ff77e7e018e88d690ba5e79
Howard Chu [Tue, 27 Nov 2012 00:22:27 +0000 (16:22 -0800)]
ITS#7452 fix typo in envflags
Jan Synacek [Mon, 26 Nov 2012 21:49:14 +0000 (13:49 -0800)]
ITS#7431 fix constraint_check_restrict segfault
Howard Chu [Mon, 26 Nov 2012 03:43:49 +0000 (19:43 -0800)]
ITS#7450 enforce SLAPD_MAX_DAEMON_THREADS
Also allow the max to be redefined at compile time. Of course, there is no
legitimate reason to do so.
Howard Chu [Mon, 26 Nov 2012 03:31:14 +0000 (19:31 -0800)]
ITS#7449 fix signedness for index_substr_any_*
Of course, no one would ever have any legitimate reason to set these
items to anywhere near such extreme values in the first place.
Ralf Haferkamp [Wed, 21 Nov 2012 12:41:40 +0000 (13:41 +0100)]
ITS#7428 Use non-blocking IO during SSL Handshake
If a timeout is set, perform the SSL Handshake using non-blocking IO. This way
we can timeout if SSL Handshake gets stuck for whatever reason.
This code is currently hidden behind #ifdefs (LDAP_USE_NON_BLOCKING_TLS) and
disabled by default as there seem to be some problems using NON-blocking
I/O during the TLS Handshake when linking against NSS (either a bug in NSS
itself of in tls_m.c, see discussion on -devel)
This patch adds an additional parameter to ldap_int_poll() in order to indicate
if we're waiting in order to perform a read or write operation.
Ralf Haferkamp [Mon, 19 Nov 2012 13:53:31 +0000 (14:53 +0100)]
ITS#7445 fix deref control exposure
do not expose control until deref overlay is actually instantiated at least
once (see also ITS#6647)
Ralf Haferkamp [Mon, 19 Nov 2012 13:32:50 +0000 (14:32 +0100)]
Fixed insertion of the overlay_remove callback (SLAP_CONFIG_DELETE)
Ralf Haferkamp [Fri, 9 Nov 2012 14:42:48 +0000 (15:42 +0100)]
ITS#7436 slapo-deref: call overlay_register_control in db_open
Howard Chu [Mon, 5 Nov 2012 17:47:03 +0000 (09:47 -0800)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Mon, 5 Nov 2012 13:06:06 +0000 (05:06 -0800)]
ITS#7432 fix typo in mdb_midl_sort
Wasn't pushing the optimal half of the array onto the stack,
thus used more stack than expected -> overrun.
Ralf Haferkamp [Fri, 2 Nov 2012 11:10:43 +0000 (12:10 +0100)]
ldapc++: fix builds with gcc-4.7 (ITS#7281,ITS#7304)
Howard Chu [Fri, 2 Nov 2012 00:56:52 +0000 (17:56 -0700)]
ITS#7426 ignore syncrepl ops
Howard Chu [Thu, 1 Nov 2012 15:36:28 +0000 (08:36 -0700)]
ITS#7427 fix for spurious old entries
Howard Chu [Tue, 30 Oct 2012 23:34:14 +0000 (16:34 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Jan Synacek [Mon, 29 Oct 2012 11:20:25 +0000 (12:20 +0100)]
ITS#7423 Update slapo-constraint tests
Jan Synacek [Thu, 25 Oct 2012 12:23:41 +0000 (14:23 +0200)]
ITS#7418 Fix slapo-constraint: handle uri and restrict correctly
Howard Chu [Thu, 25 Oct 2012 13:55:46 +0000 (06:55 -0700)]
Better fix for MDB_DEBUG tweak -- from hbf
Howard Chu [Thu, 25 Oct 2012 13:54:09 +0000 (06:54 -0700)]
Revert "MDB_DEBUG tweak for old compilers"
This reverts commit
ef2092eac9f35b77eae250801c96dfa515c6d4b2 .
Howard Chu [Thu, 25 Oct 2012 12:28:55 +0000 (05:28 -0700)]
MDB_DEBUG tweak for old compilers
Howard Chu [Wed, 24 Oct 2012 13:53:01 +0000 (06:53 -0700)]
More backend info updates: MDB, NDB
Howard Chu [Wed, 24 Oct 2012 13:38:24 +0000 (06:38 -0700)]
ITS#7421 move olcExtraAttrs to Frontend options
Howard Chu [Tue, 23 Oct 2012 11:49:09 +0000 (04:49 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Tue, 23 Oct 2012 11:48:04 +0000 (04:48 -0700)]
Fix flag checks in mdb_open
Howard Chu [Tue, 23 Oct 2012 11:32:55 +0000 (04:32 -0700)]
fix Windows mdb_env_copy(), WriteFile overflow
Howard Chu [Tue, 23 Oct 2012 00:05:26 +0000 (17:05 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Tue, 23 Oct 2012 00:03:15 +0000 (17:03 -0700)]
Make sure mdb_open flags are committed on main DB
If no data was modified in the txn, mdb_open flag changes were dropped.
Howard Chu [Mon, 22 Oct 2012 23:13:06 +0000 (16:13 -0700)]
Minor cleanup
Howard Chu [Mon, 22 Oct 2012 22:58:46 +0000 (15:58 -0700)]
Fix MDB_PREV
Could return 1 garbage record before actual data, if starting from EOF
Howard Chu [Sat, 20 Oct 2012 16:34:13 +0000 (09:34 -0700)]
ITS#7402 tweak prev commit, use hex for txn IDs
Howard Chu [Sat, 20 Oct 2012 16:27:23 +0000 (09:27 -0700)]
ITS#7402 fix potential txn leak in online indexer
Howard Chu [Sat, 20 Oct 2012 16:25:14 +0000 (09:25 -0700)]
ITS#7402 add txnID to debug output to aid tracing
Howard Chu [Tue, 16 Oct 2012 23:52:13 +0000 (16:52 -0700)]
Tweak output, add free page info
Howard Chu [Tue, 16 Oct 2012 23:22:21 +0000 (16:22 -0700)]
Add mdb_env_info() to retrieve interesting env params
Howard Chu [Tue, 16 Oct 2012 22:28:20 +0000 (15:28 -0700)]
Merge mdb_stata into mdb_stat
Howard Chu [Tue, 16 Oct 2012 21:53:25 +0000 (14:53 -0700)]
Make sure increases of mapsize are persisted
Hallvard Furuseth [Sun, 14 Oct 2012 09:35:09 +0000 (11:35 +0200)]
Fix test060-mt-hot debug level
Hallvard Furuseth [Mon, 15 Oct 2012 15:04:48 +0000 (17:04 +0200)]
ITS#7377 Errorcheck Windows calls and thread keys.
Hallvard Furuseth [Mon, 15 Oct 2012 15:04:43 +0000 (17:04 +0200)]
Explicitly unlock the MDB lockfile on Windows.
Hallvard Furuseth [Mon, 15 Oct 2012 15:04:11 +0000 (17:04 +0200)]
mdb_env_open(): Keep mdb_env_set_flags() flags.
Hallvard Furuseth [Mon, 15 Oct 2012 15:03:46 +0000 (17:03 +0200)]
More for mdb_env_copy().
Fix #define _GNU_SOURCE = 1 to match any command line -D_GNU_SOURCE.
.gitignore += mdb_copy.
Hallvard Furuseth [Mon, 15 Oct 2012 15:03:33 +0000 (17:03 +0200)]
Fix last commit.
Add flag MDB_ENV_ACTIVE instead of using the state of me_lfd.
Require MDB_RDONLY for MDB_ROFS. Swap reader/writer mutex lock.
Howard Chu [Sat, 13 Oct 2012 11:05:00 +0000 (04:05 -0700)]
Support read access on read-only media
Howard Chu [Thu, 11 Oct 2012 23:47:56 +0000 (16:47 -0700)]
Silence warning in prev commit
Howard Chu [Thu, 11 Oct 2012 23:45:42 +0000 (16:45 -0700)]
ITS#7416 make sure to reopen attr DBs after env reopen
Howard Chu [Thu, 11 Oct 2012 19:21:40 +0000 (12:21 -0700)]
Add mdb_copy for backing up a DB environment
Howard Chu [Thu, 11 Oct 2012 15:37:33 +0000 (08:37 -0700)]
ITS#7411 delete trailing whitespace in ldap_get_option.3
Howard Chu [Thu, 11 Oct 2012 14:59:06 +0000 (07:59 -0700)]
ITS#7414 fix slapo-rwm modrdn cleanup
newSup is NULL if it was specified, but same as old Sup.
Hallvard Furuseth [Wed, 3 Oct 2012 19:13:21 +0000 (21:13 +0200)]
Tweak MDB restrictions
Howard Chu [Wed, 3 Oct 2012 16:12:14 +0000 (09:12 -0700)]
ITS#7403, #6296 fix AUTHZ_BACKEND handling
c_authz_cookie should only be set on explicit Bind requests.
Hallvard Furuseth [Wed, 3 Oct 2012 16:08:56 +0000 (18:08 +0200)]
Fix mdb_open() off-by-one error in maxdbs check
Hallvard Furuseth [Wed, 3 Oct 2012 16:06:29 +0000 (18:06 +0200)]
ITS#7377 Wrap fcntl F_SETLK in EINTR loop too.
This can happen even on local filesystems.
Hallvard Furuseth [Wed, 3 Oct 2012 16:06:29 +0000 (18:06 +0200)]
ITS#7377 Catch ftruncate() error
Hallvard Furuseth [Wed, 3 Oct 2012 16:04:07 +0000 (18:04 +0200)]
ITS#7377 Document caveats/troubeshooting.
Howard Chu [Sun, 30 Sep 2012 17:03:21 +0000 (10:03 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Sun, 30 Sep 2012 17:01:57 +0000 (10:01 -0700)]
Fix prev commit
It only worked if the freelist was already non-empty
Howard Chu [Sun, 30 Sep 2012 14:50:56 +0000 (07:50 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Sun, 30 Sep 2012 14:49:30 +0000 (07:49 -0700)]
Fix mdb_drop
if it was the only operation in a txn, it would be ignored.
Jan Synacek [Thu, 23 Aug 2012 11:09:05 +0000 (13:09 +0200)]
ITS#7366 Update slapo-constraint tests
Howard Chu [Thu, 27 Sep 2012 12:07:24 +0000 (05:07 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Thu, 27 Sep 2012 12:01:53 +0000 (05:01 -0700)]
ITS#7385, check further for bad splits
More for
48ef27b6f5c804eca6a9d27f8dd2b4ded376f8af
Our definition of "large" data item needs to be smaller to
handle more cases where a bad split is possible
Howard Chu [Thu, 27 Sep 2012 10:10:46 +0000 (03:10 -0700)]
ITS#7405 note refint is not replicated
Quanah Gibson-Mount [Wed, 26 Sep 2012 23:48:57 +0000 (16:48 -0700)]
Fix MDB objectClass so that MDB will load
Howard Chu [Wed, 26 Sep 2012 16:29:57 +0000 (09:29 -0700)]
ITS#7403 fix idassert non-override mode
Howard Chu [Tue, 25 Sep 2012 11:37:29 +0000 (04:37 -0700)]
More for envflags
If trying to alter a non-resettable flag, just close/reopen the env.
Howard Chu [Tue, 25 Sep 2012 11:31:37 +0000 (04:31 -0700)]
Add envflags for MDB config
allows setting writemap and some other useful flags
Howard Chu [Wed, 19 Sep 2012 13:16:36 +0000 (06:16 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Wed, 19 Sep 2012 13:15:09 +0000 (06:15 -0700)]
Add MDB_GET_CURRENT
return whatever the cursor is currently pointing at
Howard Chu [Tue, 18 Sep 2012 21:40:42 +0000 (14:40 -0700)]
Howard Chu [Tue, 18 Sep 2012 19:37:59 +0000 (12:37 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Tue, 18 Sep 2012 19:36:54 +0000 (12:36 -0700)]
ITS#7394 ignore WRITEMAP if RDONLY
Howard Chu [Mon, 17 Sep 2012 15:21:20 +0000 (08:21 -0700)]
Merge remote-tracking branch 'origin/mdb.master'
Howard Chu [Mon, 17 Sep 2012 14:02:41 +0000 (07:02 -0700)]
More for
48ef27b6f5c804eca6a9d27f8dd2b4ded376f8af
page_split with newindex > split_indx
Howard Chu [Mon, 17 Sep 2012 14:01:28 +0000 (07:01 -0700)]
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:15 +0000 (15:42 +0200)]
ITS#7377 Catch MDB user errors.
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:15 +0000 (15:42 +0200)]
ITS#7377 Catch MDB setup errors and clean up.
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:15 +0000 (15:42 +0200)]
ITS#7364 Limit mdb lock upgrade before sem_unlink.
Do not try shared lock when closing or after error. Track file lock
state to decide. Change meaning of *excl to reflect file lock state.
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:15 +0000 (15:42 +0200)]
ITS#7364 Always sem_unlink() in mdb_env_open().
Drop the sem_unlink() error checks, which could prevent the 2nd
unlink. Instead use O_EXCL in sem_open().
This makes "open+close the database" the API for trying to clean
away the old semaphores, if they were left behind by a previous run.
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:14 +0000 (15:42 +0200)]
ITS#7377 Wrap sem_wait & file locks in EINTR loops
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:14 +0000 (15:42 +0200)]
Remove mdb data races. Use (txnid_t)-1 as "no ID".
Avoid race between numreaders++ and reading numreaders at cleanup. Make
the un-mutexed reset of reader table entry, atomic: Reset mr_pid only.
Instead check mr_pid != 0 in mdb_page_alloc()'s scan for readers.
(txnid_t)-1 as "no ID"-mark avoids a check for mr_txnid != 0.
The scan can stop when seeing an old reader.
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:14 +0000 (15:42 +0200)]
Save pid in MDB_env instead of repeating getpid().
An open MDB environment does not survive or catch fork(),
so repeating getpid() was pointless.
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:14 +0000 (15:42 +0200)]
MDB_WRITEMAP needs no DSYNC descriptor (me_mfd)
Hallvard Furuseth [Mon, 17 Sep 2012 13:42:14 +0000 (15:42 +0200)]
ITS#7363 Preprocessor namespace cleanup.
Rename USE_POSIX_SEM to MDB_USE_POSIX_SEM.
Separate MDB_FDATASYNC from MDB_USE_POSIX_SEM.
Howard Chu [Mon, 17 Sep 2012 13:35:03 +0000 (06:35 -0700)]