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_memberof_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_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_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 (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_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, fr_value_box_list_t *args) |
Return the rcode as a string, or bool match if the argument is an rcode name. 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_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_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 874 of file rlm_cache.c.
|
static |
Return the fingerprint of the public certificate.
Arguments are
(<digest>)
%<inst>.certificate(fingerprint, <digest>)
Definition at line 897 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 723 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 584 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 645 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 785 of file rlm_cipher.c.
|
static |
Return the serial of the public certificate.
%<inst>.certificate(serial)
Definition at line 946 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 207 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 130 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 165 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 152 of file rlm_json.c.
|
static |
Check for a user being in a LDAP group.
Definition at line 888 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 1014 of file rlm_ldap.c.
|
static |
Escape LDAP string.
Definition at line 404 of file rlm_ldap.c.
|
static |
Unescape LDAP string.
Definition at line 459 of file rlm_ldap.c.
|
static |
Expand an LDAP URL into a query, and return a string result from that query.
Definition at line 663 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 382 of file rlm_mschap.c.
|
static |
Call perl code using an xlat.
Definition at line 427 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 3682 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 3739 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(http://example.com/)
Definition at line 512 of file rlm_rest.c.
|
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 372 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 1525 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 176 of file rlm_dict.c.
|
static |
Return the attribute number of an attribute reference.
Definition at line 206 of file rlm_dict.c.
|
static |
Return the attribute number of an attribute reference.
Definition at line 232 of file rlm_dict.c.
|
static |
Return the data type of an attribute reference.
Definition at line 266 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 564 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 169 of file rlm_date.c.
|
static |
Xlat to delay the request.
Example (delay 2 seconds):
%delay(2)
Definition at line 219 of file rlm_delay.c.
|
static |
Xlat for attr_by_num(<number>)
Definition at line 44 of file rlm_dict.c.
|
static |
Xlat for attr_by_oid(<oid>)
Definition at line 78 of file rlm_dict.c.
|
static |
Decode base64 string.
Example:
%base64.decode("Zm9v") == "foo"
Definition at line 1802 of file xlat_builtin.c.
|
static |
Encode string or attribute as base64.
Example:
%base64.encode("foo") == "Zm9v"
Definition at line 1753 of file xlat_builtin.c.
|
static |
Convert hex string to binary.
Example:
%bin("666f6f626172") == "foobar"
Definition at line 1863 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 1934 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 2060 of file xlat_builtin.c.
|
static |
Dynamically change the debugging level for the current request.
Example:
%debug(3)
Definition at line 115 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 298 of file xlat_builtin.c.
|
static |
Dynamically evaluate an expansion string.
Definition at line 1471 of file xlat_builtin.c.
|
static |
See if a named attribute exists.
Example:
"%{exists:&Foo}" == true
Definition at line 1712 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 816 of file xlat_builtin.c.
|
static |
Print data as hex, not as VALUE.
Example:
%hex("foobar") == "666f6f626172"
Definition at line 2109 of file xlat_builtin.c.
|
static |
Generate the HMAC-MD5 of a string or attribute.
Example:
%hmacmd5('foo', 'bar') == "0x31b6db9e5eb4addb42f1a6ca07367adc"
Definition at line 2184 of file xlat_builtin.c.
|
static |
Generate the HMAC-SHA1 of a string or attribute.
Example:
%hmacsha1('foo', 'bar') == "0x85d155c55ed286a300bd1cf124de08d87e914f3a"
Definition at line 2202 of file xlat_builtin.c.
|
static |
Mark one or more attributes as immutable.
Example:
%immutable(&request.State[*])
Definition at line 899 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 959 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 2284 of file xlat_builtin.c.
|
static |
Log something at DEBUG level.
Example:
%log.debug("This is a message")
Definition at line 1111 of file xlat_builtin.c.
|
static |
Change the log destination to the named one.
Example:
%log.destination('foo')
Definition at line 1198 of file xlat_builtin.c.
|
static |
Log something at DEBUG level.
Example:
%log.err("Big error here")
Definition at line 1136 of file xlat_builtin.c.
|
static |
Log something at INFO level.
Example:
%log("This is an informational message")
Definition at line 1086 of file xlat_builtin.c.
|
static |
Log something at WARN level.
Example:
%log.warn("Maybe something bad happened")
Definition at line 1161 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 1571 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 1268 of file xlat_builtin.c.
|
static |
Calculate the MD4 hash of a string or attribute.
Example:
%md4("foo") == "0ac6700c491d70fb8650940b1ca1e4b2"
Definition at line 2315 of file xlat_builtin.c.
|
static |
Calculate the MD5 hash of a string or attribute.
Example:
%md5("foo") == "acbd18db4cc2f85cedef654fccc4a4d8"
Definition at line 2355 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 1352 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 2401 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 802 of file base.c.
|
static |
Generate a random integer value.
For "N = %rand(MAX)", 0 <= N < MAX
Example:
%rand(100) == 42
Definition at line 2466 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 2521 of file xlat_builtin.c.
|
static |
Return the rcode as a string, or bool match if the argument is an rcode name.
Example:
"%{rcode:}" == "handled" "%{rcode:handled}" == true
Definition at line 1542 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 1669 of file xlat_builtin.c.
|
static |
Calculate the SHA1 hash of a string or attribute.
Example:
%sha1(foo) == "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
Definition at line 2816 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 2921 of file xlat_builtin.c.
|
static |
Print length of given string.
Example:
%strlen(foo) == 3
Definition at line 2953 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 3250 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 2996 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 3359 of file xlat_builtin.c.
|
static |
Convert a string to lowercase.
Example:
%tolower("Bar") == "bar"
Probably only works for ASCII
Definition at line 3481 of file xlat_builtin.c.
|
static |
Convert a string to uppercase.
Example:
%toupper("Foo") == "FOO"
Probably only works for ASCII
Definition at line 3500 of file xlat_builtin.c.
|
static |
URLencode special characters.
Example:
%urlquote("http://example.org/") == "http%3A%47%47example.org%47"
Definition at line 3522 of file xlat_builtin.c.
|
static |
URLdecode special characters.
Example:
%urlunquote("http%%3A%%47%%47example.org%%47") == "http://example.org/"
Definition at line 3606 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 169 of file rlm_icmp.c.
|
static |
|
static |
xlat "redundant", "load-balance" and "redundant-load-balance" processing
Definition at line 139 of file xlat_redundant.c.
|
static |
Perform a DNS lookup using libunbound.
Definition at line 347 of file rlm_unbound.c.
|
static |
Return the vendor of an attribute reference.
Definition at line 117 of file rlm_dict.c.
|
static |
Return the vendor number of an attribute reference.
Definition at line 151 of file rlm_dict.c.
|
static |
Calculate any digest supported by OpenSSL EVP_MD.
Example:
%sha2_256(foo) == "0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33"
Definition at line 2910 of file xlat_builtin.c.