Commit graph

3900 commits

Author SHA1 Message Date
Howard Chu
2b1b64f021 Merge remote-tracking branch 'origin/mdb.master' 2012-07-21 06:21:36 -07:00
Howard Chu
14fb1f59c7 Append tweaks, page_split fixes
Append mode now does no key comparisons, input must be in sorted order.
page_split was not updating cursor parents correctly.
2012-07-21 06:19:09 -07:00
Howard Chu
accd19edbc Merge remote-tracking branch 'origin/mdb.master' 2012-07-18 14:19:19 -07:00
Howard Chu
7e9a6134fd Make sure cursor's DB is init'd if STALE. 2012-07-17 04:04:52 -07:00
Howard Chu
a0993354a6 Don't use env-private copy of DB root nodes.
Just lookup the DB roots as needed. When many DBs are in use,
most of the copies won't be referenced in a given txn, and
there's a bad race condition in the copy routine.
2012-07-13 15:48:26 -07:00
Howard Chu
0ea56294f1 Fix darwin sem_open() names
Must begin with '/'
2012-07-13 14:14:36 -07:00
Howard Chu
1a9775dc5a Fix ID -> MDB_ID due to 20baad4a20 2012-07-13 14:14:36 -07:00
Howard Chu
248fd1c7b8 Windows thread callback support 2012-07-13 14:14:36 -07:00
Howard Chu
43d47c46a7 ITS#6262 fix gettime() regression
Add a mutex in ldap_pvt_gettime(), delete the mutex comment
since it's no longer relevant (and was ignored anyway). This
could only ever affect multi-processor machines.
2012-07-11 16:53:33 -07:00
Howard Chu
113538806f Merge remote-tracking branch 'origin/mdb.master' 2012-07-09 08:44:12 -07:00
Howard Chu
e562f53e10 Drop me_toggle, unused 2012-07-08 18:43:45 -07:00
Howard Chu
179c44e7da Revert "libmdb: Do not use the MDB_txbody.mtb_txnid field."
This reverts commit 4a0b30499c.
2012-07-08 18:18:12 -07:00
Howard Chu
c6b5abbfd2 Merge remote-tracking branch 'origin/mdb.master' 2012-07-06 18:03:06 -07:00
Howard Chu
433105f09b Fix: avoid direct reference to meta pages
Relevant info should be copied during txn_begin only.
2012-07-06 17:38:03 -07:00
Howard Chu
df7ddb6bf4 Add MDB_NOMETASYNC env option.
Just a trial. This may not make sense if we decide to split the
meta pages into their own separate file, to allow meta traffic to
reside on a separate spindle.
2012-07-05 18:11:18 -07:00
Howard Chu
38560c2517 Tweak b802bcf704
Clarify prev commit, fix Doxygen comments broken by earlier changes
2012-07-05 17:43:29 -07:00
Howard Chu
b802bcf704 Partial revert of 13c663f666
Don't re-use free pages so soon; that leaves us vulnerable to
DB corruption if data syncs successfully but meta doesn't.
2012-07-05 16:52:13 -07:00
Jan Vcelak
2db5195650 ITS#7316 MozNSS: do not retry when reading the pin from file
Avoid infinite loop if the pin in the password file is wrong.
2012-06-26 06:47:48 -07:00
Jan Vcelak
a171237999 ITS#7315 MozNSS: do not authenticate to a slot manually
We cannot rely on tc_certificate->slot value, the library will choose
the correct slot itself when needed. Just provide correct pin argument.
2012-06-26 06:46:29 -07:00
Jan Vcelak
3531c344e1 ITS#7314 MozNSS: lock whole init and clenaup process 2012-06-26 06:44:46 -07:00
Jan Vcelak
d07779e97b ITS#7313 MozNSS: store certificate object instead of nickname in in ctx
PEM certificates should not be referenced by nicknames, because the
nicknames are derived from basename of the cerificate file and in
general are not easy-predictable.

The code of Mozilla NSS backend depends on some aspects of PEM module
and tries to guess the nicknames correctly. In some cases the guessing
is wrong.
2012-06-26 06:43:11 -07:00
Jan Vcelak
87132b820d ITS#7312 MozNSS: context specific token description for certdb 2012-06-26 06:41:05 -07:00
Jan Vcelak
221531b31a ITS#7241 unbind: free socket prior to destroying TLS context 2012-06-25 12:53:29 -07:00
Howard Chu
450d224291 ITS#7293 make ldapava_free static 2012-06-23 05:41:39 -07:00
Howard Chu
e2b5aaf5dd ITS#7290 fix ldap_int_initialize() to set debug level 2012-06-07 05:15:04 -07:00
Jan Vcelak
00d0e16272 ITS#7291 MozNSS: read pin from file file can cause infinite loop
The buffer allocated for reading password file has to be initialized
with zeros, or we need to append zero at the end of the file. Otherwise
we might read unitialized memory and consider it to be a password.
2012-06-07 05:05:08 -07:00
Tim Strobell (Contractor)
4b6bd2c600 ITS#7289 MozNSS: cipher suite selection by name may be ignored 2012-06-07 05:03:15 -07:00
Jan Vcelak
dc3842fca3 ITS#7287 MozNSS: do not overwrite error in tlsm_verify_cert 2012-06-05 03:43:24 -07:00
Tim Strobell (Contractor)
2c2bb2e7ae ITS#7285 Mozilla NSS: default cipher suite always selected 2012-06-05 03:43:15 -07:00
Quanah Gibson-Mount
3f46f2e0bc Merge remote branch 'origin/mdb.master' 2012-06-04 19:41:58 -07:00
Howard Chu
a334257800 Tweak prev commit, use first unused slot 2012-06-02 05:26:31 -07:00
Howard Chu
4cabb24b83 Fix mdb_open, re-use closed dbi slots 2012-06-02 05:24:47 -07:00
Jan Vcelak
df1d118de8 ITS#7276 MozNSS: allow CA certdb together with PEM CA bundle file
Prior to this patch, if TLS_CACERTDIR was set to Mozilla NSS certificate
database and TLS_CACERT was set to a PEM bundle file with CA
certificates, the PEM file content was not loaded.

With this patch and the same settings, OpenLDAP can verify certificates
which are signed by CAs stored both in certdb and PEM bundle file.
2012-05-30 06:18:50 -07:00
Frederik Deweerdt
8bb9e88d5f ITS#7270 Protect accesses to ldap_int_hostname with a mutex.
Not protecting the accesses to ldap_int_hostname could lead to a double
free.
2012-05-30 05:49:53 -07:00
Howard Chu
22bf5188a9 Merge remote-tracking branch 'origin/mdb.master' 2012-05-09 12:13:05 -07:00
Howard Chu
eeec509150 ITS#7266 fix rebalance for LEAF2 pages 2012-05-09 11:24:25 -07:00
Howard Chu
ff1839ebe6 Merge remote-tracking branch 'origin/mdb.master' 2012-05-08 22:19:05 -07:00
Howard Chu
a540597dd6 More freelist tweaks, avoid referencing freed page 2012-05-08 22:17:17 -07:00
Howard Chu
326d07d8c6 Merge remote-tracking branch 'origin/mdb.master' 2012-05-05 19:42:30 -07:00
Howard Chu
fadf75a9cb Further clarification of mdb_open() 2012-05-05 19:41:45 -07:00
Howard Chu
4d0d12db27 Merge remote-tracking branch 'origin/mdb.master' 2012-04-18 16:05:16 -07:00
Howard Chu
fbf9c23304 ITS#7251 fix Apple/Windows shared mutex naming 2012-04-18 15:59:54 -07:00
Hallvard Furuseth
20baad4a20 libmdb: midl.h namespace cleanup.
Prefix ID, NOID, ID2, IDL, ID2L with 'MDB_'.
Also drop bdb from file description.
2012-04-12 08:24:36 +02:00
Hallvard Furuseth
0a4aa88927 libmdb: Simplify pick_meta() from read_meta().
Put one call in #if MDB_DEBUG. Move DPRINTF(Using meta page #) there.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
dce5bb2fee libmdb: Simplify mdb_default_cmp. No real change. 2012-04-12 08:15:33 +02:00
Hallvard Furuseth
729a8a2819 libmdb: signed meets unsigned warning cleanup 2012-04-12 08:15:33 +02:00
Hallvard Furuseth
99fa22c164 libmdb: MDB_FDATASYNC code cleanup.
Define MDB_FDATASYNC() instead of redefining fdatasync().
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
592b3f8727 libmdb: Add C++ 'extern "C" {}' to *.h 2012-04-12 08:15:33 +02:00
Hallvard Furuseth
8e1ebbb4a8 libmdb: Don't open datafile twice when not needed.
If the database is opened with MDB_RDONLY or MDB_NOSYNC,
instead use the same file descriptor for me_mfd and me_fd.

