Commit graph

322 commits

Author SHA1 Message Date
Howard Chu
261d2420f4 ITS#5434 search thru other overlays when present 2008-03-20 00:31:42 +00:00
Howard Chu
0abf40063f ITS#5433 checkpoint must write to master DB 2008-03-20 00:26:14 +00:00
Howard Chu
4097d261bb Use <ldap_queue.h> macros for prev commit 2008-03-14 16:49:53 +00:00
Howard Chu
0cb9cb04ea ITS#5401 make sure connection is still alive before detaching op 2008-03-13 10:49:32 +00:00
Pierangelo Masarati
5417aa895a use the replication persistent search identity to check whether a modification must be replicated (ITS#5418) 2008-03-12 22:31:28 +00:00
Howard Chu
a287573d2d ITS#5407 more checks for pool pausing 2008-03-08 23:51:07 +00:00
Howard Chu
26c08cb64a Fix prev commit (thanks Ando) 2008-03-08 22:12:57 +00:00
Howard Chu
44b1af6e65 ITS#5405 fix race condition 2008-03-08 02:00:36 +00:00
Howard Chu
525f266d10 ITS#5367 revert prev commit 2008-02-11 00:19:43 +00:00
Howard Chu
32a082c24b Cleanup 2008-02-10 02:10:28 +00:00
Kurt Zeilenga
c890c96d13 Happy New Year (belated) 2008-01-08 00:19:56 +00:00
Howard Chu
d38ff5403f ITS#5261 quick fix, don't checkpoint on first write to DB 2007-12-22 05:00:38 +00:00
Howard Chu
6c0b815b6f ITS#5268 omit contextCSN when replicating 2007-12-08 17:45:10 +00:00
Howard Chu
005209bfe1 ITS#5211 spec says we must ignore invalid cookies 2007-11-04 12:34:41 +00:00
Howard Chu
528a30fe87 More for prev commit, ITS#5120. 2007-11-02 16:40:42 +00:00
Howard Chu
b6570cf867 Don't send cookie at end of refresh if nothing changed in refreshAndPersist 2007-11-02 00:25:11 +00:00
Howard Chu
a79bc9195d ITS#5177 pass new entries in search_response for Persist mode 2007-10-08 18:13:29 +00:00
Howard Chu
8bb39495c7 Fix unprotected checks for psearches 2007-10-08 13:59:33 +00:00
Howard Chu
d2f75ebaa5 Plug leak 2007-10-08 13:28:25 +00:00
Howard Chu
9dc35b8997 Don't queue zero-length CSNs 2007-10-02 23:51:40 +00:00
Pierangelo Masarati
14bcd332ce log cookie (until we find what's going on...) 2007-10-02 18:09:15 +00:00
Pierangelo Masarati
2de9d97ad2 first round of s/sprintf/snprintf/; the rationale is: truncate error messages rather than buffer overflow; otherwise, assert that no buffer overflow occurred. In some cases, error handling could be added. Please note: no real error in the code was found so far, apart from that in syncprov.c and from some config-time error logging; however, errors could slip thru again if things don't change consistently 2007-09-29 17:55:33 +00:00
Howard Chu
d2179d885f Use attr_valfind instead of value_find_ex to optimize lookups 2007-09-24 05:02:31 +00:00
Howard Chu
e8c2414831 Preliminary sorted value support 2007-09-24 01:31:23 +00:00
Howard Chu
a3547e2758 More for a_numvals 2007-09-23 04:40:16 +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
7ceaad7eb2 plug yet another leak 2007-08-29 00:27:47 +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
b7d38c15ff ITS#5048 fully initialize fc_limits 2007-07-20 15:16:36 +00:00
Hallvard Furuseth
9bd4a298ef ITS#5049: Initialize conn in syncprov_db_close() before connection_fake_init(). 2007-07-18 21:02:14 +00:00
Howard Chu
9227293e8d ITS#4977 check for cookie parse failure 2007-06-08 09:05:35 +00:00
Pierangelo Masarati
74ca4680db more ITS#4973 initialization 2007-05-19 14:12:24 +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
Howard Chu
093f52e44d ITS#4961 disable schema checking on contextCSN update 2007-05-14 21:25:48 +00:00
Kurt Zeilenga
f810e6ed41 Distinguish absent control value from empty control value. 2007-04-20 22:32:58 +00:00
Pierangelo Masarati
639d678592 cleanup struct declarations 2007-03-20 01:07:10 +00:00
Howard Chu
06212e9de9 Plug leaks 2007-02-16 02:22:24 +00:00
Howard Chu
e28627f1e2 Added "slapd" rewrite map handler, connection_fake_init2 to use existing
tmpmemctx without reinitializing
2007-02-14 08:51:47 +00:00
Howard Chu
f649d8a29c Cleanup si_ctxcsn and si_sids in db_destroy 2007-02-13 13:40:56 +00:00
Howard Chu
3eb81978f3 Coverity leak 2007-02-13 11:10:36 +00:00
Pierangelo Masarati
a904cc015c fix crash related to ITS#4839; other issues seem to presist 2007-02-10 10:55:05 +00:00
Howard Chu
9d86bf253f Improve prev commit 2007-02-07 02:49:40 +00:00
Howard Chu
3fbcfa797e Re-fix ITS#4720, use rwlock 2007-02-07 01:08:54 +00:00
Howard Chu
3f20aa245f Partially revert prev commit, delete unused parameter, fix psearch response 2007-02-06 05:58:01 +00:00
Howard Chu
9467269cef ITS#4623, entry_get has to pass thru glue layer too 2007-02-06 04:19:56 +00:00
Howard Chu
448f584fe5 Fix typo 2007-02-06 01:18:17 +00:00
Howard Chu
21e4eb3dcc Fix prev commit - cannot shortcut initial sync 2007-02-05 23:54:07 +00:00
Howard Chu
250cbd286a Optimization: send sid in cookie to avoid getting our changes sent
back to us.
2007-02-05 23:10:22 +00:00
Howard Chu
55b29bedf8 Fix prev commit, don't generate a new ctxcsn if we're a consumer with
an empty DB
2007-02-05 09:19:46 +00:00
Howard Chu
fffaea79eb Preliminary multi-context support for syncrepl. Passes all single-master
tests, needs multi-master testing.
2007-02-05 04:50:07 +00:00
Howard Chu
8d03970944 Fix debug args 2007-01-25 11:56:49 +00:00
Howard Chu
35e0956c26 Log the error code too 2007-01-25 04:10:57 +00:00
Howard Chu
7eeeaaf06d ITS#4810 log a message if be_entry_get doesn't return the entry we want 2007-01-25 04:10:18 +00:00
Howard Chu
1ce42136fb ITS#4813 don't limit the presence list to the current snapshot. add
some debug msgs for the sessionlog list.
2007-01-25 02:06:33 +00:00
Howard Chu
67b08ebe77 Don't use ldap_pvt_thread_pool_context_reset(), it interferes with
dynamic adds.
2007-01-21 13:02:05 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Pierangelo Masarati
19dabd2fa8 complain if instantiated outside of a database definition 2006-12-02 10:42:42 +00:00
Howard Chu
48fce3d119 ITS#4742 cleanup config error reporting 2006-11-12 02:15:49 +00:00
Howard Chu
b009b1820e ITS#4720 release csn mutex before checkpointing. 2006-10-26 15:34:40 +00:00
Howard Chu
393e6e5ec0 Tweak prev commit, avoid referencing syncop when resetting qtask 2006-09-21 10:12:42 +00:00
Howard Chu
c1fad2d603 ITS#4658 propagate errors from syncprov_sendresp; drop qtask on errors.
Note: need a way to close the connection too.
2006-09-21 09:42:40 +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
Howard Chu
ccd1273cfe TS#4622 deletes in psearch didn't always propagate 2006-08-15 21:41:14 +00:00
Howard Chu
44d3972dd7 ITS#4622 if any present list was sent, must send refreshPresent 2006-08-15 12:37:59 +00:00
Howard Chu
55aa8af4be ITS#4622 make sure queued psearch responses get played after refresh
phase completes. Ignore empty sessionlog
2006-08-15 09:28:25 +00:00
Howard Chu
789c76b4ce Delete curcsn arg to slap_get_commit_csn, redundant with op->o_csn 2006-08-15 09:25:42 +00:00
Howard Chu
b915969d29 ITS#4589 slap_get_commit_csn occasionally returns a curcsn that points
to already-freed memory. That bug still needs to be tracked down. This
patch deletes curcsn and just uses op->o_csn, which did not exist when
this code was originally written.
2006-07-28 02:40:38 +00:00
Howard Chu
5757065736 ITS#4622
syncrepl: don't save contextCSN on incoming context entry
  syncprov: delete contextCSN on checkpoint if ctxcsn is empty
2006-07-27 10:44:22 +00:00
Howard Chu
00addd5d68 ITS#4613 - fail to start if lastmod is off 2006-07-24 00:32:27 +00:00
Howard Chu
e3bea86205 ITS#4562 - don't assume syncprov_op_response only runs in overlay context;
under a glue setup it may be get a real DB, don't corrupt the DB struct.
2006-05-26 12:08:15 +00:00
Howard Chu
837e9466b8 ITS#4534 propagate CSN for delete syncID sets 2006-05-11 10:46:44 +00:00
Howard Chu
608c85a9f0 ITS#4423, fix sessionlog lower bound in playlog 2006-05-02 05:08:59 +00:00
Howard Chu
590bc6a7fa More logging for ITS#4423 2006-04-28 03:06:47 +00:00
Hallvard Furuseth
19a0d82937 Init & destroy so.s_mutex around syncprov_findbase() call in syncprov_op_search 2006-04-02 23:49:57 +00:00
Howard Chu
8cbd5ecc13 Cleanup 2006-03-31 10:45:23 +00:00
Howard Chu
7b5528d68b ITS#4417 backglue must pass intermediate responses transparently.
syncprov must prevent send_ldap_result from being called for an
in-progress persistent search.
2006-02-27 09:20:55 +00:00
Howard Chu
fdc89d2604 ITS#4365 reset frs.sr_nentries before searching in syncprov_playlog 2006-01-23 22:23:00 +00:00
Howard Chu
51c5916149 ITS#4364 add filter_dup, don't use str2filter to dup filters. 2006-01-23 20:53:52 +00:00
Pierangelo Masarati
b21c869ac3 silence (harmless) warnings 2006-01-07 11:13:40 +00:00
Howard Chu
7b9fc0e377 wake listener when scheduling qtask so it can run immediately 2006-01-06 20:38:14 +00:00
Pierangelo Masarati
906acc2b30 resource release (more is needed: a report is coming...) 2006-01-06 16:34:20 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
aecf0f4164 typos in comments (very pedantic...) 2005-12-26 17:00:12 +00:00
Howard Chu
8a9761bc3f ITS#4238 don't hide syncrepl control from rootDSE 2005-12-15 23:05:12 +00:00
Pierangelo Masarati
62d4ae9058 a back-ldap consumer segfaults when accessing members of conn... 2005-12-15 11:55:46 +00:00
Howard Chu
51f9ef7ab9 Improve previous commit 2005-12-07 12:09:00 +00:00
Pierangelo Masarati
447b065abd rework previous commit? 2005-12-07 09:51:12 +00:00
Pierangelo Masarati
24887642dc don't search max CSN if don't have a value; try the operational_attrs if entryCSN is not in attrs 2005-12-07 01:30:28 +00:00
Pierangelo Masarati
ed0bed72b9 plug leaks 2005-12-06 23:10:14 +00:00
Kurt Zeilenga
48cb85865d Remove some unnecessary #ifdefs 2005-11-26 07:38:18 +00:00
Pierangelo Masarati
98936ee3c4 streamline overlay configuration 2005-11-25 12:43:43 +00:00
Pierangelo Masarati
d34fffcaf9 use lutil_ato*() whenever appropriate 2005-11-24 01:10:05 +00:00
Howard Chu
12d2901162 More for ITS#3939 2005-11-20 22:14:57 +00:00
Howard Chu
3167b29812 Fix back-bdb inequality_candidates to use unchecked limit.
Fix syncprov_findcsn to set unchecked limit. (ITS#3939)
2005-11-20 10:39:05 +00:00
Pierangelo Masarati
86fc534c8f improve fix to ITS#4173 2005-11-16 15:58:18 +00:00
Pierangelo Masarati
48ecc89890 don't muck with SlapReply during response (ITS#4173) 2005-11-15 18:27:40 +00:00
Pierangelo Masarati
255112e702 gdb is much more clever with enums... 2005-11-08 00:40:20 +00:00
Pierangelo Masarati
1249fa93d5 plug one-time leak 2005-11-03 22:51:27 +00:00
Kurt Zeilenga
ecd86725f2 Update result code to IANA-assigned values
Provide some backwards compatibility.
Misc cleanup
2005-11-03 01:27:07 +00:00
Howard Chu
1bd689d5d0 Use generic filter for findbase 2005-10-15 05:13:05 +00:00
Howard Chu
8c8e6293f9 The rest of the reloadHint support... 2005-10-15 03:27:05 +00:00
Howard Chu
d98dee3e19 Add option to enable using the reloadHint. 2.2 consumers never sent this
hint. The 2.3 consumer needs it for delta-syncrepl.
2005-10-15 00:31:22 +00:00
Howard Chu
7dcb68f6fa Move CSN invocations to backends 2005-10-13 11:58:44 +00:00
Kurt Zeilenga
6db7e605ee Align Operation buffers using LBER_ALIGNED_BUFFER 2005-10-12 23:17:28 +00:00
Howard Chu
851c65ac5b ITS#4068 fix queued UUIDs 2005-10-07 00:31:38 +00:00
Howard Chu
f14f6472e7 Plug memleaks 2005-10-06 18:45:53 +00:00
Howard Chu
0f69daacac Don't flush psearch queue in main search, let the qtask do it. 2005-10-04 02:29:25 +00:00
Howard Chu
59155d9029 Fix abandon checks, syncop use count. 2005-10-03 22:59:25 +00:00
Howard Chu
2233041bd0 Fix prev commit op initialization, runqueue startup latency 2005-10-03 04:49:35 +00:00
Howard Chu
7486ef93df Tweak prev commit, avoid rescheduling running qtask 2005-10-02 12:28:50 +00:00
Howard Chu
190d6e768d Fix runq scheduling 2005-10-02 12:26:02 +00:00
Howard Chu
52e8aaea3c Fix prev commit modrdn 2005-10-02 10:48:28 +00:00
Howard Chu
4d44d54144 Minimize base lookups 2005-10-02 05:01:45 +00:00
Howard Chu
47a055b59b Always queue psearch responses (ITS#3671 revisited) 2005-10-02 03:58:00 +00:00
Howard Chu
285f841bd6 Add a "nopresent" keyword to skip the present phase; for backends that are
only used for logging (c.f. accesslog overlay) the present phase is useless.
2005-09-14 15:25:52 +00:00
Howard Chu
ba39e3fe00 ITS#3989 more fixes 2005-09-09 04:53:56 +00:00
Howard Chu
d567be70eb ITS#3989 fix crash - don't access freed psearch records 2005-09-08 02:19:05 +00:00
Howard Chu
fc8b2dda7c ITS#3989 fix ID used for syncprov_findbase 2005-09-02 10:08:44 +00:00
Hallvard Furuseth
a1a9507295 Remove unused variable 2005-08-26 21:42:48 +00:00
Pierangelo Masarati
afaf426231 need stricter sanity checks... 2005-08-25 08:57:08 +00:00
Howard Chu
1f78e2b831 ITS#3961 better fix - provide a context for the main thread. The context
must be reset by the caller to clear out temp allocations etc.
2005-08-23 04:12:57 +00:00
Howard Chu
468112e2ba ITS#3961 provide ldap_pvt_thread_pool_fake_context_init/destroy, don't
use arbitrary context pointers.
2005-08-23 03:25:21 +00:00
Howard Chu
88dd1c5659 More optimization for CSN filter checks 2005-08-15 07:18:19 +00:00
Howard Chu
8c20a11293 Fix prev commit 2005-08-15 05:36:56 +00:00
Howard Chu
71bc69bfff Optimize FINDCSN case 2005-08-15 00:04:13 +00:00
Howard Chu
f4c1eee382 ITS#3935 tweak sessionlog description 2005-08-14 08:35:31 +00:00
Howard Chu
c30992f05e ITS#3922 don't leak ber buffer on decode/parse errors 2005-08-09 00:26:39 +00:00
Howard Chu
28be8691cc ITS#3922 plug another cookie parsing leak 2005-08-09 00:11:42 +00:00
Howard Chu
9365649dad ITS#3922 fix syncrepl ctxcsn leak 2005-08-08 12:38:19 +00:00
Hallvard Furuseth
a3f3143cc5 Fix off-by-one pointer error. Garbage byte between uuid and csn in slog_entry. 2005-08-02 08:43:27 +00:00
Hallvard Furuseth
81ecb0b153 assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-07-18 06:22:33 +00:00
Hallvard Furuseth
7ab3d2c245 Silence warnings 2005-07-14 19:32:21 +00:00
Hallvard Furuseth
ac7513155b fbuf in syncprov_findcsn() got used before it was fully filled in 2005-07-10 10:20:21 +00:00
Howard Chu
6236574efc ITS#3456 better fix, use a child thread. 2005-06-30 04:06:40 +00:00
Howard Chu
0e00a1af79 ITS#3456 - omit FIND_MAXCSN call from syncprov_db_open. Will probably
delete all associated code soon; since the maxcsn will be updated as
soon as any write op occurs, it's no big deal for this to be out of date.
Also, since the maxcsn will get checkpointed on close, it will only get
out of date on an actual slapd crash, which is hopefully too rare to
worry about.
2005-06-30 03:42:51 +00:00
Howard Chu
8f58409749 Add SLAP_MOD_INTERNAL flag to Modifications, allow internal ops to bypass
ACL checks when modifying user-modifiable attributes as non-root user.
2005-06-04 09:44:39 +00:00
Howard Chu
cfccf68bf6 Fix debug msg 2005-05-09 10:33:01 +00:00
Howard Chu
bd63507868 Table-driven config 2005-05-09 05:02:01 +00:00
Howard Chu
3a42760472 ITS#3671 more abandon/error checks 2005-04-28 18:36:47 +00:00
Howard Chu
df22b333a5 Mroe abandon checks for ITS#3671 2005-04-28 16:45:52 +00:00
Howard Chu
67c68bab9c More for ITS#3671, check for Abandon before replaying queued events 2005-04-28 16:21:52 +00:00
Howard Chu
842b5ce076 ITS#3682, dup entry and free the DB's copy before sending it 2005-04-26 02:01:19 +00:00
Howard Chu
75164fbe1c ITS#3671 make sure to flush queue when able 2005-04-25 00:38:37 +00:00
Howard Chu
bae2f5f083 Fix modify deadlock 2005-04-25 00:07:26 +00:00
Howard Chu
acd1e2852a Better fix for #3671 2005-04-24 23:20:15 +00:00
Howard Chu
895b74cb1d ITS#3671 free all locks before calling send_search_*, queue entries if
the connection is busy. Probably need to set a queue limit here and
abandon the psearch if the limit is reached.
2005-04-24 22:55:21 +00:00
Howard Chu
6399387580 ITS#3616 store contextCSN in glue entry if database suffix is empty 2005-04-15 06:58:03 +00:00
Howard Chu
335e8a8ba7 Don't do ctxcsn checks in Tool mode, don't generate ctxcsn if it's missing
and we're also a consumer.
2005-04-09 11:26:31 +00:00