Commit Graph

81 Commits

Author SHA1 Message Date
Jong Hyuk Choi
279760a467 1. Session history support
- memory based session history to minimize sync traffic
	- when client is covered by a session history, then
      [add+delete] mode is used
	- when client cookie is not covered by the history because
      the cookie is too outdated and/or the history is truncated,
	  [add+present] mode is used
2. Sync cookie syntax : comma separated name=value pairs
	- csn=yyyymmddhh:mm:ssZ#0xSSSS#r#ssssr,sid=nnn
2003-11-10 02:44:25 +00:00
Howard Chu
d46195d08d ITS#2805 fix core dump using LDBM 2003-11-03 09:54:28 +00:00
Howard Chu
ccf224a759 ITS#2808 fix UUIDNormalize, use it. 2003-11-03 08:22:13 +00:00
Howard Chu
8acb1a0466 Fix refresh mode rescheduling 2003-11-03 06:57:13 +00:00
Howard Chu
fab84134ba ITS#2806 fix abort 2003-11-01 23:03:44 +00:00
Howard Chu
5ed0318b79 Fix retry on failure 2003-10-25 22:07:31 +00:00
Howard Chu
782d1be0ad Fix prev commit, don't timeout outbound connections 2003-10-25 21:14:07 +00:00
Howard Chu
08676eb49d Add support for outbound connections in main listener.
Restructure syncrepl/persist to use outbound connection manager.
2003-10-24 12:57:24 +00:00
Howard Chu
645c2bcb02 Drop unused arguments from syncrepl_add_glue 2003-10-24 08:10:16 +00:00
Howard Chu
f9a8093c83 Drop SLAPI support 2003-10-24 06:06:55 +00:00
Howard Chu
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Howard Chu
ac7404eabd Fix error recovery, cleanup session handles. Always reschedule task
at end of do_syncrepl; this fixes the problem of syncrepl never starting
if the master isn't up. Set sync interval to 60 seconds in persist mode;
it will retry connecting to the master when the master isn't up. Fail on
SASL at config time instead of at runtime when SASL is not enabled.
2003-10-24 04:11:28 +00:00
Howard Chu
72ace288e8 Fix prev commit, avoid abort when entry is NULL 2003-10-22 07:57:25 +00:00
Jong Hyuk Choi
11e23f6903 syncrepl_entry() return code fix (returns 1 when e needs to be freed) 2003-10-22 06:28:34 +00:00
Kurt Zeilenga
ce4b199485 Syncrepl code cleanup (namely prefix struct field names) 2003-10-22 05:19:30 +00:00
Jong Hyuk Choi
8b8383a85d fix for changing si->syncCookie to bvarray 2003-10-21 22:02:30 +00:00
Howard Chu
ab2a7195d0 Fix cookie search 2003-10-21 08:26:58 +00:00
Kurt Zeilenga
4821c2c6ed Avoid questionable use of strlen(), strcpy(), and strcat(). 2003-10-20 22:23:11 +00:00
Howard Chu
91ebcd87bd Fix prev commit, syncrepl_add_glue must start from sufix 2003-10-19 08:57:30 +00:00
Howard Chu
b144ca2169 ITS#2684 fix bogus entry_free(), connection problem remains 2003-10-19 04:42:02 +00:00
Howard Chu
f0c8dcc331 ITS#2778 use real malloc for new entry, not sl_malloc 2003-10-19 02:18:38 +00:00
Howard Chu
08407b5b00 More malloc cleanup 2003-10-19 00:30:55 +00:00
Howard Chu
b6835be962 ITS#2747, Reorganize syncrepl, fix some memleaks. More remain. 2003-10-18 14:13:37 +00:00
Jong Hyuk Choi
13f981fdd4 remove #include <db.h> (ITS#2765) 2003-10-14 20:22:09 +00:00
Jong Hyuk Choi
490d9e55d4 fix slap_syncrepl_cn_bv 2003-10-14 16:26:01 +00:00
Kurt Zeilenga
4f003dbdaf mv ldap_int_get_controls to ldap_pvt_get_controls 2003-10-12 08:14:28 +00:00
Jong Hyuk Choi
cdb7417765 misc syncrpel updates 2003-10-08 09:36:06 +00:00
Jong Hyuk Choi
a8574a450f slaptools update : replica promotion / demotion
new slapadd options
-p       : promote : If the ldif file contains syncConsumerSubentries, convert
                     them to a single syncProviderSubentry. Its contextCSN
                     attribute has the largest value of the syncreplCookie
                     attributes of the syncConsumerSubentries.
                     syncProviderSubentry in the ldif file is retained.
