]> git.sur5r.net Git - openldap/commitdiff
LCUP primitive routines removed
authorJong Hyuk Choi <jongchoi@openldap.org>
Fri, 27 Jun 2003 17:39:48 +0000 (17:39 +0000)
committerJong Hyuk Choi <jongchoi@openldap.org>
Fri, 27 Jun 2003 17:39:48 +0000 (17:39 +0000)
16 files changed:
clients/tools/ldapsearch.c
include/ldap.h
libraries/libldap/error.c
servers/slapd/back-bdb/add.c
servers/slapd/back-bdb/back-bdb.h
servers/slapd/back-bdb/delete.c
servers/slapd/back-bdb/init.c
servers/slapd/back-bdb/modify.c
servers/slapd/back-bdb/modrdn.c
servers/slapd/back-bdb/proto-bdb.h
servers/slapd/back-bdb/search.c
servers/slapd/connection.c
servers/slapd/controls.c
servers/slapd/operation.c
servers/slapd/search.c
servers/slapd/slap.h

index 399933196cde8baa2003eaf3cb6c5c67bf2bd176..12b26cd4684af2b144d43cccb00117b186b2e8cc 100644 (file)
@@ -75,13 +75,6 @@ usage( void )
 #ifdef LDAP_CONTROL_SUBENTRIES
        fprintf( stderr, _("             [!]subentries[=true|false]  (subentries)\n"));
 #endif
-#ifdef LDAP_CLIENT_UPDATE
-       fprintf( stderr, _("             [!]lcup=p/<cint>/<cookie>/<slimit> (LDAP client update)\n"));
-/*
- * "                      s/<cint>/<cookie>  (LDAP client update)\n"
- * "                     sp/<cint>/<cookie>/<slimit>\n"
- * */
-#endif
 #ifdef LDAP_SYNC
        fprintf( stderr, _("             [!]sync=ro[/<cookie>]            (LDAP Sync refreshOnly)\n"));
        fprintf( stderr, _("                     rp[/<cookie>][/<slimit>] (LDAP Sync refreshAndPersist)\n"));
@@ -160,18 +153,8 @@ static char        *vrFilter = NULL;
 static int domainScope = 0;
 #endif
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
-static int lcup = 0;
-static int ldapsync = 0;
-#endif
-
-#ifdef LDAP_CLIENT_UPDATE
-static int lcup_cint = 0;
-static struct berval lcup_cookie = { 0, NULL };
-static int lcup_slimit = -1;
-#endif
-
 #ifdef LDAP_SYNC
+static int ldapsync = 0;
 static struct berval sync_cookie = { 0, NULL };
 static int sync_slimit = -1;
 #endif
@@ -330,66 +313,6 @@ handle_private_option( int i )
                        if( crit ) subentries *= -1;
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-                } else if ( strcasecmp( control, "lcup" ) == 0 ) {
-                        char *cookiep;
-                        char *slimitp;
-                        if ( lcup ) {
-                                fprintf( stderr, _("client update control previously specified\n"));
-                                exit( EXIT_FAILURE );
-                        }
-                        if ( ldapsync != -1 ) {
-                                fprintf( stderr, _("ldap sync control previously specified\n"));
-                                exit( EXIT_FAILURE );
-                        }
-                        if ( cvalue == NULL ) {
-                                fprintf( stderr,
-                                        _("missing specification of client update control\n"));
-                                exit( EXIT_FAILURE );
-                        }
-                        if ( strncasecmp( cvalue, "p", 1 ) == 0 ) {
-                                lcup = LDAP_CUP_PERSIST_ONLY;
-                                cvalue = strchr( cvalue, '/' );
-                                cvalue++;
-                                cookiep = strchr( cvalue, '/' );
-                                *cookiep++ = '\0';
-                                lcup_cint = atoi( cvalue );
-                                cvalue = cookiep;
-                                slimitp = strchr( cvalue, '/' );
-                                *slimitp++ = '\0';
-                                while ( isspace( (unsigned char) *cookiep ) )
-                                    cookiep++;
-                                ber_str2bv( cookiep, 0, 0, &lcup_cookie );
-                                lcup_slimit = atoi( slimitp );
-/*
-                       } else if ( strncasecmp( cvalue, "s", 1 ) == 0 ) {
-                               lcup = LDAP_CUP_SYNC_ONLY;
-                               cvalue += 2;
-                               cookiep = strchr( cvalue, '/' );
-                               *cookiep++ = '\0';
-                               lcup_cint = atoi( cvalue );
-                               ber_str2bv( cookiep, 0, 0, &lcup_cookie );
-                       } else if ( strncasecmp( cvalue, "sp", 2 ) == 0 ) {
-                               lcup = LDAP_CUP_SYNC_AND_PERSIST;
-                               cvalue += 3;
-                               cookiep = strchr( cvalue, '/' );
-                               *cookiep++ = '\0';
-                               lcup_cint = atoi( cvalue );
-                               cvalue = cookiep;
-                               slimitp = strchr( cvalue, '/' );
-                               *slimitp++ = '\0';
-                               ber_str2bv( cookiep, 0, 0, &lcup_cookie );
-                               lcup_slimit = atoi( slimitp );
-*/
-                       } else {
-                               fprintf( stderr,
-                                       _("client update control value \"%s\" invalid\n"),
-                                       cvalue );
-                               exit( EXIT_FAILURE );
-                       }
-                       if ( crit ) lcup *= -1;
-#endif
-
 #ifdef LDAP_SYNC
        } else if ( strcasecmp( control, "sync" ) == 0 ) {
                        char *cookiep;
@@ -398,10 +321,6 @@ handle_private_option( int i )
                                fprintf( stderr, _("ldap sync control previously specified\n") );
                                exit( EXIT_FAILURE );
                        }
