Lines Matching refs:data

36  * LDAP map data structure
59 struct ldap_map_data *data
62 assert( data != NULL );
64 if ( data->lm_url != NULL ) {
65 free( data->lm_url );
68 if ( data->lm_lud != NULL ) {
69 ldap_free_urldesc( data->lm_lud );
72 if ( data->lm_binddn != NULL ) {
73 free( data->lm_binddn );
76 if ( data->lm_cred.bv_val != NULL ) {
77 memset( data->lm_cred.bv_val, 0, data->lm_cred.bv_len );
78 free( data->lm_cred.bv_val );
79 data->lm_cred.bv_val = NULL;
80 data->lm_cred.bv_len = 0;
83 if ( data->lm_when != MAP_LDAP_EVERYTIME && data->lm_ld != NULL ) {
84 ldap_unbind_ext( data->lm_ld, NULL, NULL );
87 free( data );
98 struct ldap_map_data *data;
104 data = calloc( sizeof( struct ldap_map_data ), 1 );
105 if ( data == NULL ) {
113 free( data );
122 data->lm_url = strdup( uri );
123 if ( data->lm_url == NULL ) {
124 map_ldap_free( data );
128 if ( ldap_url_parse( uri, &data->lm_lud ) != REWRITE_SUCCESS ) {
132 map_ldap_free( data );
137 p = strchr( data->lm_url, '/' );
143 if ( data->lm_lud->lud_attrs == NULL ) {
144 data->lm_attrs[ 0 ] = LDAP_NO_ATTRS;
145 data->lm_wantdn = 1;
148 if ( data->lm_lud->lud_attrs[ 1 ] != NULL ) {
152 map_ldap_free( data );
156 if ( strcasecmp( data->lm_lud->lud_attrs[ 0 ], "dn" ) == 0
157 || strcasecmp( data->lm_lud->lud_attrs[ 0 ], "entryDN" ) == 0 )
159 ldap_memfree( data->lm_lud->lud_attrs[ 0 ] );
160 ldap_memfree( data->lm_lud->lud_attrs );
161 data->lm_lud->lud_attrs = NULL;
162 data->lm_attrs[ 0 ] = LDAP_NO_ATTRS;
163 data->lm_wantdn = 1;
166 data->lm_attrs[ 0 ] = data->lm_lud->lud_attrs[ 0 ];
170 data->lm_attrs[ 1 ] = NULL;
173 data->lm_version = LDAP_VERSION3;
184 map_ldap_free( data );
191 data->lm_binddn = strdup( p );
192 if ( data->lm_binddn == NULL ) {
193 map_ldap_free( data );
197 if ( data->lm_binddn[ l ] == '\"'
198 || data->lm_binddn[ l ] == '\'' ) {
199 data->lm_binddn[ l ] = '\0';
204 ber_str2bv( argv[ 0 ] + STRLENOF( "bindpw=" ), 0, 1, &data->lm_cred );
205 if ( data->lm_cred.bv_val == NULL ) {
206 map_ldap_free( data );
211 ber_str2bv( argv[ 0 ] + STRLENOF( "credentials=" ), 0, 1, &data->lm_cred );
212 if ( data->lm_cred.bv_val == NULL ) {
213 map_ldap_free( data );
223 data->lm_when = MAP_LDAP_NOW;
228 rc = ldap_initialize( &data->lm_ld, data->lm_url );
230 map_ldap_free( data );
234 ldap_set_option( data->lm_ld,
236 (void *)&data->lm_version );
239 ldap_pvt_thread_mutex_init( &data->lm_mutex );
243 data->lm_when = MAP_LDAP_LATER;
246 ldap_pvt_thread_mutex_init( &data->lm_mutex );
250 data->lm_when = MAP_LDAP_EVERYTIME;
256 if ( lutil_atoi( &data->lm_version, argv[ 0 ] + STRLENOF( "version=" ) ) ) {
257 map_ldap_free( data );
261 switch ( data->lm_version ) {
270 map_ldap_free( data );
281 if ( data->lm_when == MAP_LDAP_UNKNOWN ) {
282 data->lm_when = MAP_LDAP_EVERYTIME;
285 return ( void * )data;
299 struct ldap_map_data *data = private;
300 LDAPURLDesc *lud = data->lm_lud;
311 if ( data->lm_when == MAP_LDAP_EVERYTIME ) {
312 rc = ldap_initialize( &ld, data->lm_url );
317 ldap_pvt_thread_mutex_lock( &data->lm_mutex );
322 if ( data->lm_when == MAP_LDAP_LATER && data->lm_ld == NULL ) {
323 rc = ldap_initialize( &data->lm_ld, data->lm_url );
327 ld = data->lm_ld;
338 (void *)&data->lm_version );
342 if ( data->lm_binddn != NULL ) {
343 rc = ldap_sasl_bind_s( ld, data->lm_binddn,
344 LDAP_SASL_SIMPLE, &data->lm_cred,
348 if ( ldap_initialize( &ld, data->lm_url ) != LDAP_SUCCESS ) {
362 data->lm_attrs, 0, NULL, NULL, NULL, 1, &res );
365 if ( ldap_initialize( &ld, data->lm_url ) != LDAP_SUCCESS ) {
386 if ( data->lm_wantdn == 1 ) {
396 values = ldap_get_values_len( ld, entry, data->lm_attrs[ 0 ] );
421 if ( data->lm_when == MAP_LDAP_EVERYTIME ) {
427 data->lm_ld = ld;
429 ldap_pvt_thread_mutex_unlock( &data->lm_mutex );
441 struct ldap_map_data *data = private;
445 map_ldap_free( data );