The FreeRADIUS server
$Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
Functions | |
static xlat_action_t | aka_sim_3gpp_temporary_id_decrypt_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Decrypt a 3gpp temporary id. More... | |
static xlat_action_t | aka_sim_3gpp_temporary_id_encrypt_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Encrypts a 3gpp pseudonym. More... | |
static xlat_action_t | aka_sim_id_3gpp_temporary_id_key_index_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Returns the key index from a 3gpp temporary id. More... | |
static xlat_action_t | aka_sim_xlat_id_method_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Returns the SIM method EAP-SIM or EAP-AKA hinted at by the user identifier. More... | |
static xlat_action_t | aka_sim_xlat_id_type_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Returns the type of identity used. More... | |
static xlat_action_t | brotli_xlat_compress (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Produce a brotli compressed string. More... | |
static xlat_action_t | brotli_xlat_decompress (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Decompress a brotli string. More... | |
static xlat_action_t | cache_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Allow single attribute values to be retrieved from the cache. More... | |
static xlat_action_t | cipher_fingerprint_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the fingerprint of the public certificate. More... | |
static xlat_action_t | cipher_rsa_decrypt_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Decrypt input data. More... | |
static xlat_action_t | cipher_rsa_encrypt_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Encrypt input data. More... | |
static xlat_action_t | cipher_rsa_sign_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Sign input data. More... | |
static xlat_action_t | cipher_rsa_verify_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Verify input data. More... | |
static xlat_action_t | cipher_serial_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
Return the serial of the public certificate. More... | |
static xlat_action_t | escape_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Equivalent to the old safe_characters functionality in rlm_sql but with utf8 support. More... | |
static xlat_action_t | exec_xlat_oneshot (TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Exec programs from an xlat. More... | |
static xlat_action_t | json_encode_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Convert given attributes to a JSON document. More... | |
static xlat_action_t | json_escape_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Ensure contents are escaped correctly for a JSON document. More... | |
static xlat_action_t | json_jpath_validate_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Determine if a jpath expression is valid. More... | |
static xlat_action_t | json_quote_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Ensure contents are quoted correctly for a JSON document. More... | |
static xlat_action_t | ldap_group_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Check for a user being in a LDAP group. More... | |
static xlat_action_t | ldap_profile_xlat (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Expand an LDAP URL into a query, applying the results using the user update map. More... | |
static xlat_action_t | ldap_uri_escape_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Escape LDAP string. More... | |
static xlat_action_t | ldap_uri_unescape_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Unescape LDAP string. More... | |
static xlat_action_t | ldap_xlat (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Expand an LDAP URL into a query, and return a string result from that query. More... | |
static xlat_action_t | modhex_to_hex_xlat (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Xlat to convert Yubikey modhex to standard hex. More... | |
static xlat_action_t | mschap_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Get data from MSCHAP attributes. More... | |
static xlat_action_t | perl_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Call perl code using an xlat. More... | |
static xlat_action_t | protocol_decode_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Decode any protocol attribute / options. More... | |
static xlat_action_t | protocol_encode_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Encode protocol attributes / options. More... | |
static xlat_action_t | redis_node_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the node that is currently servicing a particular key. More... | |
static xlat_action_t | redis_remap_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Force a redis cluster remap. More... | |
static xlat_action_t | redis_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Xlat to make calls to redis. More... | |
static xlat_action_t | rest_xlat (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Simple xlat to read text data from a URL. More... | |
static xlat_action_t | sql_escape_xlat (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Escape a value to make it SQL safe. More... | |
static xlat_action_t | sql_fetch_xlat (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Execute an arbitrary SQL query, expecting results to be returned. More... | |
static xlat_action_t | sql_group_xlat (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
Check if the user is a member of a particular group. More... | |
static xlat_action_t | sql_modify_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Execute an arbitrary SQL query, returning the number of rows affected. More... | |
static xlat_action_t | sql_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Execute an arbitrary SQL query. More... | |
static xlat_action_t | unescape_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Equivalent to the old safe_characters functionality in rlm_sql. More... | |
static xlat_action_t | unix_group_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Check if the user is a member of a particular unix group. More... | |
static xlat_action_t | unlang_foreach_xlat_func (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
Implements the Foreach-Variable-X. More... | |
static xlat_action_t | unlang_interpret_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Get information about the interpreter state. More... | |
static xlat_action_t | unpack_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Unpack data. More... | |
static xlat_action_t | winbind_group_xlat (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Check if the user is a member of a particular winbind group. More... | |
static xlat_action_t | xlat_attr (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the attribute name of an attribute reference. More... | |
static xlat_action_t | xlat_attr_num (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the attribute number of an attribute reference. More... | |
static xlat_action_t | xlat_attr_oid (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the attribute number of an attribute reference. More... | |
static xlat_action_t | xlat_attr_type (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the data type of an attribute reference. More... | |
static xlat_action_t | xlat_client (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
xlat to get client config data More... | |
static xlat_action_t | xlat_config (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
xlat to get config values More... | |
static xlat_action_t | xlat_date_convert (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Get or convert time and date. More... | |
static xlat_action_t | xlat_delay (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Xlat to delay the request. More... | |
static xlat_action_t | xlat_dict_attr_by_num (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Xlat for attr_by_num(<number>) More... | |
static xlat_action_t | xlat_dict_attr_by_oid (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Xlat for attr_by_oid(<oid>) More... | |
static xlat_action_t | xlat_func_base64_decode (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Decode base64 string. More... | |
static xlat_action_t | xlat_func_base64_encode (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Encode string or attribute as base64. More... | |
static xlat_action_t | xlat_func_bin (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Convert hex string to binary. More... | |
static xlat_action_t | xlat_func_cast (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Cast one or more output value-boxes to the given type. More... | |
static xlat_action_t | xlat_func_chap_password (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Produce a CHAP-Password hash value. More... | |
static xlat_action_t | xlat_func_concat (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Concatenate string representation of values of given attributes using separator. More... | |
static xlat_action_t | xlat_func_debug (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Dynamically change the debugging level for the current request. More... | |
static xlat_action_t | xlat_func_debug_attr (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Print out attribute info. More... | |
static xlat_action_t | xlat_func_eval (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Dynamically evaluate an expansion string. More... | |
static xlat_action_t | xlat_func_exists (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
See if a named attribute exists. More... | |
static xlat_action_t | xlat_func_explode (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Split a string into multiple new strings based on a delimiter. More... | |
static xlat_action_t | xlat_func_expr_rcode (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Match the passed rcode against request->rcode. More... | |
static xlat_action_t | xlat_func_hex (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Print data as hex, not as VALUE. More... | |
static xlat_action_t | xlat_func_hmac_md5 (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *in) |
Generate the HMAC-MD5 of a string or attribute. More... | |
static xlat_action_t | xlat_func_hmac_sha1 (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *in) |
Generate the HMAC-SHA1 of a string or attribute. More... | |
static xlat_action_t | xlat_func_immutable_attr (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Mark one or more attributes as immutable. More... | |
static xlat_action_t | xlat_func_integer (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Print data as integer, not as VALUE. More... | |
static xlat_action_t | xlat_func_length (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *in) |
Return the on-the-wire size of the boxes in bytes. More... | |
static xlat_action_t | xlat_func_log_debug (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Log something at DEBUG level. More... | |
static xlat_action_t | xlat_func_log_dst (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Change the log destination to the named one. More... | |
static xlat_action_t | xlat_func_log_err (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Log something at DEBUG level. More... | |
static xlat_action_t | xlat_func_log_info (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Log something at INFO level. More... | |
static xlat_action_t | xlat_func_log_warn (UNUSED TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Log something at WARN level. More... | |
static xlat_action_t | xlat_func_lpad (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
lpad a string More... | |
static xlat_action_t | xlat_func_map (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Processes fmt as a map string and applies it to the current request. More... | |
static xlat_action_t | xlat_func_md4 (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Calculate the MD4 hash of a string or attribute. More... | |
static xlat_action_t | xlat_func_md5 (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Calculate the MD5 hash of a string or attribute. More... | |
static xlat_action_t | xlat_func_next_time (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Calculate number of seconds until the next n hour(s), day(s), week(s), year(s). More... | |
static xlat_action_t | xlat_func_pairs (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Encode attributes as a series of string attribute/value pairs. More... | |
static xlat_action_t | xlat_func_radius_secret_verify (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Validates a request against a know shared secret. More... | |
static xlat_action_t | xlat_func_rand (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *in) |
Generate a random integer value. More... | |
static xlat_action_t | xlat_func_randstr (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Generate a string of random chars. More... | |
static xlat_action_t | xlat_func_rcode (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *args) |
Return the current rcode as a string. More... | |
static xlat_action_t | xlat_func_rpad (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Right pad a string. More... | |
static xlat_action_t | xlat_func_sha1 (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Calculate the SHA1 hash of a string or attribute. More... | |
static xlat_action_t | xlat_func_str_printable (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Return whether a string has only printable chars. More... | |
static xlat_action_t | xlat_func_str_utf8 (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Return whether a string is valid UTF-8. More... | |
static xlat_action_t | xlat_func_string (UNUSED TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *in) |
Print data as string, if possible. More... | |
static xlat_action_t | xlat_func_strlen (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Print length of given string. More... | |
static xlat_action_t | xlat_func_subnet_broadcast (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Calculate the broadcast address from a IPv4 prefix. More... | |
static xlat_action_t | xlat_func_subnet_netmask (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
Calculate the subnet mask from a IPv4 prefix. More... | |
static xlat_action_t | xlat_func_subst (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Perform regex substitution. More... | |
static xlat_action_t | xlat_func_substr (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Extract a substring from string / octets data. More... | |
static xlat_action_t | xlat_func_time (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
Return the time as a FR_TYPE_DATE. More... | |
static xlat_action_t | xlat_func_tolower (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Convert a string to lowercase. More... | |
static xlat_action_t | xlat_func_toupper (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Convert a string to uppercase. More... | |
static xlat_action_t | xlat_func_urlquote (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, UNUSED request_t *request, fr_value_box_list_t *args) |
URLencode special characters. More... | |
static xlat_action_t | xlat_func_urlunquote (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *args) |
URLdecode special characters. More... | |
static xlat_action_t | xlat_icmp (TALLOC_CTX *ctx, UNUSED fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Xlat to ping a specified ip address. More... | |
static xlat_action_t | xlat_idna (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Convert domain name to ASCII punycode. More... | |
static xlat_action_t | xlat_redundant (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, UNUSED fr_value_box_list_t *in) |
xlat "redundant", "load-balance" and "redundant-load-balance" processing More... | |
static xlat_action_t | xlat_unbound (TALLOC_CTX *ctx, fr_dcursor_t *out, xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Perform a DNS lookup using libunbound. More... | |
static xlat_action_t | xlat_vendor (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the vendor of an attribute reference. More... | |
static xlat_action_t | xlat_vendor_num (TALLOC_CTX *ctx, fr_dcursor_t *out, UNUSED xlat_ctx_t const *xctx, request_t *request, fr_value_box_list_t *in) |
Return the vendor number of an attribute reference. More... | |
Variables | |
static xlat_arg_parser_t const | xlat_func_string_arg [] |
Calculate any digest supported by OpenSSL EVP_MD. More... | |
|
static |
Decrypt a 3gpp temporary id.
%3gpp_temporary_id_decrypt(<id> <key>)
The pseudonym is in the format
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Tag | KeyID | Encrypted IMSI +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Encrypted IMSI (cont) | | | | |-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
Tag (6 bits) - Used to mark the identity as a temporary pseudonym or re-authentication identity. The idea of this being 6 bits is so that we can choose values that match base64 sextets, so the first character in the base64 output matches one of the known tags for EAP-SIM/AKA/AKA' identities.
Key Indicator (4 bits) - Used to select the appropriate key from multiple keys the server may have used to encrypt IMSIs.
Encrypted IMSI (128 bits) - The original IMSI encrypted with AES-128-ECB.
Definition at line 226 of file xlat.c.
|
static |
|
static |
|
static |
|
static |
|
static |
Produce a brotli compressed string.
Example:
%brotli.compress(<input>) == <compressed data>
Definition at line 185 of file rlm_brotli.c.
|
static |
Decompress a brotli string.
Example:
%brotli.decompress(<input>) == <decompressed data>
Definition at line 294 of file rlm_brotli.c.
|
static |
Allow single attribute values to be retrieved from the cache.
Definition at line 888 of file rlm_cache.c.
|
static |
Return the fingerprint of the public certificate.
Arguments are
(<digest>)
%<inst>.certificate(fingerprint, <digest>)
Definition at line 865 of file rlm_cipher.c.
|
static |
Decrypt input data.
Arguments are
(<ciphertext\>...)
%<inst>.decrypt(<ciphertext>...)
If multiple arguments are provided they will be concatenated.
Definition at line 691 of file rlm_cipher.c.
|
static |
Encrypt input data.
Arguments are
(<plaintext>...)
%<inst>.encrypt(<plaintext>...)
If multiple arguments are provided they will be concatenated.
Definition at line 552 of file rlm_cipher.c.
|
static |
Sign input data.
Arguments are
(<plaintext>...)
%<inst>.sign(<plaintext>...)
If multiple arguments are provided they will be concatenated.
Definition at line 613 of file rlm_cipher.c.
|
static |
Verify input data.
Arguments are
(<signature>, <plaintext>...)
%<inst>.verify(<signature>, <plaintext>...)
If multiple arguments are provided (after
<signature>
) they will be concatenated.
Definition at line 753 of file rlm_cipher.c.
|
static |
Return the serial of the public certificate.
%<inst>.certificate(serial)
Definition at line 914 of file rlm_cipher.c.
|
static |
Equivalent to the old safe_characters functionality in rlm_sql but with utf8 support.
Example:
%escape('<img>foo.jpg</img>') == "=60img=62foo.jpg=60/img=62"
Definition at line 64 of file rlm_escape.c.
|
static |
Exec programs from an xlat.
Example:
%exec('/bin/echo', 'hello') == "hello"
Exactly one request is consumed during the process lifetime, after which the process exits.
Definition at line 137 of file rlm_exec.c.
|
static |
Convert given attributes to a JSON document.
Usage is json.encode(attr tmpl list)
Definition at line 205 of file rlm_json.c.
|
static |
Ensure contents are escaped correctly for a JSON document.
This allows values to be embedded inside JSON strings.
Definition at line 128 of file rlm_json.c.
|
static |
Determine if a jpath expression is valid.
Writes the output (in the format
<bytes parsed>[:error]
).
Definition at line 163 of file rlm_json.c.
|
static |
Ensure contents are quoted correctly for a JSON document.
This emits values with escaping, and appropriate quoting '"' depending on the type of values being produced. This lets boxed values be inserted directly as table values and array elements, without needing to determine if the expansion needs to be wrapped in quotes.
Definition at line 150 of file rlm_json.c.
|
static |
Check for a user being in a LDAP group.
Definition at line 936 of file rlm_ldap.c.
|
static |
Expand an LDAP URL into a query, applying the results using the user update map.
For fetching profiles by DN.
Definition at line 1062 of file rlm_ldap.c.
|
static |
Escape LDAP string.
Definition at line 409 of file rlm_ldap.c.
|
static |
Unescape LDAP string.
Definition at line 464 of file rlm_ldap.c.
|
static |
Expand an LDAP URL into a query, and return a string result from that query.
Definition at line 738 of file rlm_ldap.c.
|
static |
Xlat to convert Yubikey modhex to standard hex.
Example:
%modhextohex('vvrbuctetdhc') == "ffc1e0d3d260"
Definition at line 144 of file rlm_yubikey.c.
|
static |
Get data from MSCHAP attributes.
Pulls NT-Response, LM-Response, or Challenge from MSCHAP attributes.
Definition at line 381 of file rlm_mschap.c.
|
static |
Call perl code using an xlat.
Definition at line 445 of file rlm_perl.c.
|
static |
Decode any protocol attribute / options.
Creates protocol-specific attributes based on the given binary option data
Example:
%dhcpv4.decode(%{Tmp-Octets-0})
Definition at line 3757 of file xlat_builtin.c.
|
static |
Encode protocol attributes / options.
Returns octet string created from the provided pairs
Example:
%dhcpv4.encode(&request[*])
Definition at line 3863 of file xlat_builtin.c.
|
static |
Return the node that is currently servicing a particular key.
%redis.node(<key>[, <index>])
Definition at line 325 of file rlm_redis.c.
|
static |
Force a redis cluster remap.
%redis.remap(<redis server ip>:<redis server port>)
Definition at line 263 of file rlm_redis.c.
|
static |
Xlat to make calls to redis.
%redis(<redis command>)
Definition at line 589 of file rlm_redis.c.
|
static |
Simple xlat to read text data from a URL.
Example:
%rest(POST, http://example.com/, "{ \"key\": \"value\" }")
Definition at line 515 of file rlm_rest.c.
|
static |
|
static |
|
static |
|
static |
|
static |
Execute an arbitrary SQL query.
For SELECTs, the values of the first column will be returned. For INSERTS, UPDATEs and DELETEs, the number of rows affected will be returned instead.
%sql(<sql statement>)
Definition at line 559 of file rlm_sql.c.
|
static |
Equivalent to the old safe_characters functionality in rlm_sql.
Example:
%unescape('=60img=62foo.jpg=60/img=62') == "<img>foo.jpg</img>"
Definition at line 138 of file rlm_escape.c.
|
static |
Check if the user is a member of a particular unix group.
%unix.group(<name>)
Definition at line 161 of file rlm_unix.c.
|
static |
|
static |
Get information about the interpreter state.
Definition at line 1544 of file interpret.c.
|
static |
Unpack data.
Example:
%unpack(%{Class}, 0, integer)
Expands Class, treating octet at offset 0 (bytes 0-3) as an "integer".
Definition at line 52 of file rlm_unpack.c.
|
static |
Check if the user is a member of a particular winbind group.
%winbind.group(<name>)
Definition at line 242 of file rlm_winbind.c.
|
static |
Return the attribute name of an attribute reference.
Definition at line 209 of file rlm_dict.c.
|
static |
Return the attribute number of an attribute reference.
Definition at line 239 of file rlm_dict.c.
|
static |
Return the attribute number of an attribute reference.
Definition at line 265 of file rlm_dict.c.
|
static |
Return the data type of an attribute reference.
Definition at line 299 of file rlm_dict.c.
|
static |
xlat to get client config data
Example:
%client(foo, [<ipaddr>])
Definition at line 234 of file rlm_client.c.
|
static |
xlat to get config values
%config(section.subsection.attribute)
Definition at line 567 of file main_config.c.
|
static |
Get or convert time and date.
Using the format in the module instance configuration, get various timestamps, or convert strings to date format.
When the request arrived:
%date(request)
Now:
%date(now)
Examples (Tmp-Integer-0 = 1506101100):
update request { &Tmp-String-0 := %date(%{Tmp-Integer-0}) ("Fri 22 Sep 18:25:00 BST 2017") &Tmp-Integer-1 := %date(%{Tmp-String-0}) (1506101100) }
Definition at line 168 of file rlm_date.c.
|
static |
Xlat to delay the request.
Example (delay 2 seconds):
%delay(2)
Definition at line 220 of file rlm_delay.c.
|
static |
Xlat for attr_by_num(<number>)
Definition at line 77 of file rlm_dict.c.
|
static |
Xlat for attr_by_oid(<oid>)
Definition at line 111 of file rlm_dict.c.
|
static |
Decode base64 string.
Example:
%base64.decode("Zm9v") == "foo"
Definition at line 1771 of file xlat_builtin.c.
|
static |
Encode string or attribute as base64.
Example:
%base64.encode("foo") == "Zm9v"
Definition at line 1722 of file xlat_builtin.c.
|
static |
Convert hex string to binary.
Example:
%bin("666f6f626172") == "foobar"
Definition at line 1832 of file xlat_builtin.c.
|
static |
Cast one or more output value-boxes to the given type.
First argument of is type to cast to.
Example:
%cast('string', %{request[*]}) results in all of the input boxes being cast to string/
Definition at line 1903 of file xlat_builtin.c.
|
static |
Produce a CHAP-Password hash value.
Example:
%chap.password(<password>) == 0x<id><md5_hash>
Definition at line 140 of file rlm_chap.c.
|
static |
Concatenate string representation of values of given attributes using separator.
First argument of is the list of attributes to concatenate, followed by an optional separator
Example:
%concat(%{request.[*]}, ',') == "<attr1value>,<attr2value>,<attr3value>,..." %concat(%{Tmp-String-0[*]}, '. ') == "<str1value>. <str2value>. <str3value>. ..." %concat(%join(%{User-Name}, %{Calling-Station-Id}), ', ') == "bob, aa:bb:cc:dd:ee:ff"
Definition at line 2034 of file xlat_builtin.c.
|
static |
Dynamically change the debugging level for the current request.
Example:
%debug(3)
Definition at line 84 of file xlat_builtin.c.
|
static |
Print out attribute info.
Prints out all instances of a current attribute, or all attributes in a list.
At higher debugging levels, also prints out alternative decodings of the same value. This is helpful to determine types for unknown attributes of long passed vendors, or just crazy/broken NAS.
This expands to a zero length string.
Example:
%debug_attr(&request)
Definition at line 267 of file xlat_builtin.c.
|
static |
Dynamically evaluate an expansion string.
Definition at line 1440 of file xlat_builtin.c.
|
static |
See if a named attribute exists.
Example:
"%{exists:&Foo}" == true
Definition at line 1782 of file xlat_expr.c.
|
static |
Split a string into multiple new strings based on a delimiter.
%explode(<string>, <delim>)
Example:
update request { &Tmp-String-1 := "a,b,c" } "%concat(%explode(%{Tmp-String-1}, ','), '|')" == "a|b|c"g
Definition at line 785 of file xlat_builtin.c.
|
static |
Match the passed rcode against request->rcode.
Example:
%expr.rcode('handled') == true # ...or how it's used normally used if (handled) { ... }
Definition at line 1574 of file xlat_expr.c.
|
static |
Print data as hex, not as VALUE.
Example:
%hex("foobar") == "666f6f626172"
Definition at line 2083 of file xlat_builtin.c.
|
static |
Generate the HMAC-MD5 of a string or attribute.
Example:
%hmacmd5('foo', 'bar') == "0x31b6db9e5eb4addb42f1a6ca07367adc"
Definition at line 2158 of file xlat_builtin.c.
|
static |
Generate the HMAC-SHA1 of a string or attribute.
Example:
%hmacsha1('foo', 'bar') == "0x85d155c55ed286a300bd1cf124de08d87e914f3a"
Definition at line 2176 of file xlat_builtin.c.
|
static |
Mark one or more attributes as immutable.
Example:
%immutable(&request.State[*])
Definition at line 868 of file xlat_builtin.c.
|
static |
Print data as integer, not as VALUE.
Example:
update request { &Tmp-IP-Address-0 := "127.0.0.5" } %integer(%{Tmp-IP-Address-0}) == 2130706437
Definition at line 928 of file xlat_builtin.c.
|
static |
Return the on-the-wire size of the boxes in bytes.
skips null values
Example:
%length(foobar) == 6 %length(%bin("0102030005060708")) == 8
Definition at line 2258 of file xlat_builtin.c.
|
static |
Log something at DEBUG level.
Example:
%log.debug("This is a message")
Definition at line 1080 of file xlat_builtin.c.
|
static |
Change the log destination to the named one.
Example:
%log.destination('foo')
Definition at line 1167 of file xlat_builtin.c.
|
static |
Log something at DEBUG level.
Example:
%log.err("Big error here")
Definition at line 1105 of file xlat_builtin.c.
|
static |
Log something at INFO level.
Example:
%log("This is an informational message")
Definition at line 1055 of file xlat_builtin.c.
|
static |
Log something at WARN level.
Example:
%log.warn("Maybe something bad happened")
Definition at line 1130 of file xlat_builtin.c.
|
static |
lpad a string
%lpad(%{Attribute-Name}, <length> [, <fill>])
Example: (User-Name = "foo")
%lpad(%{User-Name}, 5 'x') == "xxfoo"
Definition at line 1540 of file xlat_builtin.c.
|
static |
Processes fmt as a map string and applies it to the current request.
e.g.
%map("&User-Name := 'foo'")
Allows sets of modifications to be cached and then applied. Useful for processing generic attributes from LDAP.
Definition at line 1237 of file xlat_builtin.c.
|
static |
Calculate the MD4 hash of a string or attribute.
Example:
%md4("foo") == "0ac6700c491d70fb8650940b1ca1e4b2"
Definition at line 2289 of file xlat_builtin.c.
|
static |
Calculate the MD5 hash of a string or attribute.
Example:
%md5("foo") == "acbd18db4cc2f85cedef654fccc4a4d8"
Definition at line 2329 of file xlat_builtin.c.
|
static |
Calculate number of seconds until the next n hour(s), day(s), week(s), year(s).
For example, if it were 16:18 nexttime(1h) would expand to 2520.
The envisaged usage for this function is to limit sessions so that they don't cross billing periods. The output of the xlat should be combined with rand() to create some jitter, unless the desired effect is every subscriber on the network re-authenticating at the same time.
Definition at line 1321 of file xlat_builtin.c.
|
static |
Encode attributes as a series of string attribute/value pairs.
This is intended to serialize one or more attributes as a comma delimited string.
Example:
%pairs(request.[*]) == 'User-Name = "foo"User-Password = "bar"' %concat(%pairs(request.[*]), ', ') == 'User-Name = "foo", User-Password = "bar"'
Definition at line 2375 of file xlat_builtin.c.
|
static |
Validates a request against a know shared secret.
Designed for the specific purpose of verifying dynamic clients against a know shared secret.
Example:
%radius.secret.verify(<secret>)
Definition at line 839 of file base.c.
|
static |
Generate a random integer value.
For "N = %rand(MAX)", 0 <= N < MAX
Example:
%rand(100) == 42
Definition at line 2440 of file xlat_builtin.c.
|
static |
Generate a string of random chars.
Build strings of random chars, useful for generating tokens and passcodes Format similar to String::Random.
Format characters may include the following, and may be preceded by a repetition count:
Example:
%randstr("CCCC!!cccnnn") == "IPFL>{saf874" %randstr("42o") == "yHdupUwVbdHprKCJRYfGbaWzVwJwUXG9zPabdGAhM9" %hex(%randstr("bbbb")) == "a9ce04f3" %hex(%randstr("8b")) == "fe165529f9f66839"
Max repetitions of a single character class
Definition at line 2495 of file xlat_builtin.c.
|
static |
Return the current rcode as a string.
Example:
"%rcode()" == "handled"
Definition at line 1625 of file xlat_expr.c.
|
static |
Right pad a string.
%rpad(%{Attribute-Name}, <length> [, <fill>])
Example: (User-Name = "foo")
%rpad(%{User-Name}, 5 'x') == "fooxx"
Definition at line 1638 of file xlat_builtin.c.
|
static |
Calculate the SHA1 hash of a string or attribute.
Example:
%sha1(foo) == "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
Definition at line 2790 of file xlat_builtin.c.
|
static |
Return whether a string has only printable chars.
This function returns true if the input string contains UTF8 sequences and printable chars.
Example:
%str.printable("🍉abcdef🍓") == true %str.printable("\000\n\r\t") == false %str.printable("\t abcd", yes) == true
Definition at line 2976 of file xlat_builtin.c.
|
static |
Return whether a string is valid UTF-8.
This function returns true if the input string is valid UTF-8, false otherwise.
Example:
%str.utf8(🍉🥝🍓) == true %str.utf8(🍉\xff🍓) == false
Definition at line 3032 of file xlat_builtin.c.
|
static |
Print data as string, if possible.
Concat and cast one or more input boxes to a single output box string.
Definition at line 2901 of file xlat_builtin.c.
|
static |
Print length of given string.
Example:
%strlen(foo) == 3
Definition at line 2933 of file xlat_builtin.c.
|
static |
Calculate the broadcast address from a IPv4 prefix.
Example:
%ip.v4.broadcast(%{Network-Prefix})
Definition at line 3828 of file xlat_builtin.c.
|
static |
Calculate the subnet mask from a IPv4 prefix.
Example:
%ip.v4.netmask(%{Network-Prefix})
Definition at line 3806 of file xlat_builtin.c.
|
static |
Perform regex substitution.
%subst(<subject>, <pattern>, <replace>)
Example: (User-Name = "foobar")
%subst(%{User-Name}, 'oo', 'un') == "funbar"
Definition at line 3325 of file xlat_builtin.c.
|
static |
Extract a substring from string / octets data.
Non string / octets data is cast to a string.
Second parameter is start position, optional third parameter is length Negative start / length count from RHS of data.
Example: (User-Name = "hello")
%substr(&User-Name, 1, 3) == 'ell'
Definition at line 3071 of file xlat_builtin.c.
|
static |
Return the time as a FR_TYPE_DATE.
Note that all operations are UTC.
%time()
Example:
update reply { &Reply-Message := "%{%time(now) - %time(request)}" }
Definition at line 3434 of file xlat_builtin.c.
|
static |
Convert a string to lowercase.
Example:
%tolower("Bar") == "bar"
Probably only works for ASCII
Definition at line 3556 of file xlat_builtin.c.
|
static |
Convert a string to uppercase.
Example:
%toupper("Foo") == "FOO"
Probably only works for ASCII
Definition at line 3575 of file xlat_builtin.c.
|
static |
URLencode special characters.
Example:
%urlquote("http://example.org/") == "http%3A%47%47example.org%47"
Definition at line 3597 of file xlat_builtin.c.
|
static |
URLdecode special characters.
Example:
%urlunquote("http%%3A%%47%%47example.org%%47") == "http://example.org/"
Definition at line 3681 of file xlat_builtin.c.
|
static |
Xlat to ping a specified ip address.
Example (ping 192.0.2.1):
%icmp(192.0.2.1)
Definition at line 167 of file rlm_icmp.c.
|
static |
|
static |
xlat "redundant", "load-balance" and "redundant-load-balance" processing
Definition at line 150 of file xlat_redundant.c.
|
static |
Perform a DNS lookup using libunbound.
Definition at line 346 of file rlm_unbound.c.
|
static |
Return the vendor of an attribute reference.
Definition at line 150 of file rlm_dict.c.
|
static |
Return the vendor number of an attribute reference.
Definition at line 184 of file rlm_dict.c.
|
static |
Calculate any digest supported by OpenSSL EVP_MD.
Example:
%sha2_256(foo) == "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
Definition at line 2890 of file xlat_builtin.c.