From: Alan T. DeKok Date: Mon, 9 Dec 2019 22:00:09 +0000 (-0500) Subject: add API to clear request_data X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=33c8af9031618f293195802facfd5ab3cb3433dc;p=thirdparty%2Ffreeradius-server.git add API to clear request_data --- diff --git a/src/lib/server/request_data.c b/src/lib/server/request_data.c index 120bddaad33..aaf8d6ba5d9 100644 --- a/src/lib/server/request_data.c +++ b/src/lib/server/request_data.c @@ -653,3 +653,17 @@ bool request_data_verify_parent(TALLOC_CTX *parent, fr_dlist_head_t *entry) return true; } #endif + +/** Clear all of the request data associated with a request. + * + */ +int request_data_clear(REQUEST *request) +{ + request_data_t *rd = NULL; + + while ((rd = fr_dlist_next(&request->data, rd))) { + if (talloc_free(rd) < 0) return -1; + } + + return 0; +} diff --git a/src/lib/server/request_data.h b/src/lib/server/request_data.h index a09fe1baeb1..c6c521b01e5 100644 --- a/src/lib/server/request_data.h +++ b/src/lib/server/request_data.h @@ -75,6 +75,8 @@ bool request_data_persistable(request_data_t *rd); bool request_data_verify_parent(TALLOC_CTX *parent, fr_dlist_head_t *entry); #endif +int request_data_clear(REQUEST *request); + #ifdef __cplusplus } #endif