request_t *request, UNUSED FR_DLIST_HEAD(fr_value_box_list) *in)
{
rlm_rest_t const *inst = talloc_get_type_abort(xctx->mctx->inst->data, rlm_rest_t);
- rlm_rest_thread_t *t = talloc_get_type_abort(xctx->mctx->thread, rlm_rest_thread_t);
rlm_rest_xlat_rctx_t *rctx = talloc_get_type_abort(xctx->rctx, rlm_rest_xlat_rctx_t);
int hcode;
ssize_t len;
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
talloc_free(rctx);
* We get a connection from the pool here as the CURL object
* is needed to use curl_easy_escape() for escaping
*/
- randle = rctx->handle = fr_pool_connection_get(t->pool, request);
+ randle = rctx->handle = fr_rest_slab_reserve(t->slab);
if (!randle) return XLAT_ACTION_FAIL;
/*
error:
rest_request_cleanup(inst, randle);
- fr_pool_connection_release(t->pool, request, randle);
+ fr_rest_slab_release(randle);
talloc_free(section);
return XLAT_ACTION_FAIL;
static unlang_action_t mod_authorize_result(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
{
rlm_rest_t const *inst = talloc_get_type_abort_const(mctx->inst->data, rlm_rest_t);
- rlm_rest_thread_t *t = talloc_get_type_abort(mctx->thread, rlm_rest_thread_t);
rlm_rest_section_t const *section = &inst->authenticate;
fr_curl_io_request_t *handle = talloc_get_type_abort(mctx->rctx, fr_curl_io_request_t);
finish:
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_RCODE(rcode);
}
if (!section->name) RETURN_MODULE_NOOP;
- handle = fr_pool_connection_get(t->pool, request);
+ handle = fr_rest_slab_reserve(t->slab);
if (!handle) RETURN_MODULE_FAIL;
ret = rlm_rest_perform(mctx, section, handle, request, NULL, NULL);
if (ret < 0) {
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_FAIL;
}
module_ctx_t const *mctx, request_t *request)
{
rlm_rest_t const *inst = talloc_get_type_abort_const(mctx->inst->data, rlm_rest_t);
- rlm_rest_thread_t *t = talloc_get_type_abort(mctx->thread, rlm_rest_thread_t);
rlm_rest_section_t const *section = &inst->authenticate;
fr_curl_io_request_t *handle = talloc_get_type_abort(mctx->rctx, fr_curl_io_request_t);
finish:
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_RCODE(rcode);
}
RDEBUG2("Login attempt with password");
}
- handle = fr_pool_connection_get(t->pool, request);
+ handle = fr_rest_slab_reserve(t->slab);
if (!handle) RETURN_MODULE_FAIL;
ret = rlm_rest_perform(mctx, section,
handle, request, username->vp_strvalue, password->vp_strvalue);
if (ret < 0) {
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_FAIL;
}
static unlang_action_t mod_accounting_result(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
{
rlm_rest_t const *inst = talloc_get_type_abort_const(mctx->inst->data, rlm_rest_t);
- rlm_rest_thread_t *t = talloc_get_type_abort(mctx->thread, rlm_rest_thread_t);
rlm_rest_section_t const *section = &inst->authenticate;
fr_curl_io_request_t *handle = talloc_get_type_abort(mctx->rctx, fr_curl_io_request_t);
finish:
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_RCODE(rcode);
}
if (!section->name) RETURN_MODULE_NOOP;
- handle = fr_pool_connection_get(t->pool, request);
+ handle = fr_rest_slab_reserve(t->slab);
if (!handle) RETURN_MODULE_FAIL;
ret = rlm_rest_perform(mctx, section, handle, request, NULL, NULL);
if (ret < 0) {
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_FAIL;
}
static unlang_action_t mod_post_auth_result(rlm_rcode_t *p_result, module_ctx_t const *mctx, request_t *request)
{
rlm_rest_t const *inst = talloc_get_type_abort_const(mctx->inst->data, rlm_rest_t);
- rlm_rest_thread_t *t = talloc_get_type_abort(mctx->thread, rlm_rest_thread_t);
rlm_rest_section_t const *section = &inst->authenticate;
fr_curl_io_request_t *handle = talloc_get_type_abort(mctx->rctx, fr_curl_io_request_t);
finish:
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_RCODE(rcode);
}
if (!section->name) RETURN_MODULE_NOOP;
- handle = fr_pool_connection_get(t->pool, request);
+ handle = fr_rest_slab_reserve(t->slab);
if (!handle) RETURN_MODULE_FAIL;
ret = rlm_rest_perform(mctx, section, handle, request, NULL, NULL);
if (ret < 0) {
rest_request_cleanup(inst, handle);
- fr_pool_connection_release(t->pool, request, handle);
+ fr_rest_slab_release(handle);
RETURN_MODULE_FAIL;
}