Howard Chu
f09ffffcbd
Cleanup warnings
2018-01-25 15:36:00 +00:00
Bradley Baetz
e5ee07785e
ITS#8791 fix OpenSSL 1.1.1 BIO_method compat
...
Use the new methods unconditionally, define helper functions for older versions.
2018-01-25 15:28:51 +00:00
Soohoon Lee
1863245f49
ITS#8484 - Fix MozNSS initialization
2017-12-08 07:00:02 -08:00
Howard Chu
f82ca15a18
ITS#8782 plug memleaks in cancel
2017-12-04 16:00:33 +00:00
Quanah Gibson-Mount
f5da6638ec
ITS#8753, ITS#8774 - Fix compilation with older versions of OpenSSL
2017-11-17 14:30:45 -08:00
Ondřej Kuzník
36da75830f
ITS#8753 Remove extraneous file
2017-11-14 09:28:18 +00:00
Ondřej Kuzník
8e34ed8c78
ITS#8753 Public key pinning support in libldap
2017-11-13 17:24:49 +00:00
Ondřej Kuzník
91ebfc82ea
ITS#8753 Move base64 decoding to separate file
2017-11-13 16:51:01 +00:00
Ondřej Kuzník
3d5a7545b9
Build internal avl testing tools correctly
2017-10-26 11:53:50 +01:00
Josh Soref
10566c8be3
ITS#8605 - spelling fixes
...
* javascript
* kernel
* ldap
* length
* macros
* maintained
* manager
* matching
* maximum
* mechanism
* memory
* method
* mimic
* minimum
* modifiable
* modifiers
* modifying
* multiple
* necessary
* normalized
* objectclass
* occurrence
* occurring
* offered
* operation
* original
* overridden
* parameter
* permanent
* preemptively
* printable
* protocol
* provider
* really
* redistribution
* referenced
* refresh
* regardless
* registered
* request
* reserved
* resource
* response
* sanity
* separated
* setconcurrency
* should
* specially
* specifies
* structure
* structures
* subordinates
* substitution
* succeed
* successful
* successfully
* sudoers
* sufficient
* superiors
* supported
* synchronization
* terminated
* they're
* through
* traffic
* transparent
* unsigned
* unsupported
* version
* absence
* achieves
* adamson
* additional
* address
* against
* appropriate
* architecture
* associated
* async
* attribute
* authentication
* authorized
* auxiliary
* available
* begin
* beginning
* buffered
* canonical
* certificate
* charray
* check
* class
* compatibility
* compilation
* component
* configurable
* configuration
* configure
* conjunction
* constraints
* constructor
* contained
* containing
* continued
* control
* convenience
* correspond
* credentials
* cyrillic
* database
* definitions
* deloldrdn
* dereferencing
* destroy
* distinguish
* documentation
* emmanuel
* enabled
* entry
* enumerated
* everything
* exhaustive
* existence
* existing
* explicitly
* extract
* fallthru
* fashion
* february
* finally
* function
* generically
* groupname
* happened
* implementation
* including
* initialization
* initializes
* insensitive
* instantiated
* instantiation
* integral
* internal
* iterate
2017-10-11 14:39:38 -07:00
Zebediah Figura
cc99da182f
ITS#8508 - Allow ucgendat.c to recognize title-case characters even if they do not have lower-case equivalents
...
I, Zebediah Figura, hereby place the following modifications to OpenLDAP Software (and only these modifications) into the public domain. Hence, these modifications may be freely used and/or redistributed for any purpose with or without attribution and/or other notice.
2017-10-11 14:32:16 -07:00
Nathaniel McCallum
29f6260364
ITS#7532 - Add new function ldap_connect().
...
This function is used to manually establish a connection after
a call to ldap_initialize(). This is primarily so that a file
descriptor can be obtained before any requests are sent for the
purposes of polling for writability.
2017-10-11 14:31:22 -07:00
Jan Vcelak
cbf5f03476
ITS#7389 - MozNSS: load certificates from certdb, fallback to PEM
...
If TLS_CACERT pointed to a PEM file and TLS_CACERTDIR was set to NSS
certificate database, the backend assumed that the certificate is always
located in the certificate database. This assumption might be wrong.
This patch makes the library to try to load the certificate from NSS
database and fallback to PEM file if unsuccessfull.
2017-10-06 13:59:07 -07:00
Ian Puleston
46c93e41f4
ITS#8167 Fix non-blocking TLS with referrals
2017-10-06 13:57:13 -07:00
Quanah Gibson-Mount
35a880c53e
ITS#8687 - EGD is disabled by default in OpenSSL 1.1. We need to comment out this block if it is not detected. Particularly affects cross compilation.
2017-10-06 13:48:40 -07:00
sca+openldap@andreasschulze.de
90835da72f
ITS#8578 - remove unused-variables in RE24 testing call (2.4.45)
2017-10-06 10:45:08 -07:00
Jan Vcelak
19fd969d21
ITS#7374 - MozNSS: better file name matching for hashed CA certificate directory
...
CA certificate files in OpenSSL compatible CACERTDIR were loaded if the
file extension was '.0'. However the file name should be 8 letters long
certificate hash of the certificate subject name, followed by a numeric
suffix which is used to differentiate between two certificates with the
same subject name.
Wit this patch, certificate file names are matched correctly (using
regular expressions).
2017-10-06 10:44:13 -07:00
Jan Vcelak
acc5b88661
ITS#7373 - TLS: do not reuse tls_session if hostname check fails
...
If multiple servers are specified, the connection to the first one
succeeds, and the hostname verification fails, *tls_session is not
dropped, but reused when connecting to the second server.
This is a problem with Mozilla NSS backend because another handshake
cannot be performed on the same file descriptor. From this reason,
hostname checking was moved into ldap_int_tls_connect() before
connection error handling.
2017-10-06 10:44:07 -07:00
Hallvard Furuseth
ff2d7cc798
ITS#8733 Allow a raw integer to be decoded from a berval
2017-09-28 14:15:06 +01:00
Hallvard Furuseth
62811e8f65
ITS#8733 Allow extraction of the complete ber element
2017-09-28 14:14:55 +01:00
Quanah Gibson-Mount
43a039eba4
ITS#7428 - Non-blocking TLS is not compatible with MOZNSS
2017-09-26 10:59:08 -07:00
Ondřej Kuzník
a8f01cc885
ITS#8638 Add a recursive mutex to libldap_r for libevent
...
Most thread implementations suppport a native recursive mutex, use that
where possible (especially when a regular mutex is recursive already).
Also provide a macro for applications to test whether they can use the
lock functions interchangeably.
2017-09-26 16:26:33 +01:00
Quanah Gibson-Mount
c1512eea58
Fix typo "errror" -> "error"
2017-09-08 12:03:02 -07:00
Howard Chu
01a5eeac1d
ITS#8727 plug ber leaks
2017-09-08 16:35:32 +01:00
Howard Chu
738723866e
ITS#8717 call connection delete callbacks
...
When TLS fails to start
2017-09-06 21:46:09 +01:00
Howard Chu
af92b8d2ca
ITS#8705 fix service pathname
...
Strip trailing space of last pathname component, if any. Not first.
2017-08-03 12:42:21 +01:00
Howard Chu
a58c01317c
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2017-06-01 17:52:15 +01:00
Howard Chu
60d500206a
Release 0.9.21
2017-06-01 17:51:10 +01:00
Ryan Tandy
431c4af526
ITS#8648 init SASL library in global init
2017-05-07 21:29:44 +00:00
Ryan Tandy
e437b12277
ITS#8648 check result of ldap_int_initialize in ldap_{get,set}_option
2017-05-07 20:16:25 +00:00
Ryan Tandy
7b5181da8c
ITS#8650 retry gnutls_handshake after GNUTLS_E_AGAIN
2017-05-06 22:50:13 +00:00
Howard Chu
38ac129e3a
Fix pool_retract signature
...
Omitted from e12ca8b6fe
2017-04-21 14:39:17 +01:00
Quanah Gibson-Mount
42bc6ed991
ITS#8634 - Fix DES API function calls to current DES API
2017-04-14 12:27:14 -07:00
Howard Chu
9e051001d4
Add GnuTLS support for direct DER config of cacert/cert/key
...
Followon to b402a2805f
2017-04-10 00:21:08 +01:00
Howard Chu
13c39b98b5
Fixup handle_pause()
...
Return -1 if running on the main thread - which means there
are no worker threads to pause.
2017-04-09 15:39:44 +01:00
Howard Chu
2e011eeb67
Fixup cacert option
2017-04-09 15:39:13 +01:00
Howard Chu
83fb515555
Fixup cacert/cert/key options
...
Add get_option support, allow delete by setting a NULL arg.
2017-04-09 14:49:48 +01:00
Howard Chu
b402a2805f
Add options to use DER format cert+keys directly
...
Instead of loading from files.
2017-04-09 00:13:42 +01:00
Quanah Gibson-Mount
eb8f1a7247
ITS#8353, ITS#8533 - Cleanup for libldap_r
2017-04-07 13:39:11 -07:00
Quanah Gibson-Mount
6ced84af79
ITS#8353, ITS#8533 - Fix libldap_r compilation
2017-04-06 15:12:02 -07:00
Quanah Gibson-Mount
01cbb7f4c6
ITS#8353, ITS#8533 - Ensure that the deprecated API is not used when using OpenSSL 1.1 or later
2017-04-06 11:47:06 -07:00
Ondřej Kuzník
e56a849e5d
ITS#8625 Separate Avlnode and TAvlnode types
...
Switch AVL_CHILD/AVL_THREAD values and set Avlnode bits to AVL_CHILD for
better compatibility between avl and tavl as suggested by Howard.
2017-03-29 14:52:44 +01:00
Howard Chu
8b780915d9
ITS#8622 fix xcursor after cursor_del
...
Re-fix 6b1df0e4c7
from ITS#8406
2017-03-23 21:11:07 +00:00
Howard Chu
e12ca8b6fe
Fixes for multiple threadpool queues
...
Remove poolq_hash, it wasn't distributing work evenly to the queues.
Just walk through all queues and use the one with smallest
active+pending count. Since pool_retract also relied on the hash,
a different means of locating the thread to retract was needed.
Add pool_submit2 which returns the threadpool task structure,
and record which poolq this task lives on.
2017-03-15 11:13:09 +00:00
Howard Guo
4962dd6083
ITS#8529 Avoid hiding the error if user specified CA does not load
...
The TLS configuration deliberately hid the error in case that
user specified CA locations cannot be read, by loading CAs from default
locations; and when user does not specify CA locations, the CAs from default
locations are not read at all.
This patch corrects the behaviour so that CAs from default location are used
if user does not specify a CA location, and user is informed of the error if
CAs cannot be loaded from the user specified location.
2017-02-22 09:56:17 -08:00
Howard Chu
9773f43b11
ITS#8585 Fail ldap_result if handle is already bad
2017-02-07 13:00:05 +00:00
Howard Chu
e8c7a365b9
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2017-01-14 19:24:33 +00:00
Howard Chu
a87c8fd8c9
Further fix f8ce8a8271
...
Fully revert the change to GET_MULTIPLE
2017-01-14 19:23:22 +00:00
Howard Chu
2e1d10472c
0.9.20 still baking
2017-01-12 13:36:35 +00:00
Howard Chu
6a1ee5feec
Fix f8ce8a8271
...
GET_MULTIPLE was broken
2017-01-12 13:36:12 +00:00
Howard Chu
7036dce36e
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2017-01-11 16:23:54 +00:00
Howard Chu
65b4c49dd3
Release 0.9.20
2017-01-11 16:19:33 +00:00
Howard Chu
aa5c04aba8
Happy New Year
2017-01-11 16:18:03 +00:00
Howard Chu
2bf650d95e
ITS#8533 OpenSSL 1.1.0c compat
2017-01-11 14:12:45 +00:00
Howard Chu
6f7dbb65a6
ITS#8557
2017-01-11 11:23:26 +00:00
Howard Chu
ab18b27d7b
Tweak cursor_next C_EOF check
...
Allow C_EOF flag to be stale
2017-01-11 11:22:26 +00:00
Howard Chu
c97f4ed1ae
ITS#8557 fix mdb_cursor_last
...
Optimize mdb_page_search_root(PS_LAST) when cursor is already near
last position, ignoring C_EOF flag for now.
2017-01-11 11:21:34 +00:00
Howard Chu
307a2e02cd
RE 0.9.20
2017-01-06 19:50:36 +00:00
Howard Chu
4f61f42810
ITS#8558 fix mdb_load with escaped plaintext
2017-01-06 19:50:09 +00:00
Quanah Gibson-Mount
1df85d3427
Happy New Year!
2017-01-03 12:36:47 -08:00
Howard Chu
cdfc9dc8a9
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-12-28 18:37:40 +00:00
Howard Chu
14cff072ec
Release 0.9.19
2016-12-28 18:36:01 +00:00
Howard Chu
6cf793c286
ITS#8554
2016-12-28 18:33:10 +00:00
Howard Chu
74d64d0eb2
ITS#8554 kFreeBSD is like BSD
...
Doesn't have POSIX robust mutexes - GNU userland on BSD kernel
2016-12-28 18:32:14 +00:00
Hallvard Furuseth
9db2b6e128
More MDB_node doc
2016-12-21 21:51:43 +01:00
Hallvard Furuseth
a4976c12e5
Doxygen fixes. Use DISTRIBUTE_GROUP_DOC.
...
- DISTRIBUTE_GROUP_DOC makes doxygen give several fields the
same doc: mn_hi + mn_lo in MDB_node.
- With mdb_mutex_t + mdb_mutexref_t, instead split them up.
2016-12-21 21:51:09 +01:00
Howard Chu
7895f46229
More 0.9.19 updates
2016-12-21 13:02:00 +00:00
Hallvard Furuseth
bb08f63833
ITS#8504 Fix prev commit: mc_error, #ifdef SIGPIPE
...
Never clear mc_error, we could lose a failure in the other thread.
2016-12-15 22:27:33 +01:00
Lorenz Bauer
894e88bf89
ITS#8504 mdb_env_copyfd2(): Don't abort on SIGPIPE
...
Return EPIPE instead.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
e8e8293359
ITS#8542 mdb_dbi_open(): Protect mainDB cursors
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
47393f4ea2
doxygen cleanup
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
2c3b019e5a
Note functions which must set MDB_TXN_ERROR on failure
...
Other functions depend on them to do so.
For mdb_node_read(), instead remove such a dependence.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
8de0788b9c
Only set me_mfd if needed. Drop unused read access.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
e911ad64b9
ITS#8505 Clarify fork() caveat, mdb_env_get_fd(), flock->fcntl.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
6e81d4071b
ITS#8505 Protect parent from fork()-pthread_exit()
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
eb1a307e4a
ITS#8505 Set FD_CLOEXEC for me_mfd,env_copy as well
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
9c76e95dbe
Move opening files to mdb_fopen()
...
No change in functionality.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
3faef632a0
Factor filename handling out to mdb_fname_*()
...
No change in functionality, except needs less mallocing.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
f2ecddbcf7
ITS#7992 Tighter utf8_to_utf16(), fix errcodes
...
The 0xFFFD check seems due to misleading MultiByteToWideChar() doc.
Bad UTF-8 gives 0xFFFD in the output string, not the return value.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
e674f8241c
Clean up strange fcntl result check
...
...and check !MDB_CLOEXEC in an 'if' rather than '#if'
to match its non-zero usage.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
bffe2ebcba
Drop spurious Errcode() call
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
9036e261c4
ITS#7682 F_NOCACHE: Allow error, skip any O_DIRECT
...
We can run without F_NOCACHE if it fails. And we do not know
what combining it with O_DIRECT means, if a system has both.
2016-12-15 22:27:33 +01:00
Howard Chu
56b81e6d57
ITS#8489 reset cursor EOF flag in cursor_set
...
It usually gets done anyway, but one of the fastpath shortcuts
bypassed this step.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
38564c92da
Clean up MDB_USE_ROBUST #defines
...
Make explicit and default nonzero equivalent. Parenthesize.
2016-12-15 22:27:33 +01:00
Hallvard Furuseth
590792f31b
Fix mdb_page_list() message
2016-12-15 22:27:33 +01:00
Howard Chu
b95a2dc333
Fix mdb_audit() printf format
2016-12-15 22:27:32 +01:00
Howard Chu
831e70565e
ITS#8481 make shared lib suffix overridable
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
7dab84978c
Comment MDB_page
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
b92a4816bf
Doc fixes: VALID_FLAGS, mm_last_pg, mt_loose_count
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
b922a5a086
Silence warning for initializer "mdb_copy my = {0}"
...
1st struct member was not a scalar.
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
14ca16034a
ITS#8209 MDB_CP_COMPACT: Handle empty or broken DB
...
Preserve DB flags (use metapage#1) when main DB is empty.
Fail if metapage root != actual root in output file.
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
1d86235047
ITS#8209 MDB_CP_COMPACT: Threading/error handling
...
Handle errors. Fix cond_wait condition so mc_new
is the sole control var. Drop specious cond_waits.
Do not look at 'mo' while copythr writes it.
Don't know if posix_memalign() pointer is defined after failure.
Some _aligned_free() doc seems to say arg NULL = user error.
2016-12-15 22:27:32 +01:00
Howard Chu
f24d7d2c83
Add MDB_PREV_MULTIPLE (collected mdb.master changes)
...
Logical counterpart to GET_MULTIPLE, NEXT_MULTIPLE
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
fe2b1cd731
Factor out refreshing sub-page pointers
2016-12-15 22:27:32 +01:00
Howard Chu
6b1df0e4c7
More for ITS#8406 (xcursor fixups)
...
Revert excess cursor fixup
xcursor fixup depends on init state
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
b8c1877be3
Cleanup: Add flag DB_DUPDATA, drop DB_DIRTY hack
2016-12-15 22:27:32 +01:00
Hallvard Furuseth
b57bb99fa6
Pass cursor to mdb_page_get(), mdb_node_read().
...
No change in behavior.
2016-12-01 21:56:49 +01:00
Hallvard Furuseth
7a8d0f6953
Fix comment: SysV semaphores -> Posix semaphores
2016-12-01 21:56:49 +01:00
Howard Chu
369b99a460
WIN64 needs off_t redefined too
2016-06-15 20:40:07 +02:00
Hallvard Furuseth
c2f6f04dba
lmdb.h Caveats: Reserved vs. actual mem/disk usage
2016-06-15 20:37:56 +02:00
Howard Chu
7a30ce8c08
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-06-15 11:44:41 +01:00
Howard Chu
13ecac78cd
ITS#8339, #8424
2016-06-15 11:43:46 +01:00
Hallvard Furuseth
d886593193
mdb_env_setup_locks: Plug mutexattr leak on error
2016-06-15 11:41:14 +01:00
Howard Chu
21ed2bd4c9
ITS#8339 Solaris 10/11 robust mutex fixes
...
Check for PTHREAD_MUTEX_ROBUST_NP definition (this doesn't work
on Linux/glibc because they used an enum). Zero out mutex before
initing.
2016-06-15 11:34:35 +01:00
Howard Chu
b785bfbe61
ITS#8424 init cursor in mdb_env_cwalk
2016-06-15 11:33:53 +01:00
Hallvard Furuseth
09e74f9056
Comment ovpage code in mdb_cursor_put()
2016-06-15 11:30:22 +01:00
Howard Chu
7e7ed7b171
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-05-04 10:48:34 +01:00
Howard Chu
27f6160db4
RE 0.9.19
2016-05-04 10:47:32 +01:00
Howard Chu
dda2ac0a1b
ITS#8412 fix NEXT_DUP after cursor_del
2016-05-04 10:45:18 +01:00
Howard Chu
b46fc3e438
ITS#8406 fix xcursors after cursor_del
...
Don't leave them uninit'd if they now point at a valid DUP node
2016-05-04 10:45:06 +01:00
Howard Chu
f9cdc4f032
mdb_drop optimization
...
If we know there are no sub-DBs and no overflow pages, skip leaf scan.
2016-05-04 10:44:56 +01:00
Howard Chu
0820431975
ITS#8393 fix MDB_GET_BOTH on non-dup record
2016-05-04 10:44:46 +01:00
Howard Chu
798f020c59
Tweak Win32 errmsg buffer
2016-05-04 10:44:35 +01:00
Howard Chu
283f3ae171
ITS#8385 Fix use-after-free with GnuTLS
2016-03-12 11:03:29 +00:00
Howard Chu
ff24e57ad4
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-02-05 21:23:01 +00:00
Howard Chu
ad8488cfac
Release 0.9.18
2016-02-05 21:22:15 +00:00
Howard Chu
b054c23c5d
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-02-04 17:36:48 +00:00
Hallvard Furuseth
60580aa678
ITS#7992 Fix memleak in prev change
2016-02-04 17:35:38 +00:00
Howard Chu
a27a95571d
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-02-02 19:42:40 +00:00
Howard Chu
6bb6d5e3c6
ITS#8353 more for OpenSSL 1.1 compat
...
tmp_rsa callback has been removed from OpenSSL 1.1
Use new X509_NAME accessor function to retrieve DER bytes
2016-01-31 03:29:28 +00:00
Howard Chu
ea7d99d970
Happy New Year
2016-01-30 12:55:03 +00:00
Quanah Gibson-Mount
6c4d6c880b
Happy New Year!
2016-01-29 13:32:05 -06:00
Howard Chu
207a43dac2
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-01-29 00:57:31 +00:00
Howard Chu
eb5a99832b
ITS#8363
2016-01-28 04:22:26 +00:00
Howard Chu
c322c4c76c
ITS#8363 Fix off-by-one in mdb_midl_shrink
2016-01-28 04:21:56 +00:00
Howard Chu
f3a7bf79db
ITS#8353 partial fix
...
Use newly added SSL_CTX_up_ref()
Still waiting for X509_NAME accessor
2016-01-26 18:06:46 +00:00
Howard Chu
528b256e09
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-01-24 11:39:13 +00:00
Howard Chu
c06c3c7732
ITS#8355, doc update
2016-01-24 11:38:35 +00:00
Howard Chu
6c0900c353
ITS#8355 fix subcursors
...
make sure C_DEL gets reset in subcursor after it moves.
2016-01-24 11:32:49 +00:00
Howard Chu
90a07a398b
Update WRITEMAP doc
2016-01-23 16:56:46 +00:00
Howard Chu
f2d0aa7d22
ITS#8353 partial fixes
...
ERR_remove_state() is deprecated since OpenSSL 1.0.0
Use X509_NAME_ENTRY_get_object() instead of direct access.
2016-01-21 18:05:42 +00:00
Hallvard Furuseth
81d0d29bbc
ITS#8334, mdb_copy
2016-01-09 09:10:55 +01:00
Howard Chu
05709ce6fa
Fixups for env_copy with large files
...
wsize was being truncated to 32bits on Windows.
Only try to write 1GB at a time on Windows64;
larger writes fail with ERROR_WORKING_SET_QUOTA.
2016-01-09 09:03:44 +01:00
Howard Chu
935a90dfc4
MinGW warning cleanup: _MSC_VER -> _WIN32.
...
From 1ba5adb2ec
"MDB_VL32 preparation".
2016-01-09 08:59:09 +01:00
Hallvard Furuseth
25fd09df6d
ITS#8334 Fix MDB_APPENDDUP vs. rewrite(single item)
2016-01-06 20:52:48 +01:00
Howard Chu
13a8b6110a
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2016-01-04 19:37:49 +00:00
Howard Chu
03f1c12bbe
ITS#8336
2016-01-04 19:35:40 +00:00
Howard Chu
fd7bfbc0df
ITS#8336 fix page_search_root assert on FreeDB
...
Let "illegal" branch pages thru on the FreeDB - the condition
is only temporary and will be fixed by the time rebalance finishes.
2016-01-04 19:33:07 +00:00
Howard Chu
ac6947401b
MDB_RESERVE doc
...
Add mdb_put text to mdb_cursor_put description for people who
fail to draw logical conclusions.
2015-12-22 18:32:37 +00:00
Howard Chu
71f1a1c320
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-12-19 23:09:33 +00:00
Howard Chu
e8760b474d
ITS#7992 cleanup, new docs, mdb_dbi_open cleanup
2015-12-19 23:06:34 +00:00
Howard Chu
3fd0d5fb80
Add Getting Started doc
2015-12-19 23:03:55 +00:00
Howard Chu
ec32e90022
ITS#7992 cleanup
...
check for utf8_to_utf16 failures
2015-12-19 23:03:20 +00:00
Hallvard Furuseth
18caeaa70b
mdb_dbi_open(): Catch strdup failure
2015-12-19 23:03:13 +00:00
Howard Chu
04ff967451
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-12-03 19:27:23 +00:00
Howard Chu
14ce42f434
ITS#8169, #8330
2015-12-03 19:14:11 +00:00
Sebastien Launay
19d135af54
ITS#8330 Fix robust mutex detection for glibc 2.10 and 2.11
...
pthread_mutexattr_setrobust and pthread_mutex_consistent are provided since 2.12 not 2.10:
https://sourceware.org/git/?p=glibc.git;a=commit;h=402cd98775db1478f64c9b0dbe00664b89eb2773
https://sourceware.org/git/?p=glibc.git;a=commit;h=78ee21859939ff75ccf8bbe00499b0c462df2e2d
2015-12-03 19:09:57 +00:00
Howard Chu
8738e5e306
ITS#8169 more Makefile tweaks
...
Fix prev commit, use all the same vars as main OpenLDAP makefiles
2015-12-03 19:09:47 +00:00
Howard Chu
99427fcab8
Return to releng
2015-12-03 19:08:00 +00:00
Howard Chu
9c1b3b247d
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-30 16:56:37 +00:00
Howard Chu
2011eb37c1
Release 0.9.17
2015-11-30 16:55:33 +00:00
Howard Chu
87927222fe
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-30 12:51:14 +00:00
Howard Chu
e4b84e79f8
ITS#8321 cleanup unused var
...
from da67af1a4b
2015-11-24 20:22:46 +00:00
Howard Chu
d490fd9f79
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-24 16:10:48 +00:00
Howard Chu
b617a3e804
ITS#8168, 8169
2015-11-24 16:08:53 +00:00
Heiko Becker
376aea80db
ITS#8169 Allow passing mandir to make install
...
The motivation for this change is my distribution moving to a multiarch
layout. While the architecture specific stuff (binaries, libraries,
etc.) is installed under /usr/${host}/{bin,lib,...} architecture-independent
data should still be installed to /usr/share/.
2015-11-24 16:07:57 +00:00
Heiko Becker
16b82752fc
ITS#8168 Allow passing AR to make
...
This is helpful when the ar executable is named differently, for
example with an arch specific prefix.
2015-11-24 16:03:25 +00:00
Howard Chu
9ec8e188fb
ITS#8323
2015-11-24 16:01:25 +00:00
Howard Chu
00aae125be
ITS#8321 fix ambiguity in cursor_put fixup
...
After delete/add of a node, other nodes may no longer be
pointing at the data they intended. This can confuse subsequent
fixups.
2015-11-24 16:00:45 +00:00
Howard Chu
e0316e0fae
Cleanup C_DEL flag usage
...
Only set it if the cursor's current position was deleted
2015-11-24 16:00:37 +00:00
Howard Chu
46e3f46e76
ITS#8321 More cursor fixup
...
Based on page_touch fixup from ITS#7594 but expanded:
make sure sub-cursors agree with main cursors.
2015-11-24 16:00:29 +00:00
Howard Chu
2b89f4baf1
ITS#8321 page_touch - don't fixup the cursor we just touched
2015-11-24 16:00:21 +00:00
Howard Chu
8e7cd2269d
ITS#8321 mdb_put cursor needs tracking too
2015-11-24 16:00:01 +00:00
Howard Chu
7881fd0fa7
ITS#8321 Fix mdb_cursor_set
...
Always reinit mc_pg[0] if cursor is not C_INITIALIZED
It might have a stale value when using nested txns
2015-11-24 15:59:52 +00:00
Howard Chu
00515babcc
ITS#8321 deinit empty cursors
...
Always unset C_INIT flag if the cursor's target DB has been deleted
2015-11-24 15:59:43 +00:00
Howard Chu
75bca7f311
ITS#8323 Fix nested commit
...
Must remove our spilled pages from parent's dirty list
2015-11-24 15:59:35 +00:00
Hallvard Furuseth
c11ef29ffa
CURSOR_TMP_[UN]TRACK() -> WITH_CURSOR_TRACKING()
2015-11-24 15:59:23 +00:00
Howard Chu
9e3101d31d
ITS#8319, 8320
2015-11-23 02:02:36 +00:00
Orivej Desh
00f635d304
ITS#8320 mdb_load: fix loading data from simple text files
...
mdb_load -T was supposed to read escaped text, but 21b51cb7
"Add mdb_load"
made it read hex.
2015-11-23 02:00:49 +00:00
Orivej Desh
8297bfe028
ITS#8319 mdb_load: explain readline and mdb_cursor_put errors
2015-11-23 01:59:54 +00:00
Howard Chu
1ebc6faf87
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-23 01:52:30 +00:00
Howard Chu
b0851a13af
ITS#8316, 8321
2015-11-23 01:51:45 +00:00
Howard Chu
d78ffc9517
ITS#8321 reorganize page_split fixups
...
DUPFIXED fixups needed to occur after separator update.
MDB_RESERVE handling moved after split fixup.
2015-11-23 01:50:29 +00:00
Howard Chu
8fdf79600a
ITS#8321 simplify page_split fixups
2015-11-23 01:50:17 +00:00
Howard Chu
7a76ded030
ITS#8321 track temporary cursors
...
In rebalance/split operations, temporary cursors need to be visible
to propagate fixups
2015-11-23 01:50:03 +00:00
Howard Chu
5c7b84b465
ITS#8321 fix mdb_cursor_put
...
Ignore sub-cursors that shouldn't be fixed up
2015-11-23 01:49:49 +00:00
Howard Chu
94831f7c3f
ITS#8321 fix mdb_cursor_shadow()
...
Set a valid txn so that cursor fixup code works on the shadows
2015-11-23 01:49:37 +00:00
Howard Chu
0ec3967e1d
ITS#8321 fix mdb_cursor_chk()
...
It was reporting spurious errors due to uninit'd cursors
2015-11-23 01:49:24 +00:00
Howard Chu
8773a08c43
ITS#8321 don't skip fixups on splitting cursors
...
Adjustments can't be skipped, in recursive calls each level must
fixup their own level.
2015-11-23 01:49:10 +00:00
Howard Chu
91dc62506b
ITS#8321 Fix del/dupsort
...
When deleting a dupsort key, if other cursors pointed at that key,
set them to uninit'd, not EOF. They no longer have anything to
point at.
2015-11-23 01:48:59 +00:00
Howard Chu
94e8009ca4
ITS#8300 more for prev commit
...
Just tell explicitly which direction we moved/merged from
2015-11-23 01:47:39 +00:00
Howard Chu
ba85adb52d
Silence some valgrind uninit warnings
2015-11-23 01:47:39 +00:00
Howard Chu
bfe2088946
Refix root split check from 5da67968af
2015-11-23 01:47:39 +00:00
Oskari Timperi
f13b971960
ITS#7992 assume Windows paths are UTF-8
2015-11-23 01:47:39 +00:00
Howard Chu
28b57ba8b9
ITS#8316 cursor fixup in page_merge
...
Deleting the merged page requires bumping down other ki's
of the page's parent.
2015-11-23 01:47:39 +00:00
Howard Chu
657dbcc811
ITS#8312, 8313, 8315
2015-11-19 17:29:42 +00:00
Howard Chu
1edb0e3a42
ITS#8315 fix ovpage_free
...
Keep dirty_room sync'd with dirty_list
2015-11-19 17:28:33 +00:00
Howard Chu
2fb8219aa3
ITS#8313 more for ITS#8062
...
dummy flags must be init'd due to 3d46d550
2015-11-19 17:28:23 +00:00
Hallvard Furuseth
db510359c9
ITS#8312 Fix loose pages in commit(nested txn)
2015-11-19 17:28:15 +00:00
Howard Chu
dfca54e0c8
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-18 10:28:46 +00:00
Howard Chu
27f71b4dd3
ITS#8311
2015-11-18 10:27:50 +00:00
Howard Chu
71c07f0d60
ITS#8311 add comment
2015-11-18 10:24:41 +00:00
Howard Chu
f9d3dc8293
ITS#8311 fix page_split from update_key
...
Check for top of stack. Usually the cursor only has height 1 when
calling page_split, but not always.
2015-11-18 10:05:28 +00:00
Hallvard Furuseth
a9877f783a
ITS#7209
2015-11-17 18:49:31 +01:00
Hallvard Furuseth
2a839d5dfa
ITS#7209 Default MDB_DSYNC = O_SYNC if no O_DSYNC
2015-11-17 18:37:33 +01:00
Howard Chu
dec097f8b0
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-13 09:29:40 +00:00
Howard Chu
f6b7277e9a
ITS#8310
2015-11-13 09:28:36 +00:00
Howard Chu
a90415f301
ITS#8310 fix mdb_rebalance cursor fixup
...
When collapsing root, must adjust entire cursor stack
2015-11-13 09:25:55 +00:00
Howard Chu
21330494c5
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-11 11:51:34 +00:00
Howard Chu
79b12bbd7b
Tweak robust mutex detection for glibc
2015-11-11 11:51:07 +00:00
Howard Chu
b2a9cbc6eb
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-09 20:15:59 +00:00
Howard Chu
4e1ec79f0e
ITS#8304
2015-11-09 20:11:10 +00:00
Howard Chu
5d8f9ddf7e
ITS#8304 fix page_merge
...
Was using the pre-touch dst page pointer instead of the touched page
2015-11-09 20:10:51 +00:00
Howard Chu
83734af7cb
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-06 10:41:57 +00:00
Howard Chu
712942d392
ITS#8300 more for node_move
...
When moving a node from one page to another, make sure other cursors'
parent index gets adjusted too.
2015-11-06 10:19:49 +00:00
Howard Chu
1d4e37652c
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-05 12:17:36 +00:00
Howard Chu
8e77cfce92
ITS#8301 remove assert in ber_get_next
...
Just return error.
2015-11-05 12:11:21 +00:00
Howard Chu
7d022e05a8
ITS#8300 simplify
2015-11-04 22:46:04 +00:00
Howard Chu
994923dbc5
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-04 22:34:06 +00:00
Howard Chu
0db71b9f1a
ITS#8300 more for node_move fixups
...
When moving a node from the right neighbor, a different
adjustment is needed.
2015-11-04 22:31:01 +00:00
Howard Chu
b18d33c548
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-04 21:04:57 +00:00
Howard Chu
e339fced30
ITS#8300
2015-11-04 21:03:22 +00:00
Howard Chu
9fc7c94aeb
ITS#8300 fix node_move
...
Don't adjust other cursors when we added a node on the right.
2015-11-04 21:01:30 +00:00
Howard Chu
af45cf3a04
ITS#8300 fix rebalance after node_move
...
ITS#8258, ITS#7829 fixes checked parent index to see if we were moving
from a left neighbor. Should have just checked to see if current index
was 0, meaning we added on the left. (Parent index may not tell us
anything meaningful after a nested rebalance.)
2015-11-04 20:38:30 +00:00
Howard Chu
dc650034cf
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-04 18:18:36 +00:00
Howard Chu
4359ffe08f
ITS#8238, #8299
2015-11-04 18:17:50 +00:00
Howard Chu
17aab561f2
ITS#8238 fix DUPFIXED page_split
...
Parent mc_ki wasn't adjusted if new_indx was > split point
2015-11-04 18:11:12 +00:00
Howard Chu
96fd7f2396
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-11-04 17:08:18 +00:00
Howard Chu
c62b77b661
ITS#8299 fix page_merge cursor fixup
...
The parent's mc_ki has changed. We need to fix that up as well
in other cursors.
2015-11-04 17:05:55 +00:00
Howard Chu
9f97c1d2ef
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-10-31 09:28:51 +00:00
Howard Chu
caca4d8be6
Use MDB_USE_ROBUST not MDB_NO_ROBUST
2015-10-31 02:27:31 +00:00
Howard Chu
447f552756
Add MDB_NO_ROBUST to disable Robust Mutexes
2015-10-31 02:12:31 +00:00
Howard Chu
597ce61000
ITS#8295 fix Windows microsecond timer
...
Also add ldap_pvt_gettimeofday() to
emulate gettimeofday on Windows
2015-10-28 13:49:25 +00:00
Howard Chu
65f3ad14d5
Merge remote-tracking branch 'origin/mdb.RE/0.9'
2015-10-26 20:19:04 +00:00
Howard Chu
550df2a583
More misc updates
2015-10-26 20:18:19 +00:00
Hallvard Furuseth
f1e07f9d14
Fix typo in mdb_tassert().
...
No effect on current code.
2015-10-25 14:40:27 +01:00
Pavel Medvedev
56adc467a6
ITS#8069 char* strings on Windows are ASCII
2015-10-25 10:56:39 +01:00
Pavel Medvedev
22958b0f9e
ITS#8067 add ssize_t typedef for MSVC
2015-10-25 10:56:39 +01:00
Hallvard Furuseth
de5b689308
Simpler mdb_env_write_meta()
2015-10-25 10:56:39 +01:00
Hallvard Furuseth
bde5c231bc
Kill magic numbers for NUM_METAS, databases
2015-10-25 10:56:38 +01:00
Hallvard Furuseth
8901d9cfbc
ITS#7377 Catch mdb_put() to blocked/read-only txns
...
...early enough that txn state is left unchanged.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
01342bd5d2
ITS#7377 Always notice env error on txn startup.
...
Move the check to the end of txn startup. Catches env
breakage which happens while the new txn waits for a lock.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
602c978761
Cleanup: Drop !mt_dbxs hack, use MDB_TXN_FINISHED
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
a3ae2e7db1
Catch most uses of finished/parent txns.
...
* Add MDB_TXN_FINISHED, MDB_TXN_HAS_CHILD, MDB_TXN_BLOCKED.
* Clear mt_numdbs in writers, for TXN_DBI_EXIST() to catch.
We already do in readers.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
9266843fa6
Move code into mdb_txn_end(). Was mdb_txn_reset0.
...
Side effects:
* Clean txn up a bit even before freeing it.
* Tweak DEBUG output at txn end. Add DEBUG after commit(writer).
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
0cfc0a9736
Factor me_metas[toggle] out to mdb_env_pick_meta()
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
490243424c
Simpler mdb_node_add()
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
6318038138
More ESECT declarations
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
110fba2ef1
Add DB_USRVALID, to avoid 'dbi == FREE_DBI' tests
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
b6f0179683
Simpler flag/DBI checks and MDB_DEBUG
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
06df0a4655
Simpler mdb_drop().
...
MDB_DBI_CHANGED(,MAIN_DBI) is never true.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
e5f41ce56b
Simpler mdb_node_shrink()
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
9d6c973f76
Simpler mdb_txn_commit().
...
mt_env is always set.
Commit(mt_child) resets mt_child, so parent need not.
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
ee06adb311
mdb_txn_begin() cleanup
2015-10-25 10:55:22 +01:00
Hallvard Furuseth
cc2a50aca2
mdb_drop0(): Omit scanning DUPSORT sub-DB leaves
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
70788bfe45
Use mdb_cmp_long() for FREE_DBI
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
a36f7a7fc2
mdb_env_get_flags(): Hide internal flags
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
600e2b6ce0
Support robust mutexes/locks. Add mdb_mutex_t etc.
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
3a71450436
Add MDB_USE_POSIX_MUTEX.
...
So far just to help aligning mdb.master and mdb.RE.
We'll make it an option later.
2015-10-25 10:55:21 +01:00
Hallvard Furuseth
f25c4f0db9
Whitespace (align with mdb.master)
2015-10-25 10:55:21 +01:00