Lines Matching defs:be

125 _nss_ldap_lookup(ldap_backend_ptr be, nss_XbyY_args_t *argp,
143 (void) __ns_ldap_freeResult(&be->result);
146 be->attrs, NULL, 0, &be->result, &error, NULL,
157 be->ldapobj2str(be, argp)) != NSS_STR_PARSE_SUCCESS) {
163 * a string to be returned in NSS.
167 if (be->db_type == NSS_LDAP_DB_PUBLICKEY) {
170 be->db_type = NSS_LDAP_DB_NONE;
178 * for different purpose so ethers has to be treated differently.
181 be->db_type == NSS_LDAP_DB_ETHERS) {
188 callbackstat = (*argp->str2ent)(be->buffer,
189 be->buflen,
194 if (be->db_type == NSS_LDAP_DB_ETHERS &&
202 if (be->buffer != NULL) {
203 free(be->buffer);
204 be->buffer = NULL;
205 be->buflen = 0;
206 be->db_type = NSS_LDAP_DB_NONE;
218 if (be->buffer != NULL) {
219 free(be->buffer);
220 be->buffer = NULL;
221 be->buflen = 0;
222 be->db_type = NSS_LDAP_DB_NONE;
248 _nss_ldap_nocb_lookup(ldap_backend_ptr be, nss_XbyY_args_t *argp,
265 (void) __ns_ldap_freeResult(&be->result);
268 be->attrs, NULL, 0, &be->result, &error, NULL,
286 _clean_ldap_backend(ldap_backend_ptr be)
294 if (be->tablename != NULL)
295 free(be->tablename);
296 if (be->result != NULL)
297 (void) __ns_ldap_freeResult(&be->result);
298 if (be->enumcookie != NULL)
299 (void) __ns_ldap_endEntry(&be->enumcookie, &error);
300 if (be->services_cookie != NULL)
301 _nss_services_cookie_free((void **)&be->services_cookie);
302 if (be->toglue != NULL) {
303 free(be->toglue);
304 be->toglue = NULL;
306 if (be->buffer != NULL) {
307 free(be->buffer);
308 be->buffer = NULL;
310 free(be);
322 _nss_ldap_destr(ldap_backend_ptr be, void *a)
329 (void) _clean_ldap_backend(be);
341 _nss_ldap_setent(ldap_backend_ptr be, void *a)
349 if (be->setcalled == 1)
350 (void) _nss_ldap_endent(be, a);
351 be->filter = NULL;
352 be->sortattr = NULL;
354 if (strcmp(gtf->tablename, be->tablename))
356 be->filter = (char *)gtf->tablefilter;
357 be->sortattr = (char *)gtf->sortattr;
361 be->setcalled = 1;
362 be->enumcookie = NULL;
363 be->result = NULL;
364 be->services_cookie = NULL;
365 be->buffer = NULL;
377 _nss_ldap_endent(ldap_backend_ptr be, void *a)
385 be->setcalled = 0;
386 be->filter = NULL;
387 be->sortattr = NULL;
388 if (be->enumcookie != NULL) {
389 (void) __ns_ldap_endEntry(&be->enumcookie, &error);
392 if (be->result != NULL) {
393 (void) __ns_ldap_freeResult(&be->result);
395 if (be->services_cookie != NULL) {
396 _nss_services_cookie_free((void **)&be->services_cookie);
398 if (be->buffer != NULL) {
399 free(be->buffer);
400 be->buffer = NULL;
412 _nss_ldap_getent(ldap_backend_ptr be, void *a)
423 if (be->setcalled == 0)
424 (void) _nss_ldap_setent(be, a);
427 if (be->enumcookie == NULL) {
428 retcode = __ns_ldap_firstEntry(be->tablename,
429 be->filter, be->sortattr, _merge_SSD_filter, be->attrs,
430 NULL, 0, &be->enumcookie,
431 &be->result, &error, _F_GETENT_SSD);
433 if (be->services_cookie == NULL) {
434 retcode = __ns_ldap_nextEntry(be->enumcookie,
435 &be->result, &error);
441 (void) _nss_ldap_endent(be, a);
445 if (be->result == NULL) {
450 if ((parsestat = be->ldapobj2str(be, argp))
458 parsestat = (*argp->str2ent)(be->buffer,
459 be->buflen,
464 if (be->buffer != NULL) {
465 free(be->buffer);
466 be->buffer = NULL;
467 be->buflen = 0;
469 be->result = NULL;
477 * entries. This code path would be dormant.
486 if (be->buffer != NULL) {
487 free(be->buffer);
488 be->buffer = NULL;
489 be->buflen = 0;
491 be->result = NULL;
494 (void) _nss_ldap_endent(be, a);
500 (void) _nss_ldap_endent(be, a);
536 ldap_backend_ptr be;
542 if ((be = (ldap_backend_ptr) calloc(1, sizeof (*be))) == 0)
544 be->ops = ops;
545 be->nops = (nss_dbop_t)nops;
546 be->tablename = (char *)strdup(tablename);
547 be->attrs = attrs;
548 be->ldapobj2str = ldapobj2str;
550 return ((nss_backend_t *)be);