-p -w    : promote : Recalculate contextCSN based on entryCSN of each entry.
           create    Existing syncConsumerSubentries and syncProviderSubentry
                     are ignored and not added to the directory.
-r       : demote  : If the ldif file contains syncProviderSubentry, convert it
                     to a syncConsumerSubentry having the default syncrepl id
                     of 0. syncConsumerSubentries in the ldif file are retained.
-r -w    : demote  : Recalculate syncreplCookie based on entryCSN of each entry.
           create    Existing syncConsumerSubentries and syncProviderSubentry
                     are ignored and not added to the directory. The default
                     syncrepl id of 0 will be used for the new
                     syncConsumerSubentry.
-r -w -i %d[,%d]*  : Using the comma separated list followed by the -i option,
                     it is possible to create multiple syncConsumerSubentries
                     having the syncrepl ids specified in the list.
                     syncreplCookie values of these sycnConsumerSubentries
                     will have the same value, either from the maximum
                     entryCSN value or from the contextCSN value of the
                     syncProviderSubentry.
2003-10-07 20:01:37 +00:00
Jong Hyuk Choi
d5823fa912 no caching flag in Operation structure 2003-09-25 07:48:53 +00:00
Jong Hyuk Choi
d2320dbd7a followup of the previous commit 2003-09-25 01:40:33 +00:00
Jong Hyuk Choi
cd108bb682 loose ends fixed 2003-09-25 00:59:27 +00:00
Howard Chu
c58ac9d8f1 Add memctx param to build_new_dn(). cleanup DN leaks. 2003-09-24 04:30:41 +00:00
Jong Hyuk Choi
3e99679ca4 log the cause of the error when ldap_result() returns -1 2003-09-23 23:41:57 +00:00
Jong Hyuk Choi
f6d883d901 error behavior fix and TODO 2003-09-18 06:04:28 +00:00
Jong Hyuk Choi
a0331a0487 missing or empty attrs list in a syncrepl specification
is changed to mean attrs="*"
2003-09-17 23:06:57 +00:00
Jong Hyuk Choi
537ccc3f5f fix for persistent search termination (ITS#2724)
- the consumer slapd did not terminate when the provider is alive
 - use a timeout in ldap_result() of syncrepl.c
2003-09-17 10:34:10 +00:00
Jong Hyuk Choi
3868f3b5a7 LDAP_SASL_INTERACTIVE -> LDAP_SASL_QUIET 2003-09-12 22:49:14 +00:00
Jong Hyuk Choi
c25a892e62 misc cleanup 2003-09-04 19:48:53 +00:00
Jong Hyuk Choi
7f882daf15 Schema checking option for LDAP Sync replication 2003-09-03 21:42:52 +00:00
Jong Hyuk Choi
aa8ff20012 Patch for ITS#2692 2003-09-03 08:21:51 +00:00
Jong Hyuk Choi
853c03e38d more patches for ITS#2692 (Thanks Luke!) 2003-08-29 17:02:53 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Jong Hyuk Choi
81a53a9a5c LDAP Sync protocol extension
- do not send updates in state mode when
  syncCookie >= contextCSN (or omitCSN if changelog is used)
2003-08-26 22:49:44 +00:00
Jong Hyuk Choi
660617ae66 Context CSN patch (1)
- currenty works for refreshOnly mode of LDAP Sync
- Context CSN for add / modify is implemented
- code for delete / modrdn / refreshAndPersist will be soon committed
2003-08-23 02:51:33 +00:00
Jong Hyuk Choi
6659cf3ea1 LDAP Sync protocol change : state mode (add+present) and log mode (add+delete) 2003-08-14 16:27:36 +00:00
Jong Hyuk Choi
b3e62ef604 SyncRepl updates for back-bdb / back-ldbm 2003-07-15 00:33:49 +00:00
Jong Hyuk Choi
2b803b0459 SyncRepl is changed to share the following routnines :
slap_mods_opattrs(), slap_mods_check(), slap_mods2entry()
2003-07-11 01:01:27 +00:00
Jong Hyuk Choi
b231c33efa export glueing code 2003-07-08 20:07:07 +00:00
Jong Hyuk Choi
cc6f31782d - partial attribute replication tested ok
- conf file processing udpate
- misc updates
2003-07-02 14:51:23 +00:00
Jong Hyuk Choi
9df9b1377a reinitialize presentlist & nonpresentlist 2003-06-25 23:21:18 +00:00