24 RCSIDH(uri_h,
"$Id: ec9fc03acb9a451983a99f3c9873e5dc70ad3671 $")
26 #include <freeradius-devel/util/value.h>
27 #include <freeradius-devel/util/sbuff.h>
66 #define XLAT_URI_PART_TERMINATOR { .name = NULL, .terminals = NULL, .safe_for = 0, .func = NULL }
fr_dcursor_eval_t void const * uctx
Set of terminal elements.
An element in a lexicographically sorted array of name to num mappings.
fr_sbuff_term_t const * terminals
Characters that mark the end of this part.
int(* fr_uri_escape_func_t)(fr_value_box_t *vb, void *uctx)
A function used to escape an argument passed to an xlat.
size_t extra_skip
How many additional characters to skip after the terminal.
fr_uri_part_t const * uri_part
Start of the uri parts array.
fr_uri_escape_func_t func
Function to use to escape tainted values.
int fr_uri_escape_list(fr_value_box_list_t *uri, fr_uri_part_t const *uri_parts, void *uctx)
Parse a list of value boxes representing a URI.
fr_value_box_safe_for_t safe_for
What type of value is safe for this part.
int fr_uri_escape(fr_value_box_t *uri_vb, void *uctx)
Escapes an individual value box that's part of a URI, advancing the pointer to uri_parts.
char const * name
Name of this part of the URI.
int fr_uri_has_scheme(fr_value_box_list_t *uri, fr_table_num_sorted_t const *schemes, size_t schemes_len, int def)
Searches for a matching scheme in the table of schemes, using a list of value boxes representing the ...
void * uctx
to pass to fr_uri_escape_func_t.
uctx to pass to fr_uri_escape
Definition for a single part of a URI.
uintptr_t fr_value_box_safe_for_t
Escaping that's been applied to a value box.