mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
hide mapping initialization
This commit is contained in:
parent
d3dae8d1cd
commit
bd535be5cb
4 changed files with 32 additions and 26 deletions
|
|
@ -101,6 +101,7 @@ extern int ldap_back_conn_dup( void *c1, void *c2 );
|
|||
int mapping_cmp (const void *, const void *);
|
||||
int mapping_dup (void *, void *);
|
||||
|
||||
void ldap_back_map_init ( struct ldapmap *lm, struct ldapmapping ** );
|
||||
void ldap_back_map ( struct ldapmap *map, struct berval *s, struct berval *m,
|
||||
int remap );
|
||||
char *
|
||||
|
|
|
|||
|
|
@ -318,6 +318,33 @@ mapping_dup ( void *c1, void *c2 )
|
|||
return( ( strcasecmp(map1->src.bv_val, map2->src.bv_val) == 0 ) ? -1 : 0 );
|
||||
}
|
||||
|
||||
void
|
||||
ldap_back_map_init ( struct ldapmap *lm, struct ldapmapping **m )
|
||||
{
|
||||
struct ldapmapping *mapping;
|
||||
|
||||
assert( m );
|
||||
|
||||
*m = NULL;
|
||||
|
||||
mapping = (struct ldapmapping *)ch_calloc( 2,
|
||||
sizeof( struct ldapmapping ) );
|
||||
if ( mapping == NULL ) {
|
||||
return;
|
||||
}
|
||||
|
||||
ber_str2bv( "objectclass", sizeof("objectclass")-1, 1, &mapping->src);
|
||||
ber_dupbv( &mapping->dst, &mapping->src );
|
||||
mapping[1].src = mapping->src;
|
||||
mapping[1].dst = mapping->dst;
|
||||
|
||||
avl_insert( &lm->map, (caddr_t)mapping,
|
||||
mapping_cmp, mapping_dup );
|
||||
avl_insert( &lm->remap, (caddr_t)&mapping[1],
|
||||
mapping_cmp, mapping_dup );
|
||||
*m = mapping;
|
||||
}
|
||||
|
||||
void
|
||||
ldap_back_map ( struct ldapmap *map, struct berval *s, struct berval *bv,
|
||||
int remap )
|
||||
|
|
|
|||
|
|
@ -120,18 +120,7 @@ ldap_back_db_init(
|
|||
|
||||
ldap_pvt_thread_mutex_init( &li->conn_mutex );
|
||||
|
||||
mapping = (struct ldapmapping *)ch_calloc( 2, sizeof(struct ldapmapping) );
|
||||
if ( mapping != NULL ) {
|
||||
ber_str2bv( "objectclass", sizeof("objectclass")-1, 1, &mapping->src);
|
||||
ber_dupbv( &mapping->dst, &mapping->src );
|
||||
mapping[1].src = mapping->src;
|
||||
mapping[1].dst = mapping->dst;
|
||||
|
||||
avl_insert( &li->at_map.map, (caddr_t)mapping,
|
||||
mapping_cmp, mapping_dup );
|
||||
avl_insert( &li->at_map.remap, (caddr_t)&mapping[1],
|
||||
mapping_cmp, mapping_dup );
|
||||
}
|
||||
ldap_back_map_init( &li->at_map, &mapping );
|
||||
|
||||
be->be_private = li;
|
||||
|
||||
|
|
|
|||
|
|
@ -99,20 +99,7 @@ new_target( void )
|
|||
return NULL;
|
||||
}
|
||||
|
||||
mapping = ch_calloc( 2, sizeof( struct ldapmapping ) );
|
||||
if ( mapping == NULL ) {
|
||||
free( lt );
|
||||
return NULL;
|
||||
}
|
||||
ber_str2bv( "objectClass", 0, 1, &mapping->src );
|
||||
ber_str2bv( "objectClass", 0, 1, &mapping->dst );
|
||||
mapping[ 1 ].src = mapping->src;
|
||||
mapping[ 1 ].dst = mapping->dst;
|
||||
|
||||
avl_insert( <->at_map.map, ( caddr_t )mapping,
|
||||
mapping_cmp, mapping_dup );
|
||||
avl_insert( <->at_map.remap, ( caddr_t )&mapping[ 1 ],
|
||||
mapping_cmp, mapping_dup );
|
||||
ldap_back_map_init( <->at_map, &mapping );
|
||||
|
||||
return lt;
|
||||
}
|
||||
|
|
@ -261,9 +248,11 @@ meta_back_db_config(
|
|||
|
||||
ldap_free_urldesc( ludp );
|
||||
|
||||
#if 0
|
||||
fprintf(stderr, "%s: line %d: URI \"%s\", suffix \"%s\"\n",
|
||||
fname, lineno, li->targets[ i ]->uri,
|
||||
li->targets[ i ]->psuffix.bv_val );
|
||||
#endif
|
||||
|
||||
/* default target directive */
|
||||
} else if ( strcasecmp( argv[ 0 ], "default-target" ) == 0 ) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue