Lines Matching refs:cookie

52 static int validate_filter(ns_ldap_cookie_t *cookie);
811 __s_api_getEntry(ns_ldap_cookie_t *cookie) in __s_api_getEntry() argument
820 if (cookie->resultMsg == NULL) { in __s_api_getEntry()
823 ret = __s_api_cvtEntry(cookie->conn->ld, cookie->service, in __s_api_getEntry()
824 cookie->resultMsg, cookie->i_flags, in __s_api_getEntry()
825 &curEntry, &cookie->errorp); in __s_api_getEntry()
830 if (cookie->result == NULL) { in __s_api_getEntry()
831 cookie->result = (ns_ldap_result_t *) in __s_api_getEntry()
833 if (cookie->result == NULL) { in __s_api_getEntry()
838 cookie->result->entry = curEntry; in __s_api_getEntry()
839 cookie->nextEntry = curEntry; in __s_api_getEntry()
841 cookie->nextEntry->next = curEntry; in __s_api_getEntry()
842 cookie->nextEntry = curEntry; in __s_api_getEntry()
844 cookie->result->entries_count++; in __s_api_getEntry()
998 ns_ldap_cookie_t *cookie; in init_search_state_machine() local
1001 cookie = (ns_ldap_cookie_t *)calloc(1, sizeof (ns_ldap_cookie_t)); in init_search_state_machine()
1002 if (cookie == NULL) in init_search_state_machine()
1004 cookie->state = INIT; in init_search_state_machine()
1007 cookie->connectionId = -1; in init_search_state_machine()
1010 cookie->search_timeout.tv_sec = NS_DEFAULT_SEARCH_TIMEOUT; in init_search_state_machine()
1012 cookie->search_timeout.tv_sec = in init_search_state_machine()
1017 cookie->search_timeout.tv_usec = 0; in init_search_state_machine()
1019 return (cookie); in init_search_state_machine()
1023 delete_search_cookie(ns_ldap_cookie_t *cookie) in delete_search_cookie() argument
1025 if (cookie == NULL) in delete_search_cookie()
1027 if (cookie->connectionId > -1) in delete_search_cookie()
1028 DropConnection(cookie->connectionId, cookie->i_flags); in delete_search_cookie()
1029 if (cookie->filter) in delete_search_cookie()
1030 free(cookie->filter); in delete_search_cookie()
1031 if (cookie->i_filter) in delete_search_cookie()
1032 free(cookie->i_filter); in delete_search_cookie()
1033 if (cookie->service) in delete_search_cookie()
1034 free(cookie->service); in delete_search_cookie()
1035 if (cookie->sdlist) in delete_search_cookie()
1036 (void) __ns_ldap_freeSearchDescriptors(&(cookie->sdlist)); in delete_search_cookie()
1037 if (cookie->result) in delete_search_cookie()
1038 (void) __ns_ldap_freeResult(&cookie->result); in delete_search_cookie()
1039 if (cookie->attribute) in delete_search_cookie()
1040 __s_api_free2dArray(cookie->attribute); in delete_search_cookie()
1041 if (cookie->errorp) in delete_search_cookie()
1042 (void) __ns_ldap_freeError(&cookie->errorp); in delete_search_cookie()
1043 if (cookie->reflist) in delete_search_cookie()
1044 __s_api_deleteRefInfo(cookie->reflist); in delete_search_cookie()
1045 if (cookie->basedn) in delete_search_cookie()
1046 free(cookie->basedn); in delete_search_cookie()
1047 if (cookie->ctrlCookie) in delete_search_cookie()
1048 ber_bvfree(cookie->ctrlCookie); in delete_search_cookie()
1049 _freeControlList(&cookie->p_serverctrls); in delete_search_cookie()
1050 if (cookie->resultctrl) in delete_search_cookie()
1051 ldap_controls_free(cookie->resultctrl); in delete_search_cookie()
1052 free(cookie); in delete_search_cookie()
1056 get_mapped_filter(ns_ldap_cookie_t *cookie, char **new_filter) in get_mapped_filter() argument
1083 if (cookie == NULL || new_filter == NULL) in get_mapped_filter()
1087 service = cookie->service; in get_mapped_filter()
1088 filter = cookie->filter; in get_mapped_filter()
1364 MKERROR(LOG_WARNING, cookie->errorp, in get_mapped_filter()
1454 setup_next_search(ns_ldap_cookie_t *cookie) in setup_next_search() argument
1463 dptr = *cookie->sdpos; in setup_next_search()
1464 scope = cookie->i_flags & (NS_LDAP_SCOPE_BASE | in setup_next_search()
1468 cookie->scope = scope; in setup_next_search()
1470 cookie->scope = dptr->scope; in setup_next_search()
1471 switch (cookie->scope) { in setup_next_search()
1473 cookie->scope = LDAP_SCOPE_BASE; in setup_next_search()
1476 cookie->scope = LDAP_SCOPE_ONELEVEL; in setup_next_search()
1479 cookie->scope = LDAP_SCOPE_SUBTREE; in setup_next_search()
1484 if (cookie->use_filtercb && cookie->init_filter_cb && in setup_next_search()
1486 (*cookie->init_filter_cb)(dptr, &filter, in setup_next_search()
1487 cookie->userdata); in setup_next_search()
1490 if (cookie->i_filter == NULL) { in setup_next_search()
1491 cookie->err_rc = NS_LDAP_INVALID_PARAM; in setup_next_search()
1494 if (cookie->filter) in setup_next_search()
1495 free(cookie->filter); in setup_next_search()
1496 cookie->filter = strdup(cookie->i_filter); in setup_next_search()
1497 if (cookie->filter == NULL) { in setup_next_search()
1498 cookie->err_rc = NS_LDAP_MEMORY; in setup_next_search()
1503 if (cookie->filter) in setup_next_search()
1504 free(cookie->filter); in setup_next_search()
1505 cookie->filter = strdup(filter); in setup_next_search()
1507 if (cookie->filter == NULL) { in setup_next_search()
1508 cookie->err_rc = NS_LDAP_MEMORY; in setup_next_search()
1518 if (cookie->service) { in setup_next_search()
1519 rc = get_mapped_filter(cookie, &filter); in setup_next_search()
1521 cookie->err_rc = rc; in setup_next_search()
1530 free(cookie->filter); in setup_next_search()
1531 cookie->filter = filter; in setup_next_search()
1540 rc = validate_filter(cookie); in setup_next_search()
1542 cookie->err_rc = rc; in setup_next_search()
1549 (void ***)&param, &cookie->errorp); in setup_next_search()
1551 cookie->err_rc = rc; in setup_next_search()
1556 if (cookie->basedn) in setup_next_search()
1557 free(cookie->basedn); in setup_next_search()
1558 cookie->basedn = (char *)malloc(baselen); in setup_next_search()
1559 if (cookie->basedn == NULL) { in setup_next_search()
1560 cookie->err_rc = NS_LDAP_MEMORY; in setup_next_search()
1563 (void) strcpy(cookie->basedn, dptr->basedn); in setup_next_search()
1564 (void) strcat(cookie->basedn, str); in setup_next_search()
1567 if (cookie->basedn) in setup_next_search()
1568 free(cookie->basedn); in setup_next_search()
1569 cookie->basedn = strdup(dptr->basedn); in setup_next_search()
1575 setup_referral_search(ns_ldap_cookie_t *cookie) in setup_referral_search() argument
1579 ref = cookie->refpos; in setup_referral_search()
1580 cookie->scope = ref->refScope; in setup_referral_search()
1581 if (cookie->filter) { in setup_referral_search()
1582 free(cookie->filter); in setup_referral_search()
1584 cookie->filter = strdup(ref->refFilter); in setup_referral_search()
1585 if (cookie->basedn) { in setup_referral_search()
1586 free(cookie->basedn); in setup_referral_search()
1588 cookie->basedn = strdup(ref->refDN); in setup_referral_search()
1589 if (cookie->filter == NULL || cookie->basedn == NULL) { in setup_referral_search()
1590 cookie->err_rc = NS_LDAP_MEMORY; in setup_referral_search()
1597 get_current_session(ns_ldap_cookie_t *cookie) in get_current_session() argument
1604 rc = __s_api_getConnection(NULL, cookie->i_flags, in get_current_session()
1605 cookie->i_auth, &connectionId, &conp, in get_current_session()
1606 &cookie->errorp, fail_if_new_pwd_reqd, in get_current_session()
1607 cookie->nopasswd_acct_mgmt, cookie->conn_user); in get_current_session()
1618 &cookie->errorp); in get_current_session()
1619 cookie->errorp = NULL; in get_current_session()
1624 cookie->err_rc = rc; in get_current_session()
1627 cookie->conn = conp; in get_current_session()
1628 cookie->connectionId = connectionId; in get_current_session()
1634 get_next_session(ns_ldap_cookie_t *cookie) in get_next_session() argument
1641 if (cookie->connectionId > -1) { in get_next_session()
1642 DropConnection(cookie->connectionId, cookie->i_flags); in get_next_session()
1643 cookie->connectionId = -1; in get_next_session()
1647 if (cookie->conn_user != NULL && in get_next_session()
1648 cookie->conn_user->conn_mt != NULL) in get_next_session()
1649 __s_api_conn_mt_return(cookie->conn_user); in get_next_session()
1651 rc = __s_api_getConnection(NULL, cookie->i_flags, in get_next_session()
1652 cookie->i_auth, &connectionId, &conp, in get_next_session()
1653 &cookie->errorp, fail_if_new_pwd_reqd, in get_next_session()
1654 cookie->nopasswd_acct_mgmt, cookie->conn_user); in get_next_session()
1665 &cookie->errorp); in get_next_session()
1666 cookie->errorp = NULL; in get_next_session()
1671 cookie->err_rc = rc; in get_next_session()
1674 cookie->conn = conp; in get_next_session()
1675 cookie->connectionId = connectionId; in get_next_session()
1680 get_referral_session(ns_ldap_cookie_t *cookie) in get_referral_session() argument
1687 if (cookie->connectionId > -1) { in get_referral_session()
1688 DropConnection(cookie->connectionId, cookie->i_flags); in get_referral_session()
1689 cookie->connectionId = -1; in get_referral_session()
1693 if (cookie->conn_user != NULL) { in get_referral_session()
1695 if (cookie->conn_user->conn_mt != NULL) in get_referral_session()
1696 __s_api_conn_mt_return(cookie->conn_user); in get_referral_session()
1697 cookie->conn_user->referral = B_TRUE; in get_referral_session()
1700 rc = __s_api_getConnection(cookie->refpos->refHost, 0, in get_referral_session()
1701 cookie->i_auth, &connectionId, &conp, in get_referral_session()
1702 &cookie->errorp, fail_if_new_pwd_reqd, in get_referral_session()
1703 cookie->nopasswd_acct_mgmt, cookie->conn_user); in get_referral_session()
1714 &cookie->errorp); in get_referral_session()
1715 cookie->errorp = NULL; in get_referral_session()
1720 cookie->err_rc = rc; in get_referral_session()
1723 cookie->conn = conp; in get_referral_session()
1724 cookie->connectionId = connectionId; in get_referral_session()
1729 paging_supported(ns_ldap_cookie_t *cookie) in paging_supported() argument
1733 cookie->listType = 0; in paging_supported()
1734 rc = __s_api_isCtrlSupported(cookie->conn, in paging_supported()
1737 cookie->listType = VLVCTRLFLAG; in paging_supported()
1740 rc = __s_api_isCtrlSupported(cookie->conn, in paging_supported()
1743 cookie->listType = SIMPLEPAGECTRLFLAG; in paging_supported()
1831 setup_vlv_params(ns_ldap_cookie_t *cookie) in setup_vlv_params() argument
1842 _freeControlList(&cookie->p_serverctrls); in setup_vlv_params()
1844 if (cookie->sortTypeTry == SSS_UNKNOWN) in setup_vlv_params()
1845 cookie->sortTypeTry = get_srvsidesort_type(cookie->service); in setup_vlv_params()
1846 if (cookie->sortTypeTry == SSS_UNKNOWN) in setup_vlv_params()
1847 cookie->sortTypeTry = SSS_SINGLE_ATTR; in setup_vlv_params()
1849 if (cookie->sortTypeTry == SSS_SINGLE_ATTR) { in setup_vlv_params()
1850 if ((cookie->i_flags & NS_LDAP_NOMAP) == 0 && in setup_vlv_params()
1851 cookie->i_sortattr) { in setup_vlv_params()
1852 sortattr = __ns_ldap_mapAttribute(cookie->service, in setup_vlv_params()
1853 cookie->i_sortattr); in setup_vlv_params()
1855 } else if (cookie->i_sortattr) { in setup_vlv_params()
1856 sortattr = (char *)cookie->i_sortattr; in setup_vlv_params()
1868 (void) ldap_get_option(cookie->conn->ld, in setup_vlv_params()
1872 rc = ldap_create_sort_control(cookie->conn->ld, in setup_vlv_params()
1876 (void) ldap_get_option(cookie->conn->ld, in setup_vlv_params()
1881 vlist.ldvlist_index = cookie->index; in setup_vlv_params()
1889 rc = ldap_create_virtuallist_control(cookie->conn->ld, in setup_vlv_params()
1893 (void) ldap_get_option(cookie->conn->ld, LDAP_OPT_ERROR_NUMBER, in setup_vlv_params()
1908 cookie->p_serverctrls = ctrls; in setup_vlv_params()
1913 setup_simplepg_params(ns_ldap_cookie_t *cookie) in setup_simplepg_params() argument
1919 _freeControlList(&cookie->p_serverctrls); in setup_simplepg_params()
1921 rc = ldap_create_page_control(cookie->conn->ld, LISTPAGESIZE, in setup_simplepg_params()
1922 cookie->ctrlCookie, (char)0, &pgctrl); in setup_simplepg_params()
1924 (void) ldap_get_option(cookie->conn->ld, LDAP_OPT_ERROR_NUMBER, in setup_simplepg_params()
1935 cookie->p_serverctrls = ctrls; in setup_simplepg_params()
1940 proc_result_referrals(ns_ldap_cookie_t *cookie) in proc_result_referrals() argument
1949 if (cookie->refpos == NULL) { in proc_result_referrals()
1950 cookie->new_state = END_RESULT; in proc_result_referrals()
1951 rc = ldap_parse_result(cookie->conn->ld, in proc_result_referrals()
1952 cookie->resultMsg, in proc_result_referrals()
1957 (void) ldap_get_option(cookie->conn->ld, in proc_result_referrals()
1959 &cookie->err_rc); in proc_result_referrals()
1960 cookie->new_state = LDAP_ERROR; in proc_result_referrals()
1968 &cookie->reflist, in proc_result_referrals()
1970 cookie->basedn, in proc_result_referrals()
1971 &cookie->scope, in proc_result_referrals()
1972 cookie->filter, in proc_result_referrals()
1973 cookie->conn->ld); in proc_result_referrals()
1975 cookie->new_state = in proc_result_referrals()
1986 proc_search_references(ns_ldap_cookie_t *cookie) in proc_search_references() argument
1995 if (cookie->refpos == NULL) { in proc_search_references()
1997 cookie->conn->ld, in proc_search_references()
1998 cookie->resultMsg); in proc_search_references()
2000 (void) ldap_get_option(cookie->conn->ld, in proc_search_references()
2002 &cookie->err_rc); in proc_search_references()
2003 cookie->new_state = LDAP_ERROR; in proc_search_references()
2009 &cookie->reflist, in proc_search_references()
2011 cookie->basedn, in proc_search_references()
2012 &cookie->scope, in proc_search_references()
2013 cookie->filter, in proc_search_references()
2014 cookie->conn->ld); in proc_search_references()
2016 cookie->new_state = in proc_search_references()
2028 multi_result(ns_ldap_cookie_t *cookie) in multi_result() argument
2042 if (cookie->listType == VLVCTRLFLAG) { in multi_result()
2043 rc = ldap_parse_result(cookie->conn->ld, cookie->resultMsg, in multi_result()
2046 (void) ldap_get_option(cookie->conn->ld, in multi_result()
2048 &cookie->err_rc); in multi_result()
2051 cookie->err_rc, in multi_result()
2052 gettext(ldap_err2string(cookie->err_rc))); in multi_result()
2056 cookie->err_rc = NS_LDAP_INTERNAL; in multi_result()
2057 cookie->errorp = *errorp; in multi_result()
2065 &cookie->reflist, in multi_result()
2067 cookie->basedn, in multi_result()
2068 &cookie->scope, in multi_result()
2069 cookie->filter, in multi_result()
2070 cookie->conn->ld); in multi_result()
2087 cookie->conn->ld, retCtrls, in multi_result()
2095 cookie->index = in multi_result()
2097 if (cookie->index > list_size) in multi_result()
2100 if (cookie->entryCount < LISTPAGESIZE) in multi_result()
2103 cookie->index += in multi_result()
2104 cookie->entryCount; in multi_result()
2112 } else if (cookie->listType == SIMPLEPAGECTRLFLAG) { in multi_result()
2113 rc = ldap_parse_result(cookie->conn->ld, cookie->resultMsg, in multi_result()
2116 (void) ldap_get_option(cookie->conn->ld, in multi_result()
2118 &cookie->err_rc); in multi_result()
2121 cookie->err_rc, in multi_result()
2122 gettext(ldap_err2string(cookie->err_rc))); in multi_result()
2126 cookie->err_rc = NS_LDAP_INTERNAL; in multi_result()
2127 cookie->errorp = *errorp; in multi_result()
2135 &cookie->reflist, in multi_result()
2137 cookie->basedn, in multi_result()
2138 &cookie->scope, in multi_result()
2139 cookie->filter, in multi_result()
2140 cookie->conn->ld); in multi_result()
2156 if (cookie->ctrlCookie) in multi_result()
2157 ber_bvfree(cookie->ctrlCookie); in multi_result()
2158 cookie->ctrlCookie = NULL; in multi_result()
2160 cookie->conn->ld, retCtrls, in multi_result()
2161 &count, &cookie->ctrlCookie); in multi_result()
2163 if ((cookie->ctrlCookie == NULL) || in multi_result()
2164 (cookie->ctrlCookie->bv_val == NULL) || in multi_result()
2165 (cookie->ctrlCookie->bv_len == 0)) in multi_result()
2174 if (!finished && cookie->listType == VLVCTRLFLAG) in multi_result()
2176 if (!finished && cookie->listType == SIMPLEPAGECTRLFLAG) in multi_result()
2199 clear_results(ns_ldap_cookie_t *cookie) in clear_results() argument
2202 if (cookie->conn != NULL && cookie->conn->ld != NULL && in clear_results()
2203 (cookie->connectionId != -1 || in clear_results()
2204 (cookie->conn_user != NULL && in clear_results()
2205 cookie->conn_user->conn_mt != NULL)) && in clear_results()
2206 cookie->msgId != 0) { in clear_results()
2212 rc = ldap_result(cookie->conn->ld, cookie->msgId, LDAP_MSG_ALL, in clear_results()
2213 (struct timeval *)&cookie->search_timeout, in clear_results()
2214 &cookie->resultMsg); in clear_results()
2215 if (rc != -1 && rc != 0 && cookie->resultMsg != NULL) { in clear_results()
2216 (void) ldap_msgfree(cookie->resultMsg); in clear_results()
2217 cookie->resultMsg = NULL; in clear_results()
2225 (void) ldap_abandon_ext(cookie->conn->ld, cookie->msgId, in clear_results()
2228 cookie->msgId = 0; in clear_results()
2256 search_state_machine(ns_ldap_cookie_t *cookie, ns_state_t state, int cycle) in search_state_machine() argument
2268 cookie->state = state; in search_state_machine()
2272 switch (cookie->state) { in search_state_machine()
2274 clear_results(cookie); in search_state_machine()
2275 cookie->new_state = EXIT; in search_state_machine()
2281 cookie->nopasswd_acct_mgmt = 1; in search_state_machine()
2282 cookie->new_state = INIT; in search_state_machine()
2286 if (cookie->attribute) { in search_state_machine()
2287 __s_api_free2dArray(cookie->attribute); in search_state_machine()
2288 cookie->attribute = NULL; in search_state_machine()
2290 if (cookie->reflist) { in search_state_machine()
2291 __s_api_deleteRefInfo(cookie->reflist); in search_state_machine()
2292 cookie->reflist = NULL; in search_state_machine()
2296 cookie->sdpos = NULL; in search_state_machine()
2297 cookie->new_state = NEXT_SEARCH_DESCRIPTOR; in search_state_machine()
2298 if (cookie->attribute) { in search_state_machine()
2299 __s_api_free2dArray(cookie->attribute); in search_state_machine()
2300 cookie->attribute = NULL; in search_state_machine()
2302 if ((cookie->i_flags & NS_LDAP_NOMAP) == 0 && in search_state_machine()
2303 cookie->i_attr) { in search_state_machine()
2304 cookie->attribute = in search_state_machine()
2306 cookie->service, in search_state_machine()
2307 cookie->i_attr); in search_state_machine()
2312 cookie->retries++; in search_state_machine()
2313 if (cookie->retries > NS_LIST_TRY_MAX - 1) { in search_state_machine()
2314 cookie->new_state = LDAP_ERROR; in search_state_machine()
2322 if (cookie->conn_user != NULL) { in search_state_machine()
2325 cmg = cookie->conn_user->conn_mgmt; in search_state_machine()
2326 retry = cookie->conn_user->retry; in search_state_machine()
2330 cookie->new_state = LDAP_ERROR; in search_state_machine()
2338 if (cookie->resultMsg != NULL) { in search_state_machine()
2339 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2340 cookie->resultMsg = NULL; in search_state_machine()
2342 (void) __ns_ldap_freeError(&cookie->errorp); in search_state_machine()
2343 (void) __ns_ldap_freeResult(&cookie->result); in search_state_machine()
2344 cookie->sdpos = cookie->sdlist; in search_state_machine()
2345 cookie->err_from_result = 0; in search_state_machine()
2346 cookie->err_rc = 0; in search_state_machine()
2347 cookie->new_state = NEXT_SESSION; in search_state_machine()
2351 if (cookie->sdpos == NULL) { in search_state_machine()
2352 cookie->sdpos = cookie->sdlist; in search_state_machine()
2353 cookie->new_state = GET_SESSION; in search_state_machine()
2355 cookie->sdpos++; in search_state_machine()
2356 cookie->new_state = NEXT_SEARCH; in search_state_machine()
2358 if (*cookie->sdpos == NULL) in search_state_machine()
2359 cookie->new_state = EXIT; in search_state_machine()
2362 if (get_current_session(cookie) < 0) in search_state_machine()
2363 cookie->new_state = NEXT_SESSION; in search_state_machine()
2365 cookie->new_state = NEXT_SEARCH; in search_state_machine()
2368 if (get_next_session(cookie) < 0) in search_state_machine()
2369 cookie->new_state = RESTART_SESSION; in search_state_machine()
2371 cookie->new_state = NEXT_SEARCH; in search_state_machine()
2374 if (cookie->i_flags & NS_LDAP_HARD) { in search_state_machine()
2375 cookie->new_state = NEXT_SESSION; in search_state_machine()
2384 cookie->err_rc = NS_LDAP_INTERNAL; in search_state_machine()
2385 cookie->errorp = *errorp; in search_state_machine()
2386 cookie->new_state = EXIT; in search_state_machine()
2390 if (cookie->refpos) { in search_state_machine()
2391 if (setup_referral_search(cookie) < 0) { in search_state_machine()
2392 cookie->new_state = EXIT; in search_state_machine()
2395 } else if (setup_next_search(cookie) < 0) { in search_state_machine()
2396 cookie->new_state = EXIT; in search_state_machine()
2400 if (paging_supported(cookie)) { in search_state_machine()
2401 if (cookie->use_paging && in search_state_machine()
2402 (cookie->scope != LDAP_SCOPE_BASE)) { in search_state_machine()
2403 cookie->index = 1; in search_state_machine()
2404 if (cookie->listType == VLVCTRLFLAG) in search_state_machine()
2405 cookie->new_state = NEXT_VLV; in search_state_machine()
2407 cookie->new_state = NEXT_PAGE; in search_state_machine()
2411 cookie->new_state = ONE_SEARCH; in search_state_machine()
2414 rc = setup_vlv_params(cookie); in search_state_machine()
2416 cookie->err_rc = rc; in search_state_machine()
2417 cookie->new_state = LDAP_ERROR; in search_state_machine()
2420 cookie->next_state = MULTI_RESULT; in search_state_machine()
2421 cookie->new_state = DO_SEARCH; in search_state_machine()
2424 rc = setup_simplepg_params(cookie); in search_state_machine()
2426 cookie->err_rc = rc; in search_state_machine()
2427 cookie->new_state = LDAP_ERROR; in search_state_machine()
2430 cookie->next_state = MULTI_RESULT; in search_state_machine()
2431 cookie->new_state = DO_SEARCH; in search_state_machine()
2434 cookie->next_state = NEXT_RESULT; in search_state_machine()
2435 cookie->new_state = DO_SEARCH; in search_state_machine()
2438 cookie->entryCount = 0; in search_state_machine()
2439 rc = ldap_search_ext(cookie->conn->ld, in search_state_machine()
2440 cookie->basedn, in search_state_machine()
2441 cookie->scope, in search_state_machine()
2442 cookie->filter, in search_state_machine()
2443 cookie->attribute, in search_state_machine()
2445 cookie->p_serverctrls, in search_state_machine()
2447 &cookie->search_timeout, 0, in search_state_machine()
2448 &cookie->msgId); in search_state_machine()
2456 if (cookie->reinit_on_retriable_err) { in search_state_machine()
2457 cookie->err_rc = rc; in search_state_machine()
2458 cookie->new_state = REINIT; in search_state_machine()
2460 cookie->new_state = in search_state_machine()
2480 (cookie->conn_user == NULL || in search_state_machine()
2481 cookie->conn_user->conn_mt == in search_state_machine()
2484 cookie->conn->serverAddr); in search_state_machine()
2486 cookie->conn_auth_type in search_state_machine()
2496 cookie->err_rc = rc; in search_state_machine()
2497 cookie->new_state = in search_state_machine()
2500 if (cookie->connectionId > -1) { in search_state_machine()
2509 cookie-> in search_state_machine()
2512 cookie->connectionId = in search_state_machine()
2517 cookie->conn_user != NULL) { in search_state_machine()
2518 if (cookie-> in search_state_machine()
2529 cookie->conn_user, in search_state_machine()
2531 &cookie->errorp); in search_state_machine()
2540 cookie->err_rc = rc; in search_state_machine()
2541 cookie->new_state = in search_state_machine()
2547 cookie->err_rc = rc; in search_state_machine()
2548 cookie->new_state = LDAP_ERROR; in search_state_machine()
2551 cookie->new_state = cookie->next_state; in search_state_machine()
2560 if (cookie->no_wait == B_TRUE) in search_state_machine()
2563 tv = cookie->search_timeout; in search_state_machine()
2564 rc = ldap_result(cookie->conn->ld, cookie->msgId, in search_state_machine()
2567 &cookie->resultMsg); in search_state_machine()
2569 cookie->new_state = END_RESULT; in search_state_machine()
2571 if (cookie->followRef) in search_state_machine()
2573 cookie); in search_state_machine()
2574 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2575 cookie->resultMsg = NULL; in search_state_machine()
2580 if (cookie->followRef) in search_state_machine()
2581 proc_search_references(cookie); in search_state_machine()
2582 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2583 cookie->resultMsg = NULL; in search_state_machine()
2589 if (cookie->no_wait == B_TRUE) { in search_state_machine()
2591 cookie->resultMsg); in search_state_machine()
2592 cookie->resultMsg = NULL; in search_state_machine()
2593 return (cookie->new_state); in search_state_machine()
2598 rc = ldap_get_lderrno(cookie->conn->ld, in search_state_machine()
2602 rc = ldap_result2error(cookie->conn->ld, in search_state_machine()
2603 cookie->resultMsg, 1); in search_state_machine()
2608 (cookie->conn_user == NULL || in search_state_machine()
2609 cookie->conn_user->conn_mt == NULL)) { in search_state_machine()
2612 cookie->conn->serverAddr); in search_state_machine()
2613 if (cookie->connectionId > -1) { in search_state_machine()
2615 cookie->connectionId, in search_state_machine()
2617 cookie->connectionId = -1; in search_state_machine()
2619 cookie->err_from_result = 1; in search_state_machine()
2621 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2622 cookie->resultMsg = NULL; in search_state_machine()
2626 if (cookie->reinit_on_retriable_err) { in search_state_machine()
2627 cookie->err_rc = rc; in search_state_machine()
2628 cookie->err_from_result = 1; in search_state_machine()
2629 cookie->new_state = REINIT; in search_state_machine()
2631 cookie->new_state = in search_state_machine()
2638 cookie->reinit_on_retriable_err) { in search_state_machine()
2640 cookie->err_rc = rc; in search_state_machine()
2641 cookie->err_from_result = 1; in search_state_machine()
2642 cookie->new_state = REINIT; in search_state_machine()
2643 if (cookie->conn_user != NULL) in search_state_machine()
2645 cookie->conn_user, in search_state_machine()
2649 &cookie->errorp); in search_state_machine()
2650 cookie->errorp = errorp; in search_state_machine()
2654 cookie->err_rc = rc; in search_state_machine()
2655 cookie->new_state = LDAP_ERROR; in search_state_machine()
2660 if (cookie->nopasswd_acct_mgmt == 1) { in search_state_machine()
2661 rc = ldap_get_entry_controls(cookie->conn->ld, in search_state_machine()
2662 cookie->resultMsg, in search_state_machine()
2663 &(cookie->resultctrl)); in search_state_machine()
2665 cookie->new_state = LDAP_ERROR; in search_state_machine()
2666 cookie->err_rc = rc; in search_state_machine()
2670 rc = __s_api_getEntry(cookie); in search_state_machine()
2671 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2672 cookie->resultMsg = NULL; in search_state_machine()
2674 cookie->new_state = LDAP_ERROR; in search_state_machine()
2677 cookie->new_state = PROCESS_RESULT; in search_state_machine()
2678 cookie->next_state = NEXT_RESULT; in search_state_machine()
2681 if (cookie->no_wait == B_TRUE) in search_state_machine()
2684 tv = cookie->search_timeout; in search_state_machine()
2685 rc = ldap_result(cookie->conn->ld, cookie->msgId, in search_state_machine()
2688 &cookie->resultMsg); in search_state_machine()
2690 rc = ldap_result2error(cookie->conn->ld, in search_state_machine()
2691 cookie->resultMsg, 0); in search_state_machine()
2693 cookie->listType == VLVCTRLFLAG && in search_state_machine()
2694 cookie->sortTypeTry == SSS_SINGLE_ATTR) { in search_state_machine()
2696 cookie->sortTypeTry = SSS_CN_UID_ATTRS; in search_state_machine()
2697 cookie->new_state = NEXT_VLV; in search_state_machine()
2698 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2699 cookie->resultMsg = NULL; in search_state_machine()
2703 cookie->err_rc = rc; in search_state_machine()
2704 cookie->new_state = LDAP_ERROR; in search_state_machine()
2705 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2706 cookie->resultMsg = NULL; in search_state_machine()
2709 cookie->new_state = multi_result(cookie); in search_state_machine()
2710 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2711 cookie->resultMsg = NULL; in search_state_machine()
2716 cookie->followRef) { in search_state_machine()
2717 proc_search_references(cookie); in search_state_machine()
2718 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2719 cookie->resultMsg = NULL; in search_state_machine()
2725 if (cookie->no_wait == B_TRUE) { in search_state_machine()
2727 cookie->resultMsg); in search_state_machine()
2728 cookie->resultMsg = NULL; in search_state_machine()
2729 return (cookie->new_state); in search_state_machine()
2734 rc = ldap_get_lderrno(cookie->conn->ld, in search_state_machine()
2738 rc = ldap_result2error(cookie->conn->ld, in search_state_machine()
2739 cookie->resultMsg, 1); in search_state_machine()
2744 (cookie->conn_user == NULL || in search_state_machine()
2745 cookie->conn_user->conn_mt == NULL)) { in search_state_machine()
2748 cookie->conn->serverAddr); in search_state_machine()
2749 if (cookie->connectionId > -1) { in search_state_machine()
2751 cookie->connectionId, in search_state_machine()
2753 cookie->connectionId = -1; in search_state_machine()
2755 cookie->err_from_result = 1; in search_state_machine()
2757 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2758 cookie->resultMsg = NULL; in search_state_machine()
2762 if (cookie->reinit_on_retriable_err) { in search_state_machine()
2763 cookie->err_rc = rc; in search_state_machine()
2764 cookie->err_from_result = 1; in search_state_machine()
2765 cookie->new_state = REINIT; in search_state_machine()
2767 cookie->new_state = in search_state_machine()
2775 cookie->reinit_on_retriable_err) { in search_state_machine()
2777 cookie->err_rc = rc; in search_state_machine()
2778 cookie->err_from_result = 1; in search_state_machine()
2779 cookie->new_state = REINIT; in search_state_machine()
2780 if (cookie->conn_user != NULL) in search_state_machine()
2782 cookie->conn_user, in search_state_machine()
2786 &cookie->errorp); in search_state_machine()
2787 cookie->errorp = errorp; in search_state_machine()
2791 cookie->err_rc = rc; in search_state_machine()
2792 cookie->new_state = LDAP_ERROR; in search_state_machine()
2796 cookie->entryCount++; in search_state_machine()
2797 rc = __s_api_getEntry(cookie); in search_state_machine()
2798 (void) ldap_msgfree(cookie->resultMsg); in search_state_machine()
2799 cookie->resultMsg = NULL; in search_state_machine()
2801 cookie->new_state = LDAP_ERROR; in search_state_machine()
2808 if (cookie->listType == VLVCTRLFLAG) in search_state_machine()
2809 update_srvsidesort_type(cookie->service, in search_state_machine()
2810 cookie->sortTypeTry); in search_state_machine()
2812 cookie->new_state = PROCESS_RESULT; in search_state_machine()
2813 cookie->next_state = MULTI_RESULT; in search_state_machine()
2817 if (cookie->use_usercb && cookie->callback) { in search_state_machine()
2819 for (nextEntry = cookie->result->entry; in search_state_machine()
2822 rc = (*cookie->callback)(nextEntry, in search_state_machine()
2823 cookie->userdata); in search_state_machine()
2828 cookie->err_rc = rc; in search_state_machine()
2833 cookie->err_rc = rc; in search_state_machine()
2837 (void) __ns_ldap_freeResult(&cookie->result); in search_state_machine()
2838 cookie->result = NULL; in search_state_machine()
2841 cookie->new_state = EXIT; in search_state_machine()
2845 cookie->new_state = cookie->next_state; in search_state_machine()
2848 cookie->new_state = cookie->next_state; in search_state_machine()
2860 if (cookie->followRef && cookie->reflist) in search_state_machine()
2861 cookie->new_state = in search_state_machine()
2864 cookie->new_state = in search_state_machine()
2869 if (cookie->refpos == NULL) in search_state_machine()
2870 cookie->refpos = in search_state_machine()
2871 cookie->reflist; in search_state_machine()
2873 cookie->refpos = in search_state_machine()
2874 cookie->refpos->next; in search_state_machine()
2876 if (cookie->refpos != NULL) { in search_state_machine()
2877 cookie->new_state = in search_state_machine()
2880 __s_api_deleteRefInfo(cookie->reflist); in search_state_machine()
2881 cookie->reflist = NULL; in search_state_machine()
2882 cookie->new_state = in search_state_machine()
2884 if (cookie->conn_user != NULL) in search_state_machine()
2885 cookie->conn_user->referral = B_FALSE; in search_state_machine()
2889 if (get_referral_session(cookie) < 0) { in search_state_machine()
2890 cookie->new_state = EXIT; in search_state_machine()
2892 cookie->new_state = NEXT_SEARCH; in search_state_machine()
2896 rc_save = cookie->err_rc; in search_state_machine()
2897 if (cookie->err_from_result) { in search_state_machine()
2898 if (cookie->err_rc == LDAP_SERVER_DOWN) { in search_state_machine()
2904 cookie->err_rc); in search_state_machine()
2905 } else if (cookie->err_rc == LDAP_TIMEOUT) { in search_state_machine()
2910 "."), cookie->err_rc, in search_state_machine()
2912 cookie->err_rc)); in search_state_machine()
2917 cookie->err_rc, in search_state_machine()
2918 ldap_err2string(cookie->err_rc)); in search_state_machine()
2921 if (cookie->err_from_result) { in search_state_machine()
2922 if (cookie->err_rc == LDAP_SERVER_DOWN) { in search_state_machine()
2924 cookie->err_rc, err, in search_state_machine()
2928 cookie->err_rc, err, in search_state_machine()
2935 cookie->err_rc = NS_LDAP_INTERNAL; in search_state_machine()
2936 cookie->errorp = *errorp; in search_state_machine()
2937 if (cookie->conn_user != NULL) { in search_state_machine()
2944 __s_api_conn_mt_close(cookie->conn_user, in search_state_machine()
2945 rc_save, &cookie->errorp); in search_state_machine()
2954 cookie->state); in search_state_machine()
2958 cookie->err_rc = NS_LDAP_INTERNAL; in search_state_machine()
2959 cookie->errorp = *errorp; in search_state_machine()
2963 if (cookie->conn_user != NULL && in search_state_machine()
2964 cookie->conn_user->bad_mt_conn == B_TRUE) { in search_state_machine()
2965 __s_api_conn_mt_close(cookie->conn_user, 0, NULL); in search_state_machine()
2966 cookie->err_rc = cookie->conn_user->ns_rc; in search_state_machine()
2967 cookie->errorp = cookie->conn_user->ns_error; in search_state_machine()
2968 cookie->conn_user->ns_error = NULL; in search_state_machine()
2973 return (cookie->new_state); in search_state_machine()
2975 cookie->state = cookie->new_state; in search_state_machine()
2983 cookie->err_rc = NS_LDAP_INTERNAL; in search_state_machine()
2984 cookie->errorp = *errorp; in search_state_machine()
2995 check_shadow(ns_ldap_cookie_t *cookie, const char *service) in check_shadow() argument
3034 MKERROR(LOG_INFO, cookie->errorp, NS_LDAP_INTERNAL, err, in check_shadow()
3038 cookie->i_flags |= NS_LDAP_READ_SHADOW; in check_shadow()
3045 if (cookie->i_flags & NS_LDAP_KEEP_CONN) in check_shadow()
3047 cookie->i_flags |= NS_LDAP_NEW_CONN; in check_shadow()
3073 ns_ldap_cookie_t *cookie; in ldap_list() local
3094 cookie = init_search_state_machine(); in ldap_list()
3095 if (cookie == NULL) { in ldap_list()
3099 cookie->conn_user = conn_user; in ldap_list()
3103 &cookie->followRef, errorp); in ldap_list()
3105 delete_search_cookie(cookie); in ldap_list()
3114 delete_search_cookie(cookie); in ldap_list()
3125 delete_search_cookie(cookie); in ldap_list()
3126 cookie = NULL; in ldap_list()
3134 delete_search_cookie(cookie); in ldap_list()
3135 cookie = NULL; in ldap_list()
3142 rc = __s_api_getDNs(&dns, service, &cookie->errorp); in ldap_list()
3148 *errorp = cookie->errorp; in ldap_list()
3149 cookie->errorp = NULL; in ldap_list()
3150 delete_search_cookie(cookie); in ldap_list()
3151 cookie = NULL; in ldap_list()
3161 rc = __s_api_getSearchScope(&scope, &cookie->errorp); in ldap_list()
3165 cookie->sdlist = sdlist; in ldap_list()
3171 cookie->use_paging = TRUE; in ldap_list()
3173 cookie->use_paging = FALSE; in ldap_list()
3176 cookie->userdata = userdata; in ldap_list()
3178 cookie->init_filter_cb = init_filter_cb; in ldap_list()
3179 cookie->use_filtercb = 1; in ldap_list()
3182 cookie->callback = callback; in ldap_list()
3183 cookie->use_usercb = 1; in ldap_list()
3187 cookie->i_flags = flags; in ldap_list()
3189 cookie->service = strdup(service); in ldap_list()
3190 if (cookie->service == NULL) { in ldap_list()
3191 delete_search_cookie(cookie); in ldap_list()
3192 cookie = NULL; in ldap_list()
3202 rc = check_shadow(cookie, service); in ldap_list()
3204 *errorp = cookie->errorp; in ldap_list()
3205 cookie->errorp = NULL; in ldap_list()
3206 delete_search_cookie(cookie); in ldap_list()
3207 cookie = NULL; in ldap_list()
3214 cookie->i_filter = strdup(filter); in ldap_list()
3215 cookie->i_attr = attribute; in ldap_list()
3216 cookie->i_auth = auth; in ldap_list()
3217 cookie->i_sortattr = sortattr; in ldap_list()
3220 cookie->batch = batch; in ldap_list()
3221 cookie->reinit_on_retriable_err = B_TRUE; in ldap_list()
3222 cookie->no_wait = B_TRUE; in ldap_list()
3223 (void) search_state_machine(cookie, INIT, 0); in ldap_list()
3224 cookie->no_wait = B_FALSE; in ldap_list()
3225 rc = cookie->err_rc; in ldap_list()
3235 cookie->caller_result = rResult; in ldap_list()
3236 cookie->caller_errorp = errorp; in ldap_list()
3237 cookie->caller_rc = rcp; in ldap_list()
3238 cookie->next_cookie_in_batch = batch->cookie_list; in ldap_list()
3239 batch->cookie_list = cookie; in ldap_list()
3248 (void) search_state_machine(cookie, INIT, 0); in ldap_list()
3252 rc = cookie->err_rc; in ldap_list()
3258 *errorp = cookie->errorp; in ldap_list()
3261 *rResult = cookie->result; in ldap_list()
3262 from_result = cookie->err_from_result; in ldap_list()
3264 cookie->errorp = NULL; in ldap_list()
3265 cookie->result = NULL; in ldap_list()
3266 delete_search_cookie(cookie); in ldap_list()
3267 cookie = NULL; in ldap_list()
3642 ns_ldap_cookie_t *cookie; in lookup_dn() local
3653 cookie = init_search_state_machine(); in lookup_dn()
3654 if (cookie == NULL) in lookup_dn()
3657 rc = __s_api_toFollowReferrals(flags, &cookie->followRef, errorp); in lookup_dn()
3662 cookie->sdlist = calloc(2, sizeof (ns_ldap_search_desc_t *)); in lookup_dn()
3663 if (cookie->sdlist == NULL) { in lookup_dn()
3668 rc = lookup_create_ssd(dn_data, &cookie->sdlist[0]); in lookup_dn()
3678 cookie->service = strdup(dn_data->lkd_service); in lookup_dn()
3679 if (cookie->service == NULL) { in lookup_dn()
3685 cookie->i_attr = attrs; in lookup_dn()
3686 cookie->i_auth = dn_data->lkd_cred; in lookup_dn()
3687 cookie->i_flags = 0; in lookup_dn()
3688 cookie->i_filter = strdup(dn_data->lkd_filter); in lookup_dn()
3689 if (cookie->i_filter == NULL) { in lookup_dn()
3701 (void) search_state_machine(cookie, INIT, 0); in lookup_dn()
3702 rc = cookie->err_rc; in lookup_dn()
3711 *errorp = cookie->errorp; in lookup_dn()
3712 cookie->errorp = NULL; in lookup_dn()
3714 } else if (cookie->result != NULL) { in lookup_dn()
3715 *resultp = cookie->result; in lookup_dn()
3716 cookie->result = NULL; in lookup_dn()
3722 delete_search_cookie(cookie); in lookup_dn()
3808 ns_ldap_cookie_t *cookie = NULL; in firstEntry() local
3871 cookie = init_search_state_machine(); in firstEntry()
3872 if (cookie == NULL) { in firstEntry()
3879 rc = __s_api_getSearchScope(&scope, &cookie->errorp); in firstEntry()
3884 if (cookie == NULL) in firstEntry()
3885 cookie = init_search_state_machine(); in firstEntry()
3886 if (cookie == NULL) { in firstEntry()
3895 cookie->conn_user = conn_user; in firstEntry()
3897 cookie->sdlist = sdlist; in firstEntry()
3901 &cookie->followRef, errorp); in firstEntry()
3903 delete_search_cookie(cookie); in firstEntry()
3911 cookie->use_paging = FALSE; in firstEntry()
3913 cookie->use_paging = TRUE; in firstEntry()
3916 cookie->userdata = userdata; in firstEntry()
3918 cookie->init_filter_cb = init_filter_cb; in firstEntry()
3919 cookie->use_filtercb = 1; in firstEntry()
3921 cookie->use_usercb = 0; in firstEntry()
3923 cookie->i_flags = flags; in firstEntry()
3925 cookie->service = strdup(service); in firstEntry()
3926 if (cookie->service == NULL) { in firstEntry()
3927 delete_search_cookie(cookie); in firstEntry()
3936 rc = check_shadow(cookie, service); in firstEntry()
3938 *errorp = cookie->errorp; in firstEntry()
3939 cookie->errorp = NULL; in firstEntry()
3940 delete_search_cookie(cookie); in firstEntry()
3941 cookie = NULL; in firstEntry()
3947 cookie->i_filter = strdup(filter); in firstEntry()
3948 cookie->i_attr = attribute; in firstEntry()
3949 cookie->i_sortattr = sortattr; in firstEntry()
3950 cookie->i_auth = auth; in firstEntry()
3954 state = search_state_machine(cookie, state, ONE_STEP); in firstEntry()
3957 *result = cookie->result; in firstEntry()
3958 cookie->result = NULL; in firstEntry()
3959 *vcookie = (void *)cookie; in firstEntry()
3962 state = search_state_machine(cookie, state, ONE_STEP); in firstEntry()
3963 state = search_state_machine(cookie, CLEAR_RESULTS, in firstEntry()
3967 rc = cookie->err_rc; in firstEntry()
3972 *errorp = cookie->errorp; in firstEntry()
3973 cookie->errorp = NULL; in firstEntry()
3975 delete_search_cookie(cookie); in firstEntry()
3978 rc = cookie->err_rc; in firstEntry()
3980 *errorp = cookie->errorp; in firstEntry()
3981 cookie->errorp = NULL; in firstEntry()
3986 delete_search_cookie(cookie); in firstEntry()
4030 ns_ldap_cookie_t *cookie; in __ns_ldap_nextEntry() local
4034 cookie = (ns_ldap_cookie_t *)vcookie; in __ns_ldap_nextEntry()
4035 cookie->result = NULL; in __ns_ldap_nextEntry()
4038 if (cookie->conn_user != NULL) { in __ns_ldap_nextEntry()
4039 rc = __s_api_setup_getnext(cookie->conn_user, in __ns_ldap_nextEntry()
4040 &cookie->err_rc, errorp); in __ns_ldap_nextEntry()
4047 state = search_state_machine(cookie, state, ONE_STEP); in __ns_ldap_nextEntry()
4050 *result = cookie->result; in __ns_ldap_nextEntry()
4051 cookie->result = NULL; in __ns_ldap_nextEntry()
4054 state = search_state_machine(cookie, state, ONE_STEP); in __ns_ldap_nextEntry()
4055 state = search_state_machine(cookie, CLEAR_RESULTS, in __ns_ldap_nextEntry()
4059 rc = cookie->err_rc; in __ns_ldap_nextEntry()
4060 *errorp = cookie->errorp; in __ns_ldap_nextEntry()
4061 cookie->errorp = NULL; in __ns_ldap_nextEntry()
4074 ns_ldap_cookie_t *cookie; in __ns_ldap_endEntry() local
4080 cookie = (ns_ldap_cookie_t *)(*vcookie); in __ns_ldap_endEntry()
4081 cookie->result = NULL; in __ns_ldap_endEntry()
4084 rc = search_state_machine(cookie, CLEAR_RESULTS, 0); in __ns_ldap_endEntry()
4087 rc = cookie->err_rc; in __ns_ldap_endEntry()
4089 *errorp = cookie->errorp; in __ns_ldap_endEntry()
4091 cookie->errorp = NULL; in __ns_ldap_endEntry()
4092 if (cookie->conn_user != NULL) { in __ns_ldap_endEntry()
4093 if (cookie->conn_user->conn_mt != NULL) in __ns_ldap_endEntry()
4094 __s_api_conn_mt_return(cookie->conn_user); in __ns_ldap_endEntry()
4095 __s_api_conn_user_free(cookie->conn_user); in __ns_ldap_endEntry()
4097 delete_search_cookie(cookie); in __ns_ldap_endEntry()
4098 cookie = NULL; in __ns_ldap_endEntry()
5324 validate_filter(ns_ldap_cookie_t *cookie) in validate_filter() argument
5326 char *filter = cookie->filter; in validate_filter()
5347 setup_acctmgmt_params(ns_ldap_cookie_t *cookie) in setup_acctmgmt_params() argument
5372 cookie->p_serverctrls = requestctrls; in setup_acctmgmt_params()
5777 ns_ldap_cookie_t *cookie; in getAcctMgmt() local
5788 cookie = init_search_state_machine(); in getAcctMgmt()
5789 if (cookie == NULL) in getAcctMgmt()
5791 cookie->conn_user = conn_user; in getAcctMgmt()
5795 &cookie->followRef, &error); in getAcctMgmt()
5827 rc = __s_api_getDNs(&dns, service, &cookie->errorp); in getAcctMgmt()
5833 (void) __ns_ldap_freeError(&(cookie->errorp)); in getAcctMgmt()
5834 cookie->errorp = NULL; in getAcctMgmt()
5853 rc = __s_api_getSearchScope(&scope, &cookie->errorp); in getAcctMgmt()
5857 cookie->sdlist = sdlist; in getAcctMgmt()
5859 cookie->service = strdup(service); in getAcctMgmt()
5860 if (cookie->service == NULL) { in getAcctMgmt()
5866 (void) asprintf(&cookie->i_filter, "(uid=%s)", user); in getAcctMgmt()
5867 if (cookie->i_filter == NULL) { in getAcctMgmt()
5873 if ((rc = setup_acctmgmt_params(cookie)) != NS_LDAP_SUCCESS) in getAcctMgmt()
5877 rc = search_state_machine(cookie, GET_ACCT_MGMT_INFO, 0); in getAcctMgmt()
5880 rc = cookie->err_rc; in getAcctMgmt()
5882 (void) __ns_ldap_freeError(&(cookie->errorp)); in getAcctMgmt()
5884 if (cookie->result == NULL) in getAcctMgmt()
5887 if ((rc = parse_acct_cont_resp_msg(cookie->resultctrl, acctResp)) in getAcctMgmt()
5894 delete_search_cookie(cookie); in getAcctMgmt()