]> git.sur5r.net Git - openldap/commitdiff
remove more unnecessary args
authorPierangelo Masarati <ando@openldap.org>
Fri, 4 Apr 2003 00:43:40 +0000 (00:43 +0000)
committerPierangelo Masarati <ando@openldap.org>
Fri, 4 Apr 2003 00:43:40 +0000 (00:43 +0000)
18 files changed:
servers/slapd/back-ldap/add.c
servers/slapd/back-ldap/back-ldap.h
servers/slapd/back-ldap/bind.c
servers/slapd/back-ldap/compare.c
servers/slapd/back-ldap/delete.c
servers/slapd/back-ldap/modify.c
servers/slapd/back-ldap/modrdn.c
servers/slapd/back-ldap/search.c
servers/slapd/back-meta/add.c
servers/slapd/back-meta/back-meta.h
servers/slapd/back-meta/bind.c
servers/slapd/back-meta/cache-search.c
servers/slapd/back-meta/compare.c
servers/slapd/back-meta/conn.c
servers/slapd/back-meta/delete.c
servers/slapd/back-meta/modify.c
servers/slapd/back-meta/modrdn.c
servers/slapd/back-meta/search.c

index d2ec162cdd3f4d1bc5e95bbd1874b333036c1b69..24b3ad9226d581435a1c9123623364bafd361933 100644 (file)
@@ -184,7 +184,7 @@ ldap_back_add(
                free( mdn.bv_val );
        }
        
-       return( ldap_back_op_result( li, lc, op, rs, msgid, j, 1 ) );
+       return( ldap_back_op_result( lc, op, rs, msgid, j, 1 ) );
 }
 
 #ifdef ENABLE_REWRITE
