X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldap%2Fdistproc.c;h=42424683ed5c49e8745ab6569add6180ac21508f;hb=5cd816f4eb2fc09a59cc53267c731d91badcae97;hp=a7aaabe989b8d0da5313e8ba46ab99b7533f5877;hpb=0f8f25cf1a22b08aff9464ace22b89d9499447c6;p=openldap diff --git a/servers/slapd/back-ldap/distproc.c b/servers/slapd/back-ldap/distproc.c index a7aaabe989..42424683ed 100644 --- a/servers/slapd/back-ldap/distproc.c +++ b/servers/slapd/back-ldap/distproc.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2006 The OpenLDAP Foundation. + * Copyright 2005-2007 The OpenLDAP Foundation. * Portions Copyright 2003 Howard Chu. * All rights reserved. * @@ -22,14 +22,15 @@ #include "portable.h" -#ifdef LDAP_DEVEL - #include #include #include #include "slap.h" + +#ifdef SLAP_DISTPROC + #include "back-ldap.h" #include "config.h" @@ -236,7 +237,7 @@ static int ldap_distproc_db_init_common( BackendDB *be ); static int ldap_distproc_db_init_one( BackendDB *be ); #define ldap_distproc_db_open_one(be) (lback)->bi_db_open( (be) ) #define ldap_distproc_db_close_one(be) (0) -#define ldap_distproc_db_destroy_one(be) (lback)->bi_db_destroy( (be) ) +#define ldap_distproc_db_destroy_one(be, ca) (lback)->bi_db_destroy( (be), (ca) ) static int ldap_distproc_parse_ctrl( @@ -446,7 +447,7 @@ distproc_ldadd( CfEntryInfo *p, Entry *e, ConfigArgs *ca ) done:; if ( rc != LDAP_SUCCESS ) { - (void)ldap_distproc_db_destroy_one( ca->be ); + (void)ldap_distproc_db_destroy_one( ca->be, NULL ); ch_free( ca->be ); ca->be = NULL; } @@ -471,9 +472,9 @@ ldap_distproc_cfadd_apply( void *datum, void *arg ) struct berval bv; /* FIXME: should not hardcode "olcDatabase" here */ - bv.bv_len = snprintf( lca->ca->msg, sizeof( lca->ca->msg ), + bv.bv_len = snprintf( lca->ca->cr_msg, sizeof( lca->ca->cr_msg ), "olcDatabase={%d}%s", lca->count, lback->bi_type ); - bv.bv_val = lca->ca->msg; + bv.bv_val = lca->ca->cr_msg; lca->ca->be->be_private = (void *)li; config_build_entry( lca->op, lca->rs, lca->p->e_private, lca->ca, @@ -566,7 +567,8 @@ distproc_cfgen( ConfigArgs *c ) static int ldap_distproc_db_init( - BackendDB *be ) + BackendDB *be, + ConfigReply *cr ) { slap_overinst *on = (slap_overinst *)be->bd_info; ldap_distproc_t *lc = NULL; @@ -658,7 +660,7 @@ private_destroy:; db.bd_info = lback; db.be_private = (void *)lc->lc_cfg_li; - ldap_distproc_db_destroy_one( &db ); + ldap_distproc_db_destroy_one( &db, NULL ); lc->lc_cfg_li = NULL; } else { @@ -711,7 +713,7 @@ ldap_distproc_db_apply( void *datum, void *arg ) lca->be->be_private = (void *)li; - return lca->func( lca->be ); + return lca->func( lca->be, NULL ); } static int @@ -734,7 +736,7 @@ ldap_distproc_db_func( db.bd_info = lback; db.be_private = lc->lc_common_li; - rc = func( &db ); + rc = func( &db, NULL ); if ( rc != 0 ) { return rc; @@ -758,21 +760,24 @@ ldap_distproc_db_func( static int ldap_distproc_db_open( - BackendDB *be ) + BackendDB *be, + ConfigReply *cr ) { return ldap_distproc_db_func( be, db_open ); } static int ldap_distproc_db_close( - BackendDB *be ) + BackendDB *be, + ConfigReply *cr ) { return ldap_distproc_db_func( be, db_close ); } static int ldap_distproc_db_destroy( - BackendDB *be ) + BackendDB *be, + ConfigReply *cr ) { slap_overinst *on = (slap_overinst *) be->bd_info; ldap_distproc_t *lc = (ldap_distproc_t *)on->on_bi.bi_private; @@ -803,7 +808,7 @@ ldap_distproc_db_init_common( be->bd_info = lback; be->be_private = NULL; - t = lback->bi_db_init( be ); + t = lback->bi_db_init( be, NULL ); if ( t != 0 ) { return t; } @@ -830,11 +835,11 @@ ldap_distproc_db_init_one( BackendInfo *bi = be->bd_info; ldapinfo_t *li; - int t; + slap_op_t t; be->bd_info = lback; be->be_private = NULL; - t = lback->bi_db_init( be ); + t = lback->bi_db_init( be, NULL ); if ( t != 0 ) { return t; } @@ -844,7 +849,7 @@ ldap_distproc_db_init_one( li->li_nretries = lc->lc_common_li->li_nretries; li->li_flags = lc->lc_common_li->li_flags; li->li_version = lc->lc_common_li->li_version; - for ( t = 0; t < LDAP_BACK_OP_LAST; t++ ) { + for ( t = 0; t < SLAP_OP_LAST; t++ ) { li->li_timeout[ t ] = lc->lc_common_li->li_timeout[ t ]; } be->bd_info = bi; @@ -957,6 +962,7 @@ distproc_initialize( void ) return rc; } +#ifdef LDAP_DEVEL rc = supported_feature_load( &slap_FEATURE_CANCHAINOPS ); if ( rc != LDAP_SUCCESS ) { Debug( LDAP_DEBUG_ANY, "slapd-distproc: " @@ -964,6 +970,7 @@ distproc_initialize( void ) rc, 0, 0 ); return rc; } +#endif rc = register_supported_control( LDAP_CONTROL_X_RETURNCONTREF, SLAP_CTRL_GLOBAL|SLAP_CTRL_ACCESS|SLAP_CTRL_HIDE, NULL, @@ -1007,4 +1014,4 @@ distproc_initialize( void ) return overlay_register( &distproc ); } -#endif /* LDAP_DEVEL */ +#endif /* SLAP_DISTPROC */