|  | The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
    | 
#include <freeradius-devel/util/value.h>#include <freeradius-devel/util/sbuff.h> Include dependency graph for uri.h:
 Include dependency graph for uri.h: This graph shows which files directly or indirectly include this file:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
| Data Structures | |
| struct | fr_uri_escape_ctx_t | 
| uctx to pass to fr_uri_escape  More... | |
| struct | fr_uri_part_t | 
| Definition for a single part of a URI.  More... | |
| Macros | |
| #define | XLAT_URI_PART_TERMINATOR { .name = NULL, .terminals = NULL, .safe_for = 0, .func = NULL } | 
| Typedefs | |
| typedef int(* | fr_uri_escape_func_t) (fr_value_box_t *vb, void *uctx) | 
| A function used to escape an argument passed to an xlat. | |
| Functions | |
| 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. | |
| 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. | |
| 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 URI. | |
| struct fr_uri_escape_ctx_t | 
uctx to pass to fr_uri_escape
 Collaboration diagram for fr_uri_escape_ctx_t:
 Collaboration diagram for fr_uri_escape_ctx_t:| Data Fields | ||
|---|---|---|
| void * | uctx | to pass to fr_uri_escape_func_t. | 
| fr_uri_part_t const * | uri_part | Start of the uri parts array. Will be updated as boxes are escaped. | 
| struct fr_uri_part_t | 
 Collaboration diagram for fr_uri_part_t:
 Collaboration diagram for fr_uri_part_t:| Data Fields | ||
|---|---|---|
| size_t | extra_skip | How many additional characters to skip after the terminal. | 
| fr_uri_escape_func_t | func | Function to use to escape tainted values. | 
| char const * | name | Name of this part of the URI. | 
| uint8_t const | part_adv[UINT8_MAX+1] | How many parts to advance for a specific terminal. | 
| fr_value_box_safe_for_t | safe_for | What type of value is safe for this part. | 
| fr_sbuff_term_t const * | terminals | Characters that mark the end of this part. | 
| typedef int(* fr_uri_escape_func_t) (fr_value_box_t *vb, void *uctx) | 
| 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.
| [in,out] | uri_vb | to escape | 
| [in] | uctx | A fr_uri_escape_ctx_t containing the initial fr_uri_part_t and the uctx to pass to the escaping function. | 
Definition at line 44 of file uri.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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.
Reads a URI from a list of value boxes and parses it according to the definition in uri_parts. Tainted values, where allowed, are escaped using the function specified for the uri part.
| uri | to parse. A list of string type value boxes containing fragments of a URI. | 
| uri_parts | definition of URI structure. Should point to the start of the array of uri parts. | 
| uctx | to pass to escaping function | 
Definition at line 140 of file uri.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 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 URI.
| uri | to parse. A list of string type value boxes containing fragments of a URI. | 
| schemes | Table of schemes to search. | 
| schemes_len | Number of schemes in the table. | 
| def | Default scheme to use if none is found. | 
Definition at line 167 of file uri.c.
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: 1.9.8
 1.9.8