]> git.sur5r.net Git - openldap/commitdiff
ITS#5355
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 10 Jul 2008 01:36:23 +0000 (01:36 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 10 Jul 2008 01:36:23 +0000 (01:36 +0000)
CHANGES
servers/slapd/back-ldap/back-ldap.h
servers/slapd/back-ldap/init.c
servers/slapd/back-ldap/proto-ldap.h
servers/slapd/back-meta/config.c
servers/slapd/back-meta/init.c

diff --git a/CHANGES b/CHANGES
index a30b0bd8b4578a4bd45185505abafa9256c0a5b7..d48f50dcfa605a86a3be3c731959862ae73e0d5f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,7 @@ OpenLDAP 2.4.11 Engineering
        Fixed slapd crash with no listeners (ITS#5563)
        Fixed slapd equality rules for olcRootDN/olcSchemaDN (ITS#5540)
        Fixed slapd sets memory leak (ITS#5557)
+       Fixed slapd-meta link to slapd-ldap (ITS#5355)
        Fixed slapd-sock, back-shell buffer count (ITS#5558)
        Added slapo-nssov contrib module
        Fixed slapo-pcache handling of negative search caches (ITS#5546)
index 9098d40841bd356e206692776a33fac9a173a7bf..81a42501f057fc7ebed4ab7aabe2a200657cfd09 100644 (file)
@@ -428,6 +428,11 @@ typedef struct ldap_extra_t {
        int (*proxy_authz_ctrl)( Operation *op, SlapReply *rs, struct berval *bound_ndn,
                int version, slap_idassert_t *si, LDAPControl   *ctrl );
        int (*controls_free)( Operation *op, SlapReply *rs, LDAPControl ***pctrls );
+       int (*idassert_authzfrom_parse_cf)( const char *fname, int lineno, const char *arg, slap_idassert_t *si );
+       int (*idassert_parse_cf)( const char *fname, int lineno, int argc, char *argv[], slap_idassert_t *si );
+       void (*retry_info_destroy)( slap_retry_info_t *ri );
+       int (*retry_info_parse)( char *in, slap_retry_info_t *ri, char *buf, ber_len_t buflen );
+       int (*retry_info_unparse)( slap_retry_info_t *ri, struct berval *bvout );
 } ldap_extra_t;
 
 LDAP_END_DECL
index 44012c81b762541974091a6a5b73b537b3f609fc..fa32fd47f4832c2930157ffb86638c7241a57a8d 100644 (file)
 
 static const ldap_extra_t ldap_extra = {
        ldap_back_proxy_authz_ctrl,
-       ldap_back_controls_free
+       ldap_back_controls_free,
+       slap_idassert_authzfrom_parse_cf,
+       slap_idassert_parse_cf,
+       slap_retry_info_destroy,
+       slap_retry_info_parse,
+       slap_retry_info_unparse
 };
 
 int
index 933c9484cc19f1db24ac2610757bfef846eb003a..e2f98e5b154e1d62877ff537e6a98d76a11e1eeb 100644 (file)
@@ -63,22 +63,6 @@ extern void ldap_back_conn_free( void *c );
 
 extern ldapconn_t * ldap_back_conn_delete( ldapinfo_t *li, ldapconn_t *lc );
 
-#if 0
-extern int
-ldap_back_proxy_authz_ctrl(
-               struct berval   *bound_ndn,
-               int             version,
-               slap_idassert_t *si,
-               Operation       *op,
-               SlapReply       *rs,
-               LDAPControl     ***pctrls );
-
-extern int
-ldap_back_proxy_authz_ctrl_free(
-               Operation       *op,
-               LDAPControl     ***pctrls );
-#endif
-
 extern int
 ldap_back_proxy_authz_ctrl(
                Operation       *op,
index 2d87c78c32f63bdb219f3eef271271fc9320afd3..1c02ccc248abe3f527db8b13e279c9ce903efe44 100644 (file)
@@ -1089,7 +1089,7 @@ idassert-authzFrom        "dn:<rootdn>"
                        }
                        cargv[ 2 ] = binddn;
 
-                       rc = slap_idassert_parse_cf( fname, lineno, cargc, cargv, &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_idassert );
+                       rc = mi->mi_ldap_extra->idassert_parse_cf( fname, lineno, cargc, cargv, &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_idassert );
                        if ( rc == 0 ) {
                                struct berval   bv;
 
@@ -1159,7 +1159,7 @@ idassert-authzFrom        "dn:<rootdn>"
                        return 1;
                }
 
-               return slap_idassert_parse_cf( fname, lineno, argc, argv, &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_idassert );
+               return mi->mi_ldap_extra->idassert_parse_cf( fname, lineno, argc, argv, &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_idassert );
 
        /* idassert-authzFrom */
        } else if ( strcasecmp( argv[ 0 ], "idassert-authzFrom" ) == 0 ) {
@@ -1188,7 +1188,7 @@ idassert-authzFrom        "dn:<rootdn>"
                        return 1;
                }
 
-               return slap_idassert_authzfrom_parse_cf( fname, lineno, argv[ 1 ], &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_idassert );
+               return mi->mi_ldap_extra->idassert_authzfrom_parse_cf( fname, lineno, argv[ 1 ], &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_idassert );
 
        /* quarantine */
        } else if ( strcasecmp( argv[ 0 ], "quarantine" ) == 0 ) {
@@ -1232,7 +1232,7 @@ idassert-authzFrom        "dn:<rootdn>"
                        ldap_pvt_thread_mutex_init( &mi->mi_targets[ mi->mi_ntargets - 1 ]->mt_quarantine_mutex );
                }
 
-               if ( slap_retry_info_parse( argv[ 1 ], ri, buf, sizeof( buf ) ) ) {
+               if ( mi->mi_ldap_extra->retry_info_parse( argv[ 1 ], ri, buf, sizeof( buf ) ) ) {
                        Debug( LDAP_DEBUG_ANY,
                                "%s line %d: %s.\n",
                                fname, lineno, buf );
index cd98c4738db122e55e33d20f851f021ed8378020..0fe162ca35bb1b6490577f1999f8353d39342137 100644 (file)
@@ -383,7 +383,7 @@ meta_back_db_destroy(
                                if ( META_BACK_TGT_QUARANTINE( mt ) ) {
                                        if ( mt->mt_quarantine.ri_num != mi->mi_quarantine.ri_num )
                                        {
-                                               slap_retry_info_destroy( &mt->mt_quarantine );
+                                               mi->mi_ldap_extra->retry_info_destroy( &mt->mt_quarantine );
                                        }
 
                                        ldap_pvt_thread_mutex_destroy( &mt->mt_quarantine_mutex );
@@ -411,7 +411,7 @@ meta_back_db_destroy(
                }
 
                if ( META_BACK_QUARANTINE( mi ) ) {
-                       slap_retry_info_destroy( &mi->mi_quarantine );
+                       mi->mi_ldap_extra->retry_info_destroy( &mi->mi_quarantine );
                }
        }