Also factor out Windows/Unix error handling after open.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
6d0b424dbe libmdb: Set close-on-exec flag on lockfile 2012-04-12 08:15:33 +02:00
Hallvard Furuseth
4a0b30499c libmdb: Do not use the MDB_txbody.mtb_txnid field.
Get txn->mt_txnid from the meta page instead.  Otherwise it
and txn->mt_toggle could become inconsistent, since read-only
txns fetched both from MDB_txbody without mutex proteciton.
2012-04-12 08:15:33 +02:00
Hallvard Furuseth
d1738c3e6b Fix MDB_DEBUG in last ITS#7299 commit.
Make DPRINTF usable in if-else.  Silence signed vs unsigned warning.
2012-04-12 07:34:13 +02:00
Howard Chu
d806b970b1 Merge remote branch 'origin/mdb.master' 2012-04-10 15:42:43 -07:00
Howard Chu
d793594173 ITS#7229 more mdb_page_split tweaks
Also add mdb_debug/mdb_debug_start to toggle debug output at runtime
2012-04-10 14:05:05 -07:00
Howard Chu
a66f9e9292 ITS#7210 fix check for freelist changes
Was being fooled before because the newly malloc'd block had
the same address as the previously freed block.
2012-04-09 19:24:47 -07:00
Howard Chu
321b0fa93e Merge remote branch 'origin/mdb.master' 2012-04-09 05:19:41 -07:00
Howard Chu
191d78948b ITS#7238 doc clarification 2012-04-09 05:01:37 -07:00
Howard Chu
ae027b5214 ITS#7229 additional tweaks
Should probably compare nsize to pg_size/4 instead...
2012-04-09 04:45:32 -07:00
Howard Chu
de0cb27d70 ITS#7230 check and strip 0 length IDLs from freelist 2012-04-09 04:44:08 -07:00
Howard Chu
d2da9c1a7d Merge remote branch 'origin/mdb.master' 2012-04-07 04:59:30 -07:00
Howard Chu
7ba25c488a ITS#7229 more mdb_page_split fixes 2012-04-07 01:27:38 -07:00
Howard Chu
04c44f016c Merge remote branch 'origin/mdb.master' 2012-04-04 05:52:45 -07:00
Howard Chu
84acc0e803 ITS#7219 fixup keysize in previous commit 2012-04-04 05:44:53 -07:00
Howard Chu
fc1396fa2e Merge remote branch 'origin/mdb.master' 2012-04-04 01:39:27 -07:00
Howard Chu
0f10814494 ITS#7219 fix for odd-aligned keys in mdb_update_key() 2012-04-03 12:24:27 -07:00
Howard Chu
487d3966ee Merge remote branch 'origin/mdb.master' 2012-03-30 06:37:12 -07:00
Howard Chu
91bab157f6 ITS#7210 fix leak of overflow pages in freelist 2012-03-30 06:36:02 -07:00
Howard Chu
7ff8baf1d3 Merge remote branch 'origin/mdb.master' 2012-03-28 10:45:06 -07:00
Howard Chu
f53beeabee Partial revert of prev commit
Sub-DBs were correct before
2012-03-28 10:44:18 -07:00
Howard Chu
55060f6b1f Merge remote branch 'origin/mdb.master' 2012-03-28 10:35:56 -07:00
Howard Chu
ac0b18911b Fix entry counts in cursor_put
when replacing an existing item
2012-03-28 10:34:35 -07:00
Howard Chu
b8bbe985b8 Merge remote branch 'origin/mdb.master' 2012-03-28 09:34:13 -07:00
Howard Chu
0952cfdf84 Fix uninit'd xcursor index 2012-03-28 09:33:06 -07:00
Howard Chu
5c16c8842b Add mfree utility to show the freelist 2012-03-28 09:20:18 -07:00
Howard Chu
04f488e7a0 ITS#7210 additional freelist fixes
Also allow read access to freelist in mdb_cursor_open
2012-03-28 09:18:00 -07:00
Howard Chu
b92af0760b ITS#7210 partial fix
Allow pages from free list to be used when growing the free list.
(Yes, this is self-referential...)
2012-03-27 06:44:28 -07:00
Howard Chu
5fcc9285fb Merge remote branch 'origin/mdb.master' 2012-03-26 06:59:41 -07:00
Howard Chu
8a4981d8aa ITS#7213 fix page_split with MDB_APPEND
don't skip the cursor adjust checks
2012-03-26 06:58:16 -07:00
Howard Chu
dcf94e25f5 ITS#7207 check for ld->ld_defconn 2012-03-26 03:35:31 -07:00
Howard Chu
25e8e82c5f Update overflow page count when freeing overflow page 2012-03-20 17:14:59 -07:00
Howard Chu
9b21d585dc Merge remote branch 'origin/mdb.master' 2012-03-09 12:48:57 -08:00
Hallvard Furuseth
c7da506dd2 Fix MDB_txninfo.mt2 padding on Windows/Apple 2012-03-09 19:30:34 +01:00
Hallvard Furuseth
c7fe1f466e Tweak mdb comment with conflicting spec of 'ID' 2012-03-09 19:25:44 +01:00
Hallvard Furuseth
5c182fbedf Fix valgrind call after malloc failure in mdb.
Also line up the code logic a bit.
2012-03-09 19:22:31 +01:00
Hallvard Furuseth
d3b9939e71 Clean up MAP_FAILED handling in mdb.
Delay (MDB_txninfo*) cast to after comparing mmap() with MAP_FAILED.
Otherwise, if MAP_FAILED = (void*)-1 but MDB_txninfo requires stricter
alignment, the compiler could assume the result is never MAP_FAILED.

Also store NULL in env->(me_map, me_txns) after mmap failure.
2012-03-09 19:06:04 +01:00
Hallvard Furuseth
2baadabdff ITS#7191 Align dirty MDB pages on the stack 2012-03-09 18:45:39 +01:00
Howard Chu
cfa8dd6884 Merge remote branch 'origin/mdb.master' 2012-03-08 21:39:01 -08:00
Howard Chu
15f3e650da ITS#7191 more alignment tweaks
Revealed when gcc optimization is enabled
2012-03-08 21:28:24 -08:00
Howard Chu
bb921063e0 ITS#7194 fix IPv6 URL detection 2012-03-08 19:35:44 -08:00
Howard Chu
3743a5a68e Merge remote branch 'origin/mdb.master' 2012-03-06 22:56:29 -08:00
Howard Chu
2ccf0d58b2 Fix typo in 7bc62c5128 2012-03-06 22:55:53 -08:00
Howard Chu
5ce2a2aee6 Merge remote branch 'origin/mdb.master' 2012-03-06 22:17:19 -08:00
Howard Chu
7bc62c5128 ITS#7190 fix merging of branch pages in deletes 2012-03-06 22:12:21 -08:00
Hallvard Furuseth
d50d57ed63 Fix libmdb comments 2012-03-03 09:58:05 +01:00
Hallvard Furuseth
e1b88d93ac Remove development file libmdb/make.sh 2012-03-03 09:52:33 +01:00
Hallvard Furuseth
d8b4598085 ITS#7191 Fix mdb_xcursor_init1() unaligned access 2012-03-03 09:49:20 +01:00
Howard Chu
9547dd7a0d Merge remote branch 'origin/mdb.master' 2012-03-02 17:28:51 -08:00
Howard Chu
1b07b48c1a ITS#7196 use IOV_MAX if it's defined and small 2012-03-02 17:26:49 -08:00
Howard Chu
de7f6d38fa ITS#7115 add missing pool_idle/unidle stubs 2012-02-27 20:42:29 -08:00
Howard Chu
aa33f4b220 Merge remote branch 'origin/mdb.master' 2012-02-21 11:52:44 -08:00
Howard Chu
b23bb7a0b1 ITS#7160 get BYTE_ORDER def for HPUX (and Solaris) 2012-02-21 11:52:01 -08:00
Howard Chu
33f6bc4fe6 ITS#7167 only poll sockets for write as needed 2012-02-20 14:51:30 -08:00
Howard Chu
92ed65d298 ITS#7174 lutil_str2bin: can't modify input strings 2012-02-19 18:10:16 -08:00
Hallvard Furuseth
ffbad797c8 Fix typo in ldap_int_client_controls() comment 2012-02-07 16:11:43 +01:00
Jan Vcelak
4e9926ca97 ITS#7136 MozNSS: store TLS params until the deferred initialization is finished
Deferred TLS initialization is used with Mozilla NSS. The real
initialization takes place when the TLS context is needed for the first
time. If the initialization parameters were freed immediately after
tlsm_ctx_init was called, they were not available at the time of
deferred initialization which caused segmentation fault.

With this patch, initialization parameters are copied and stored until
the deferred initialization is finished. The parameters are freed
afterwards.

Red Hat Bugzilla: #783431
2012-01-25 21:24:28 -08:00
Jan Vcelak
1107103dd7 ITS#7135 MozNSS, PEM: fix segfault when TLS certificate key is not set
Red Hat Bugzilla: #772890
2012-01-25 21:22:47 -08:00
Howard Chu
ce2c041671 Cleanup gssapi_flags -> ldo_gssapi_flags 2012-01-24 15:43:39 -08:00
Howard Chu
7ff18967d7 More for prev commit (270ef33acf) 2012-01-24 15:43:14 -08:00
Howard Chu
270ef33acf ITS#7118, #7133 tentative fix
Move mutexes to end of structs, so libldap can ignore them
2012-01-24 13:32:52 -08:00
Hallvard Furuseth
1a931a86ee Silence 'assign away const' warning 2012-01-24 01:45:51 +01:00
Hallvard Furuseth
999ff398d6 thr_debug: tweak debug_already_initialized().
With gcc, declare debug_already_initialized() as 'noinline' so
its deliberate uninitialized access stays inside the function and
valgrind can ignore it there.
2012-01-24 01:45:51 +01:00
Hallvard Furuseth
23f3657807 ITS#7115: Tighten ldap_pvt_thread_pool_unidle().
Only wait out already-started pauses, not pause reqests.
ltp_pause now says whether a pause is requested or has started.