index a329382bed04c511fce06d53d5444c4497cdf935..3692f2804702a447aff9ce8bc5b23557e423952d 100644 (file)
@@ -94,8 +94,8 @@ struct ldapinfo {
 struct ldapconn *ldap_back_getconn(struct slap_op *op, struct slap_rep *rs);
 int ldap_back_dobind(struct ldapconn *lc, Operation *op, SlapReply *rs);
 int ldap_back_map_result(int err);
-int ldap_back_op_result(struct ldapinfo *li, struct ldapconn *lc,
-       Operation *op, SlapReply *rs, ber_int_t msgid, int rc, int sendok);
+int ldap_back_op_result(struct ldapconn *lc, Operation *op, SlapReply *rs,
+       ber_int_t msgid, int rc, int sendok);
 int    back_ldap_LTX_init_module(int argc, char *argv[]);
 
 void ldap_back_dn_massage(struct ldapinfo *li, struct berval *dn,
index 769ce838ae3b0f0c848620a24623973647c2191e..8430059d3c80f1aaa49d807e0ead8ac7b037cd2d 100644 (file)
@@ -115,7 +115,7 @@ ldap_back_bind(
        /* method is always LDAP_AUTH_SIMPLE if we got here */
        rc = ldap_sasl_bind(lc->ld, mdn.bv_val, LDAP_SASL_SIMPLE,
                &op->oq_bind.rb_cred, op->o_ctrls, NULL, &msgid);
-       rc = ldap_back_op_result( li, lc, op, rs, msgid, rc, 1 );
+       rc = ldap_back_op_result( lc, op, rs, msgid, rc, 1 );
        if (rc == LDAP_SUCCESS) {
                lc->bound = 1;
                if ( mdn.bv_val != op->o_req_dn.bv_val ) {
@@ -425,7 +425,6 @@ ldap_back_getconn(Operation *op, SlapReply *rs)
 int
 ldap_back_dobind( struct ldapconn *lc, Operation *op, SlapReply *rs )
 {      
-       struct ldapinfo *li = (struct ldapinfo *)op->o_bd->be_private;
        int rc;
        ber_int_t msgid;
 
@@ -433,7 +432,7 @@ ldap_back_dobind( struct ldapconn *lc, Operation *op, SlapReply *rs )
        if ( !lc->bound ) {
                rc = ldap_sasl_bind(lc->ld, lc->bound_dn.bv_val,
                        LDAP_SASL_SIMPLE, &lc->cred, NULL, NULL, &msgid);
-               rc = ldap_back_op_result( li, lc, op, rs, msgid, rc, 0 );
+               rc = ldap_back_op_result( lc, op, rs, msgid, rc, 0 );
                if (rc == LDAP_SUCCESS) {
                        lc->bound = 1;
                }
@@ -506,9 +505,10 @@ ldap_back_map_result(int err)
 }
 
 int
-ldap_back_op_result(struct ldapinfo *li, struct ldapconn *lc,
-       Operation *op, SlapReply *rs, ber_int_t msgid, int err, int sendok)
+ldap_back_op_result(struct ldapconn *lc, Operation *op, SlapReply *rs,
+       ber_int_t msgid, int err, int sendok)
 {
+       struct ldapinfo *li = (struct ldapinfo *)op->o_bd->be_private;
        char *match = NULL;
        LDAPMessage *res;
        int rc;
index f17dfaf9c86c9db1d3e028a5de265f70283b0354..86e274b603193a52e7f223b616efb42dbbc73cad 100644 (file)
@@ -119,5 +119,5 @@ ldap_back_compare(
                free( mdn.bv_val );
        }
        
-       return( ldap_back_op_result( li, lc, op, rs, msgid, rc, 1 ) );
+       return( ldap_back_op_result( lc, op, rs, msgid, rc, 1 ) );
 }
index e34137613fd76e1d9d8284343850a4d6240f1d79..e97ff05263be1fc4b5849bd90d284062b02ed04b 100644 (file)
@@ -101,5 +101,5 @@ ldap_back_delete(
                free( mdn.bv_val );
        }
        
-       return( ldap_back_op_result( li, lc, op, rs, msgid, rc, 1 ) );
+       return( ldap_back_op_result( lc, op, rs, msgid, rc, 1 ) );
 }
index 0695021bf8d9581c7a6ae73a511b4cba7ac54be3..7c802806d038dbaf972036fb4c01b0852219a3ef 100644 (file)
@@ -166,6 +166,6 @@ cleanup:;
        ch_free( mods );
        ch_free( modv );
 
-       return ldap_back_op_result( li, lc, op, rs, msgid, rc, 1 );
+       return ldap_back_op_result( lc, op, rs, msgid, rc, 1 );
 }
 
index a00f4a88600c38295dcd7277d49a51408dd7af36..74a6813914f5fba06578897c614af4b89341a714 100644 (file)
@@ -148,5 +148,5 @@ ldap_back_modrdn(
                free( mnewSuperior.bv_val );
        }
        
-       return( ldap_back_op_result( li, lc, op, rs, msgid, rc, 1 ) );
+       return( ldap_back_op_result( lc, op, rs, msgid, rc, 1 ) );
 }
index 535d06707c66e9219c580b97cbf75ba132ff4699..8e719bf02210235ea34da1e3b4c7c7fa99d48c09 100644 (file)
@@ -148,6 +148,8 @@ ldap_back_search(
        case REWRITE_REGEXEC_OK:
                if ( mbase.bv_val == NULL ) {
                        mbase = op->o_req_dn;
+               } else {
+                       mbase.bv_len = strlen( mbase.bv_val );
                }
 #ifdef NEW_LOGGING
                LDAP_LOG( BACK_LDAP, DETAIL1, 
@@ -205,7 +207,7 @@ ldap_back_search(
                        : NULL, op->oq_search.rs_slimit, &msgid);
        if ( rc != LDAP_SUCCESS ) {
 fail:;
-               rc = ldap_back_op_result(li, lc, op, rs, msgid, rc, 0);
+               rc = ldap_back_op_result(lc, op, rs, msgid, rc, 0);
                goto finish;
        }
 
@@ -389,6 +391,10 @@ ldap_build_entry(
        struct berval *bv;
        const char *text;
 
+       /* safe assumptions ... */
+       assert( ent );
+       ent->e_bv.bv_val = NULL;
+
        if ( ber_scanf( &ber, "{m{", bdn ) == LBER_ERROR ) {
                return LDAP_DECODING_ERROR;
        }
index 8e1fc4eecc58aa32c773c323a7c7d1bf731af305..2cf5cb4961baefdbed60ea2fd974b51914f35b0e 100644 (file)
@@ -97,7 +97,7 @@ meta_back_add( Operation *op, SlapReply *rs )
        /*
         * get the current connection
         */
-       lc = meta_back_getconn( li, op, rs, META_OP_REQUIRE_SINGLE,
+       lc = meta_back_getconn( op, rs, META_OP_REQUIRE_SINGLE,
                        &op->o_req_ndn, &candidate );
        if ( !lc ) {
                send_ldap_result( op, rs );
index a81767eb3f6902c758069e15820b823f5caf005f..d7d2f8592053d6323611b050e03c1b45e39df757 100644 (file)
@@ -165,7 +165,6 @@ struct metainfo {
 #define META_OP_REQUIRE_ALL            0x02
 extern struct metaconn *
 meta_back_getconn(
-               struct metainfo         *li,
                Operation               *op,
                SlapReply               *rs,
                int                     op_type,
index 5cff3a94274c230fe57314aa3192f7aec3960334..eec3d54b370f207ec615a4c4dc6af7245c998181 100644 (file)
@@ -81,28 +81,13 @@ static LDAP_REBIND_PROC     meta_back_rebind;
 
 static int
 meta_back_do_single_bind(
-               struct metainfo         *li,
                struct metaconn         *lc,
                Operation               *op,
-               struct berval           *dn,
-               struct berval           *ndn,
-               struct berval           *cred,
-               int                     method,
                int                     candidate
 );
 
 int
 meta_back_bind( Operation *op, SlapReply *rs )
-               /*
-               Backend         *be,
-               Connection      *conn,
-               Operation       *op,
-               struct berval   *dn,
-               struct berval   *ndn,
-               int             method,
-               struct berval   *cred,
-               struct berval   *edn
-) */
 {
        struct metainfo *li = ( struct metainfo * )op->o_bd->be_private;
        struct metaconn *lc;
@@ -111,11 +96,6 @@ meta_back_bind( Operation *op, SlapReply *rs )
        int op_type = META_OP_ALLOW_MULTIPLE;
        int err = LDAP_SUCCESS;
 
-       struct berval *realdn = &op->o_req_dn;
-       struct berval *realndn = &op->o_req_ndn;
-       struct berval *realcred = &op->oq_bind.rb_cred;
-       int realmethod = op->oq_bind.rb_method;
-
 #ifdef NEW_LOGGING
        LDAP_LOG( BACK_META, ENTRY, "meta_back_bind: dn: %s.\n",
                        op->o_req_dn.bv_val, 0, 0 );
@@ -129,7 +109,7 @@ meta_back_bind( Operation *op, SlapReply *rs )
                ber_dupbv( &op->oq_bind.rb_edn, be_root_dn( op->o_bd ) );
                op_type = META_OP_REQUIRE_ALL;
        }
-       lc = meta_back_getconn( li, op, rs, op_type,
+       lc = meta_back_getconn( op, rs, op_type,
                        &op->o_req_ndn, NULL );
        if ( !lc ) {
 #ifdef NEW_LOGGING
@@ -151,7 +131,12 @@ meta_back_bind( Operation *op, SlapReply *rs )
        lc->bound_target = META_BOUND_NONE;
        ndnlen = op->o_req_ndn.bv_len;
        for ( i = 0; i < li->ntargets; i++ ) {
-               int lerr;
+               int             lerr;
+               struct berval   orig_dn = op->o_req_dn;
+               struct berval   orig_ndn = op->o_req_ndn;
+               struct berval   orig_cred = op->oq_bind.rb_cred;
+               int             orig_method = op->oq_bind.rb_method;
+               
 
                /*
                 * Skip non-candidates
@@ -182,25 +167,24 @@ meta_back_bind( Operation *op, SlapReply *rs )
                }
 
                if ( isroot && li->targets[ i ]->pseudorootdn.bv_val != NULL ) {
-                       realdn = &li->targets[ i ]->pseudorootdn;
-                       realndn = &li->targets[ i ]->pseudorootdn;
-                       realcred = &li->targets[ i ]->pseudorootpw;
-                       realmethod = LDAP_AUTH_SIMPLE;
-               } else {
-                       realdn = &op->o_req_dn;
-                       realndn = &op->o_req_ndn;
-                       realcred = &op->oq_bind.rb_cred;
-                       realmethod = op->oq_bind.rb_method;
+                       op->o_req_dn = li->targets[ i ]->pseudorootdn;
+                       op->o_req_ndn = li->targets[ i ]->pseudorootdn;
+                       op->oq_bind.rb_cred = li->targets[ i ]->pseudorootpw;
+                       op->oq_bind.rb_method = LDAP_AUTH_SIMPLE;
                }
                
-               lerr = meta_back_do_single_bind( li, lc, op,
-                               realdn, realndn, realcred, realmethod, i );
+               lerr = meta_back_do_single_bind( lc, op, i );
                if ( lerr != LDAP_SUCCESS ) {
                        err = lerr;
                        ( void )meta_clear_one_candidate( &lc->conns[ i ], 1 );
                } else {
                        rc = LDAP_SUCCESS;
                }
+
+               op->o_req_dn = orig_dn;
+               op->o_req_ndn = orig_ndn;
+               op->oq_bind.rb_cred = orig_cred;
+               op->oq_bind.rb_method = orig_method;
        }
 
        if ( isroot ) {
@@ -241,16 +225,12 @@ meta_back_bind( Operation *op, SlapReply *rs )
  */
 static int
 meta_back_do_single_bind(
-               struct metainfo         *li,
                struct metaconn         *lc,
                Operation               *op,
-               struct berval           *dn,
-               struct berval           *ndn,
-               struct berval           *cred,
-               int                     method,
                int                     candidate
 )
 {
+       struct metainfo *li = ( struct metainfo * )op->o_bd->be_private;
        struct berval   mdn = { 0, NULL };
        int             rc;
        ber_int_t       msgid;
@@ -259,18 +239,22 @@ meta_back_do_single_bind(
         * Rewrite the bind dn if needed
         */
        switch ( rewrite_session( li->targets[ candidate ]->rwinfo,
-                               "bindDn", dn->bv_val, lc->conn, &mdn.bv_val ) ) {
+                               "bindDn", op->o_req_dn.bv_val,
+                               lc->conn, &mdn.bv_val ) ) {
        case REWRITE_REGEXEC_OK:
                if ( mdn.bv_val == NULL ) {
-                       mdn = *dn;
+                       mdn = op->o_req_dn;
+               } else {
+                       mdn.bv_len = strlen( mdn.bv_val );
                }
 #ifdef NEW_LOGGING
                LDAP_LOG( BACK_META, DETAIL1,
-                               "[rw] bindDn: \"%s\" -> \"%s\"\n", dn->bv_val, mdn.bv_val, 0 );
+                               "[rw] bindDn: \"%s\" -> \"%s\"\n",
+                               op->o_req_dn.bv_val, mdn.bv_val, 0 );
 #else /* !NEW_LOGGING */
                Debug( LDAP_DEBUG_ARGS,
                                "rw> bindDn: \"%s\" -> \"%s\"\n%s",
-                               dn->bv_val, mdn.bv_val, "" );
+                               op->o_req_dn.bv_val, mdn.bv_val, "" );
 #endif /* !NEW_LOGGING */
                break;
                
@@ -291,33 +275,39 @@ meta_back_do_single_bind(
        }
        
        rc = ldap_sasl_bind(lc->conns[ candidate ].ld, mdn.bv_val,
-                       LDAP_SASL_SIMPLE, cred, op->o_ctrls, NULL, &msgid);
+                       LDAP_SASL_SIMPLE, &op->oq_bind.rb_cred,
+                       op->o_ctrls, NULL, &msgid);
        if ( rc != LDAP_SUCCESS ) {
                rc = ldap_back_map_result( rc );
+
        } else {
-               ber_dupbv( &lc->conns[ candidate ].bound_dn, dn );
+               /*
+                * FIXME: handle response!!!
+                */
+               ber_dupbv( &lc->conns[ candidate ].bound_dn, &op->o_req_dn );
                lc->conns[ candidate ].bound = META_BOUND;
                lc->bound_target = candidate;
 
                if ( li->savecred ) {
                        if ( lc->conns[ candidate ].cred.bv_val )
                                ch_free( lc->conns[ candidate ].cred.bv_val );
-                       ber_dupbv( &lc->conns[ candidate ].cred, cred );
+                       ber_dupbv( &lc->conns[ candidate ].cred,
+                                       &op->oq_bind.rb_cred );
                        ldap_set_rebind_proc( lc->conns[ candidate ].ld, 
                                        meta_back_rebind, 
                                        &lc->conns[ candidate ] );
                }
 
                if ( li->cache.ttl != META_DNCACHE_DISABLED
-                               && ndn->bv_len != 0 ) {
+                               && op->o_req_ndn.bv_len != 0 ) {
                        ( void )meta_dncache_update_entry( &li->cache,
-                                       ndn, candidate );
+                                       &op->o_req_ndn, candidate );
                }
        }
 
 return_results:;
        
-       if ( mdn.bv_val != dn->bv_val ) {
+       if ( mdn.bv_val != op->o_req_dn.bv_val ) {
                free( mdn.bv_val );
        }
 
index 97bb31df02f9c9f2f72be0b66dee2697bd76b3cf..9e31a226abe0c8ec6fcdc1ac261aaf6d06b21bf0 100644 (file)
@@ -1002,7 +1002,7 @@ metaConnect(
 {
        struct metaconn* lc; 
        result->type = SUCCESS; 
-       lc = meta_back_getconn( li, conn, op, op_type, nbase, NULL );
+       lc = meta_back_getconn( conn, op, op_type, nbase, NULL );
        if (!lc) {
                result->type = CONN_ERR; 
                return 0; 
index 3da152810fbbbac1f2aeb2a937c746b112e4109f..8381fb846cce0d4d72c77d4300be1410ffdb3915 100644 (file)
@@ -86,7 +86,7 @@ meta_back_compare( Operation *op, SlapReply *rs )
                int cres = LDAP_SUCCESS, rres = LDAP_SUCCESS;
        int *msgid;
 
-       lc = meta_back_getconn( li, op, rs, META_OP_ALLOW_MULTIPLE,
+       lc = meta_back_getconn( op, rs, META_OP_ALLOW_MULTIPLE,
                        &op->o_req_ndn, NULL );
        if ( !lc ) {
                send_ldap_result( op, rs );
index 58dc1f04482b13e94f9dea5ba0147f47f1090105..7cb947ec6c9be49fa7110f263d9fdddf6598436a 100644 (file)
@@ -339,13 +339,13 @@ init_one_conn(
  */
 struct metaconn *
 meta_back_getconn(
-               struct metainfo *li,
                Operation       *op,
                SlapReply       *rs,
                int             op_type,
                struct berval   *ndn,
                int             *candidate )
 {
+       struct metainfo *li = ( struct metainfo * )op->o_bd->be_private;
        struct metaconn *lc, lc_curr;
        int cached = -1, i = -1, err = LDAP_SUCCESS;
        int new_conn = 0;
index bc8041e62f45f7d42895b8f08acefb677dae1231..4313bce7b92728e88b646c27c979f048eb92eef8 100644 (file)
@@ -84,7 +84,7 @@ meta_back_delete( Operation *op, SlapReply *rs )
 
        char *mdn = NULL;
 
-       lc = meta_back_getconn( li, op, rs, META_OP_REQUIRE_SINGLE,
+       lc = meta_back_getconn( op, rs, META_OP_REQUIRE_SINGLE,
                        &op->o_req_ndn, &candidate );
        if ( !lc ) {
                send_ldap_result( op, rs );
index e8f4487174bc4bfa71601cb6802d8e331c63c0ac..c6f801a24b1eec057e50163871cf271779943737 100644 (file)
@@ -88,7 +88,7 @@ meta_back_modify( Operation *op, SlapReply *rs )
        char                    *mdn;
        struct berval           mapped;
 
-       lc = meta_back_getconn( li, op, rs, META_OP_REQUIRE_SINGLE,
+       lc = meta_back_getconn( op, rs, META_OP_REQUIRE_SINGLE,
                        &op->o_req_ndn, &candidate );
        if ( !lc ) {
                rc = -1;
index 79ab4ec477a0c4e589b40b752d42d0a77361b443..10fa1c5a183b80baec613ac45cbf7b813496653f 100644 (file)
@@ -97,7 +97,7 @@ meta_back_modrdn( Operation *op, SlapReply *rs )
        char                    *mdn = NULL,
                                *mnewSuperior = NULL;
 
-       lc = meta_back_getconn( li, op, rs, META_OP_REQUIRE_SINGLE,
+       lc = meta_back_getconn( op, rs, META_OP_REQUIRE_SINGLE,
                        &op->o_req_ndn, &candidate );
        if ( !lc ) {
                rc = -1;
index 78a297194a0307d108aae092a49a92d87f47dbaf..310be190235f6b270bdb7109d845a998b55a8490 100644 (file)
@@ -136,7 +136,7 @@ meta_back_search( Operation *op, SlapReply *rs )
         * FIXME: in case of values return filter, we might want
         * to map attrs and maybe rewrite value
         */
-       lc = meta_back_getconn( li, op, rs, META_OP_ALLOW_MULTIPLE, 
+       lc = meta_back_getconn( op, rs, META_OP_ALLOW_MULTIPLE, 
                        &op->o_req_ndn, NULL );
        if ( !lc ) {
                send_ldap_result( op, rs );