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
Hallvard Furuseth
3a688d8d59
ITS#6348: Fix inverted LBER_USE_DER test in ber_put_seqorset() since rev 1.73
2009-10-23 20:39:54 +00:00
Hallvard Furuseth
068cf1c701
ITS#6344: return failure on failure in ber_put_ostring()/ber_put_bitstring()
2009-10-21 12:41:34 +00:00
Hallvard Furuseth
7e107de4d9
Fix comment describing BerElement.ber_usertag
2009-10-21 11:41:44 +00:00
Hallvard Furuseth
47617b033c
Cleanup - macroize magic constant (ITS#5909)
2009-10-21 11:31:59 +00:00
Ralf Haferkamp
8fcdc29405
In case of certificate verification failures include failure reason
...
into the error message (openssl only)
2009-09-30 16:25:23 +00:00
Howard Chu
e0431681ad
On OpenSSL 0.9.8 and newer, use RSA_generate_key_ex since
...
RSA_generate_key is deprecated
2009-09-25 23:31:24 +00:00
Pierangelo Masarati
4b4db7b529
keep compatibility with slapd's gmtime_mutex (ITS#6262)
2009-09-08 23:21:21 +00:00
Howard Chu
d0a410b212
Tweak MozNSS include path
2009-08-29 03:56:25 +00:00
Howard Chu
2ba0e44ad1
ITS#6278 PEM support for MozNSS from rmeggins@redhat.com, with header cleanups
2009-08-29 03:41:53 +00:00
Pierangelo Masarati
0b44f1fbcf
silence warnings
2009-08-21 17:06:22 +00:00
Pierangelo Masarati
ba2bddafbd
copy username, much like other string-valued options (more about ITS#6257)
2009-08-19 21:46:07 +00:00
Pierangelo Masarati
a846dad6fb
cleanup previous commit
2009-08-19 13:10:30 +00:00
Pierangelo Masarati
9abaf38d1f
silence warnings
2009-08-19 12:23:27 +00:00
Pierangelo Masarati
8776630509
address signedness issue
2009-08-19 12:06:04 +00:00
Hallvard Furuseth
f0d775609b
More ITS#6262: Also define ldap_pvt_gmtime_[un]lock if localtime_r is missing
2009-08-19 10:10:31 +00:00
Pierangelo Masarati
637182b8f4
fix previous commit
2009-08-19 00:12:39 +00:00
Pierangelo Masarati
f3cdcadf89
wrap gmtime for reentrancy (ITS#6262)
2009-08-18 23:48:15 +00:00
Pierangelo Masarati
5c916588b8
fix previous commit
2009-08-18 19:09:12 +00:00
Pierangelo Masarati
98a8b74d53
expose SASL_USERNAME when it makes sense (EXTERN needs work, much like SASL_SSL) (ITS#6257)
2009-08-18 18:47:56 +00:00
Howard Chu
b87553684a
More for prev commit
2009-08-14 20:02:08 +00:00
Howard Chu
9b764c3f9e
Fix prev commit again, IPPROTO_TCP is the documented correct approach
2009-08-13 21:35:38 +00:00
Howard Chu
f5bad5673b
Fix prev commit, it was not Linux-only as it claimed to be.
2009-08-13 20:55:04 +00:00
Hallvard Furuseth
b0e6e73d1c
ITS#6215 cleanup: Export ber_skip_element() to complement ber_peek_element()
2009-08-12 22:13:50 +00:00
Hallvard Furuseth
3e20bda971
Trying again: No need to maintain ber->ber_usertag except at ber_printf "!"
2009-08-12 22:12:15 +00:00
Hallvard Furuseth
791035d93f
Fix last commit: cast strcasecmp unsigned char* to char*
2009-08-07 21:46:25 +00:00
Hallvard Furuseth
3802aa5483
More ITS#6215: Catch malformed elements in ber_get_stringbvl().
...
Do not use ber_<first/next>_element(), which have no error return.
2009-08-07 19:26:11 +00:00
Hallvard Furuseth
bc20500e62
More ITS#6215: Define and use ber_tag_and_rest() and ber_<peek/skip>_element()
2009-08-07 19:15:26 +00:00
Hallvard Furuseth
95fbdcab4e
More ITS#6215: Fix wrong fix in rev 1.121
2009-08-07 16:04:25 +00:00
Howard Chu
e229b7c398
In session_chkhost get the last CN, not the first.
2009-08-07 11:59:42 +00:00
Hallvard Furuseth
455c49ba3e
Simplify struct bgbvr and ber_get_stringbvl(), preserving behavior.
2009-08-04 21:11:38 +00:00
Howard Chu
d479db53e0
Minor cleanup
2009-07-31 03:26:03 +00:00
Howard Chu
403ee0b62e
Fix, reqcert == ALLOW should ignore cert verification failures
2009-07-31 01:51:34 +00:00
Howard Chu
3f2101198b
ITS#6239 use our own hostname checking for MozNSS
2009-07-31 01:32:51 +00:00
Hallvard Furuseth
02e165258c
Might help ITS#6145: change while to do-while, to make visible that the
...
loop saving malloced data is run at least once.
2009-07-31 00:05:32 +00:00
Howard Chu
d4f2a06887
Check for CN length match as well in chkhost
2009-07-30 21:52:09 +00:00
Hallvard Furuseth
19b8065922
More ITS#6215: Fix va_arg integer types for ber_scanf "bei" & ber_printf "BX"
2009-07-29 23:03:10 +00:00
Hallvard Furuseth
8b3bb91e93
More ITS#6215: Fix ber_scanf(,"mMvVW",) cleanup on error:
...
Parse args correctly and free up memory.
Also set some lengths=0 and remove unneeded ptr==NULL tests before frees.
2009-07-29 22:38:19 +00:00
Hallvard Furuseth
886520f193
More ITS#6215: Free data to the memory context used to allocate it
2009-07-29 22:10:45 +00:00
Hallvard Furuseth
b6bad3e995
More ITS#6215:
...
Reject indefinite-length format in ber_skip_tag(). localize *len.
Reject broken and too large bitstrings in ber_get_bitstringa().
Simplify a number of functions somewhat - no functionality changes.
Remove unnecessary tests and ber_tag updates after ber_skip_tag().
2009-07-29 21:47:54 +00:00
Hallvard Furuseth
29aa1d07c7
For ITS#6215: No need to maintain ber->ber_usertag except at ber_printf "!"
2009-07-29 17:21:54 +00:00
Hallvard Furuseth
4bed42ae5a
For ITS#6215: Do not expose obsolete Seqorset. Note ber_write(,,,nonzero) is gone.
2009-07-29 17:07:52 +00:00
Hallvard Furuseth
36d2dc034d
More ITS#6215 -
...
Speedup & less memory allocation:
Simplify the work to encode tag, length, integer/enum, sequence/set.
Drop struct seqorset and allocations of it. Replace BerElement.ber_sos.
Drop ber_write(,,,nonzero) support. Callers, if any, need to be rewritten.
Make ber_log_sos_dump() and ber_sos_dump() stubs, they could no longer work.
Fix ber_write() buffer overrun after ber_start_seqorset().
Check overflow and max sizes, e.g. for functions returning int size.
Some cleanup, and handwaves in the direction of supporting CHAR_BIT>8.
Add/fix comments and a few descriptive types/macros.
2009-07-29 16:49:42 +00:00
Hallvard Furuseth
53f884ac1d
Remove useless asserts that will be re-assert()ed before the variable is used
2009-07-29 15:06:28 +00:00
Hallvard Furuseth
12a6f3e055
ITS#6215: Fix buffer overrun and write through NULL pointer
2009-07-29 14:57:09 +00:00
Howard Chu
e0bcb7b571
ITS#4643 never use native getpass(), it's deprecated/unsafe
2009-07-22 06:34:37 +00:00
Howard Chu
91dc4501d4
Add VLV Error
2009-07-13 13:13:38 +00:00
Howard Chu
72e319bd02
ITS#5892 return -1 from ldif_read_record on error
2009-07-07 22:30:55 +00:00
Hallvard Furuseth
bbe015f65b
ITS#6197 - normalize & speed up ldap_err2string/ldap_perror():
...
Use same result code -> string mapping for both, removing ldap_int_error():
- Classify unknown error codes as API/extension/etc like _err2string did.
- Pass all strings through _(), i.e. the optional gettext, as _perror did.
Also use a switch instead of linear search for the code->string mapping.
Hopefully the compiler will optimize that. Though the extra gettext,
if anyone uses it, probably counters that speedup.
2009-07-07 20:05:09 +00:00
Howard Chu
159461bfc8
ITS#5696 des_set_key -> des_set_key_and_parity
2009-07-03 22:19:52 +00:00
Howard Chu
8680c13c5f
Cleanup ciphernum
2009-07-03 02:06:24 +00:00
Howard Chu
d95bc8d2d8
Acknowledge richm
2009-07-02 23:19:44 +00:00
Howard Chu
4b8485c47a
ITS#5696 Additional MozNSS support from rmeggins@redhat.com
2009-07-02 23:10:23 +00:00
Howard Chu
de91bde800
ITS#6192 add all digests. Also stop using SSLeay-compatible function
...
names, we're only concerned with OpenSSL these days.
2009-07-01 23:46:36 +00:00
Howard Chu
093fed660d
ITS#6188 add stub for ldap_pvt_thread_pool_retract()
2009-06-25 23:15:38 +00:00
Hallvard Furuseth
671bed5270
Cleanup & slight speedup (no real change):
...
Remove '#if 0 / broken code / #endif. Rearrange pool_wrapper() to avoid
decrement-increment(ltp_active_count) when more tasks available.
2009-06-12 20:46:36 +00:00
Hallvard Furuseth
461cb6b7ca
Update last commit: avoid LDAP_STAILQ_REMOVE in ldap_pvt_thread_pool_retract
2009-06-12 19:32:53 +00:00
Hallvard Furuseth
13cbd433bd
Cast getpeername() arg from struct sockaddr_un* to struct sockaddr*
2009-06-11 16:21:52 +00:00
Howard Chu
39c9b1ab25
Fix prev commit, note *task* not *thread* ...
2009-06-11 05:02:58 +00:00
Howard Chu
23783a9164
Add ldap_pvt_thread_pool_retract() to cancel pending threads
2009-06-11 04:46:04 +00:00
Ralf Haferkamp
5725d5d6e9
Introduce options to configure tcp-keepalive settings per connection. These
...
settings only work on Linux and are ignore when not supported (see
discussion on -devel)
2009-05-06 13:14:36 +00:00
Hallvard Furuseth
4b01f4b23a
ITS#6080 again: simplify ber_strnlen, don't use strnlen, revert _GNU_SOURCE
2009-05-01 03:10:25 +00:00
Hallvard Furuseth
4e3f04edc3
Fix previous fix: Don't #ifdef HAVE_STRNLEN before portable.h #defines that
2009-05-01 02:17:28 +00:00
Hallvard Furuseth
a59f93f32f
Update previous commit: #define _GNU_SOURCE if needed for strnlen()
2009-05-01 02:11:42 +00:00
Pierangelo Masarati
85b47ab0e7
define and use ber_strnlen() (ITS#6080); please regenerate configure and include/portable.hin
2009-04-29 11:38:31 +00:00
Pierangelo Masarati
99fe30b326
(nearly blind) fix for NULL in TLS error message (ITS#6079)
2009-04-29 11:31:39 +00:00
Ralf Haferkamp
eec889f6d9
more warning fixes
2009-04-24 09:48:08 +00:00
Hallvard Furuseth
7434318a17
ITS#5464, #5666 Update last change: Conflicted with compiler flag -D_GNU_SOURCE
2009-04-16 18:02:01 +00:00
Howard Chu
9e7b5d8f19
ITS#5464, #5666 define _GNU_SOURCE
2009-04-15 07:36:56 +00:00
Howard Chu
44f91f1464
ITS#6041 Windows opendir/closedir issues (from ITS#5408...)
2009-04-11 04:22:27 +00:00
Howard Chu
e223d0b124
ITS#6053 must use gnutls_x509_privkey_init()
2009-04-11 03:53:26 +00:00
Howard Chu
94ab6a31b2
ITS#6038 revert prev commits, ITS rejected
2009-03-27 11:07:42 +00:00
Rein Tollevik
c8cf2fc47a
ITS#6038: Write slapadd progress meter to stdout.
2009-03-26 22:50:54 +00:00
Howard Chu
d39bd12e9f
Skip redundant PACKETS logging
2009-03-13 23:10:37 +00:00
Howard Chu
d8e3b4e83e
ITS#6005 crypt salt_format must use ber_memfree
2009-03-09 01:28:00 +00:00
Howard Chu
02b71d58ec
ITS#6005 strings returned to slapd must use ber_mem*
2009-03-08 00:11:25 +00:00
Howard Chu
5d74bea520
ITS#6005 librewrite must use the same mem allocators as slapd
2009-03-07 23:21:26 +00:00
Howard Chu
0ba084d8b0
More cleanup
2009-03-05 09:15:02 +00:00
Howard Chu
c3f8e67615
Tweak prev commit
2009-03-05 09:13:26 +00:00
Howard Chu
9bc829dbef
ITS#5991 build cert chain, GnuTLS doesn't do it for us
2009-03-05 08:04:49 +00:00
Howard Chu
54ed3779d6
ITS#5992 trust X509v1 CA certs
2009-03-05 04:35:49 +00:00
Howard Chu
bd312123d6
ITS#5980 clear res_matched after successfully chasing referral
2009-03-03 17:57:24 +00:00
Howard Chu
ee5b6762ae
ITS#5980 - find_connection should match URLs with empty hostname
2009-03-03 17:56:44 +00:00
Howard Chu
a1861fd162
ITS#5849 patch was wrong, don't X509_free session cert
2009-03-02 17:43:38 +00:00
Howard Chu
c3cff40c1c
ITS#5981 fix GnuTLS TLSVerifyClient try
2009-03-02 03:01:41 +00:00
Howard Chu
e5e9191aeb
ITS#5976 check for cert/DN
2009-02-25 21:48:10 +00:00
Howard Chu
64884e7c6c
Don't call NSS_Shutdown if someone else init'd the library
2009-02-25 10:14:00 +00:00
Pierangelo Masarati
0d6e859846
fix ldap namespace (part of ITS#5974)
2009-02-24 21:09:41 +00:00
Pierangelo Masarati
ed97e96944
re-fix ITS#5916
2009-02-20 01:07:00 +00:00
Quanah Gibson-Mount
3b743a3b79
Revert part of last commit
...
Remove erroneous comment
2009-02-17 21:47:09 +00:00
Quanah Gibson-Mount
83cb8883a6
More for ITS#5955
...
Also special case rand file bits that are OpenSSL only
2009-02-17 21:39:50 +00:00
Quanah Gibson-Mount
331a57fa37
ITS#5955
2009-02-17 21:32:09 +00:00
Pierangelo Masarati
040f945d36
fix misc warnings
2009-02-15 21:59:16 +00:00
Howard Chu
f38d2df19b
Add comments about ITS#3134, #5938 , RFC4513 for posterity. This
...
file will be moving to the Attic...
2009-02-11 01:35:56 +00:00
Howard Chu
07e79f26a4
Revert prev commit
2009-02-10 21:29:56 +00:00
Howard Chu
b886c2ad8a
ITS#5937 fix ancient IPv6 typo
2009-02-10 13:27:22 +00:00
Pierangelo Masarati
2b95e7d288
partially addresses an issue with ITS#5931
2009-02-10 12:44:12 +00:00
Howard Chu
80c6ea52ea
ITS#5853 restructure wait4msg / try_read1msg again. Consolidate
...
the two try_read1msg cases into one, bump refcnts to prevent
lconn's from being freed prematurely.
2009-02-10 09:51:31 +00:00
Howard Chu
fbf42baefa
ITS#5934 fix NULL pointer deref
2009-02-09 21:14:46 +00:00
Howard Chu
4bc8cb6336
ITS#5928 hide all ldap_pvt_tls APIs when !HAVE_TLS
2009-02-08 03:25:48 +00:00
Howard Chu
bc486f123d
Fix spinner in prev commit
2009-02-05 10:07:20 +00:00