This reduces the chance that slapd:send_ldap_ber() will start
a pause in the middle of an operation.
2012-01-24 00:47:48 +01:00
Howard Chu
a8f6deee03 Merge remote branch 'origin/mdb.master' 2012-01-21 17:32:18 -08:00
Howard Chu
953796759e Fix typo in e8e57be421 2012-01-21 17:31:23 -08:00
Howard Chu
7d13ef7e42 Merge remote branch 'origin/mdb.master' 2012-01-21 08:29:03 -08:00
Howard Chu
e8e57be421 Add valgrind support with -DUSE_VALGRIND
Track allocations and invalid accesses to freed tmp pages.
2012-01-21 08:22:59 -08:00
Howard Chu
3d6b924c25 txn_commit must abort txn before returning errors
Fix for failure when committing a txn that is a child of
some parent txn.
2012-01-21 08:20:43 -08:00
Howard Chu
1c8de1883c ITS#7121 fix page splits when newindx == 0 2012-01-21 08:18:37 -08:00
Howard Chu
b9cbcb0588 ITS#7126 fix cursor tracking code
Don't compare cursors that aren't deep enough to match the
current cursor.
2012-01-21 08:12:56 -08:00
Howard Chu
713bf092b6 Happy New Year! 2012-01-21 08:09:16 -08:00
Howard Chu
a17f8e7326 ITS#7121 fix page splits when data+key size is too large 2012-01-21 08:09:16 -08:00
Kurt Zeilenga
81afbb2fca Happy New Year! 2012-01-21 08:07:21 -08:00
Hallvard Furuseth
fa7575666f ITS#7115 Re-fix tpool.c (idle/unidle) 2012-01-13 15:38:12 +01:00
Howard Chu
e86da2fe3f ITS#7121 fix page splits when data+key size is too large 2012-01-04 15:27:15 -08:00
Kurt Zeilenga
2bbf9804b9 Happy New Year! 2012-01-01 07:10:53 -08:00
Howard Chu
68ee165fb5 ITS#7115 blocked writers should not interfere with pool pause 2011-12-21 01:24:23 -08:00
Howard Chu
fadb48a723 Add $(SOLIBS) macro for shared lib dependencies 2011-11-21 16:30:58 -08:00
Howard Chu
95a72ac82a Add $(SOLIBS) macro for shared lib dependencies 2011-11-18 15:43:55 -08:00
Howard Chu
ea026cb2cf Merge remote branch 'origin/mdb.master' 2011-11-15 11:23:48 -08:00
Howard Chu
dd9c56f0fb More s/DEBUG/MDB_DEBUG/ 2011-11-15 11:23:00 -08:00
Howard Chu
40477fae4e Merge remote branch 'origin/mdb.master' 2011-11-14 16:22:51 -08:00
Howard Chu
575691ca8a Alignment fixes for debug msgs 2011-11-14 16:21:59 -08:00
Howard Chu
51c1ba6818 s/DEBUG/MDB_DEBUG/ 2011-11-14 14:40:43 -08:00
Howard Chu
122fa3a895 Merge remote branch 'origin/mdb.master' 2011-11-11 12:50:12 -08:00
Howard Chu
29de655bc4 Add MDB_FDATASYNC to allow override to fsync if needed. 2011-11-11 12:49:11 -08:00
Howard Chu
ca15238dfb Merge remote branch 'origin/mdb.master' 2011-11-11 11:00:14 -08:00
Howard Chu
291c0ce2db Use <inttypes.h> instead of <stdint.h> 2011-11-11 10:59:27 -08:00
Howard Chu
334099c0db Merge remote branch 'origin/mdb.master' 2011-11-10 12:43:41 -08:00
Howard Chu
8763c41e30 Fix size check 2011-11-10 12:41:34 -08:00
Howard Chu
52a0d00031 Merge remote branch 'origin/mdb.master' 2011-11-09 15:36:00 -08:00
Howard Chu
04b522cc72 More Solaris warning cleanup 2011-11-09 15:32:37 -08:00
Howard Chu
b905811d3c Merge remote branch 'origin/mdb.master' 2011-11-09 01:02:38 -08:00
Howard Chu
68143e4532 More pgno alignment tweaks 2011-11-09 00:36:50 -08:00
Howard Chu
056910df03 Merge remote branch 'origin/mdb.master' 2011-11-08 20:06:23 -08:00
Howard Chu
690792c170 Add dummy DKEY define 2011-11-08 20:05:29 -08:00
Howard Chu
dac408369b Merge remote branch 'origin/mdb.master' 2011-11-08 19:05:39 -08:00
Howard Chu
cc7a89cd67 Add Solaris byte-order detection 2011-11-08 19:04:39 -08:00
Howard Chu
f0c9d77326 Fix mdb_drop return 2011-11-08 16:45:45 -08:00
Howard Chu
6018fe9671 Merge remote branch 'origin/mdb.master' 2011-10-14 22:05:37 -07:00
Howard Chu
a103a64434 Android/ARM portability
2-byte alignment isn't good enough for subpages
2011-10-14 22:03:46 -07:00
Howard Chu
277a8edd2e Android defines wctomb but doesn't provide it 2011-10-12 19:18:05 -07:00
Howard Chu
fb5ba5f09c Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-10-06 19:15:43 -07:00
Howard Chu
331bf92df5 Fix page_split with MDB_RESERVE 2011-10-06 18:53:07 -07:00
Howard Chu
19e4df476d Fix subcursor initialization 2011-10-06 16:12:52 -07:00
Howard Chu
1adc0b9b1c Merge remote branch 'origin/mdb.master' 2011-10-04 02:22:01 -07:00
Howard Chu
934a19553c Don't use Append mode when splits are caused by sub-page inserts
Sub-pages need room to grow...
2011-10-03 18:02:17 -07:00
Howard Chu
ea0d07ffa3 Fix freelist bug on page split
NULL out env->pghead before writing it, so that its pages can't be used
to satisfy the write.
2011-10-03 12:40:53 -07:00
Howard Chu
7cd16d7b9f Merge remote branch 'origin/mdb.master' 2011-10-03 11:30:10 -07:00
Howard Chu
85bfb3c1d1 Add rudimentary MDB_MULTIPLE support for puts
Only for DUPFIXED DBs. Still could do better.
2011-10-03 11:28:14 -07:00
Howard Chu
02cafebb8e Merge remote branch 'origin/mdb.master' 2011-10-02 21:28:55 -07:00
Howard Chu
fa3c2945f5 Add MDB_APPEND to avoid splitting full pages 2011-10-02 21:27:07 -07:00
Howard Chu
163514e470 Fix 6e05ca17e9
Missed a MDB_RESERVE case
2011-10-02 19:52:12 -07:00
Howard Chu
c2df36c86f Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-10-02 19:36:57 -07:00
Howard Chu
28b8aaeb96 Add mdb_cursor_txn() and mdb_cursor_dbi() for querying the cursor 2011-10-02 19:28:33 -07:00
Howard Chu
2dd578221b Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-10-02 11:14:53 -07:00
Howard Chu
6e05ca17e9 Add MDB_RESERVE mode
When putting a record, just make space for the data, don't copy it.
(Not compatible with MDB_DUPSORT, since the actual data is needed
to determine the insert location.)
2011-10-02 10:02:30 -07:00
Howard Chu
fe11433619 Tweak cursor adjustment code
Skip the original cursor that made the change
2011-09-30 22:15:05 -07:00
Howard Chu
8a5d0952ad ITS#7006 fix MozNSS wildcard cert match 2011-09-30 03:27:19 -07:00
Rich Megginson
8e9af53fb6 ITS#7034 use mutex for connection handshake when using PEM nss
PEM nss is not thread safe when establishing the initial connection
using SSL_ForceHandshake.  Create a new mutex - tlsm_pem_mutex - to
protect this function call.
The call to SSL_ConfigServerSessionIDCache() is not thread-safe - move it
to the init section and protect it with the init mutex.
2011-09-30 03:16:57 -07:00
Howard Chu
9b082bf716 ITS#7051 fix GNUtls cert dn parse 2011-09-30 00:41:13 -07:00
Howard Chu
19d1e72bbc Make sure mdb_open actually got a sub-db record 2011-09-29 21:07:07 -07:00
Howard Chu
fa0d64242b Doc for the MDB_NOSUBDIR env option 2011-09-22 21:46:12 -07:00
Howard Chu
7a40080dd1 Add MDB_NOSUBDIR option
Create the data file using exactly the given pathname, and
the lock file using a suffix on the data file name.
2011-09-22 18:05:06 -07:00
Howard Chu
54eb76cc7a Reader table notes 2011-09-22 04:34:40 -07:00
Howard Chu
4bcaabecf5 assert cleanup 2011-09-21 17:21:48 -07:00
Howard Chu
619e671f1c txn_abort/commit free all their cursors now. 2011-09-21 16:37:29 -07:00
Howard Chu
9bcc51ef5d Only free malloc'd cursors 2011-09-21 16:06:52 -07:00
Howard Chu
c8c34cdd43 Merge remote branch 'origin/mdb.master' 2011-09-21 15:58:55 -07:00
Howard Chu
b9d13a29e6 Track changes to all cursors.
For any change to a page or node, update all other cursors pointing
at the same page (or node). Cursors are now stored in a linked list
off their owning transaction. Cursors are all closed when the transaction
ends. Cursors in parent transactions are updated when their child
transaction commits.
2011-09-21 15:55:27 -07:00
Howard Chu
c4d5e6e786 Add support for nested transactions. 2011-09-21 12:58:43 -07:00
Hallvard Furuseth
ef7f5f5e32 Cleanup ISO C compatibility for recent commits 2011-09-19 10:31:12 +02:00
Hallvard Furuseth
d9edc7d5af Merge branch 'mdb.master' 2011-09-19 10:30:30 +02:00
Hallvard Furuseth
8fa10ae668 libmdb IDL cleanup.
Microoptimize IDL search.
Use RANGE_<FIRST/LAST> when IDL is known to be a range.
2011-09-19 10:27:49 +02:00
Howard Chu
02abfb91ba Additional fix for prev commit 2011-09-18 18:26:54 -07:00
Howard Chu
76c6c8e5b7 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-18 18:14:05 -07:00
Howard Chu
4272e7de4f Make sure 2 subpages fit in one real page 2011-09-18 18:13:23 -07:00
Howard Chu
001f149654 Merge remote branch 'origin/mdb.master' 2011-09-18 17:08:40 -07:00
Howard Chu
237fabda64 Fix last delete from a subpage 2011-09-18 17:07:47 -07:00
Howard Chu
0ab841598f Fix 09006ccec7
Check for stale DBs was in the wrong place.
2011-09-18 16:39:18 -07:00
Howard Chu
7164c4c662 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-18 14:28:20 -07:00
Howard Chu
2c70d0430a Fix mdb_drop() if not deleting the DB record 2011-09-18 14:22:27 -07:00
Howard Chu
77b1017b85 Fix typo, minor cleanup 2011-09-18 14:12:49 -07:00
Howard Chu
e76299c196 Merge remote branch 'origin/mdb.master' 2011-09-18 13:25:09 -07:00
Howard Chu
57b5fbea49 Add mdb_drop() for deleting a DB
Allow MIDLs to grow arbitrarily, to allow unlimited number of
pages to be freed in one txn.
2011-09-18 12:37:02 -07:00
Howard Chu
09006ccec7 API change, consistency check
mdb_close() takes an env, not a txn.
Also, add check for stale DB records (in case some other process
wrote to the DB last).
2011-09-18 10:48:12 -07:00
Howard Chu
a05cbba77a Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-17 04:02:52 -07:00
Howard Chu
b7057eb61e New sorted-dup subpage support
Instead of converting directly to a subDB when the first duplicate
item is seen for a key, convert to a subpage instead. Allow the
subpage to grow up to the overflow limit, then convert to a subDB.
This saves a significant amount of space in a typical slapd index
database.

