Commit Graph

1440 Commits

Author SHA1 Message Date
Howard Chu
e8c2414831 Preliminary sorted value support 2007-09-24 01:31:23 +00:00
Howard Chu
c4dbe1a274 Attribute/Modification value counters 2007-09-21 08:43:56 +00:00
Pierangelo Masarati
d92e8ad1f7 add helper for internal searchs for objectClass=* 2007-09-15 17:38:53 +00:00
Pierangelo Masarati
06e6e6c053 apply Howard's cleanup of database monitoring registration 2007-09-15 15:34:49 +00:00
Pierangelo Masarati
202080dfa1 enable unindexed searches monitoring ifdef LDAP_DEVEL 2007-09-12 21:26:10 +00:00
Howard Chu
40e796c547 ITS#5129 fix alock_close with Quick mode 2007-09-08 05:26:03 +00:00
Howard Chu
6a6adff86c ITS#5129 disallow Quick mode if DB_CONFIG has changed 2007-09-08 04:59:34 +00:00
Pierangelo Masarati
9c437f4411 quote suffix (ITS#5128) and use it as much as possible to identify databases 2007-09-08 00:41:29 +00:00
Pierangelo Masarati
2da15f1013 remove experimental code as per ITS#4962 discussion 2007-09-07 12:33:21 +00:00
Pierangelo Masarati
ed12ff8fd3 parse unsigned as unsigned (ITS#5122) 2007-09-04 19:32:54 +00:00
Pierangelo Masarati
371bf8f803 blind fix: I assume we need to restore ors_scope 2007-09-04 19:31:47 +00:00
Pierangelo Masarati
c73520ec08 fix idl lru deletion of last entry (ITS#5121) 2007-09-04 19:01:55 +00:00
Howard Chu
75964a771f Use IA5String for olcDbConfig to allow empty strings 2007-09-03 00:41:30 +00:00
Howard Chu
33f311d81f Read DB_CONFIG file in server and tool mode, for config conversions 2007-09-02 23:53:29 +00:00
Pierangelo Masarati
c83b8b58a3 hide (experimental) schema 2007-09-01 16:01:29 +00:00
Pierangelo Masarati
e161e8efb6 fix test 2007-08-29 00:13:56 +00:00
Pierangelo Masarati
0bedad3b65 plug leak 2007-08-28 23:56:18 +00:00
Pierangelo Masarati
7c66952714 check for shutdown (need to add to other backends?) 2007-08-26 15:38:51 +00:00
Howard Chu
8367f0cfe4 revert prev commit, no gain 2007-08-26 14:37:12 +00:00
Howard Chu
ddc5c9f735 Just use read locks on the entry_db_lock 2007-08-26 13:49:35 +00:00
Pierangelo Masarati
071b77cf9d better fix 2007-08-25 15:01:27 +00:00
Pierangelo Masarati
84143631ee fix potential concurrency issue (not so potential, if we could regularly trigger it :) 2007-08-25 14:58:43 +00:00
Pierangelo Masarati
8f95ff260c consistently use "tag=" instead of "op=" in debug messages 2007-08-25 00:10:52 +00:00
Howard Chu
4c7d288eb7 More for BDB 4.6 compatibility 2007-08-17 20:33:46 +00:00
Pierangelo Masarati
553d83c3c1 fix previous commit 2007-08-17 12:38:50 +00:00
Pierangelo Masarati
36111934a3 allow "traditional" behavior (more for ITS#4962; please debate) 2007-08-17 09:51:29 +00:00
Pierangelo Masarati
2f5bfba296 let req_modify_s and req_modrdn_s have a common portion to interoperate within slap_mods_opattrs() (ITS#5093) 2007-08-16 09:48:53 +00:00
Pierangelo Masarati
27428ac00e uniformly exploit rootdn bind; add support for rootdn bind to backends that didn't have it (ITS#4962) 2007-08-16 09:38:15 +00:00
Howard Chu
8b27523e4c Add config keyword for DN cache size (aka EntryInfoSize)
default is 2x entry cache size
2007-08-11 19:29:14 +00:00
Howard Chu
a87b4592a4 Remove tool_id2entry_get 2007-08-11 04:19:53 +00:00
Howard Chu
ed4b5d1bd7 ITS#5087 fix tool_id2entry_get for hdb
TODO: rip this all out and just use tool_entry_get
2007-08-11 02:11:27 +00:00
Pierangelo Masarati
97d2c51980 improve previous commit: now each missing index has a specific counter 2007-08-08 18:22:19 +00:00
Pierangelo Masarati
b713eb5102 add monitor support for unindexed attributes (need to manually #define BDB_MONITOR_IDX) 2007-08-07 22:36:04 +00:00
Pierangelo Masarati
dbad13ead2 workaround open() being a macro in glibc 2.6 (ITS#5075) 2007-08-06 12:57:24 +00:00
Ralf Haferkamp
3a9310431e Reworked recent backend API changes, now using a separate struct,
(ConfigReply) for the error messages.
2007-08-03 12:02:07 +00:00
Ralf Haferkamp
5ae46c195e Added a new parameter (ConfigArgs*) to the _db_init, _db_open, _db_close and
_db_destroy functions.
2007-07-25 17:21:05 +00:00
Howard Chu
b514b25795 Quick and dirty BDB 4.6.18 support. Expect this to change again soon. 2007-07-24 14:02:37 +00:00
Howard Chu
1e8350ad3f Silence warnings in prev commit 2007-07-23 00:02:31 +00:00
Howard Chu
e0cb8bcf98 Delete extraneous test in prev commit 2007-07-22 17:19:21 +00:00
Howard Chu
4b3bf1a61a Set GLUE ocflag on dummy context entry 2007-07-21 00:35:32 +00:00
Howard Chu
a56a8540fd ITS#4961 read context glue entry if it exists 2007-07-21 00:05:16 +00:00
Howard Chu
fb5568bd45 ITS#5052 fix Quick mode erroneously indexing ID#0 2007-07-20 14:42:31 +00:00
Quanah Gibson-Mount
c3e347c11f Change db == NULL to rc == LDAP_INAPPROPRIATE_MATCHING
as a half-way step for ITS#5037
2007-07-10 00:24:05 +00:00
Quanah Gibson-Mount
88a4ffe5be ITS#5037
Move db == NULL check to correct spot
2007-07-09 21:28:14 +00:00
Hallvard Furuseth
4586ede1ab ITS#5007: Rename label "leave"; OSF1 pthread.h makes it as an exception keyword 2007-06-09 23:45:23 +00:00
Pierangelo Masarati
133035cdd2 do not try to register custom monitor stuff when subordinate (related to ITS#4965); note: this might not be the best solution, because it does not allow to monitor subordinate databases; however, right now it's necessary, since subodinate databases do not register themselves in back-monitor 2007-06-09 14:14:45 +00:00
Hallvard Furuseth
93fbb87545 Give OperationBuffer normal struct members instead of using
LBER_ALIGNED_BUFFER(OPERATION_BUFFER_SIZE), as discussed in ITS#4078.
Add a corresponding SyncOperationBuffer in overlays/syncprov.c.
2007-05-18 23:54:26 +00:00
Hallvard Furuseth
7372fea8b5 printf format paranoia: macros could be changed to contain format chars 2007-05-18 14:48:28 +00:00
Pierangelo Masarati
a01d9f961d fix no-op crasher (ITS#4925) 2007-04-11 20:31:49 +00:00
Hallvard Furuseth
1c87542ea1 Add missing return from void *bdb_tool_trickle_task() 2007-04-09 22:45:21 +00:00
Howard Chu
87466fc7c8 Add trickle-sync for quick mode 2007-04-07 06:10:01 +00:00
Hallvard Furuseth
8e5beab1e8 printf %p expects void* 2007-04-04 17:49:31 +00:00
Howard Chu
0752716d80 Remove obsolete purge (obsoleted in cache.c rev 1.106) 2007-03-22 07:35:10 +00:00
Pierangelo Masarati
226133ea38 don't add databases twice; but try as hard as possible... 2007-03-21 23:22:49 +00:00
Pierangelo Masarati
d0fe3b0890 allow adding of back-bdb with monitoring on (ITS#4789) 2007-03-21 22:35:37 +00:00
Howard Chu
4ae77ae266 ITS#4851 retry if opening a supposedly clean shared memory env fails 2007-02-24 20:18:56 +00:00
Howard Chu
10a0900e2e Fix prev commit, cleanup fakeroot entry before freeing 2007-02-09 17:39:49 +00:00
Howard Chu
94e7e3ba57 Fix prev commit, free fakeroot on teardown 2007-02-09 17:30:23 +00:00
Howard Chu
2d3c48ccd5 ITS#4838 fix fake root handling broken by prev commit 2007-02-09 17:23:00 +00:00
Howard Chu
fb583c3071 Revert prev commit 2007-02-08 10:29:40 +00:00
Howard Chu
57c5bbf7e4 Just use a readlock in cache loader 2007-02-08 09:27:35 +00:00
Howard Chu
0c25783cee use dn2id index for extended filters using entryDN 2007-02-08 06:43:28 +00:00
Howard Chu
df31c884b4 Free main-thread keys in db_close, can't do it later because the env
will be gone.
2007-01-25 12:24:52 +00:00
Howard Chu
ea8a2894c4 Free main-thread keys in db_close, can't do it later because the env
will be gone.
2007-01-25 12:00:40 +00:00
Howard Chu
183a0f3719 ITS#4810 bi_entry_get_rw() must return the entry regardless of whether
it's an alias or referral or not
2007-01-25 04:31:23 +00:00
Howard Chu
9a8b3f711e Only sort the first time 2007-01-17 10:43:37 +00:00
Howard Chu
5d4c8f86bf Fix prev commit 2007-01-17 10:02:53 +00:00
Howard Chu
ecb06964c5 Cleanup prev commit 2007-01-17 02:46:41 +00:00
Howard Chu
9898983d58 Minor tweaks, put dup EntryInfo's on free list instead of destroying them 2007-01-17 02:43:05 +00:00
Howard Chu
1f853acfc9 Shortcut when no index info is present 2007-01-15 01:27:02 +00:00
Howard Chu
5d3f3c240d ITS#4554 slapindex takes a list of attributes to index 2007-01-15 01:14:14 +00:00
Howard Chu
b941856404 Set upper bound on EntryInfos, fixed at 4x Entry cachesize.
Probably should be tunable. Probably should add hit/miss counters
to monitor to assist in tuning...
2007-01-12 07:35:34 +00:00
Hallvard Furuseth
d16754c81b Delete unused variables. 2007-01-11 12:04:22 +00:00
Howard Chu
5bcd9243f2 Don't zero out attr value flags 2007-01-10 20:48:37 +00:00
Howard Chu
a2e299eb22 ITS#4799 remove kerberos / kbind 2007-01-10 00:23:28 +00:00
Howard Chu
813cca89a6 ITS#4797 2007-01-08 19:10:23 +00:00
Howard Chu
2082b1f9f0 Avoid calling purge too often 2007-01-05 06:49:25 +00:00
Howard Chu
001ce8e493 Partially revert prev commit, fix lru_purge loop 2007-01-04 11:01:59 +00:00
Howard Chu
57fa57b1d1 Fix HDB - don't use IDL cache when it's not configured 2007-01-04 10:56:18 +00:00
Howard Chu
e48f72c1b5 Unify use of BDB lockers 2007-01-04 08:36:59 +00:00
Howard Chu
23a2339090 Fix prev commits... 2007-01-04 03:26:54 +00:00
Howard Chu
f2acc11976 Simpler fix 2007-01-04 03:17:59 +00:00
Howard Chu
831d1cccc7 Fix idl_cache teardown again - skip if cache is empty 2007-01-04 03:14:46 +00:00
Howard Chu
e094bef172 Remember our own success code in case an overlay changes it 2007-01-03 20:28:56 +00:00
Howard Chu
5cfd2f6d97 Use Clock algorithm for IDL cache too 2007-01-03 19:00:07 +00:00
Howard Chu
6d1ca0a769 Delete unused idl_cache_entry rwlock field 2007-01-03 05:36:49 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Howard Chu
822888eafc Bypass a few redundant locks 2007-01-01 11:44:39 +00:00
Howard Chu
6074f48fa7 Tweak cache_lru_print 2007-01-01 11:17:13 +00:00
Howard Chu
a5546a22a8 Fix prev commit, hdb_cache_find_parent 2007-01-01 07:09:22 +00:00
Howard Chu
cd35516bdc Fix typo in prev commit 2007-01-01 02:16:25 +00:00
Howard Chu
37dfbd3e8b Fix prev commit 2007-01-01 01:07:57 +00:00
Howard Chu
d7fa1e764d partial revert - keep acquiring BDB lock in lru_purge. 2007-01-01 01:00:19 +00:00
Howard Chu
b8309b4cf8 Cleanup db_lock/unlock parameters 2006-12-31 23:37:06 +00:00
Howard Chu
a720011c8a Ditch LRU cache replacement in favor of 2nd-chance/clock.
Much better concurrency.
2006-12-31 16:16:48 +00:00
Howard Chu
e844a6956d In bdb_cache_add use a readlock outside the txn to protect the entry
until send_ldap_result completes.
2006-12-30 12:05:55 +00:00
Howard Chu
3bf226382e ITS#3707 preserve filter input, allow (and ignore) undefined attributes 2006-12-25 23:30:45 +00:00
Pierangelo Masarati
6193ee4003 don't leak callbacks if stuff cannot be registered; provide a means to dispose of private stuff if required 2006-12-24 15:44:56 +00:00
Kurt Zeilenga
80d74dc2cd Monitor attributes should have dSAOperation usage,
not directoryOperation usage.  Update test000 to
request return of only @monitor attributes.
2006-12-08 02:30:11 +00:00
Howard Chu
77ed3423b9 ITS#4767 fix bdb_add / translucent interaction 2006-12-04 22:06:58 +00:00
Howard Chu
eb47d50da7 Tweak bei_state so cache_lru_add doesn't ever try to free just-added
entries. This allows us to use the frontend's entry directly instead
of having to entry_dup it before adding to the cache.
2006-12-01 14:48:38 +00:00
Howard Chu
2a9afa55a7 Avoid unnecessary calls to oc_bvfind 2006-11-27 19:59:59 +00:00
Howard Chu
3711183610 Skip checkpoint call if size was not specified - defer time-based
checkpoints to the runq job
2006-11-27 19:54:04 +00:00
Howard Chu
ee0026ec1e Don't bother setting up threads if there are no indexed attrs (unlikely...) 2006-11-15 01:20:34 +00:00
Howard Chu
4b6a3e8b6d Convert schema parsers to ConfigArgs so they can pass errors back to clients 2006-11-15 01:18:37 +00:00
Howard Chu
bd95f8ab1c ITS#4738 provisional fix, still needs confirmation 2006-11-13 00:24:59 +00:00
Pierangelo Masarati
fb2d3926ce only abort update if failed pre/post read control is critical: the only thing RFC 4527 says about failure is that in case of failure of the read, no control is appended to the result message; maybe no failure should ever occur (please review) 2006-10-14 01:08:41 +00:00
Pierangelo Masarati
576646abb1 DB_BUFFER_SMALL is BDB 4.4 only 2006-09-27 12:34:00 +00:00
Ralf Haferkamp
e1f068f712 Check for the correct return code of cursor->c_get() (DB_BUFFER_SMALL) 2006-09-27 10:51:06 +00:00
Pierangelo Masarati
067d6904c2 don't know exactly the reason, but here without this back-hdb suddenly starts crashings all times (since bdb_monitor_* stuff) 2006-09-26 08:43:01 +00:00
Pierangelo Masarati
8f90eb97ec use right, although empty, function in bdb_db_destroy() 2006-09-25 23:45:29 +00:00
Howard Chu
db082f4b1d Fix prev commit 2006-09-20 20:22:59 +00:00
Howard Chu
f63f46f0b1 Use a single malloc for entry_decode instead of two - partially decode
the entry to get nvals first, so the size can be computed.
2006-09-20 02:43:47 +00:00
Pierangelo Masarati
c0c089f4a4 make sure we don't interfere with frontend's entry when the suffix is empty (test027) 2006-09-17 16:45:24 +00:00
Kurt Zeilenga
2c4b2b5566 return structuralObjectClass errors
(likely need to be applied to other backends)
2006-09-16 11:48:52 +00:00
Pierangelo Masarati
c92571680d also work with pcache 2006-09-15 00:16:55 +00:00
Pierangelo Masarati
b890f60e36 minor cleanup 2006-09-14 01:05:02 +00:00
Howard Chu
5342ce61dd Add register_at / register_oc helpers. 2006-09-13 12:48:45 +00:00
Howard Chu
2bfe79fe88 Add BackendInfo.bi_extra for backend custom APIs
Use bi_extra for back-monitor entry points. Backends should never
directly reference each other's symbols.
2006-09-13 11:38:51 +00:00
Pierangelo Masarati
6300e449d8 leave monitor calls in place, hide contents; in the long run, enable monitor and build as static by default 2006-09-12 07:53:19 +00:00
Howard Chu
7cd64d384b Use #ifdef SLAPD_MONITOR for monitor APIs 2006-09-12 02:59:28 +00:00
Howard Chu
c6ed29dc3c Fix uninit'd *cb (Coverity scan) 2006-09-09 22:15:45 +00:00
Pierangelo Masarati
8eab487020 further improve monitoring setup and cleanup 2006-09-09 16:24:35 +00:00
Pierangelo Masarati
4350ce5189 cleanup names 2006-09-08 22:10:49 +00:00
Pierangelo Masarati
b60990780f custom monitoring can be enabled/disabled via config 2006-09-06 23:08:57 +00:00
Pierangelo Masarati
4d55aeb57c cleanup subsystems monitoring OID handling 2006-09-06 16:06:49 +00:00
Pierangelo Masarati
103485bf99 fix use with back-hdb 2006-09-06 15:11:54 +00:00
Pierangelo Masarati
1fc5e8e057 cleanup monitoring resources 2006-09-06 12:07:03 +00:00
Pierangelo Masarati
6ce47650c9 - objectClass is now AUXILIARY (modifies existing object...)
- moved directory path publication from back-monitor/database.c
- added cleanup handler
- minor cleanup
2006-09-06 09:10:46 +00:00
Howard Chu
9c2c30f541 Return current entry/IDL cache counts 2006-09-06 03:37:13 +00:00
Pierangelo Masarati
c67913ce1c don't get mad if monitor database is not configured 2006-09-06 02:14:32 +00:00
Pierangelo Masarati
ae1481ba62 minor cleanup; plug couple of one-time leaks 2006-09-06 02:06:45 +00:00
Pierangelo Masarati
55f24ce8f6 - setup framework for monitoring of back-bdb/back-hdb stuff in their
database entry in cn=monitor
- improve support for custom attribute/callback registration
  in back-monitor
- design API for registered antry/attr/callback removal in back-monitor

HEADS UP: now back-bdb requires back-monitor to be present, either static
or dynamically loaded __before__ back-bdb/back-hdb is initialized.
This works for sure if both back-bdb & back-monitor are static or dynamic
(provided back-monitor.la is loaded before back_bdb.la); it is not clear
what happens if back-bdb is static and back-monitor is dynamic.  In case,
either make back-bdb monitoring conditional, or hardwire back-monitor
much like back-config and back-ldif.
2006-09-06 01:54:54 +00:00
Pierangelo Masarati
afdae4272a don't run useless (and likely to fail) checks, if possible 2006-08-30 21:05:05 +00:00
Howard Chu
78172aa0cf Entry/Attribute struct caching, to minimize malloc fragmentation
Note: this breaks LDAP_COMP_MATCH and SLAP_ZONE_MALLOC. But they
were probably broken already anyway.
2006-08-29 01:43:23 +00:00
Quanah Gibson-Mount
88ce76f24e fix e_private value, goes along with memory leak fix to accesslog.c 2006-08-26 23:20:00 +00:00
Kurt Zeilenga
d3e288dffe s/managedit/relax/
#unifdef -DSLAP_RELAX
2006-08-22 23:31:46 +00:00
Howard Chu
2a2115d70c Fix prev commit, update kid counters too 2006-07-19 00:06:57 +00:00
Howard Chu
0340a1f1bf ITS#4616 fix cache_modrdn bei_state management 2006-07-18 10:22:48 +00:00
Howard Chu
bab03f6d5c Additional purge changes for rev 1.120, don't keep the current thread
busy unnecessarily
2006-07-12 01:55:21 +00:00
Howard Chu
70512edd5a ITS#4572 don't unlock non-existent locks 2006-06-01 02:03:10 +00:00
Howard Chu
9e50b2d0a1 ITS#4552 just rely on ACLs when adding entries under the suffix. 2006-05-18 01:18:48 +00:00
Pierangelo Masarati
b0c304f759 fix referral rewriting (ITS#4548) 2006-05-16 00:57:46 +00:00
Howard Chu
d921fcb0c9 ITS#4531 temporarily go back to using quick sort instead of radix sort 2006-05-11 20:05:53 +00:00
Kurt Zeilenga
6651d19320 cleanup 2006-05-11 18:55:50 +00:00
Ralf Haferkamp
cf1304147d Add Pre- and Postread Control to the supported controls (ITS#4538) 2006-05-11 16:45:33 +00:00
Ralf Haferkamp
b8bf18f36b ITS#4532: check *pre/postread_ctrl before freeing 2006-05-10 09:07:37 +00:00
Howard Chu
2a5ecbccaa Remove some more yield() calls 2006-05-03 07:41:12 +00:00
Kurt Zeilenga
eb9a3c1876 unifdef -DSLAP_ACL_HONOR_DISCLOSE
unifdef -DSLAP_ACL_HONOR_MANAGE
unifdef -DSLAP_OVERLAY_ACCESS
unifdef -DSLAP_ORDERED_PRETTYNORM
unifdef -DSLAP_AUTHZ_SYNTAX
Move LDAP_COLLECTIVE_ATTRIBUTES, LDAP_COMP_MATCH, and LDAP_SYNC_TIMESTAMP
back behind LDAP_DEVEL (as these either too experimental or not yet
implemented).
2006-04-12 05:53:26 +00:00
Kurt Zeilenga
c48338233e s/LDBM/BDB/ 2006-04-08 04:24:12 +00:00