Lines Matching refs:lmap

66 sm_ldap_clear(lmap)  in sm_ldap_clear()  argument
67 SM_LDAP_STRUCT *lmap; in sm_ldap_clear()
69 if (lmap == NULL)
72 lmap->ldap_host = NULL;
73 lmap->ldap_port = LDAP_PORT;
74 lmap->ldap_uri = NULL;
75 lmap->ldap_version = SM_LDAP_VERSION_DEFAULT;
76 lmap->ldap_deref = LDAP_DEREF_NEVER;
77 lmap->ldap_timelimit = LDAP_NO_LIMIT;
78 lmap->ldap_sizelimit = LDAP_NO_LIMIT;
80 lmap->ldap_options = LDAP_OPT_REFERRALS;
82 lmap->ldap_options = 0;
84 lmap->ldap_attrsep = '\0';
85 lmap->ldap_binddn = NULL;
86 lmap->ldap_secret = NULL;
87 lmap->ldap_method = LDAP_AUTH_SIMPLE;
88 lmap->ldap_base = NULL;
89 lmap->ldap_scope = LDAP_SCOPE_SUBTREE;
90 lmap->ldap_attrsonly = LDAPMAP_FALSE;
91 lmap->ldap_timeout.tv_sec = 0;
92 lmap->ldap_timeout.tv_usec = 0;
93 lmap->ldap_ld = NULL;
94 lmap->ldap_filter = NULL;
95 lmap->ldap_attr[0] = NULL;
96 lmap->ldap_attr_type[0] = SM_LDAP_ATTR_NONE;
97 lmap->ldap_attr_needobjclass[0] = NULL;
98 lmap->ldap_res = NULL;
99 lmap->ldap_next = NULL;
100 lmap->ldap_pid = 0;
101 lmap->ldap_multi_args = false;
142 sm_ldap_start(name, lmap) in sm_ldap_start() argument
144 SM_LDAP_STRUCT *lmap;
155 if (lmap->ldap_host != NULL)
156 id = lmap->ldap_host;
157 else if (lmap->ldap_uri != NULL)
158 id = lmap->ldap_uri;
165 if (lmap->ldap_uri != NULL)
169 lmap->ldap_port);
172 if (lmap->ldap_uri != NULL)
176 save_errno = ldap_initialize(&ld, lmap->ldap_uri);
182 err = ldap_url_parse(lmap->ldap_uri, &ludp);
188 lmap->ldap_host = sm_strdup_x(ludp->lud_host);
189 if (lmap->ldap_host == NULL)
196 lmap->ldap_port = ludp->lud_port;
204 ld = ldap_init(lmap->ldap_host, lmap->ldap_port);
213 SM_LDAP_SETTIMEOUT(lmap->ldap_timeout.tv_sec);
214 ld = ldap_open(lmap->ldap_host, lmap->ldap_port);
226 sm_ldap_setopts(ld, lmap);
234 SM_LDAP_SETTIMEOUT(lmap->ldap_timeout.tv_sec);
238 if (lmap->ldap_method == LDAP_AUTH_KRBV4 &&
239 lmap->ldap_secret != NULL)
247 (void) putenv(lmap->ldap_secret);
251 bind_result = ldap_bind_s(ld, lmap->ldap_binddn,
252 lmap->ldap_secret, lmap->ldap_method);
266 lmap->ldap_pid = getpid();
267 lmap->ldap_ld = ld;
304 sm_ldap_search_m(lmap, argv) in sm_ldap_search_m() argument
305 SM_LDAP_STRUCT *lmap; in sm_ldap_search_m()
312 SM_REQUIRE(lmap != NULL);
318 p = lmap->ldap_filter;
323 if (lmap->ldap_multi_args)
356 (lmap->ldap_multi_args && q[1] >= '0' && q[1] <= '9'))
398 lmap->ldap_res = NULL;
399 msgid = ldap_search(lmap->ldap_ld, lmap->ldap_base,
400 lmap->ldap_scope, filter,
401 (lmap->ldap_attr[0] == NULL ? NULL :
402 lmap->ldap_attr),
403 lmap->ldap_attrsonly);
424 sm_ldap_search(lmap, key) in sm_ldap_search() argument
425 SM_LDAP_STRUCT *lmap; in sm_ldap_search()
432 return sm_ldap_search_m(lmap, argv);
452 sm_ldap_has_objectclass(lmap, entry, ocvalue) in sm_ldap_has_objectclass() argument
453 SM_LDAP_STRUCT *lmap; in sm_ldap_has_objectclass()
463 vals = ldap_get_values(lmap->ldap_ld, entry, "objectClass");
513 if (lmap->ldap_res != NULL) \
515 ldap_msgfree(lmap->ldap_res); \
516 lmap->ldap_res = NULL; \
518 (void) ldap_abandon(lmap->ldap_ld, msgid); \
635 sm_ldap_results(lmap, msgid, flags, delim, rpool, result, in sm_ldap_results() argument
637 SM_LDAP_STRUCT *lmap; in sm_ldap_results()
661 while ((ret = ldap_result(lmap->ldap_ld, msgid, 0,
662 (lmap->ldap_timeout.tv_sec == 0 ? NULL :
663 &(lmap->ldap_timeout)),
664 &(lmap->ldap_res))) == LDAP_RES_SEARCH_ENTRY)
675 for (entry = ldap_first_entry(lmap->ldap_ld, lmap->ldap_res);
677 entry = ldap_next_entry(lmap->ldap_ld, lmap->ldap_res))
706 dn = ldap_get_dn(lmap->ldap_ld, entry);
709 save_errno = sm_ldap_geterrno(lmap->ldap_ld);
742 lmap->ldap_ld->ld_errno = LDAP_SUCCESS;
745 for (attr = ldap_first_attribute(lmap->ldap_ld, entry,
748 attr = ldap_next_attribute(lmap->ldap_ld, entry,
756 for (i = 0; lmap->ldap_attr[i] != NULL; i++)
758 if (sm_strcasecmp(lmap->ldap_attr[i],
761 type = lmap->ldap_attr_type[i];
762 needobjclass = lmap->ldap_attr_needobjclass[i];
794 !sm_ldap_has_objectclass(lmap, entry,
801 if (lmap->ldap_attrsonly == LDAPMAP_FALSE)
803 vals = ldap_get_values(lmap->ldap_ld,
808 save_errno = sm_ldap_geterrno(lmap->ldap_ld);
833 lmap->ldap_ld->ld_errno = LDAP_SUCCESS;
843 if (lmap->ldap_attrsonly == LDAPMAP_FALSE)
870 if (lmap->ldap_attrsonly == LDAPMAP_TRUE)
886 if (lmap->ldap_attrsep != '\0')
890 if (lmap->ldap_attrsep != '\0')
894 lmap->ldap_attrsep,
905 if (lmap->ldap_attrsonly == LDAPMAP_TRUE)
976 if (lmap->ldap_attrsep != '\0')
1021 if (lmap->ldap_attrsep != '\0')
1026 *p++ = lmap->ldap_attrsep;
1045 save_errno = sm_ldap_geterrno(lmap->ldap_ld);
1085 save_errno = sm_ldap_geterrno(lmap->ldap_ld);
1095 ldap_msgfree(lmap->ldap_res);
1096 lmap->ldap_res = NULL;
1112 save_errno = ldap_parse_result(lmap->ldap_ld, lmap->ldap_res,
1144 if (lmap->ldap_res != NULL)
1146 ldap_msgfree(lmap->ldap_res);
1147 lmap->ldap_res = NULL;
1182 sid = ldap_search(lmap->ldap_ld,
1184 lmap->ldap_scope,
1186 (lmap->ldap_attr[0] == NULL ?
1187 NULL : lmap->ldap_attr),
1188 lmap->ldap_attrsonly);
1193 sid = ldap_search(lmap->ldap_ld,
1194 lmap->ldap_base,
1195 lmap->ldap_scope,
1197 (lmap->ldap_attr[0] == NULL ?
1198 NULL : lmap->ldap_attr),
1199 lmap->ldap_attrsonly);
1260 sid = ldap_search(lmap->ldap_ld,
1265 lmap->ldap_attrsonly);
1280 save_errno = sm_ldap_geterrno(lmap->ldap_ld);
1303 status = sm_ldap_results(lmap, sid, newflags, delim,
1345 sm_ldap_close(lmap) in sm_ldap_close() argument
1346 SM_LDAP_STRUCT *lmap; in sm_ldap_close()
1348 if (lmap->ldap_ld == NULL)
1351 if (lmap->ldap_pid == getpid())
1352 ldap_unbind(lmap->ldap_ld);
1353 lmap->ldap_ld = NULL;
1354 lmap->ldap_pid = 0;
1370 sm_ldap_setopts(ld, lmap) in sm_ldap_setopts() argument
1372 SM_LDAP_STRUCT *lmap;
1375 if (lmap->ldap_version != 0)
1378 &lmap->ldap_version);
1380 ldap_set_option(ld, LDAP_OPT_DEREF, &lmap->ldap_deref);
1381 if (bitset(LDAP_OPT_REFERRALS, lmap->ldap_options))
1385 ldap_set_option(ld, LDAP_OPT_SIZELIMIT, &lmap->ldap_sizelimit);
1386 ldap_set_option(ld, LDAP_OPT_TIMELIMIT, &lmap->ldap_timelimit);
1388 if (lmap->ldap_networktmo > 0)
1392 tmo.tv_sec = lmap->ldap_networktmo;
1402 ld->ld_deref = lmap->ldap_deref;
1403 ld->ld_options = lmap->ldap_options;
1404 ld->ld_sizelimit = lmap->ldap_sizelimit;
1405 ld->ld_timelimit = lmap->ldap_timelimit;