Currently we don't convert back to the smaller form if items are
later deleted. Probably could do that with some hysteresis, e.g.,
convert back from subDB to subpage when the size drops below
(overflow limit/2). Maybe later.
2011-09-17 03:33:07 -07:00
Howard Chu
e1a5177bac Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-15 10:37:13 -07:00
Howard Chu
0a28548131 Use FNV-1A hash to generate unique mutex names
For Windows and MacOSX
2011-09-15 10:36:15 -07:00
Howard Chu
d9a60db75e Merge remote branch 'origin/mdb.master' 2011-09-14 20:34:27 -07:00
Howard Chu
2c033676ea Doc tweak - txn flags 2011-09-14 20:33:09 -07:00
Howard Chu
5b7c983a66 MacOSX semaphore names are limited to 31 chars
Including the terminating NUL. Good job documenting that, guys.
2011-09-14 20:30:26 -07:00
Howard Chu
8917b774f7 Merge remote branch 'origin/mdb.master' 2011-09-14 11:46:40 -07:00
Howard Chu
0533f80364 Add MacOSX support
mmap() with FIXEDMAP fails, otherwise things work.
2011-09-14 11:31:27 -07:00
Howard Chu
e222506b88 Minor doc cleanup 2011-09-14 01:46:08 -07:00
Howard Chu
9e3e7cefd8 More docs 2011-09-14 01:08:01 -07:00
Howard Chu
71a665aa9d Namespace cleanup 2011-09-13 23:36:41 -07:00
Howard Chu
550dc4aaee Merge remote branch 'origin/mdb.master' 2011-09-13 15:24:33 -07:00
Howard Chu
56fe0d4f1a Tweak search_node inner loop to avoid LEAF2 checks 2011-09-13 13:42:02 -07:00
Howard Chu
70c79df1df cursor_set/search_node tweaks, use intcmp when possible 2011-09-13 13:41:40 -07:00
Howard Chu
dc83777ab9 Minor tweaks, update relfunc behavior 2011-09-12 01:15:22 -07:00
Howard Chu
0f1522418e Merge remote branch 'origin/mdb.master' 2011-09-11 23:58:50 -07:00
Howard Chu
25529a4c36 More cursor_init cleanup 2011-09-11 23:57:17 -07:00
Howard Chu
8acb755034 One more sub-cursor fix 2011-09-11 23:13:36 -07:00
Howard Chu
92a63ff790 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap into mdb.master 2011-09-11 22:23:35 -07:00
Howard Chu
3501248548 Fix 2e3bc39fa9
Various mistakes when converting from previous data structures.
Add a few more debug asserts/sanity checks.
Split all "if (foo) return" constructs to separate lines to allow
easier breakpoint setting.