-                       if ( lcup ) {
-                               fprintf( stderr, _("client update control previously specified\n") );
-                               exit( EXIT_FAILURE );
-                       }
                        if ( cvalue == NULL ) {
                                fprintf( stderr,
                                        _("missing specification of ldap sync control\n"));
@@ -527,10 +446,6 @@ main( int argc, char **argv )
        int                     rc, i, first;
        LDAP            *ld = NULL;
        BerElement      *seber = NULL, *vrber = NULL, *prber = NULL;
-#ifdef LDAP_CLIENT_UPDATE
-       BerElement      *cuber = NULL;
-        struct berval   *cubvalp = NULL;
-#endif
 
 #ifdef LDAP_SYNC
        BerElement      *syncber = NULL;
@@ -640,9 +555,6 @@ getNextPage:
 #ifdef LDAP_CONTROL_PAGEDRESULTS
                        || pageSize
 #endif
-#ifdef LDAP_CLIENT_UPDATE
-                       || lcup
-#endif
 #ifdef LDAP_SYNC
                        || ldapsync
 #endif
@@ -684,36 +596,6 @@ getNextPage:
                }
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-                if ( lcup ) {
-                        if (( cuber = ber_alloc_t(LBER_USE_DER)) == NULL ) {
-                                return EXIT_FAILURE;
-                        }
-
-                        if ( lcup_cookie.bv_len == 0 ) {
-                                err = ber_printf( cuber, "{ei}", abs(lcup), lcup_cint );
-                        } else {
-                                err = ber_printf( cuber, "{ei{sO}}", abs(lcup), lcup_cint,
-                                    LDAP_CUP_COOKIE_OID, &lcup_cookie );
-                        }
-
-                        if ( err == LBER_ERROR ) {
-                                ber_free( cuber, 1 );
-                                fprintf( stderr, _("client update control encoding error!\n") );
-                                return EXIT_FAILURE;
-                        }
-
-                        if ( ber_flatten( cuber, &cubvalp ) == LBER_ERROR ) {
-                                return EXIT_FAILURE;
-                        }
-
-                        c[i].ldctl_oid = LDAP_CONTROL_CLIENT_UPDATE;
-                        c[i].ldctl_value = (*cubvalp);
-                        c[i].ldctl_iscritical = lcup < 0;
-                        i++;
-                }
-#endif
-
 #ifdef LDAP_SYNC
                if ( ldapsync ) {
                        if (( syncber = ber_alloc_t(LBER_USE_DER)) == NULL ) {
@@ -1054,15 +936,6 @@ static int dosearch(
                                }
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-                               if ( lcup == LDAP_CUP_PERSIST_ONLY ||
-                                    lcup == LDAP_CUP_SYNC_AND_PERSIST ) {
-                                       break;
-                               }
-#endif
-#if defined(LDAP_CLIENT_UPDATE) && defined(LDAP_SYNC)
-                               else
-#endif
 #ifdef LDAP_SYNC
                                if ( ldapsync == LDAP_SYNC_REFRESH_AND_PERSIST ) {
                                        break;
@@ -1095,12 +968,6 @@ static int dosearch(
 #endif
                        }
 
-#ifdef LDAP_CLIENT_UPDATE
-                       if ( lcup && lcup_slimit != -1 && nresponses >= lcup_slimit ) {
-                               ldap_abandon (ld, ldap_msgid(msg));
-                               goto done;
-                       }
-#endif
 #ifdef LDAP_SYNC
                        if ( ldapsync && sync_slimit != -1 &&
                                        nresponses_psearch >= sync_slimit ) {
index e58d052b8ee12608ffd49065b90787387b12d676..b655abdc18f14c8a307a2d0e13019f1248e758a3 100644 (file)
@@ -199,13 +199,6 @@ typedef struct ldapcontrol {
 
 #define LDAP_CONTROL_PAGEDRESULTS      "1.2.840.113556.1.4.319"
 
-#ifdef LDAP_CLIENT_UPDATE
-#define LDAP_CONTROL_CLIENT_UPDATE             "1.3.6.1.4.1.4203.666.5.3"
-#define LDAP_CONTROL_ENTRY_UPDATE              "1.3.6.1.4.1.4203.666.5.4"
-#define LDAP_CONTROL_CLIENT_UPDATE_DONE        "1.3.6.1.4.1.4203.666.5.5"
-#define LDAP_CUP_COOKIE_OID                            "1.3.6.1.4.1.4203.666.10.1"
-#endif
-
 #define LDAP_SYNC 2
 #ifdef LDAP_SYNC
 #define LDAP_SYNCREPL 1
@@ -295,11 +288,6 @@ typedef struct ldapcontrol {
 
 #define LDAP_TAG_SASL_RES_CREDS        ((ber_tag_t) 0x87U)     /* context specific + primitive */
 
-#ifdef LDAP_CLIENT_UPDATE
-#define LDAP_CUP_TAG_INTERVAL  ((ber_tag_t) 0x02U)     /* integer */
-#define LDAP_CUP_TAG_COOKIE            ((ber_tag_t) 0x30U)     /* sequence */
-#endif
-
 #ifdef LDAP_SYNC
 #define LDAP_SYNC_TAG_COOKIE   ((ber_tag_t) 0x04U)     /* octet string */
 #endif
@@ -479,14 +467,13 @@ typedef struct ldapcontrol {
 #define LDAP_CLIENT_LOOP                               0x60    /* draft-ietf-ldap-c-api-xx */
 #define LDAP_REFERRAL_LIMIT_EXCEEDED   0x61    /* draft-ietf-ldap-c-api-xx */
 
-#ifdef LDAP_CLIENT_UPDATE
-/* resultCode for LCUP */
-#define LDAP_CUP_RESOURCES_EXHAUSTED   0x100
-#define LDAP_CUP_SECURITY_VIOLATION            0x101
-#define LDAP_CUP_INVALID_COOKIE                        0x102
-#define LDAP_CUP_UNSUPPORTED_SCHEME            0x103
-#define LDAP_CUP_CLIENT_DISCONNECT             0x104
-#define LDAP_CUP_RELOAD_REQUIRED               0x105
+#ifdef LDAP_SYNC
+#define LDAP_SYNC_RESOURCES_EXHAUSTED  0x100
+#define LDAP_SYNC_SECURITY_VIOLATION   0x101
+#define LDAP_SYNC_INVALID_COOKIE               0x102
+#define LDAP_SYNC_UNSUPPORTED_SCHEME   0x103
+#define LDAP_SYNC_CLIENT_DISCONNECT            0x104
+#define LDAP_SYNC_RELOAD_REQUIRED              0x105
 #endif
 
 #define LDAP_ASSERTION_FAILED                  0x10f
@@ -499,17 +486,6 @@ typedef struct ldapcontrol {
 #define LDAP_CANNOT_CANCEL                             0x113
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-/* LCUP update type */
-#define LDAP_CUP_NONE                                  0x00
-#define LDAP_CUP_SYNC_ONLY                             0x01
-#define LDAP_CUP_PERSIST_ONLY                  0x02
-#define LDAP_CUP_SYNC_AND_PERSIST              0x03
-
-/* LCUP default cookie interval */
-#define LDAP_CUP_DEFAULT_SEND_COOKIE_INTERVAL  0x01
-#endif /* LDAP_CLIENT_UPDATE */
-
 /* LDAP SYNC request type */
 #ifdef LDAP_SYNC
 #define LDAP_SYNC_NONE                                 0x00
index 079eca6e5c71e6c6bf933489bc094b5ce2af75cc..cc5724c28dba1d99178ff28e01e0b38261998e7d 100644 (file)
@@ -95,13 +95,13 @@ static struct ldaperror ldap_builtin_errlist[] = {
 
        {LDAP_ASSERTION_FAILED,                 N_("Assertion Failed")},
 
-#ifdef LDAP_CLIENT_UPDATE
-       {LDAP_CUP_RESOURCES_EXHAUSTED,  N_("Client Update Resource Exhausted")},
-       {LDAP_CUP_SECURITY_VIOLATION,   N_("Client Update Security Violation")},
-       {LDAP_CUP_INVALID_COOKIE,               N_("Client Update Invalid Cookie")},
-       {LDAP_CUP_UNSUPPORTED_SCHEME,   N_("Client Update Unsupported Scheme")},
-       {LDAP_CUP_CLIENT_DISCONNECT,    N_("Client Update Client Disconnect")},
-       {LDAP_CUP_RELOAD_REQUIRED,              N_("Client Update Reload Required")},
+#ifdef LDAP_SYNC
+       {LDAP_SYNC_RESOURCES_EXHAUSTED, N_("Content Sync Resource Exhausted")},
+       {LDAP_SYNC_SECURITY_VIOLATION,  N_("Content Sync Security Violation")},
+       {LDAP_SYNC_INVALID_COOKIE,              N_("Content Sync Invalid Cookie")},
+       {LDAP_SYNC_UNSUPPORTED_SCHEME,  N_("Content Sync Unsupported Scheme")},
+       {LDAP_SYNC_CLIENT_DISCONNECT,   N_("Content Sync Client Disconnect")},
+       {LDAP_SYNC_RELOAD_REQUIRED,             N_("Content Sync Reload Required")},
 #endif
 
 #ifdef LDAP_EXOP_X_CANCEL
index 37df7595a8ea144dbe5a663bb2013ed1f2a8805f..fd128d146a19adfccd7a91b1bf64fbebfe283b6f 100644 (file)
@@ -33,7 +33,7 @@ bdb_add(Operation *op, SlapReply *rs )
        DB_LOCK         lock;
        int             noop = 0;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        Operation* ps_list;
 #endif
 
@@ -526,13 +526,13 @@ retry:    /* transaction retry */
 return_results:
        send_ldap_result( op, rs );
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( rs->sr_err == LDAP_SUCCESS && !noop ) {
                LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
                        bdb_psearch( op, rs, ps_list, op->oq_add.rs_e, LDAP_PSEARCH_BY_ADD );
                }
        }
-#endif /* LDAP_CLIENT_UPDATE */
+#endif
 
        if( rs->sr_err == LDAP_SUCCESS && bdb->bi_txn_cp ) {
                ldap_pvt_thread_yield();
index 64bc55c547728097a5e3b47ca048978d7636c3eb..c6a6354a21c671cb34dede93dd7605ab0a09bb18 100644 (file)
@@ -158,7 +158,7 @@ struct bdb_info {
 
        ID                      bi_lastid;
        ldap_pvt_thread_mutex_t bi_lastid_mutex;
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        LDAP_LIST_HEAD(pl, slap_op) bi_psearch_list;
 #endif
 #ifdef SLAP_IDL_CACHE
index 4a03a0ab6b4c6e8c8b089b6227f5197d4b7e54e5..bc2185311f6b506054309fbd07887ad844f7941b 100644 (file)
@@ -33,7 +33,7 @@ bdb_delete( Operation *op, SlapReply *rs )
 
        int             noop = 0;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        Operation* ps_list;
 #endif
 
@@ -492,7 +492,7 @@ retry:      /* transaction retry */
 return_results:
        send_ldap_result( op, rs );
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( rs->sr_err == LDAP_SUCCESS && !noop ) {
                LDAP_LIST_FOREACH( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
                        bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_DELETE );
index b5a02532b8314b0190a2065b15570b4c2acfe73e..f2d880ea48c7e9fb07ef948ebea25ac3d864a071 100644 (file)
@@ -90,7 +90,7 @@ bdb_db_init( BackendDB *be )
        bdb->bi_search_stack_depth = DEFAULT_SEARCH_STACK_DEPTH;
        bdb->bi_search_stack = NULL;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        LDAP_LIST_INIT (&bdb->bi_psearch_list);
 #endif
 
@@ -573,9 +573,6 @@ bdb_initialize(
 {
        static char *controls[] = {
                LDAP_CONTROL_ASSERT,
-#ifdef LDAP_CLIENT_UPDATE
-               LDAP_CONTROL_CLIENT_UPDATE,
-#endif
                LDAP_CONTROL_MANAGEDSAIT,
                LDAP_CONTROL_NOOP,
 #ifdef LDAP_CONTROL_PAGEDRESULTS
@@ -676,7 +673,7 @@ bdb_initialize(
 
        bi->bi_op_unbind = 0;
 
-#ifdef LDAP_CLIENT_UPDATE
+#ifdef LDAP_SYNC
        bi->bi_op_abandon = bdb_abandon;
        bi->bi_op_cancel = bdb_cancel;
 #else
index fc7e1286f07ff02c5cdc7ddac17f62eb9085b8a0..0d267f63bcf358f8b13a35d783a0dd5b8461d263 100644 (file)
@@ -304,7 +304,7 @@ bdb_modify( Operation *op, SlapReply *rs )
 
        int             noop = 0;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        Operation* ps_list;
        struct psid_entry *pm_list, *pm_prev;
 #endif
@@ -328,7 +328,7 @@ retry:      /* transaction retry */
                        "bdb_modify: retrying...\n", 0, 0, 0);
 #endif
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                pm_list = LDAP_LIST_FIRST(&op->o_pm_list);
                while ( pm_list != NULL ) {
                        LDAP_LIST_REMOVE ( pm_list, ps_link );
@@ -462,7 +462,7 @@ retry:      /* transaction retry */
                goto return_results;
        }
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( rs->sr_err == LDAP_SUCCESS && !op->o_noop ) {
                LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
                        bdb_psearch(op, rs, ps_list, e, LDAP_PSEARCH_BY_PREMODIFY );
@@ -583,7 +583,7 @@ retry:      /* transaction retry */
 return_results:
        send_ldap_result( op, rs );
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( rs->sr_err == LDAP_SUCCESS && !op->o_noop ) {
                /* Loop through in-scope entries for each psearch spec */
                LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
@@ -609,7 +609,7 @@ return_results:
 
 done:
        if( ltid != NULL ) {
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                pm_list = LDAP_LIST_FIRST(&op->o_pm_list);
                while ( pm_list != NULL ) {
                        LDAP_LIST_REMOVE ( pm_list, ps_link );
index 0a1c70f73a37a1554d2bdb44486b3e29edf6525c..d45eb96f2733bbdbeb8bbef41b6a60b3664e38d3 100644 (file)
@@ -51,7 +51,7 @@ bdb_modrdn( Operation *op, SlapReply *rs )
 
        int             noop = 0;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
         Operation *ps_list;
        struct psid_entry *pm_list, *pm_prev;
 #endif
@@ -86,7 +86,7 @@ retry:        /* transaction retry */
                Debug( LDAP_DEBUG_TRACE, "==>bdb_modrdn: retrying...\n", 0, 0, 0 );
 #endif
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                 pm_list = LDAP_LIST_FIRST(&op->o_pm_list);
                 while ( pm_list != NULL ) {
                         LDAP_LIST_REMOVE ( pm_list, ps_link );
@@ -838,7 +838,7 @@ retry:      /* transaction retry */
                goto return_results;
        }
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( rs->sr_err == LDAP_SUCCESS && !op->o_noop ) {
                LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
                        bdb_psearch( op, rs, ps_list, e, LDAP_PSEARCH_BY_PREMODIFY );
@@ -953,7 +953,7 @@ retry:      /* transaction retry */
 return_results:
        send_ldap_result( op, rs );
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( rs->sr_err == LDAP_SUCCESS && !op->o_noop ) {
                /* Loop through in-scope entries for each psearch spec */
                LDAP_LIST_FOREACH ( ps_list, &bdb->bi_psearch_list, o_ps_link ) {
@@ -1014,7 +1014,7 @@ done:
        }
 
        if( ltid != NULL ) {
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                 pm_list = LDAP_LIST_FIRST(&op->o_pm_list);
                 while ( pm_list != NULL ) {
                         LDAP_LIST_REMOVE ( pm_list, ps_link );
index b7783d8819c6b133ebcb6e56905de3e74909da6f..c99f9da36b8187b6a08322df22073dcddd9d9a94 100644 (file)
@@ -487,7 +487,7 @@ int bdb_locker_id( Operation *op, DB_ENV *env, int *locker );
  * search.c
  */
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
 
 #define bdb_abandon                                    BDB_SYMBOL(abandon)
 #define bdb_cancel                                     BDB_SYMBOL(cancel)
@@ -507,30 +507,6 @@ int bdb_do_search(
 #endif
 
 
-#ifdef LDAP_CLIENT_UPDATE
-#define bdb_build_lcup_update_ctrl     BDB_SYMBOL(build_lcup_update_ctrl)
-#define bdb_build_lcup_done_ctrl       BDB_SYMBOL(build_lcup_done_ctrl)
-
-int
-bdb_build_lcup_update_ctrl(
-       Operation       *op,
-       SlapReply       *rs,
-       Entry           *e,
-       int             entry_count,
-       LDAPControl     **ctrls,
-       int             num_ctrls,
-       struct berval   *latest_entrycsn_bv,
-       int             isdeleted       );
-
-int
-bdb_build_lcup_done_ctrl(
-       Operation       *op,
-       SlapReply       *rs,
-       LDAPControl     **ctrls,
-       int             num_ctrls,
-       struct berval   *latest_entrycsn_bv     );
-#endif
-
 #ifdef LDAP_SYNC
 #define bdb_build_sync_state_ctrl      BDB_SYMBOL(build_sync_state_ctrl)
 #define bdb_build_sync_done_ctrl       BDB_SYMBOL(build_sync_done_ctrl)
index 57cc3614b8f4976eaf1bc5b4238bd44c3c94ef63..5c362739de9deaae980a22d38ee74a6ef1875731 100644 (file)
@@ -280,14 +280,10 @@ nextido:
 static
 int is_sync_protocol( Operation *op )
 {
-#if !defined(LDAP_CLIENT_UPDATE) && !defined(LDAP_SYNC)
+#if !defined(LDAP_SYNC)
        return 0;
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-       if ( op->o_clientupdate_type & SLAP_LCUP_SYNC_AND_PERSIST )
-               return 1;
-#endif
 #ifdef LDAP_SYNC
        if ( op->o_sync_mode & SLAP_SYNC_REFRESH_AND_PERSIST )
                return 1;
@@ -295,7 +291,7 @@ int is_sync_protocol( Operation *op )
        return 0;
 }
        
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#if defined(LDAP_SYNC)
 #define IS_BDB_REPLACE(type) (( type == LDAP_PSEARCH_BY_DELETE ) || \
        ( type == LDAP_PSEARCH_BY_SCOPEOUT ))
 #define IS_PSEARCH (op != sop)
@@ -383,7 +379,7 @@ int bdb_search( Operation *op, SlapReply *rs )
        ID              lastid = NOID;
        AttributeName   *attrs;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        Filter          cookief, csnfnot, csnfeq, csnfand, csnfge;
        AttributeAssertion aa_ge, aa_eq;
        int             entry_count = 0;
@@ -394,11 +390,9 @@ int bdb_search( Operation *op, SlapReply *rs )
        LDAPControl     *ctrls[SLAP_SEARCH_MAX_CTRLS];
        int             num_ctrls = 0;
        AttributeName   uuid_attr[2];
-#ifdef LDAP_SYNC
        int             rc_sync = 0;
        int             entry_sync_state = -1;
        AttributeName   null_attr;
-#endif
 #endif
        struct slap_limits_set *limit = NULL;
        int isroot = 0;
@@ -414,14 +408,6 @@ int bdb_search( Operation *op, SlapReply *rs )
 #endif
        attrs = sop->oq_search.rs_attrs;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
-#ifdef LDAP_CLIENT_UPDATE
-       if ( !IS_PSEARCH && sop->o_clientupdate_type & SLAP_LCUP_PERSIST ) {
-               sop->o_ps_protocol = LDAP_CLIENT_UPDATE;
-               LDAP_LIST_INSERT_HEAD( &bdb->bi_psearch_list, sop, o_ps_link );
-               return LDAP_SUCCESS;
-       }
-#endif
 #ifdef LDAP_SYNC
        /* psearch needs to be registered before refresh begins */
        /* psearch and refresh transmission is serialized in send_ldap_ber() */
@@ -433,7 +419,6 @@ int bdb_search( Operation *op, SlapReply *rs )
        null_attr.an_oc = NULL;
        null_attr.an_name.bv_len = 0;
        null_attr.an_name.bv_val = NULL;
-#endif
 
        for ( num_ctrls = 0; num_ctrls < SLAP_SEARCH_MAX_CTRLS; num_ctrls++ ) {
                ctrls[num_ctrls] = NULL;
@@ -441,19 +426,6 @@ int bdb_search( Operation *op, SlapReply *rs )
        num_ctrls = 0;
 
        if ( IS_PSEARCH && IS_BDB_REPLACE(ps_type)) {
-#ifdef LDAP_CLIENT_UPDATE
-               if ( sop->o_ps_protocol == LDAP_CLIENT_UPDATE ) {
-                       attrs = uuid_attr;
-                       attrs[0].an_desc = slap_schema.si_ad_entryUUID;
-                       attrs[0].an_oc = NULL;
-                       attrs[0].an_name =  attrs[0].an_desc->ad_cname;
-                       attrs[1].an_desc = NULL;
-                       attrs[1].an_oc = NULL;
-                       attrs[1].an_name.bv_len = 0;
-                       attrs[1].an_name.bv_val = NULL;
-               } else
-#endif
-#ifdef LDAP_SYNC
                if (sop->o_ps_protocol == LDAP_SYNC ) {
                        attrs = uuid_attr;
                        attrs[0].an_desc = NULL;
@@ -461,7 +433,6 @@ int bdb_search( Operation *op, SlapReply *rs )
                        attrs[0].an_name.bv_len = 0;
                        attrs[0].an_name.bv_val = NULL;
                } else
-#endif
                {
                        rs->sr_err = 1;
                        goto done;
@@ -471,14 +442,8 @@ int bdb_search( Operation *op, SlapReply *rs )
 
        manageDSAit = get_manageDSAit( sop );
 
-       /* Sync / LCUP controls override manageDSAit */
+       /* Sync control overrides manageDSAit */
 
-#ifdef LDAP_CLIENT_UPDATE
-       if ( !IS_PSEARCH && sop->o_clientupdate_type & SLAP_LCUP_SYNC ) {
-               if ( manageDSAit == SLAP_NO_CONTROL )
-                       manageDSAit = SLAP_CRITICAL_CONTROL;
-       } else
-#endif
 #ifdef LDAP_SYNC
        if ( !IS_PSEARCH && sop->o_sync_mode & SLAP_SYNC_REFRESH ) {
                if ( manageDSAit == SLAP_NO_CONTROL )
@@ -727,7 +692,7 @@ dn2entry_retry:
        /* start cursor at beginning of candidates.
         */
        cursor = 0;
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if (IS_PSEARCH) {
                if ( !BDB_IDL_IS_RANGE( candidates ) ) {
                        cursor = bdb_idl_search( candidates, ps_e->e_id );
@@ -810,37 +775,6 @@ dn2entry_retry:
        }
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-       if ( (sop->o_clientupdate_type & SLAP_LCUP_SYNC) ||
-           (IS_PSEARCH && sop->o_ps_protocol == LDAP_CLIENT_UPDATE ))
-       {
-               cookief.f_choice = LDAP_FILTER_AND;
-               cookief.f_and = &csnfnot;
-               cookief.f_next = NULL;
-
-               csnfnot.f_choice = LDAP_FILTER_NOT;
-               csnfnot.f_not = &csnfeq;
-               csnfnot.f_next = &csnfand;
-
-               csnfeq.f_choice = LDAP_FILTER_EQUALITY;
-               csnfeq.f_ava = &aa_eq;
-               csnfeq.f_av_desc = slap_schema.si_ad_entryCSN;
-               csnfeq.f_av_value = sop->o_clientupdate_state;
-
-               csnfand.f_choice = LDAP_FILTER_AND;
-               csnfand.f_and = &csnfge;
-               csnfand.f_next = NULL;
-
-               csnfge.f_choice = LDAP_FILTER_GE;
-               csnfge.f_ava = &aa_ge;
-               csnfge.f_av_desc = slap_schema.si_ad_entryCSN;
-               csnfge.f_av_value = sop->o_clientupdate_state;
-               csnfge.f_next = sop->oq_search.rs_filter;
-       }
-#endif
-#if defined(LDAP_CLIENT_UPDATE) && defined(LDAP_SYNC)
-       else
-#endif
 #ifdef LDAP_SYNC
        if ( (sop->o_sync_mode & SLAP_SYNC_REFRESH) ||
                ( IS_PSEARCH && sop->o_ps_protocol == LDAP_SYNC ))
@@ -903,7 +837,7 @@ loop_begin:
                }
 
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                if (!IS_PSEARCH) {
 #endif
 id2entry_retry:
@@ -945,7 +879,7 @@ id2entry_retry:
 
                                goto loop_continue;
                        }
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                } else {
                        e = ps_e;
                }
@@ -1090,7 +1024,7 @@ id2entry_retry:
 #endif
 
                /* if it matches the filter and scope, send it */
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                if (IS_PSEARCH) {
                        if (ps_type != LDAP_PSEARCH_BY_SCOPEOUT) {
                                rs->sr_err = test_filter( sop, rs->sr_entry, &cookief );
@@ -1098,12 +1032,6 @@ id2entry_retry:
                                rs->sr_err = LDAP_COMPARE_TRUE;
                        }
                } else {
-#ifdef LDAP_CLIENT_UPDATE
-                       if ( sop->o_clientupdate_type & SLAP_LCUP_SYNC ) {
-                               rs->sr_err = test_filter( sop, rs->sr_entry, &cookief );
-                       } else
-#endif
-#ifdef LDAP_SYNC
                        if ( sop->o_sync_mode & SLAP_SYNC_REFRESH ) {
                                rc_sync = test_filter( sop, rs->sr_entry, &cookief );
                                rs->sr_err = test_filter( sop,
@@ -1116,20 +1044,19 @@ id2entry_retry:
                                        }
                                }
                        } else
-#endif
 #endif
                        {
                                rs->sr_err = test_filter( sop,
                                        rs->sr_entry, sop->oq_search.rs_filter );
                        }
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                }
 #endif
 
                if ( rs->sr_err == LDAP_COMPARE_TRUE ) {
                        /* check size limit */
                        if ( --sop->oq_search.rs_slimit == -1 ) {
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
                                if (!IS_PSEARCH)
 #endif
                                bdb_cache_return_entry_r( bdb->bi_dbenv,
@@ -1162,12 +1089,10 @@ id2entry_retry:
                                        result = 0;
                                } else
 #endif
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
-                               if (IS_PSEARCH) {
 #ifdef LDAP_SYNC
+                               if (IS_PSEARCH) {
                                        int premodify_found = 0;
                                        int entry_sync_state;
-#endif
 
                                        if ( ps_type == LDAP_PSEARCH_BY_ADD ||
                                                 ps_type == LDAP_PSEARCH_BY_DELETE ||
@@ -1180,16 +1105,13 @@ id2entry_retry:
                                                                &op->o_pm_list, ps_link)
                                                        {
                                                                if( psid_e->ps_op == sop ) {
-#ifdef LDAP_SYNC
                                                                        premodify_found = 1;
-#endif
                                                                        LDAP_LIST_REMOVE(psid_e, ps_link);
                                                                        break;
                                                                }
                                                        }
                                                        if (psid_e != NULL) free (psid_e);
                                                }
-#ifdef LDAP_SYNC
                                                if ( ps_type == LDAP_PSEARCH_BY_ADD ) {
                                                        entry_sync_state = LDAP_SYNC_ADD;
                                                } else if ( ps_type == LDAP_PSEARCH_BY_DELETE ) {
@@ -1206,33 +1128,6 @@ id2entry_retry:
                                                        rs->sr_err = 1;
                                                        goto done;
                                                }
-#endif
-
-#ifdef LDAP_CLIENT_UPDATE
-                                               if ( sop->o_ps_protocol == LDAP_CLIENT_UPDATE ) {
-                                                       int entry_count = ++sop->o_ps_entries;
-                                                       if ( IS_BDB_REPLACE(ps_type) ) {
-                                                               rs->sr_err = bdb_build_lcup_update_ctrl( sop,
-                                                                       rs, e, entry_count, ctrls,
-                                                                       num_ctrls++, &latest_entrycsn_bv,
-                                                                       SLAP_LCUP_ENTRY_DELETED_TRUE );
-                                                       } else {
-                                                               rs->sr_err = bdb_build_lcup_update_ctrl( sop,
-                                                                       rs, e, entry_count, ctrls,
-                                                                       num_ctrls++, &latest_entrycsn_bv,
-                                                                       SLAP_LCUP_ENTRY_DELETED_FALSE );
-                                                       }
-                                                       if ( rs->sr_err != LDAP_SUCCESS ) goto done;
-                                                       rs->sr_attrs = attrs;
-                                                       rs->sr_ctrls = ctrls;
-                                                       result = send_search_entry( sop, rs );
-                                                       ch_free( ctrls[num_ctrls-1]->ldctl_value.bv_val );
-                                                       ch_free( ctrls[--num_ctrls] );
-                                                       ctrls[num_ctrls] = NULL;
-                                                       rs->sr_ctrls = NULL;
-                                               } else
-#endif
-#ifdef LDAP_SYNC
                                                if ( sop->o_ps_protocol == LDAP_SYNC ) {
                                                        rs->sr_err = bdb_build_sync_state_ctrl( sop,
                                                                rs, e, entry_sync_state, ctrls,
@@ -1246,7 +1141,6 @@ id2entry_retry:
                                                        ctrls[num_ctrls] = NULL;
                                                        rs->sr_ctrls = NULL;
                                                } else
-#endif
                                                {
                                                        rs->sr_err = 1;
                                                        goto done;
@@ -1264,23 +1158,6 @@ id2entry_retry:
                                                printf("Error !\n");
                                        }
                                } else {
-#ifdef LDAP_CLIENT_UPDATE
-                                       if ( sop->o_clientupdate_type & SLAP_LCUP_SYNC ) {
-                                               rs->sr_err = bdb_build_lcup_update_ctrl( sop,
-                                                       rs, e, ++entry_count, ctrls,
-                                                       num_ctrls++, &latest_entrycsn_bv,
-                                                       SLAP_LCUP_ENTRY_DELETED_FALSE );
-                                               if ( rs->sr_err != LDAP_SUCCESS ) goto done;
-                                               rs->sr_ctrls = ctrls;
-                                               rs->sr_attrs = sop->oq_search.rs_attrs;
-                                               result = send_search_entry( sop, rs );
-                                               ch_free( ctrls[num_ctrls-1]->ldctl_value.bv_val );
-                                               ch_free( ctrls[--num_ctrls] );
-                                               ctrls[num_ctrls] = NULL;
-                                               rs->sr_ctrls = NULL;
-                                       } else
-#endif
-#ifdef LDAP_SYNC
                                        if ( sop->o_sync_mode & SLAP_SYNC_REFRESH ) {
                                                rs->sr_err = bdb_build_sync_state_ctrl( sop,
                                                        rs, e, entry_sync_state, ctrls,
@@ -1299,7 +1176,6 @@ id2entry_retry:
                                                ctrls[num_ctrls] = NULL;
                                                rs->sr_ctrls = NULL;
                                        } else
-#endif
 #endif
                                        {
                                                rs->sr_attrs = sop->oq_search.rs_attrs;
@@ -1349,26 +1225,6 @@ loop_continue:
        }
 
        if (!IS_PSEARCH) {
-#ifdef LDAP_CLIENT_UPDATE
-       if ( sop->o_clientupdate_type & SLAP_LCUP_SYNC ) {
-               bdb_build_lcup_done_ctrl( sop, rs, ctrls,
-                       num_ctrls++, &latest_entrycsn_bv );
-
-               rs->sr_ctrls = ctrls;
-               rs->sr_ref = rs->sr_v2ref;
-               rs->sr_err = (rs->sr_v2ref == NULL) ? LDAP_SUCCESS : LDAP_REFERRAL;
-               send_ldap_result( sop, rs );
-
-               ch_free( latest_entrycsn_bv.bv_val );
-               latest_entrycsn_bv.bv_val = NULL;
-
-               if ( ctrls[num_ctrls-1]->ldctl_value.bv_val != NULL ) {
-                       ch_free( ctrls[num_ctrls-1]->ldctl_value.bv_val );
-               }
-               ch_free( ctrls[--num_ctrls] );
-               ctrls[num_ctrls] = NULL;
-       } else
-#endif
 #ifdef LDAP_SYNC
        if ( sop->o_sync_mode & SLAP_SYNC_REFRESH ) {
                if ( sop->o_sync_mode & SLAP_SYNC_PERSIST ) {
@@ -1700,144 +1556,6 @@ done:
 }                      
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-int
-bdb_build_lcup_update_ctrl(
-       Operation       *op,
-       SlapReply       *rs,
-       Entry           *e,
-       int             entry_count,
-       LDAPControl     **ctrls,
-       int             num_ctrls,
-       struct berval   *latest_entrycsn_bv,
-       int             isdeleted       )
-{
-       Attribute* a;
-       int ret;
-       int res;
-       const char *text = NULL;
-
-       char berbuf[LBER_ELEMENT_SIZEOF];
-       BerElement *ber = (BerElement *)berbuf;
-
-       struct berval entrycsn_bv = { 0, NULL };
-
-       ber_init2( ber, 0, LBER_USE_DER );
-
-       ctrls[num_ctrls] = ch_malloc ( sizeof ( LDAPControl ) );
-
-       for ( a = e->e_attrs; a != NULL; a = a->a_next ) {
-               AttributeDescription *desc = a->a_desc;
-               if ( desc == slap_schema.si_ad_entryCSN ) {
-                       ber_dupbv( &entrycsn_bv, &a->a_vals[0] );
-                       if ( latest_entrycsn_bv->bv_val == NULL ) {
-                               ber_dupbv( latest_entrycsn_bv, &entrycsn_bv );
-                       } else {
-                               res = value_match( &ret, desc,
-                                       desc->ad_type->sat_ordering, 0,
-                                       &entrycsn_bv, latest_entrycsn_bv, &text );
-                               if ( res != LDAP_SUCCESS ) {
-                                       ret = 0;
-#ifdef NEW_LOGGING
-                                       LDAP_LOG ( OPERATION, RESULTS, 
-                                               "bdb_search: value_match failed\n",
-                                               0, 0, 0 );
-#else
-                                       Debug( LDAP_DEBUG_TRACE,
-                                               "bdb_search: value_match failed\n",
-                                               0, 0, 0 );
-#endif
-                               }
-
-                               if ( ret > 0 ) {
-                                       ch_free( latest_entrycsn_bv->bv_val );
-                                       latest_entrycsn_bv->bv_val = NULL;
-                                       ber_dupbv( latest_entrycsn_bv, &entrycsn_bv );
-                               }
-                       }
-               }
-       }
-
-       if ( entry_count % op->o_clientupdate_interval == 0 ) {
-               ber_printf( ber,
-                       "{bb{sON}N}",
-                       SLAP_LCUP_STATE_UPDATE_FALSE,
-                       isdeleted,
-                       LDAP_CUP_COOKIE_OID, &entrycsn_bv );
-       } else { /* Do not send cookie */
-               ber_printf( ber,
-                       "{bbN}",
-                       SLAP_LCUP_STATE_UPDATE_FALSE,
-                       isdeleted );
-       }
-
-       ch_free( entrycsn_bv.bv_val );
-       entrycsn_bv.bv_val = NULL;
-
-       ctrls[num_ctrls]->ldctl_oid = LDAP_CONTROL_ENTRY_UPDATE;
-       ctrls[num_ctrls]->ldctl_iscritical = op->o_clientupdate;
-       ret = ber_flatten2( ber, &ctrls[num_ctrls]->ldctl_value, 1 );
-
-       ber_free_buf( ber );
-
-       if ( ret < 0 ) {
-#ifdef NEW_LOGGING
-               LDAP_LOG ( OPERATION, RESULTS, 
-                       "bdb_build_lcup_ctrl: ber_flatten2 failed\n",
-                       0, 0, 0 );
-#else
-               Debug( LDAP_DEBUG_TRACE,
-                       "bdb_build_lcup_ctrl: ber_flatten2 failed\n",
-                       0, 0, 0 );
-#endif
-               send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
-               return ret;
-       }
-
-       return LDAP_SUCCESS;
-}
-
-int
-bdb_build_lcup_done_ctrl(
-       Operation       *op,
-       SlapReply       *rs,
-       LDAPControl     **ctrls,
-       int             num_ctrls,
-       struct berval   *latest_entrycsn_bv     )
-{
-       int ret;
-       char berbuf[LBER_ELEMENT_SIZEOF];
-       BerElement *ber = (BerElement *)berbuf;
-
-       ber_init2( ber, NULL, LBER_USE_DER );
-
-       ctrls[num_ctrls] = ch_malloc ( sizeof ( LDAPControl ) );
-
-       ber_printf( ber, "{sON}", LDAP_CUP_COOKIE_OID, latest_entrycsn_bv );
-
-       ctrls[num_ctrls]->ldctl_oid = LDAP_CONTROL_CLIENT_UPDATE_DONE;
-       ctrls[num_ctrls]->ldctl_iscritical = op->o_clientupdate;
-       ret = ber_flatten2( ber, &ctrls[num_ctrls]->ldctl_value, 1 );
-
-       ber_free_buf( ber );
-
-       if ( ret < 0 ) {
-#ifdef NEW_LOGGING
-               LDAP_LOG ( OPERATION, RESULTS, 
-                       "bdb_build_lcup_done_ctrl: ber_flatten2 failed\n", 0, 0, 0 );
-#else
-               Debug( LDAP_DEBUG_TRACE,
-                       "bdb_build_lcup_done_ctrl: ber_flatten2 failed\n",
-                       0, 0, 0 );
-#endif
-               send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
-               return ret;
-       }
-
-       return LDAP_SUCCESS;
-}
-#endif
-
 #ifdef LDAP_SYNC
 int
 bdb_build_sync_state_ctrl(
@@ -1966,11 +1684,11 @@ bdb_build_sync_done_ctrl(
        if ( ret < 0 ) {
 #ifdef NEW_LOGGING
                LDAP_LOG ( OPERATION, RESULTS, 
-                       "bdb_build_lcup_done_ctrl: ber_flatten2 failed\n",
+                       "bdb_build_sync_done_ctrl: ber_flatten2 failed\n",
                        0, 0, 0 );
 #else
                Debug( LDAP_DEBUG_TRACE,
-                       "bdb_build_lcup_done_ctrl: ber_flatten2 failed\n",
+                       "bdb_build_sync_done_ctrl: ber_flatten2 failed\n",
                        0, 0, 0 );
 #endif
                send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
@@ -2006,11 +1724,11 @@ bdb_send_ldap_intermediate(
        if ( ret < 0 ) {
 #ifdef NEW_LOGGING
                LDAP_LOG ( OPERATION, RESULTS, 
-                       "bdb_build_lcup_done_ctrl: ber_flatten2 failed\n",
+                       "bdb_send_ldap_intermediate: ber_flatten2 failed\n",
                        0, 0, 0 );
 #else
                Debug( LDAP_DEBUG_TRACE,
-                       "bdb_build_lcup_done_ctrl: ber_flatten2 failed\n",
+                       "bdb_send_ldap_intermediate: ber_flatten2 failed\n",
                        0, 0, 0 );
 #endif
                send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
index 8a8d4cab85a62a1e80acc85f455068510f9eb987..cd789799f4d6fae0f4f263212d9b103acb61b7a6 100644 (file)
@@ -1069,17 +1069,9 @@ operations_error:
        LDAP_STAILQ_REMOVE( &conn->c_ops, op, slap_op, o_next);
        LDAP_STAILQ_NEXT(op, o_next) = NULL;
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
        if ( op->o_cancel == SLAP_CANCEL_ACK )
                goto co_op_free;
-#endif
-#ifdef LDAP_CLIENT_UPDATE
-       if ( ( op->o_clientupdate_type & SLAP_LCUP_PERSIST ) ) {
-               sl_mem_detach( ctx, memctx );
-               goto no_co_op_free;
-       }
-#endif
-#ifdef LDAP_SYNC
        if ( ( op->o_sync_mode & SLAP_SYNC_PERSIST ) ) {
                sl_mem_detach( ctx, memctx );
                goto no_co_op_free;
index 730b3f68d66c86b32f6c197a6a82d8d9b904ee4a..7137c03ae5c312bb0433380d376b87a50a1a05fb 100644 (file)
@@ -31,9 +31,6 @@ static SLAP_CTRL_PARSE_FN parseDomainScope;
 #ifdef LDAP_CONTROL_SUBENTRIES
 static SLAP_CTRL_PARSE_FN parseSubentries;
 #endif
-#ifdef LDAP_CLIENT_UPDATE
-static SLAP_CTRL_PARSE_FN parseClientUpdate;
-#endif
 #ifdef LDAP_SYNC
 static SLAP_CTRL_PARSE_FN parseLdupSync;
 #endif
@@ -100,11 +97,6 @@ static struct slap_control control_defs[] = {
        { LDAP_CONTROL_NOOP,
                SLAP_CTRL_ACCESS, NULL,
                parseNoOp, LDAP_SLIST_ENTRY_INITIALIZER(next) },
-#ifdef LDAP_CLIENT_UPDATE
-       { LDAP_CONTROL_CLIENT_UPDATE,
-               SLAP_CTRL_HIDE|SLAP_CTRL_SEARCH, NULL,
-               parseClientUpdate, LDAP_SLIST_ENTRY_INITIALIZER(next) },
-#endif
 #ifdef LDAP_SYNC
        { LDAP_CONTROL_SYNC,
                SLAP_CTRL_HIDE|SLAP_CTRL_SEARCH, NULL,
@@ -1071,137 +1063,6 @@ static int parseDomainScope (
 }
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-static int parseClientUpdate (
-       Operation *op,
-       SlapReply *rs,
-       LDAPControl *ctrl )
-{
-       ber_tag_t tag;
-       BerElement *ber;
-       ber_int_t type;
-       ber_int_t interval;
-       ber_len_t len;
-       struct berval scheme = { 0, NULL };
-       struct berval cookie = { 0, NULL };
-
-       if ( op->o_clientupdate != SLAP_NO_CONTROL ) {
-               rs->sr_text = "LCUP client update control specified multiple times";
-               return LDAP_PROTOCOL_ERROR;
-       }
-
-#ifdef LDAP_SYNC
-       if ( op->o_sync != SLAP_NO_CONTROL ) {
-               rs->sr_text = "LDAP Client Update and Sync controls used together";
-               return LDAP_PROTOCOL_ERROR;
-       }
-#endif
-
-       if ( ctrl->ldctl_value.bv_len == 0 ) {
-               rs->sr_text = "LCUP client update control value is empty (or absent)";
-               return LDAP_PROTOCOL_ERROR;
-       }
-
-       /* Parse the control value
-        *      ClientUpdateControlValue ::= SEQUENCE {
-        *              updateType      ENUMERATED {
-        *                                      synchronizeOnly {0},
-        *                                      synchronizeAndPersist {1},
-        *                                      persistOnly {2} },
-        *              sendCookieInterval INTEGER OPTIONAL,
-        *              cookie          LCUPCookie OPTIONAL
-        *      }
-        */
-
-       ber = ber_init( &ctrl->ldctl_value );
-       if( ber == NULL ) {
-               rs->sr_text = "internal error";
-               return LDAP_OTHER;
-       }
-
-       if ( (tag = ber_scanf( ber, "{i" /*}*/, &type )) == LBER_ERROR ) {
-               rs->sr_text = "LCUP client update control : decoding error";
-               return LDAP_PROTOCOL_ERROR;
-       }
-
-       switch( type ) {
-       case LDAP_CUP_SYNC_ONLY:
-               type = SLAP_LCUP_SYNC;
-               break;
-       case LDAP_CUP_SYNC_AND_PERSIST:
-               type = SLAP_LCUP_SYNC_AND_PERSIST;
-               break;
-       case LDAP_CUP_PERSIST_ONLY:
-               type = SLAP_LCUP_PERSIST;
-               break;
-       default:
-               rs->sr_text = "LCUP client update control : unknown update type";
-               return LDAP_PROTOCOL_ERROR;
-       }
-
-       if ( (tag = ber_peek_tag( ber, &len )) == LBER_DEFAULT ) {
-               rs->sr_text = "LCUP client update control : decoding error";
-               return LDAP_PROTOCOL_ERROR;
-       }
-
-       if ( tag == LDAP_CUP_TAG_INTERVAL ) {
-               if ( (tag = ber_scanf( ber, "i", &interval )) == LBER_ERROR ) {
-                       rs->sr_text = "LCUP client update control : decoding error";
-                       return LDAP_PROTOCOL_ERROR;
-               }
-               
-               if ( interval <= 0 ) {
-                       /* server chooses interval */
-                       interval = LDAP_CUP_DEFAULT_SEND_COOKIE_INTERVAL;
-               }
-
-       } else {
-               /* server chooses interval */
-               interval = LDAP_CUP_DEFAULT_SEND_COOKIE_INTERVAL;
-       }
-
-       if ( (tag = ber_peek_tag( ber, &len )) == LBER_DEFAULT ) {
-               rs->sr_text = "LCUP client update control : decoding error";
-               return LDAP_PROTOCOL_ERROR;
-       }
-
-       if ( tag == LDAP_CUP_TAG_COOKIE ) {
-               if ( (tag = ber_scanf( ber, /*{*/ "{mm}}",
-                       &scheme, &cookie )) == LBER_ERROR )
-               {
-                       rs->sr_text = "LCUP client update control : decoding error";
-                       return LDAP_PROTOCOL_ERROR;
-               }
-       }
-
-       /* TODO : Cookie Scheme Validation */
-#if 0
-       if ( lcup_cookie_scheme_validate(scheme) != LDAP_SUCCESS ) {
-               rs->sr_text = "Unsupported LCUP cookie scheme";
-               return LCUP_UNSUPPORTED_SCHEME;
-       }
-
-       if ( lcup_cookie_validate(scheme, cookie) != LDAP_SUCCESS ) {
-               rs->sr_text = "Invalid LCUP cookie";
-               return LCUP_INVALID_COOKIE;
-       }
-#endif
-
-       ber_dupbv( &op->o_clientupdate_state, &cookie );
-
-       (void) ber_free( ber, 1 );
-
-       op->o_clientupdate_type = (char) type;
-       op->o_clientupdate_interval = interval;
-
-       op->o_clientupdate = ctrl->ldctl_iscritical
-               ? SLAP_CRITICAL_CONTROL
-               : SLAP_NONCRITICAL_CONTROL;
-
-       return LDAP_SUCCESS;
-}
-#endif
-
 #ifdef LDAP_SYNC
 static int parseLdupSync (
        Operation *op,
@@ -1219,13 +1080,6 @@ static int parseLdupSync (
                return LDAP_PROTOCOL_ERROR;
        }
 
-#ifdef LDAP_CLIENT_UPDATE
-       if ( op->o_clientupdate != SLAP_NO_CONTROL ) {
-               rs->sr_text = "LDAP Sync and LDAP Client Update controls used together";
-               return LDAP_PROTOCOL_ERROR;
-       }
-#endif
-
        if ( ctrl->ldctl_value.bv_len == 0 ) {
                rs->sr_text = "LDAP Sync control value is empty (or absent)";
                return LDAP_PROTOCOL_ERROR;
@@ -1283,19 +1137,6 @@ static int parseLdupSync (
                cookie.bv_val = NULL;
        }
 
-       /* TODO : Cookie Scheme Validation */
-#if 0
-       if ( lcup_cookie_scheme_validate(scheme) != LDAP_SUCCESS ) {
-               rs->sr_text = "Unsupported LCUP cookie scheme";
-               return LCUP_UNSUPPORTED_SCHEME;
-       }
-
-       if ( lcup_cookie_validate(scheme, cookie) != LDAP_SUCCESS ) {
-               rs->sr_text = "Invalid LCUP cookie";
-               return LCUP_INVALID_COOKIE;
-       }
-#endif
-
        ber_dupbv( &op->o_sync_state, &cookie );
 
        (void) ber_free( ber, 1 );
index 95e28288b5882ab35f5b0b1596b94d8f410d9107..b2a51370b791018049022f4dea772b6676c99cd2 100644 (file)
@@ -65,11 +65,6 @@ slap_op_free( Operation *op )
                ber_free( op->o_res_ber, 1 );
        }
 #endif
-#ifdef LDAP_CLIENT_UPDATE
-       if ( op->o_clientupdate_state.bv_val != NULL ) {
-               free( op->o_clientupdate_state.bv_val );
-       }
-#endif
 #ifdef LDAP_SYNC
        if ( op->o_sync_state.bv_val != NULL ) {
                free( op->o_sync_state.bv_val );
index dfa96b9c185510c301cbda35c97dec0944a4562d..ea93719e23cbb689e2296c1d96567ea4acb8a23e 100644 (file)
@@ -334,14 +334,9 @@ do_search(
         * if we don't hold it.
         */
 
-       /* Sync / LCUP controls override manageDSAit */
+       /* Sync control overrides manageDSAit */
 
        if ( manageDSAit != SLAP_NO_CONTROL ) {
-#ifdef LDAP_CLIENT_UPDATE
-               if ( op->o_clientupdate_type & SLAP_LCUP_SYNC ) {
-                       be_manageDSAit = SLAP_NO_CONTROL;
-               } else
-#endif
 #ifdef LDAP_SYNC
                if ( op->o_sync_mode & SLAP_SYNC_REFRESH ) {
                        be_manageDSAit = SLAP_NO_CONTROL;
@@ -404,13 +399,6 @@ do_search(
 
 return_results:;
 
-#ifdef LDAP_CLIENT_UPDATE
-       if ( ( op->o_clientupdate_type & SLAP_LCUP_PERSIST ) )
-               return rs->sr_err;
-#endif
-#if defined(LDAP_CLIENT_UPDATE) && defined(LDAP_SYNC)
-       else
-#endif
 #ifdef LDAP_SYNC
        if ( ( op->o_sync_mode & SLAP_SYNC_PERSIST ) )
                return rs->sr_err;
index c03d3c0b348b15376e4d0ebd07206ab705e22b55..a6dd87712e7913c50be60ad470fa65394c0612a6 100644 (file)
@@ -229,10 +229,6 @@ typedef struct slap_ssf_set {
 #define SLAP_SYNTAX_MATCHINGRULEUSES_OID "1.3.6.1.4.1.1466.115.121.1.31"
 #define SLAP_SYNTAX_CONTENTRULE_OID             "1.3.6.1.4.1.1466.115.121.1.16"
 
-#ifdef LDAP_CLIENT_UPDATE
-#define LCUP_COOKIE_OID "1.3.6.1.4.1.4203.666.10.1"
-#endif /* LDAP_CLIENT_UPDATE */
-
 /*
  * represents schema information for a database
  */
@@ -1795,7 +1791,7 @@ typedef struct slap_paged_state {
 } PagedResultsState;
 
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
 #define LDAP_PSEARCH_BY_ADD            0x01
 #define LDAP_PSEARCH_BY_DELETE         0x02
 #define LDAP_PSEARCH_BY_PREMODIFY      0x03
@@ -1932,17 +1928,6 @@ typedef struct slap_op {
 #define get_pagedresults(op)                   (0)
 #endif
 
-#ifdef LDAP_CLIENT_UPDATE
-       char o_clientupdate;
-       char o_clientupdate_type;
-#define SLAP_LCUP_NONE                         (0x0)
-#define SLAP_LCUP_SYNC                                 (0x1)
-#define SLAP_LCUP_PERSIST                      (0x2)
-#define SLAP_LCUP_SYNC_AND_PERSIST             (0x3)
-       ber_int_t o_clientupdate_interval;
-       struct berval o_clientupdate_state;
-#endif
-
 #ifdef LDAP_SYNC
        char o_sync;
        char o_sync_mode;
@@ -1951,9 +1936,7 @@ typedef struct slap_op {
 #define SLAP_SYNC_PERSIST                      (0x2)
 #define SLAP_SYNC_REFRESH_AND_PERSIST          (0x3)
        struct berval o_sync_state;
-#endif
 
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
        int o_ps_protocol;
        int o_ps_entries;
        LDAP_LIST_ENTRY(slap_op) o_ps_link;
@@ -2190,17 +2173,7 @@ enum {
 #define SLAP_LDAPDN_PRETTY 0x1
 #define SLAP_LDAPDN_MAXLEN 8192
 
-/*
- * Macros for LCUP
- */
-#ifdef LDAP_CLIENT_UPDATE
-#define SLAP_LCUP_STATE_UPDATE_TRUE    1
-#define SLAP_LCUP_STATE_UPDATE_FALSE   0
-#define SLAP_LCUP_ENTRY_DELETED_TRUE   1
-#define SLAP_LCUP_ENTRY_DELETED_FALSE  0
-#endif /* LDAP_CLIENT_UPDATE */
-
-#if defined(LDAP_CLIENT_UPDATE) || defined(LDAP_SYNC)
+#ifdef LDAP_SYNC
 #define SLAP_SEARCH_MAX_CTRLS   10
 #endif