Add mtest6 for checking mdb_split() behavior. This needs to be
expanded to check rebalance/merge cases too.
2011-09-11 22:17:10 -07:00
Hallvard Furuseth
946b38f471 Fix mdb debug formats 2011-09-11 19:29:24 +02:00
Hallvard Furuseth
ed0fc55fd3 Restore missing LAZY_LOCKS semicolon.
Lost in C90 compat commit c5dad7a6d0.
2011-09-11 19:29:24 +02:00
Hallvard Furuseth
90ed553301 mdb integer type cleanup: Use MDB_dbi consistently.
This changes the prototype of mdb_env_set_maxdbs().
2011-09-11 19:29:24 +02:00
Hallvard Furuseth
b56be64d2e Drop ULONG in favor of size_t. 2011-09-10 22:49:34 +02:00
Hallvard Furuseth
b1cfff4aeb Add mdb.c:txnid_t for readability.
Maybe later we'll test txnid wraparound with it defined to ushort.
2011-09-10 22:49:34 +02:00
Hallvard Furuseth
bf9d722bec mdb type cleanup: Consistent reader count types.
Use unsigned int for reader counts/max limits, that's the smallest
change.  Don't need uint32_t when mdb_env_set_maxreaders() takes less.
Change prototypes of mdb_env_set_maxreaders,mdb_env_get_maxreaders().
Check the mdb_env_set_maxreaders() argument.
2011-09-10 22:49:34 +02:00
Hallvard Furuseth
5f68293475 explain mdl_midl_sort() istack size 2011-09-10 22:49:34 +02:00
Hallvard Furuseth
2d1f3b7ed3 Fix memn(r)cmp of key sizes > INT_MAX. Simplify. 2011-09-10 22:49:34 +02:00
Hallvard Furuseth
69e53cf700 Check some mdb integer type assumptions 2011-09-10 22:49:34 +02:00
Hallvard Furuseth
88da18cccf Put MDB_node.<mn_lo,mn_hi> in host byte order. 2011-09-10 22:49:20 +02:00
Hallvard Furuseth
c5dad7a6d0 C90 compatibility cleanup in mdb.
Fix void* pointer arithmetic in cintcmp().
Fix invalid ';'s in declarations after possibly-empty macros.
2011-09-10 15:39:02 +02:00
Hallvard Furuseth
3dc8fa491a Cleanup mdb macros.
Parenthesize.  Rename GetPageSize -> GET_PAGESIZE since it does not
behave like a function (it has a non-pointer output argument).
2011-09-10 10:11:55 +02:00
Hallvard Furuseth
ec2d82f79a libmdb/.gitignore += test[45], Doxygen output 2011-09-10 10:11:55 +02:00
Howard Chu
8623c98726 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-09 22:29:37 -07:00
Howard Chu
acdc248f57 If put(NOOVERWRITE) exists, return existing data 2011-09-09 22:28:07 -07:00
Howard Chu
a7edb95e64 Minor typos, additional clarification 2011-09-09 03:52:12 -07:00
Howard Chu
c7d6c0fab3 Add a few NULL checks to defend against dumb API checkers.
Unfortunately automated checkers don't seem to read the documentation
for how APIs are expected to be used, and the C declaration syntax
isn't expressive enough to encode the documented usage.
2011-09-08 23:41:06 -07:00
Howard Chu
0c487538cf Partial revert, fix MDB_page definition 2011-09-08 20:18:29 -07:00
Howard Chu
9ac8638d9d More docs 2011-09-08 17:13:51 -07:00
Howard Chu
badc324647 Merge remote branch 'origin/mdb.master' 2011-09-08 14:35:17 -07:00
Howard Chu
bed3123b82 More docs 2011-09-08 14:34:21 -07:00
Pierangelo Masarati
568e3b7faa fix uninit'ed vars (ITS#7039) 2011-09-08 23:32:58 +02:00
Howard Chu
1b69295a48 Speedup cintcmp
Now that we know we're always 2-byte aligned...
2011-09-08 13:10:17 -07:00
Howard Chu
cb24efd287 Merge remote branch 'origin/mdb.master' 2011-09-08 10:11:30 -07:00
Howard Chu
dac3fae3b5 Fix previous commit 2011-09-08 10:08:21 -07:00
Howard Chu
cba0d05a9d Merge remote branch 'origin/mdb.master' 2011-09-07 23:58:29 -07:00
Howard Chu
8678fef597 Forgot to commit this 2011-09-07 23:11:14 -07:00
Howard Chu
2e3bc39fa9 Further cursor-based restructuring
Get rid of all of the redundant MDB_*page structs and other cruft.
2011-09-07 23:09:45 -07:00
Howard Chu
976a150973 Cleanup unused code 2011-09-06 23:37:37 -07:00
Howard Chu
619cebee12 Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap 2011-09-06 23:22:40 -07:00
Howard Chu
1f8c3369b9 Fix mdb_move_node again 2011-09-06 23:16:45 -07:00
Howard Chu
06ec9f1db2 ITS#7035 don't loop forever in wait4msg 2011-09-06 21:13:49 -07:00
Howard Chu
473e2c997f Merge branch 'mdb.master' of /home/hyc/OD/mdb 2011-09-06 15:24:00 -07:00
Howard Chu
f9c8796d0b Fix search_node, add cintcmp 2011-09-06 15:22:53 -07:00
Howard Chu
ee3f050000 Merge branch 'mdb.master' of /home/hyc/OD/mdb 2011-09-06 13:55:02 -07:00
Howard Chu
5e6a864513 Guarantee nodes are 2-byte aligned
Also fix xcursor_init1 md_dirty flag
Also another mdb_cmp refactoring fix
2011-09-06 13:50:51 -07:00
Howard Chu
293df78b2b Change MDB_node to depend on 2-byte alignment 2011-09-06 05:17:24 -07:00
Howard Chu
e071488c85 Merge remote branch 'mdb/mdb.master' 2011-09-05 16:56:02 -07:00
Howard Chu
807841b1aa Fix for mdb_cmp refactoring 2011-09-05 16:54:39 -07:00
Howard Chu
13ad0aedcc More merge fix 2011-09-05 16:20:31 -07:00
Howard Chu
513d96105d Fix bad merge 2011-09-05 16:15:36 -07:00
Howard Chu
ffdf3d7afb Merge remote branch 'mdb/mdb.master' 2011-09-05 15:19:41 -07:00
Howard Chu
963c421a97 Minor cleanup 2011-09-05 14:22:46 -07:00
Howard Chu
e44d4cf06a Use mdb_midl_append/sort instead of _insert 2011-09-05 02:37:43 -07:00
Howard Chu
2cde97ae94 Use mdb_midl_append/sort instead of _insert 2011-09-05 02:36:24 -07:00
Howard Chu
221be39208 mdb_cmp refactoring 2011-09-05 01:19:24 -07:00
Howard Chu
0609aa45b3 Reimplement basic ops as cursor ops 2011-09-05 01:19:24 -07:00
Howard Chu
23790cf390 Add MDB_{FIRST,LAST}_DUP for cursor_get 2011-09-05 01:17:13 -07:00
Howard Chu
9cfbea8e8f Cleanup midl, start documenting internals 2011-09-05 01:16:44 -07:00
Howard Chu
0f679e9386 Tweak docs 2011-09-05 01:16:33 -07:00
Howard Chu
70a4f6f29d mdb_cmp refactoring 2011-09-05 00:46:32 -07:00
Howard Chu
7bb14a2e79 Cursor stuff working, no major perf gain 2011-09-04 21:33:57 -07:00
Howard Chu
1843fe0b53 Cursors in-progress, broken 2011-09-04 21:33:57 -07:00
Howard Chu
8d89a53165 Use cursor->mc_flags 2011-09-04 21:33:57 -07:00
Howard Chu
7f46832ec5 Begin reimplementing basic ops as cursor ops 2011-09-04 21:33:57 -07:00
Howard Chu
f6edbd7793 Add MDB_{FIRST,LAST}_DUP for cursor_get 2011-09-04 21:33:57 -07:00
Howard Chu
2197928aaa Fix mdb_split, fix MDB_GET_BOTH 2011-09-03 20:12:09 -07:00
Howard Chu
9d821c26c3 Fix mdb_split, fix MDB_GET_BOTH 2011-09-03 20:11:07 -07:00
Howard Chu
e91dae3ed5 Cleanup midl, start documenting internals 2011-09-03 14:27:07 -07:00
Howard Chu
b30d0266e7 Tweak docs 2011-09-02 01:09:11 -07:00
Howard Chu
02cff39398 Merge remote branch 'mdb4/master' 2011-09-01 16:50:26 -07:00
Howard Chu
30736a0ff5 Ugly-as-sin initial Windows port 2011-09-01 16:31:10 -07:00
Howard Chu
2510bea718 API cleanup, doxygen docs for public API 2011-09-01 16:31:10 -07:00
Howard Chu
0f459dd773 Cleanup, fix freelist alloc
Don't allow new pages for free list to come from the free list.
Otherwise a nasty data self-reference occurs that is too much
trouble to unwind.
2011-09-01 16:31:10 -07:00
Howard Chu
f7aa0d5e4a Tweak locks, fix race conditions 2011-09-01 16:31:10 -07:00
Howard Chu
d27a7754f3 Reduce excessive memcpy in mdb_split 2011-09-01 16:31:10 -07:00
Howard Chu
027e1daa10 Fix mdb_split, tweak split_indx if space is tight 2011-09-01 16:31:10 -07:00
Howard Chu
01b9fc59fb Fix update of big data items 2011-09-01 16:31:10 -07:00
Howard Chu
13c663f666 Fix free page reclaim and dbs table update
Can re-use free pages 1 txn earlier
Must update all dbs tables on txn commit
2011-09-01 16:31:10 -07:00
Howard Chu
94718fab00 More debug, fix MDB_DEL_DUP 2011-09-01 16:31:10 -07:00
Howard Chu
ee69051a7c More debug output 2011-09-01 16:31:10 -07:00
Howard Chu
d54eb7dd81 Add txn_reset / txn_renew 2011-09-01 16:31:10 -07:00
Howard Chu
590c728044 First cut at DUPFIXED support
Also in cursor_set, check the current page (if already set from
before) before starting over again from the root.
2011-09-01 16:31:10 -07:00
Howard Chu
720c4b0a3d Set MINKEYS to 2
For better space utilization
2011-09-01 16:31:10 -07:00
Howard Chu
66a647e55d Keep re-using dpages instead of freeing them 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
ca496bd357 Avoid cast-away-const for errstr[] 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
5b3b522313 Wrap O_DSYNC in MDB_DSYNC.
If O_DSYNC is not defined, that may be due to poor compiler options.
We could fall back to the less efficient O_SYNC, but it seems better
to let the user learn of the problem and give better compiler options.
2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
cb7c955220 Simplify: Replace IDL*_CMP() with CMP() 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
3029bb694d Macro cleanup: Parenthesize, simplify, remove a ; 2011-09-01 16:31:10 -07:00
Hallvard B Furuseth
a1b4144b80 Drop gcc extension ,##__VA_ARGS__. Add DPUTS().
C99 says DPRINTF(fmt, ...) must get at least 2 args.  Using DPUTS for 1 arg.
2011-09-01 16:31:10 -07:00
Howard Chu
8f77043372 Fix cursor_set for dups
Also make sure dups are counted in md_entries
2011-09-01 16:31:10 -07:00
Howard Chu
edf9d8e51b Sorted dups fix
Write the first datum normally. Convert to a sub-db if
additional items for the same key are written.
2011-09-01 16:31:10 -07:00
Howard Chu
e15d4d16b6 Don't alloc in cursor_push/pop 2011-09-01 16:31:10 -07:00
Howard Chu
1ceae5c2c0 Fix multi-page commits 2011-09-01 16:31:10 -07:00
Howard Chu
6d924c1dda Fix overflow page read 2011-09-01 16:31:10 -07:00
Howard Chu
3dd815162c Sub-DB init/dirty fixes 2011-09-01 16:31:10 -07:00
Howard Chu
11308a190d Fix dupsort fetch 2011-09-01 16:31:10 -07:00
Howard Chu
697e00a8e2 More txn/cursor cleanup 2011-09-01 16:31:10 -07:00
Howard Chu
e29660566c Update DB tables on commit even if no dirty pages 2011-09-01 16:31:10 -07:00
Howard Chu
bab6be8077 Add mdb_strerror(), mdb_env_set_flags() 2011-09-01 16:31:10 -07:00
Howard Chu
9902a7764e allow silent commit of read-only TXNs 2011-09-01 16:31:10 -07:00
Howard Chu
9860d5a43f Protect err codes 2011-09-01 16:31:10 -07:00
Howard Chu
5e3a3db1f2 Error cleanup
Replace MDB_FAIL with more specific codes
Return MDB_PANIC after failure to write meta page
2011-09-01 16:31:09 -07:00
Howard Chu
5ef6c43acf Get rid of AC_MEMCPY 2011-09-01 16:31:09 -07:00
Howard Chu
1aa5105b67 Use IDL2 for dirty page list 2011-09-01 16:31:09 -07:00
Howard Chu
88a5f35c43 Use O_DSYNC on metafd.
Use sync writes in mtest.
2011-09-01 16:31:09 -07:00
Howard Chu
3e1c72a08e Minor cleanup 2011-09-01 16:31:09 -07:00
Howard Chu
19f5eebff8 Better defs for locker structures 2011-09-01 16:31:09 -07:00
Howard Chu
af0b49aa60 Silence stupid warning 2011-09-01 16:31:09 -07:00
Howard Chu
f9f0ec92a9 Add mdb_version() 2011-09-01 16:31:09 -07:00
Howard Chu
76d7ca8ce0 Rationalize mdbenv namespace 2011-09-01 16:31:09 -07:00
Howard Chu
c378b2525c Move MDB_VERSION to mdb.h, use major/minor/patch 2011-09-01 16:17:08 -07:00
Howard Chu
af70c0d9ce Tweak MDB_val to match struct berval 2011-09-01 16:17:08 -07:00
Howard Chu
985f765dc5 Rename idl to midl 2011-09-01 16:17:08 -07:00
Howard Chu
f5297dfc25 Add another FIXME comment 2011-09-01 16:17:07 -07:00
Howard Chu
35fca0f6af Add mtest2 and 3 2011-09-01 16:17:07 -07:00
Howard Chu
b070f7bff9 Portability tweak 2011-09-01 16:17:07 -07:00
Howard Chu
170703b0e4 Make a shared library too 2011-09-01 16:17:07 -07:00
Howard Chu
785d8e184c Start using as a library 2011-09-01 16:17:07 -07:00
Howard Chu
920115f747 Sorted dup fixes 2011-09-01 16:17:07 -07:00
Howard Chu
ce9456d95c Add MDB_INTEGERKEY db flag 2011-09-01 16:17:07 -07:00
Howard Chu
d499c244cd Allow setting DB flags on main DB 2011-09-01 16:17:07 -07:00
Howard Chu
2f7ddb4103 Cleanup, add mdb_cursor_count() 2011-09-01 16:17:07 -07:00
Howard Chu
2e776bd36e More DB checks 2011-09-01 16:17:07 -07:00
Howard Chu
b834dc05b3 Consolidate stat functions 2011-09-01 16:17:07 -07:00
Howard Chu
11204d176a Header cleanup 2011-09-01 16:17:07 -07:00
Howard Chu
40df306d52 More subDB fixes 2011-09-01 16:17:07 -07:00
Howard Chu
39817f6e85 Parameter cleanup 2011-09-01 16:17:07 -07:00
Howard Chu
819d98169e Valgrind complaints 2011-09-01 16:17:07 -07:00
Howard Chu
01c2f7816f More subDB stuff 2011-09-01 16:17:07 -07:00
Howard Chu
2fe9fbd1a3 Make sure subDB info is saved after writes 2011-09-01 16:17:07 -07:00
Howard Chu
314ac28938 Sorted dups basically completed, needs testing 2011-09-01 16:17:07 -07:00
Howard Chu
f586e57742 Added cursor_get for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
f48f085ed8 Add mdb_get for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
e3703ab58c Add mdb_del for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
bb6a034e28 Add mdb_put for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
51e210c604 Fix reader txn locking 2011-09-01 16:17:07 -07:00
Howard Chu
e3b668e84a Don't malloc the free_pgs list every time 2011-09-01 16:17:07 -07:00
Howard Chu
9f0b00b467 Setup context for sorted dups 2011-09-01 16:17:07 -07:00
Howard Chu
e5cf84495b Add explicit md_dirty flag to dbxs 2011-09-01 16:17:07 -07:00
Howard Chu
edf7869466 Add cursor_prev 2011-09-01 16:17:07 -07:00
Howard Chu
cc56ba04fb Use BDB cursor terminology 2011-09-01 16:17:07 -07:00
Howard Chu
60550e14ee Add some legalese
Note derived from Martin Hedenfalk's btree.c; the code
is significantly reworked but owes a lot to the original.
2011-09-01 16:17:07 -07:00
Howard Chu
36b0883564 Additional debug, fixes
Fixed order of mdb_del0 operations
Drop in-memory free list from env on txn_abort
2011-09-01 16:17:07 -07:00
Howard Chu
4ba37eed5e Save free-list in DB 2011-09-01 16:17:07 -07:00
Howard Chu
852ac0e3bc More sub-db stuff 2011-09-01 16:17:07 -07:00
Howard Chu
a687f2dc3c Use STAILQ instead of SIMPLEQ
For compat with ancient BSD. Will probably just copy <ldap_queue.h> instead.
2011-09-01 16:17:07 -07:00
Howard Chu
1f3fdc811e More subdb stuff, add cursor_last() 2011-09-01 16:17:07 -07:00
Howard Chu
9b4c689601 Tweak mt_dbxs array 2011-09-01 16:17:07 -07:00
Howard Chu
8211dd3960 Fix free page re-use 2011-09-01 16:17:07 -07:00
Howard Chu
415d98755d Fixup metapage writes 2011-09-01 16:17:06 -07:00
Howard Chu
4fd0f278d2 Tweaks to txn handling 2011-09-01 16:17:06 -07:00
Howard Chu
f89d0cc4b7 More subDBs, compiles now 2011-09-01 16:17:06 -07:00
Howard Chu
cb45191793 Start DB restructuring 2011-09-01 16:17:06 -07:00
Howard Chu
194334b2f7 Replace ulong with ULONG macro 2011-09-01 16:17:06 -07:00
Howard Chu
2766e88eeb More prep for subdatabases 2011-09-01 16:17:06 -07:00
Howard Chu
86e78566e3 Tweak comment about overflow allocations 2011-09-01 16:17:06 -07:00
Howard Chu
bc0ca49d16 Use an environment directory
Go back to using an mmap'd lock file
2011-09-01 16:17:06 -07:00
Howard Chu
5a72c6a294 No longer need -lssl 2011-09-01 15:53:33 -07:00
Howard Chu
5e6f32243c Fix db_stat stuff 2011-09-01 15:53:33 -07:00
Howard Chu
3f025d1d4c More fixes for seeking 2011-09-01 15:53:33 -07:00
Howard Chu
27ab75ef36 Re-use old pages 2011-09-01 15:53:33 -07:00
Howard Chu
8d74f717ff For test063
add hex timestamp to lutil_debug() output
Fix LASTMOD race condition in accesslog.c
Set refreshInterval even if using refreshAndPersist, since
fallbacks will use refresh params
2011-08-30 19:16:39 -07:00
Howard Chu
6546ecd39c ITS#7022 cleanup prev commit 2011-08-24 15:37:52 -07:00
Rich Megginson
a7aac14d2a ITS#7022 NSS_Init* functions are not thread safe
The NSS_InitContext et. al, and their corresponding shutdown functions,
are not thread safe.  There can only be one thread at a time calling
these functions.  Protect the calls with a mutex.  Create the mutex
using a PR_CallOnce to ensure that the mutex is only created once and
not used before created.  Move the registration of the nss shutdown
callback to also use a PR_CallOnce.  Removed the call to
SSL_ClearSessionCache() because it is always called at shutdown, and we must
not call it more than once.
2011-08-24 15:34:47 -07:00
Jan Vcelak
3dae953fd6 ITS#7014 TLS: don't check hostname if reqcert is 'allow'
If server certificate hostname does not match the server hostname,
connection is closed even if client has set TLS_REQCERT to 'allow'. This
is wrong - the documentation says, that bad certificates are being
ignored when TLS_REQCERT is set to 'allow'.
2011-08-24 15:27:29 -07:00
Rich Megginson
210b156ece ITS#7002 MozNSS: fix VerifyCert allow/try behavior
If the olcTLSVerifyClient is set to a value other than "never", the server
should request that the client send a client certificate for possible use
with client cert auth (e.g. SASL/EXTERNAL).
If set to "allow", if the client sends a cert, and there are problems with
it, the server will warn about problems, but will allow the SSL session to
proceed without a client cert.
If set to "try", if the client sends a cert, and there are problems with
it, the server will warn about those problems, and shutdown the SSL session.
If set to "demand" or "hard", the client must send a cert, and the server
will shutdown the SSL session if there are problems.
I added a new member of the tlsm context structure - tc_warn_only - if this
is set, tlsm_verify_cert will only warn about errors, and only if TRACE
level debug is set.  This allows the server to warn but allow bad certs
if "allow" is set, and warn and fail if "try" is set.
2011-07-28 14:09:55 -07:00
Rich Megginson
fb4b4f7445 ITS#7001 MozNSS: free the return of tlsm_find_and_verify_cert_key
If tlsm_find_and_verify_cert_key finds the cert and/or key, and it fails
to verify them, it will leave them allocated for the caller to dispose of.
There were a couple of places that were not disposing of the cert and key
upon error.
2011-07-28 14:00:15 -07:00
Jan Vcelak
e8ac17e17c ITS#6998 MozNSS: when cert not required, ignore issuer expiration
When server certificate is not required in a TLS session (e.g.
TLS_REQCERT is set to 'never'), ignore expired issuer certificate error
and do not terminate the connection.
2011-07-21 11:59:06 -07:00
Howard Chu
c02e681121 ITS#6982 fix md5 memset invocation 2011-07-01 22:55:06 -07:00
Howard Chu
661d4f80e3 Drop header page
it's useless, just use meta pages instead
2011-07-01 02:31:36 -07:00
Rich Megginson
d944920fd3 ITS#6980 free the result of SSL_PeerCertificate
In tlsm_auth_cert_handler, we get the peer's cert from the socket using
SSL_PeerCertificate.  This value is allocated and/or cached.  We must
destroy it using CERT_DestroyCertificate.
2011-06-29 16:56:26 -07:00
Hallvard B Furuseth
c98c14fef5 Private: make.sh 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
63370215dd #define _XOPEN_SOURCE for random() 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
f88d626ff1 Drop unused vars 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
95c88a57b1 Warning cleanup: Make parent index unsigned 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
7c1e5e9540 Warning cleanup: printf(%p, struct*) 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
5fdbc54d76 Warning cleanup: if(rc = mdb_<func>()) & co 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
160585b1bc Warning cleanup: Drop unneeded 'unsigned >= 0' 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
bd2ceeb74e Fix P_INVALID signedness 2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
f42f7f3442 Fix formats, reduce PAGEHDRSZ size_t->unsigned.
NUMKEYS was size_t due to PAGEHDRSZ; printing unsigned int is simpler.

Instead increase PAGEFILL to long, since it involves a multiply.
Possibly uint32_t or something would be sufficient.
2011-06-29 22:29:24 +02:00
Hallvard B Furuseth
aed36f5780 Compact memnrcmp, just for fun 2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
ab0d6fa05e Fix memncmp(): Do not memcmp twice 2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
86b40907d4 DPRINTF(): Fix format, handle non-gcc, simplify.
Add C99-required 1st parameter.  Disable for for non-gcc.  Simplify.
GNU extension #define DPRINTF(<no 1st arg>...) -> GNU ext ,##__VA_ARGS__.
Fix __LINE__ format %ld -> %d.
2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
84659a5bb6 Makefile 2011-06-29 22:26:32 +02:00
Hallvard B Furuseth
f73a992ac9 .gitignore 2011-06-29 22:26:32 +02:00
Howard Chu
2d4f522a73 More cursor tests, fail... 2011-06-29 01:55:53 -07:00
Howard Chu
bddc86c0ee Save a byte in nodesz 2011-06-29 01:55:07 -07:00
Howard Chu
3a62d59c45 meta init 2011-06-28 22:34:53 -07:00
Howard Chu
fe703b0ee0 Log txnID in msgs 2011-06-28 22:05:54 -07:00
Howard Chu
421ee6bb1d Use toggling meta page instead of always appending 2011-06-28 18:40:52 -07:00
Howard Chu
a37195f686 Use shmat for lock region instead of mmap 2011-06-28 14:22:22 -07:00
Howard Chu
f367441b69 Add locking support 2011-06-28 13:46:48 -07:00
Howard Chu
a4c3626267 Fix P_INVALID def 2011-06-28 02:57:02 -07:00
Howard Chu
7d678832a7 Cursor testing 2011-06-28 02:43:49 -07:00
Howard Chu
cd57e9741f Fix splits, cursor navigation, newpage flags 2011-06-28 02:40:46 -07:00
Howard Chu
11e80dae63 Return statistics for a DB
Eventually this will have to grow up to be like BDB db_stat...
2011-06-28 00:16:05 -07:00
Howard Chu
a2de260fb3 Use NOSYNC flag 2011-06-28 00:15:40 -07:00
Howard Chu
0c2610ebdd Use header when some fields are unspecified 2011-06-28 00:15:15 -07:00
Howard Chu
d620d4368a Checkpoint 2011-06-27 22:39:24 -07:00
Howard Chu
7ee3dee647 ITS#6828 set ld_errno on connect failures 2011-06-27 18:43:31 -07:00
Howard Chu
052ac2f64a ITS#6828 silence warning in prev commit 2011-06-24 18:03:11 -07:00
Howard Chu
d0973003f7 ITS#6978 bail out on invalid input 2011-06-23 13:17:08 -07:00
Rich Megginson
5e467e4899 ITS#6862 MozNSS - workaround PR_SetEnv bug 2011-06-21 15:58:49 -07:00
Rich Megginson
d78cf81648 ITS#6975 MozNSS - allow cacertdir in most cases
OpenLDAP built with OpenSSL allows most any value of cacertdir - directory
is a file, directory does not contain any CA certs, directory does not
exist - users expect if they specify TLS_REQCERT=never, no matter what
the TLS_CACERTDIR setting is, TLS/SSL will just work.
TLS_CACERT, on the other hand, is a hard error.  Even if TLS_REQCERT=never,
if TLS_CACERT is specified and is not a valid CA cert file, TLS/SSL will
fail.  This patch makes CACERT errors hard errors, and makes CACERTDIR
errors "soft" errors.  The code checks CACERT first and, even though
the function will return an error, checks CACERTDIR anyway so that if the
user sets TRACE mode they will get CACERTDIR processing messages.
2011-06-21 15:56:55 -07:00
Jan Vcelak
65e163d268 ITS#6947 Handle missing '\n' termination in LDIF input 2011-06-20 18:18:34 -07:00
Howard Chu
9f7d119ce3 Add LDAP_OPT_X_TLS_PACKAGE
to return the name of the underlying TLS implementation
2011-06-10 02:11:26 -07:00
Howard Chu
33f3de77f1 ITS#6828 fix TLS setup with async connect 2011-06-08 18:27:54 -07:00
Hallvard Furuseth
fac36dcba7 ITS#6932: Clean up strange asserts & nearby code.
Mostly found by Klocwork: Issues #213,298-300,331,342-343,374,390,410.
2011-05-05 15:55:29 +02:00
Hallvard Furuseth
06dca7858e ITS#6931 Catch NULL ld for LDAP_OPT_SESSION_REFCNT.
Klocwork issue#111, ldap_get_option().
2011-05-05 14:10:32 +02:00
Hallvard Furuseth
a1cb490d0c ITS#6930 Plug ldapi://too-long-path socket leak.
Klocwork issue#117, ldap_connect_to_path().
2011-05-05 13:52:08 +02:00
Hallvard Furuseth
375bc1ace7 ITS#6929 fclose(password file) on failure.
lutil_get_filed_password() bug; klocwork issue#203.
2011-05-05 13:40:15 +02:00
Howard Chu
9b463b59ec ITS#6898 fix regression from ITS#6625
compound statements need brackets, duh.
2011-04-09 16:55:00 -07:00
Hallvard Furuseth
76b7a83026 Merge missing files from cvs repo 2011-04-04 15:38:46 +02:00
Hallvard Furuseth
86dc9d8a4c ITS#6885: Fix lutil_get_now for !HAVE_GETTIMEOFDAY 2011-03-30 15:51:46 +02:00
Howard Chu
f8a5ce4a6e ITS#6870 move ldif.c and fetch.c from liblutil to libldap 2011-03-24 06:49:04 +00:00
Ralf Haferkamp
41654b51e1 ITS#6870 Revert r1.49 commit to make HEAD build again 2011-03-22 11:17:21 +00:00
Ralf Haferkamp
a6dce60b27 ITS#6870 Reverted last commit 2011-03-18 15:18:42 +00:00
Ralf Haferkamp
061786c8dc More for ITS#6870 2011-03-18 14:51:42 +00:00
Howard Chu
a9701ef5a0 ITS#6870 fix Makefile breakage due to ITS#6194 2011-03-17 16:55:26 +00:00
Howard Chu
31a8460417 ITS#6863, fix crashes in ITS#6714 patch. From Jan Vcelak @ Red Hat 2011-03-16 18:23:26 +00:00
Howard Chu
93da727d86 ITS#6848 Add -w option to wait for DB startup before parent exits 2011-03-01 01:19:37 +00:00
Howard Chu
6f1d218652 ITS#6832 #elif cleanup 2011-02-17 00:36:30 +00:00
Howard Chu
ba30a9ee62 Export pw_string64 as lutil_passwd_string64 2011-02-07 00:46:06 +00:00
Howard Chu
bbecfa740d ITS#6811, more for #6802 PKCS11 fork() handling from Rich Megginson @ Red Hat 2011-01-29 20:40:20 +00:00
Pierangelo Masarati
45d580e941 do not hijack loop counter (ITS#6813; blind fix) 2011-01-29 11:05:08 +00:00
Howard Chu
2d545befdd Cleanup version checking 2011-01-27 21:43:22 +00:00
Howard Chu
d27f458b37 ITS#6802 restart modules for fork() - from Rich Megginson @ Red Hat 2011-01-27 21:38:40 +00:00
Howard Chu
ba70ec8b2c ITS#6791 fix cert usage types/values - from Rich Megginson @ Red Hat 2011-01-27 21:34:35 +00:00
Howard Chu
5224536a8e ITS#6790 fix default cipher suites - from Rich Megginson @ Red Hat 2011-01-27 21:32:39 +00:00
Hallvard Furuseth
9eb5ecba15 ITS#5421 comment ldapoptions vs ldapoptions_prefix 2011-01-20 10:45:14 +00:00
Howard Chu
e542bd5498 ITS#5421 export ldap_debug define in <ldap_log.h> 2011-01-19 21:20:10 +00:00
Pierangelo Masarati
6d8e0d5b3e increment lconn_refcnt so connection does not get closed (ITS#6788) 2011-01-18 23:53:24 +00:00
Hallvard Furuseth
b9609cedf5 Catch ber errors in vc (Verify Credentials) 2011-01-17 13:15:27 +00:00
Hallvard Furuseth
8021cbd8f1 ITS#6738 Catch ber errors in libldap/ldap_sync.c.
Also remove variable tag in ldap_sync_search_intermediate()
and reduce  ber_scanf("tm", &tag, foo)  to  tag=ber_scanf("m", foo).
2011-01-17 12:20:56 +00:00
Hallvard Furuseth
dd640af54f Fix ITS#6672: Do not return LDAP_MUTEX_LOCK().
It has type void.
2011-01-12 14:25:37 +00:00
Hallvard Furuseth
77f78f1d57 vc.c: ber_printf/flatten rc==LBER_ERROR -> rc<0 2011-01-12 14:23:07 +00:00
Howard Chu
6a544b7193 Silence stupid MUTEX_FIRSTCREATE warnings 2011-01-11 21:34:55 +00:00
Pierangelo Masarati
45205bdf70 don't leak reqdata 2011-01-08 12:51:43 +00:00
Kurt Zeilenga
be897b6679 Outline SASL interactive API (no meat) 2011-01-06 18:37:23 +00:00
Hallvard Furuseth
360066784c Re-fix ITS#6764 (check for ber == NULL _before_ using ber) 2011-01-05 13:57:31 +00:00
Kurt Zeilenga
966cef8c9a Happy New Year 2011-01-05 00:42:37 +00:00
Kurt Zeilenga
390ba8c84e VC adjust controls tag 2011-01-04 16:01:07 +00:00
Pierangelo Masarati
e2440ccb00 fix previous commit 2011-01-04 01:02:12 +00:00
Pierangelo Masarati
fdafc6384e fix error handling/arg checking 2011-01-03 23:40:02 +00:00
Kurt Zeilenga
37dcb1d791 Remove authzid parameter from verify credential response.
If client wants authzid, it can ask by adding an Authorization Identity
Request inner control.
2011-01-03 22:05:23 +00:00
Kurt Zeilenga
7f4c7ebc1c Extend Verify Credentials encode/decode per -devel post.
(ldapvc doesn't yet request/handle inner password policy control.
2011-01-03 21:49:26 +00:00
Kurt Zeilenga
e6fd8bfbb0 Remove version from encoding
(previously removed from SASL choices, but should be always absent)
2011-01-03 19:21:03 +00:00
Pierangelo Masarati
59b220506d more about ITS#6645 2011-01-01 20:50:00 +00:00
Pierangelo Masarati
6631d41c16 ber_flatten must return -1 on unmatched "{" "}" (ITS#6764) 2011-01-01 16:06:45 +00:00
Hallvard Furuseth
c9e85af35c ITS#6759: assert;Debug -> Debug;assert 2010-12-30 23:19:02 +00:00
Howard Chu
8018924efd ITS#6741 support Bitstring in ldap_X509dn2bv() 2010-12-30 19:38:57 +00:00
Kurt Zeilenga
46f4813632 Remove dead code. 2010-12-30 17:46:26 +00:00
Pierangelo Masarati
f3dd90a553 s/0/O/ 2010-12-30 15:58:48 +00:00
Pierangelo Masarati
538b582cdc fix perror; removed extra sequence opening (is it needed; if yes, it must also be closed, see #if 0) 2010-12-30 15:51:25 +00:00
Pierangelo Masarati
7dfc54378c s/VCRequest/VCResponse/ 2010-12-30 14:12:26 +00:00
Howard Chu
f697a3ffed ITS#6742 from Rich Megginson @ Red Hat 2010-12-24 00:29:31 +00:00
Howard Chu
1bb648841b ITS#6453 cleanup on LDAP_TIMEOUT 2010-12-23 23:18:41 +00:00
Kurt Zeilenga
6119ad7294 Misc vc updates 2010-12-15 00:59:42 +00:00
Kurt Zeilenga
8a692a0034 Add comment regarding ASN.1 syntax
rm version field
2010-12-14 22:09:50 +00:00
Kurt Zeilenga
25aa65f693 cleanup 2010-12-14 21:14:31 +00:00
Kurt Zeilenga
d3b51f2614 LDAP "Verify Credentials" operation
Client library implementation only
2010-12-14 20:58:02 +00:00
Hallvard Furuseth
5feeec67d7 ITS#6747 Fix LDAP_CONNECTIONLESS Debug(), warnings 2010-12-14 15:06:32 +00:00
Howard Chu
439030a16d ITS#6714 non-blocking support from Richard Megginson @ Red Hat 2010-12-11 04:57:10 +00:00
Howard Chu
0215833bcd Cleanup prev commit 2010-12-11 04:51:21 +00:00
Howard Chu
a2053729f0 ITS#6744 - plug leak 2010-12-11 04:35:01 +00:00
Howard Chu
75bb972859 Partial fix for non-string types in cert DNs. (Need to add explicit support
for Bitstring, maybe a few others.)
2010-12-10 02:05:18 +00:00
Pierangelo Masarati
dc156d7f6e allow to set LDIF max line width (ITS#6645) 2010-12-07 10:14:51 +00:00
Pierangelo Masarati
d5f101f836 typo in comment 2010-12-07 10:11:06 +00:00
Hallvard Furuseth
16b7df8397 ITS#6625 Remove some LDAP_R_COMPILEs 2010-12-06 11:31:58 +00:00
Hallvard Furuseth
5ecd624f50 Fix ITS#6625: mutex-protect ldap_free_connection() 2010-12-06 10:51:55 +00:00
Hallvard Furuseth
7cb9c496bf ITS#6625 concurrency patch cleanup 2010-12-06 10:41:41 +00:00
Hallvard Furuseth
5c186dff4d Silence valgrind's ptrcheck (no real change).
Also removes a bit unnecessary code.
2010-12-06 08:19:40 +00:00
Hallvard Furuseth
a55d333107 ITS#6733: Fix LDAP_MEMORY_DEBUG issues.
ber_memcalloc_x overflow check.  Silence some compiler warnings.
2010-12-03 11:44:22 +00:00
Hallvard Furuseth
a7771fc35a ITS#6732: Clean up ber_errno handling.
Set it after ber_mem(c)alloc_x failure.  Don't set it when not needed.
2010-12-02 13:18:32 +00:00
Pierangelo Masarati
603eec5758 remove #ifdef EAGAIN, EWOULDBLOCK (ITS#6603) 2010-11-24 14:47:46 +00:00
Hallvard Furuseth
bc38ec228b For ITS#5421: Remove unnecessary #include "ldap_log.h" 2010-11-23 15:25:49 +00:00
Hallvard Furuseth
7c29e2c7c5 ITS#6723: Handle EOF in test programs 2010-11-23 12:12:54 +00:00
Hallvard Furuseth
18e348a379 Fix last commit (ITS#6622): Remove non-C90 // comment 2010-11-22 12:28:34 +00:00
Hallvard Furuseth
b75b769471 Fix cyrus.c rev 1.159 for --without-cyrus-sasl:
It modified ldap_int_sasl_bind()'s prototype with but not without SASL.
2010-11-19 12:32:05 +00:00
Howard Chu
1ed2d0a485 ITS#6706 from Rich Megginson @ Red Hat - improve diagnostic messages 2010-11-15 20:47:24 +00:00
Howard Chu
750f7f895b ITS#6705 from Rich Megginson @ Red Hat - only use .0 files in cacertdir 2010-11-15 20:45:47 +00:00
Howard Chu
4c31652ee8 ITS#6704 from Rich Megginson @ Red Hat - use both cacert and cacertdir 2010-11-15 20:44:32 +00:00
Howard Chu
208308d4dd ITS#6703 from Rich Megginson @ Red Hat - reject non-files for cert/key pem files 2010-11-15 20:43:53 +00:00
Howard Chu
c7e19f9b62 ITS#6702 prompts should be on stderr 2010-11-12 04:15:23 +00:00
Howard Chu
f26b5b6692 ITS#6689 from Rich Megginson @ Red Hat 2010-10-29 10:30:30 +00:00
Howard Chu
0f30db1c46 ITS#6625 concurrency patch from Doug Leavitt @ Oracle .com 2010-10-22 21:45:48 +00:00
Howard Chu
abe4a5f83b ITS#6673 GnuTLS hangs if you tell it to shut the read direction. Just
shut the write direction; it will all be irrelevant since the socket
will be closed immediately after.
2010-10-16 12:11:11 +00:00
Howard Chu
845bf30c5b Fix prev commit 2010-10-15 13:53:12 +00:00
Howard Chu
f1a18f4e53 Cleanup prev commit 2010-10-14 03:11:26 +00:00
Howard Chu
120d2ce228 More for prev commit. What about ldap_pvt_sasl_getmechs() ? 2010-10-14 01:47:09 +00:00
Howard Chu
fca72f333b Add ldap_sasl_interactive_bind() 2010-10-14 01:29:32 +00:00
Howard Chu
0b660dc9f6 ITS#6672 mutex cleanup 2010-10-13 08:43:15 +00:00
Howard Chu
1c9853c674 ITS#6669 remove obsolete SunOS4 LWP support 2010-10-12 11:02:59 +00:00
Howard Chu
0890a89c37 ITS#6669 remove obsolete SunOS4 LWP support 2010-10-12 10:26:31 +00:00
Pierangelo Masarati
2b1b37cd4b do not use lutil_atoix() (ITS#6654) 2010-09-21 00:10:44 +00:00
Pierangelo Masarati
9d77d61314 don't use lud_host when NULL (ITS#6653, fixed differently) 2010-09-21 00:05:36 +00:00
Howard Chu
f32f1a45d4 ITS#6639 set sock err to EAGAIN on partial write 2010-09-12 10:09:45 +00:00
Pierangelo Masarati
4601107e4e fix format specifier (ITS#6644) 2010-09-09 16:05:26 +00:00
Pierangelo Masarati
0c0873803d add parsing support for [unsigned] long long (ITS#6622) 2010-08-12 23:32:37 +00:00
Pierangelo Masarati
6c6e187b98 do not alter ld_nextref_proc (ITS#6602) 2010-07-27 00:55:51 +00:00
Pierangelo Masarati
d27038f6b4 fix previous commit 2010-07-26 19:45:36 +00:00
Pierangelo Masarati
c2ab1778a0 check mutex ownership 2010-07-26 19:26:59 +00:00
Howard Chu
512c7ca273 ITS#6585 don't close invalid sockets 2010-07-21 23:41:17 +00:00
Howard Chu
71f062afee ITS#6595 remove unneeded token init code. From Rich Megginson @ RedHat. 2010-07-21 22:57:01 +00:00
Howard Chu
e0cac8a048 ITS#6589 allow self-signed server certs, from Rich Megginson @ RedHat.com 2010-07-14 23:11:34 +00:00
Howard Chu
ce1e201343 add ifdefs for SASL_GSS_CREDS to accomodate ancient Cyrus SASL 2010-06-12 22:10:16 +00:00
Howard Chu
33bfd730a1 ITS#6569 return server's error code on Disconnect 2010-06-02 03:30:19 +00:00
Howard Chu
d3a1be4e3f ITS#6568 plug cldap memleaks 2010-06-02 03:10:39 +00:00
Howard Chu
2dd75cf206 Support option SASL_GSS_CREDS 2010-05-13 06:08:21 +00:00
Howard Chu
73bb167e74 ITS#6541 off-by-one, account for 'Z' being replaced by sign of delta 2010-05-03 05:13:44 +00:00
Ralf Haferkamp
17d61f6e6a Different fix for make -j builds. The previous one caused recompiles
of fetch.c and ldif.c with every make run.
2010-04-29 11:28:13 +00:00
Ralf Haferkamp
df9f2d87a5 Fix parallel builds (make -j) 2010-04-23 16:30:55 +00:00
Pierangelo Masarati
de94fbbd26 fix libraries order to build with --enable-dynamic (more about ITS#6517) 2010-04-22 15:45:41 +00:00
Pierangelo Masarati
6cee32cb28 more about ITS#6194 2010-04-20 05:47:09 +00:00
Pierangelo Masarati
a94b978e9d (blind) fix off-by-one bug (ITS#6223; fixed differently) 2010-04-18 02:42:56 +00:00
Howard Chu
b8013e828c No longer used 2010-04-15 21:29:50 +00:00
Pierangelo Masarati
ee156cfd7a serial can be longer than ber_int_t (ITS#6460) 2010-04-14 20:26:24 +00:00
Kurt Zeilenga
3dadeb3efe happy belated New Year 2010-04-13 22:17:29 +00:00
Pierangelo Masarati
9331182a07 union of operation-specific data in LDIFRecord (ITS#6194, by Rich Megginson) 2010-04-13 07:37:59 +00:00
Howard Chu
68b292d869 Cleanup prev commit 2010-04-12 20:21:13 +00:00
Howard Chu
86c361cdb8 In tmp_rsa_cb, new API is in 0.9.8 inclusive, not exclusive 2010-04-12 03:21:05 +00:00
Howard Chu
1dbefa75be ITS#6432 updated MozNSS context and PEM support 2010-04-12 02:44:28 +00:00
Pierangelo Masarati
d033f680b5 (ITS#6194) Patch - Enhancement - provide LDIF support as libldif 2010-04-12 02:01:55 +00:00
Howard Chu
e5302c2431 ITS#6510 ignore referrals on Bind response 2010-04-09 18:30:29 +00:00
Kurt Zeilenga
abdb6c683f ldap_parse_result should always free result when freeit is true. 2010-03-26 14:05:47 +00:00
Kurt Zeilenga
f967ec3b4e Set res parameter to NULL upon ldap_search_ext_s entry. Likewise for friends.
Note in manual that res parameter should be freed regardless of return value
of ldap_search_ext_s (or friends).
2010-01-29 23:11:24 +00:00
Pierangelo Masarati
797387c4ef skip the serial, whatever its length (ITS#6460) 2010-01-24 19:16:57 +00:00
Howard Chu
127e504015 ITS#6405 in ldap_pvt_gettime, also check for microsecs going backward 2009-11-30 21:47:38 +00:00
Hallvard Furuseth
3aff1b0c0c ITS#6351,6390: s/memrchr/lutil_memrchr/, but try #define lutil_memrchr->memrchr 2009-11-20 20:43:50 +00:00
Howard Chu
61be1d55d3 More for prev commit - only set if URL was provided.
(should URL be mandatory?)
2009-11-18 22:37:02 +00:00
Howard Chu
a248701ed2 ITS#6386 Must init conn->lconn_server 2009-11-18 22:23:14 +00:00
Pierangelo Masarati
a95b8cd488 honor -1 timeout (ITS#6388) 2009-11-18 14:57:52 +00:00
Howard Chu
b99fdb6506 ITS#6283 add missing env options 2009-11-15 21:48:49 +00:00
Howard Chu
9a65f35f2e partially revert prev commit 2009-11-06 02:20:40 +00:00
Howard Chu
86d9e86afd Minor cleanup in strval2str 2009-11-06 01:37:09 +00:00
Hallvard Furuseth
48048c5348 More ITS#6353 - relent a bit: accept terminating NUL byte, which AD can send 2009-11-04 11:17:03 +00:00
Hallvard Furuseth
7b22b22202 ITS#6355: Fix uninitialiezed lso_tmp_rsa_cb() return value 2009-10-30 17:08:57 +00:00
Hallvard Furuseth
989bd54914 For ITS#6353: Catch embedded NULs in BerValues converted to char* strings 2009-10-28 23:00:27 +00:00
Howard Chu
585940984c Fix prev commit, s/errno/err/g 2009-10-27 01:55:45 +00:00
Howard Chu
405c68abf9 For prev commit, check for EINTR/EAGAIN/EWOULDBLOCK 2009-10-26 23:52:55 +00:00
Howard Chu
a05d7015e0 ITS#6327, #6334 take ret=-1/EINTR into account 2009-10-26 23:36:39 +00:00
Howard Chu
30c55952d3 Cleanup prev commit 2009-10-26 19:19:20 +00:00
Howard Chu
1155f5ff20 ITS#6327 fix sb_sasl_generic_write retval for partial writes 2009-10-26 18:49:42 +00:00