:orphan: .. index:: pair: group; RADIUS Server Configuration and RADIUS CSAP .. _doxid-group__tapi__radius: RADIUS Server Configuration and RADIUS CSAP =========================================== .. toctree:: :hidden: enum_tapi_auth_eap_t.rst enum_tapi_auth_key_mgmt_t.rst enum_tapi_auth_proto_t.rst enum_tapi_radius_acct_status_t.rst enum_tapi_radius_code_t.rst enum_tapi_radius_nas_port_type_t.rst enum_tapi_radius_term_action_t.rst enum_tapi_radius_term_cause_t.rst enum_tapi_radius_type_t.rst enum_tapi_radius_usr_list_t.rst struct_tapi_auth_info_s.rst struct_tapi_auth_tls_s.rst struct_tapi_auth_wifi_s.rst struct_tapi_radius_attr_info_t.rst struct_tapi_radius_attr_list_t.rst struct_tapi_radius_attr_t.rst struct_tapi_radius_clnt_s.rst struct_tapi_radius_packet_t.rst struct_tapi_radius_pkt_handler_data.rst struct_tapi_radius_serv_s.rst Overview ~~~~~~~~ Copyright (C) 2004-2022 OKTET Labs Ltd. :ref:`More...` .. ref-code-block:: cpp :class: doxyrest-overview-code-block // typedefs typedef uint8_t :ref:`tapi_radius_attr_type_t`; typedef void (*:target:`radius_callback`)( const tapi_radius_packet_t *pkt, void *userdata ); typedef struct :ref:`tapi_radius_pkt_handler_data` :target:`tapi_radius_pkt_handler_data`; typedef struct :ref:`tapi_radius_serv_s` :ref:`tapi_radius_serv_t`; typedef struct :ref:`tapi_radius_clnt_s` :ref:`tapi_radius_clnt_t`; typedef struct :ref:`tapi_auth_tls_s` :ref:`tapi_auth_tls_t`; typedef struct :ref:`tapi_auth_info_s` :ref:`tapi_auth_info_t`; typedef struct :ref:`tapi_auth_wifi_s` :ref:`tapi_auth_wifi_t`; // enums enum :ref:`tapi_auth_eap_t`; enum :ref:`tapi_auth_key_mgmt_t`; enum :ref:`tapi_auth_proto_t`; enum :ref:`tapi_radius_acct_status_t`; enum :ref:`tapi_radius_code_t`; enum :ref:`tapi_radius_nas_port_type_t`; enum :ref:`tapi_radius_term_action_t`; enum :ref:`tapi_radius_term_cause_t`; enum :ref:`tapi_radius_type_t`; enum :ref:`tapi_radius_usr_list_t`; // structs struct :ref:`tapi_auth_info_s`; struct :ref:`tapi_auth_tls_s`; struct :ref:`tapi_auth_wifi_s`; struct :ref:`tapi_radius_attr_info_t`; struct :ref:`tapi_radius_attr_list_t`; struct :ref:`tapi_radius_attr_t`; struct :ref:`tapi_radius_clnt_s`; struct :ref:`tapi_radius_packet_t`; struct :ref:`tapi_radius_pkt_handler_data`; struct :ref:`tapi_radius_serv_s`; // global functions static const char* :ref:`tapi_radius_code2str`(:ref:`tapi_radius_code_t` code); static const char* :ref:`tapi_radius_attr_type2str`(:ref:`tapi_radius_type_t` type); static const char* :ref:`tapi_radius_acct_status2str`(:ref:`tapi_radius_acct_status_t` status); static const char* :ref:`tapi_radius_term_cause2str`(:ref:`tapi_radius_term_cause_t` cause); void :ref:`tapi_radius_dict_init`(); const :ref:`tapi_radius_attr_info_t`* :ref:`tapi_radius_dict_lookup`(:ref:`tapi_radius_attr_type_t` type); const :ref:`tapi_radius_attr_info_t`* :ref:`tapi_radius_dict_lookup_by_name`(const char* name); void :ref:`tapi_radius_attr_list_init`(:ref:`tapi_radius_attr_list_t`* list); :ref:`te_errno` :ref:`tapi_radius_attr_list_push`(:ref:`tapi_radius_attr_list_t`* list, const :ref:`tapi_radius_attr_t`* attr); :ref:`te_errno` :ref:`tapi_radius_attr_list_push_value`(:ref:`tapi_radius_attr_list_t`* list, const char* name, ...); void :ref:`tapi_radius_attr_list_free`(:ref:`tapi_radius_attr_list_t`* list); :ref:`te_errno` :ref:`tapi_radius_attr_list_copy`(:ref:`tapi_radius_attr_list_t`* dst, const :ref:`tapi_radius_attr_list_t`* src); const :ref:`tapi_radius_attr_t`* :ref:`tapi_radius_attr_list_find`(const :ref:`tapi_radius_attr_list_t`* list, :ref:`tapi_radius_attr_type_t` type); :ref:`te_errno` :ref:`tapi_radius_attr_list_to_string`(const :ref:`tapi_radius_attr_list_t`* list, char** str); :ref:`te_errno` :ref:`tapi_radius_parse_packet`(const uint8_t* data, size_t data_len, :ref:`tapi_radius_packet_t`* packet); :ref:`tapi_tad_trrecv_cb_data`* :ref:`tapi_radius_trrecv_cb_data`(radius_callback callback, void* user_data); :ref:`te_errno` :ref:`tapi_radius_csap_create`(const char* ta, int sid, const char* device, const in_addr_t net_addr, int port, :ref:`csap_handle_t`* csap); :ref:`te_errno` :ref:`tapi_radius_serv_enable`(const char* ta_name); :ref:`te_errno` :ref:`tapi_radius_serv_disable`(const char* ta_name); :ref:`te_errno` :ref:`tapi_radius_serv_set`(const char* ta_name, const :ref:`tapi_radius_serv_t`* cfg); :ref:`te_errno` :ref:`tapi_radius_serv_add_client`(const char* ta_name, const :ref:`tapi_radius_clnt_t`* cfg); :ref:`te_errno` :ref:`tapi_radius_serv_del_client`(const char* ta_name, const struct in_addr* net_addr); :ref:`te_errno` :ref:`tapi_radius_serv_add_user`(const char* ta_name, const char* user_name, bool acpt_user, const :ref:`tapi_radius_attr_list_t`* check_attrs, const :ref:`tapi_radius_attr_list_t`* acpt_attrs, const :ref:`tapi_radius_attr_list_t`* chlg_attrs); :ref:`te_errno` :ref:`tapi_radius_serv_set_user_attr`(const char* ta_name, const char* user_name, :ref:`tapi_radius_usr_list_t` list_type, const :ref:`tapi_radius_attr_list_t`* attrs); :ref:`te_errno` :ref:`tapi_radius_serv_del_user`(const char* ta_name, const char* user_name); :ref:`te_errno` :target:`tapi_radius_add_auth`(const char* ta_name, const :ref:`tapi_auth_info_t`* auth, const :ref:`tapi_radius_attr_list_t`* acpt_attrs, const :ref:`tapi_radius_attr_list_t`* chlg_attrs); static :ref:`te_errno` :target:`tapi_radius_del_auth`(const char* ta_name, const :ref:`tapi_auth_info_t`* auth); static :ref:`te_errno` :target:`tapi_radius_disable_auth`(const char* ta_name, :ref:`tapi_auth_info_t`* auth); static :ref:`te_errno` :ref:`tapi_supp_set`(const char* ta_name, const char* if_name, int value); :ref:`te_errno` :target:`tapi_supp_set_wifi_auth`(const char* ta_name, const char* if_name, const :ref:`tapi_auth_wifi_t`* wifi); :ref:`te_errno` :ref:`tapi_supp_set_auth`(const char* ta_name, const char* if_name, const :ref:`tapi_auth_info_t`* info); :ref:`te_errno` :ref:`tapi_supp_reset`(const char* ta_name, const char* if_name); // macros #define :target:`TAPI_AUTH_CIPHER_CCMP` #define :ref:`TAPI_AUTH_CIPHER_NONE` #define :target:`TAPI_AUTH_CIPHER_TKIP` #define :target:`TAPI_AUTH_CIPHER_WEP` #define :target:`TAPI_AUTH_CIPHER_WEP104` #define :target:`TAPI_AUTH_CIPHER_WEP40` #define :ref:`TAPI_RADIUS_ACCT_PORT` #define :ref:`TAPI_RADIUS_ATTR_MIN_LEN` #define :ref:`TAPI_RADIUS_AUTH_LEN` #define :ref:`TAPI_RADIUS_AUTH_PORT` #define :ref:`TAPI_RADIUS_PACKET_MAX_LEN` #define :ref:`TAPI_RADIUS_PACKET_MIN_LEN` .. _details-group__tapi__radius: Detailed Documentation ~~~~~~~~~~~~~~~~~~~~~~ Copyright (C) 2004-2022 OKTET Labs Ltd. All rights reserved. Typedefs -------- .. index:: pair: typedef; tapi_radius_attr_type_t .. _doxid-group__tapi__radius_1ga5a6b849ccbdf6d02010307fa772c4bc8: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef uint8_t tapi_radius_attr_type_t Type of RADIUS attribute .. index:: pair: typedef; tapi_radius_serv_t .. _doxid-group__tapi__radius_1gaaded2824574aba8e8856b17c2242588b: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct :ref:`tapi_radius_serv_s` tapi_radius_serv_t Structure that keeps configuration of RADIUS Server. This structure was created to make :ref:`tapi_radius_serv_set() ` function backward compatible when someone adds a new configuration value for RADIUS Server. .. index:: pair: typedef; tapi_radius_clnt_t .. _doxid-group__tapi__radius_1ga4f08b43b53e87662d481b8a0cc02d74d: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct :ref:`tapi_radius_clnt_s` tapi_radius_clnt_t Structure that keeps configuration of RADIUS Client. This structure was created to make :ref:`tapi_radius_serv_add_client() ` function backward compatible when someone adds a new configuration value for RADIUS Client. .. index:: pair: typedef; tapi_auth_tls_t .. _doxid-group__tapi__radius_1ga4fb0a23a6b5b5c501ea05abb5ac6295f: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct :ref:`tapi_auth_tls_s` tapi_auth_tls_t TLS private key and certificate info .. index:: pair: typedef; tapi_auth_info_t .. _doxid-group__tapi__radius_1gaec79982a835358966c9ad88f7e282574: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct :ref:`tapi_auth_info_s` tapi_auth_info_t Configuration parameters for EAP authentication .. index:: pair: typedef; tapi_auth_wifi_t .. _doxid-group__tapi__radius_1gabf036d0e7ad56cb2a7515cf65ae8f214: .. ref-code-block:: cpp :class: doxyrest-title-code-block typedef struct :ref:`tapi_auth_wifi_s` tapi_auth_wifi_t Wireless-specific authentication parameters Global Functions ---------------- .. index:: pair: function; tapi_radius_code2str .. _doxid-group__tapi__radius_1ga84eac179a8cd1a37d002968adf26bea9: .. ref-code-block:: cpp :class: doxyrest-title-code-block static const char* tapi_radius_code2str(:ref:`tapi_radius_code_t` code) Convert the code of RADIUS packet from integer to readable string. non-reenterable in the case of unknown value .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - code - the code value of RADIUS packet .. rubric:: Returns: string literal pointer .. index:: pair: function; tapi_radius_attr_type2str .. _doxid-group__tapi__radius_1ga2b8806dcc3379bd10381c46a00bd091d: .. ref-code-block:: cpp :class: doxyrest-title-code-block static const char* tapi_radius_attr_type2str(:ref:`tapi_radius_type_t` type) Convert the type of RADIUS attribute from integer to readable string. non-reenterable in the case of unknown value .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - type - RADIUS attribute type .. rubric:: Returns: string literal pointer .. index:: pair: function; tapi_radius_acct_status2str .. _doxid-group__tapi__radius_1ga4bc2fe49a03f9fbdd23f5d573ef82b83: .. ref-code-block:: cpp :class: doxyrest-title-code-block static const char* tapi_radius_acct_status2str(:ref:`tapi_radius_acct_status_t` status) Convert Accounting Status from integer to readable string. non-reenterable in the case of unknown value .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - status - Accounting status value .. rubric:: Returns: string literal pointer .. index:: pair: function; tapi_radius_term_cause2str .. _doxid-group__tapi__radius_1gabecdbb22e30abe4c7bcc5f9448c7f7ea: .. ref-code-block:: cpp :class: doxyrest-title-code-block static const char* tapi_radius_term_cause2str(:ref:`tapi_radius_term_cause_t` cause) Convert the value of Acct-Terminate-Cause RADIUS attribute from integer to readable string. non-reenterable in the case of unknown value .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - cause - the value of Acct-Terminate-Cause attribute .. rubric:: Returns: string literal pointer .. index:: pair: function; tapi_radius_dict_init .. _doxid-group__tapi__radius_1ga6c25b0ea9dcd5b0fe4d8761b785bc4bc: .. ref-code-block:: cpp :class: doxyrest-title-code-block void tapi_radius_dict_init() Initialize RADIUS attribute dictionary (this function should be called before any other TAPI RADIUS calls) .. index:: pair: function; tapi_radius_dict_lookup .. _doxid-group__tapi__radius_1ga235401ac8a53270671e602a5fc8fff40: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`tapi_radius_attr_info_t`* tapi_radius_dict_lookup(:ref:`tapi_radius_attr_type_t` type) Lookup specified attribute in RADIUS dictionary by its numeric type .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - type - Attribute type to lookup .. rubric:: Returns: Pointer to dictionary entry or NULL if not found .. index:: pair: function; tapi_radius_dict_lookup_by_name .. _doxid-group__tapi__radius_1gae8b572e3bbb661be80c7e5fe0e3fc1b4: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`tapi_radius_attr_info_t`* tapi_radius_dict_lookup_by_name(const char* name) Lookup specified attribute in RADIUS dictionary by its name .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - name - Attribute name to lookup .. rubric:: Returns: Pointer to dictionary entry or NULL if not found .. index:: pair: function; tapi_radius_attr_list_init .. _doxid-group__tapi__radius_1ga259585d43ea6b188962c28e5faf94f14: .. ref-code-block:: cpp :class: doxyrest-title-code-block void tapi_radius_attr_list_init(:ref:`tapi_radius_attr_list_t`* list) Initialize a list of RADIUS attributes .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - list - List to initialize .. index:: pair: function; tapi_radius_attr_list_push .. _doxid-group__tapi__radius_1gacbbaa768c389549ebc31d7dc1525ee02: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_attr_list_push(:ref:`tapi_radius_attr_list_t`* list, const :ref:`tapi_radius_attr_t`* attr) Push an attribute to the end of RADIUS attribute list .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - list - Attribute list * - attr - Attribute to push .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_attr_list_push_value .. _doxid-group__tapi__radius_1gaa9bf7dca56ca2c3332a9923395fec199: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_attr_list_push_value(:ref:`tapi_radius_attr_list_t`* list, const char* name, ...) Create RADIUS attribute by name and value and push it to the end of attribute list. Type of value is determined from the dictionary. Values are: for TAPI_RADIUS_TYPE_INTEGER (int value) for TAPI_RADIUS_TYPE_TEXT (char \*value) for TAPI_RADIUS_TYPE_STRING (uint8_t \*value, int length) E.g.: tapi_radius_attr_list_push_value(&list, "NAS-Port", 20); .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - list - Attribute list to push attribute to * - name - Attribute name .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_attr_list_free .. _doxid-group__tapi__radius_1ga5b6e6b7dcf69f8b988c3ed41d40779bf: .. ref-code-block:: cpp :class: doxyrest-title-code-block void tapi_radius_attr_list_free(:ref:`tapi_radius_attr_list_t`* list) Free memory allocated for attribute list .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - list - List to free .. index:: pair: function; tapi_radius_attr_list_copy .. _doxid-group__tapi__radius_1ga3632b2bfb7dd09237cb52619543137aa: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_attr_list_copy(:ref:`tapi_radius_attr_list_t`* dst, const :ref:`tapi_radius_attr_list_t`* src) Copy RADIUS attribute list .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - dst - Location for the new copy of list * - src - Original attribute list .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_attr_list_find .. _doxid-group__tapi__radius_1ga6163409fa8a4af1b1e4a7e1fdf870cfa: .. ref-code-block:: cpp :class: doxyrest-title-code-block const :ref:`tapi_radius_attr_t`* tapi_radius_attr_list_find(const :ref:`tapi_radius_attr_list_t`* list, :ref:`tapi_radius_attr_type_t` type) Find specified attribute in the attribute list .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - list - Attribute list * - type - Identifier of attribute to find .. rubric:: Returns: Pointer to attribute in the list or NULL if not found. .. index:: pair: function; tapi_radius_attr_list_to_string .. _doxid-group__tapi__radius_1ga84de944f6de665a217539dc00c29631c: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_attr_list_to_string(const :ref:`tapi_radius_attr_list_t`* list, char** str) Convert attribute list into a string of comma-separated pairs 'Attribute=Value' .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - list - Attribute list * - str - Location for a pointer to result string (will be allocated by this function) .. rubric:: Returns: Zero on success or result code. .. index:: pair: function; tapi_radius_parse_packet .. _doxid-group__tapi__radius_1ga3972d4a34dee175b7b926731346d0883: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_parse_packet(const uint8_t* data, size_t data_len, :ref:`tapi_radius_packet_t`* packet) Parse binary RADIUS packet payload to C structure .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - data - RADIUS packet data * - data_len - Length of packet data * - packet - Packet structure to be filled .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_trrecv_cb_data .. _doxid-group__tapi__radius_1ga78fa2428a1329c08480732ed5407a014: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`tapi_tad_trrecv_cb_data`* tapi_radius_trrecv_cb_data(radius_callback callback, void* user_data) Prepare callback data to be passed in tapi_tad_trrecv\_{wait,stop,get} to process received RADIUS packets. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - callback - Callback for RADIUS packets handling * - user_data - User-supplied data to be passed to *callback* .. rubric:: Returns: Pointer to allocated callback data or NULL. .. index:: pair: function; tapi_radius_csap_create .. _doxid-group__tapi__radius_1ga70bc67995e457aefb1b277345d82e732: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_csap_create(const char* ta, int sid, const char* device, const in_addr_t net_addr, int port, :ref:`csap_handle_t`* csap) Create 'udp.ip4.eth' CSAP for capturing RADIUS packets .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta - Test Agent name * - sid - RCF session identifier * - device - Ethernet device name on agent to attach * - net_addr - Local IP address on Test Agent * - port - UDP port (network byte order) on Test Agent (TAPI_RADIUS_AUTH_PORT, TAPI_RADIUS_ACCT_PORT, or -1 to keep unspecified) * - csap - Handle of new CSAP (OUT) .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_enable .. _doxid-group__tapi__radius_1ga26c259bc07a6f4a28e8330cb4b11dddb: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_enable(const char* ta_name) Enables RADIUS Server on the particular Agent. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_disable .. _doxid-group__tapi__radius_1ga97f2f8f58b5aba52ef0f3a8b102ac2e8: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_disable(const char* ta_name) Disables RADIUS Server on the particular Agent. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_set .. _doxid-group__tapi__radius_1ga00e9043d01486436b8679600a2ec9166: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_set(const char* ta_name, const :ref:`tapi_radius_serv_t`* cfg) Update RADIUS Server Configuration. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name * - cfg - RADIUS Server configuration information .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_add_client .. _doxid-group__tapi__radius_1gaefecf45e04fba3a23503e75a3c90fe91: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_add_client(const char* ta_name, const :ref:`tapi_radius_clnt_t`* cfg) Add a new RADIUS Client record on RADIUS Server. Clients differ in network address, which is specified as a field of tapi_radius_clnt_t data structure. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name * - cfg - RADIUS Client configuration information .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_del_client .. _doxid-group__tapi__radius_1ga26ad9225e09d5e5e9bb68b2b6111a0ec: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_del_client(const char* ta_name, const struct in_addr* net_addr) Delete RADIUS Client record from RADIUS Server. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name * - net_addr - RADIUS Client's network address .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_add_user .. _doxid-group__tapi__radius_1gaacb57e1367fe1eaf153880c6264c7d20: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_add_user(const char* ta_name, const char* user_name, bool acpt_user, const :ref:`tapi_radius_attr_list_t`* check_attrs, const :ref:`tapi_radius_attr_list_t`* acpt_attrs, const :ref:`tapi_radius_attr_list_t`* chlg_attrs) Add user configuration on RADIUS Server. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name * - user_name - User name * - acpt_user - Wheter this user should be accepted on successful authentication * - check_attrs - A list of RADIUS attributes that should be checked additionally for this user * - acpt_attrs - A list of RADIUS attributes that should be sent to this user in Access-Accept RADIUS message. May be NULL if no special attributes desired. * - chlg_attrs - A list of RADIUS attributes that should be sent to this user in Access-Challenge RADIUS message May be NULL if no special attributes desired. .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_set_user_attr .. _doxid-group__tapi__radius_1gac9a109a327abc5e49c1a2806e1dcfbcc: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_set_user_attr(const char* ta_name, const char* user_name, :ref:`tapi_radius_usr_list_t` list_type, const :ref:`tapi_radius_attr_list_t`* attrs) Updates the particular user list on RADIUS Server .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name * - user_name - User name * - list_type - Which list to modify * - attrs - A list of RADIUS attributes that should be used for specified user (new list) .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_radius_serv_del_user .. _doxid-group__tapi__radius_1gaeac32b8f37e22946f5dc7aec47d086f7: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_radius_serv_del_user(const char* ta_name, const char* user_name) Delete user configuration from RADIUS Server. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name * - user_name - User name .. rubric:: Returns: Zero on success or error code. .. index:: pair: function; tapi_supp_set .. _doxid-group__tapi__radius_1gab31f28e93b0576403dc4f72dd0cd747b: .. ref-code-block:: cpp :class: doxyrest-title-code-block static :ref:`te_errno` tapi_supp_set(const char* ta_name, const char* if_name, int value) Enable/disable supplicant at specified interface .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Name of TA where supplicant resides * - if_name - Name of interface which is controlled by supplicant * - value - Required supplicant state (0 to disable, 1 to enable) .. rubric:: Returns: Status of the operation. .. index:: pair: function; tapi_supp_set_auth .. _doxid-group__tapi__radius_1ga071ee0a978f6c0193e5182b7c5ecee14: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_supp_set_auth(const char* ta_name, const char* if_name, const :ref:`tapi_auth_info_t`* info) Configure supplicant to use EAP authentication and set method-specific parameters on the Agent. .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name where supplicant reside * - if_name - Interface name * - info - EAP method-specific information .. rubric:: Returns: Status of the operation .. index:: pair: function; tapi_supp_reset .. _doxid-group__tapi__radius_1ga0eeceb7ec13dd5373c06ad7faaf971d6: .. ref-code-block:: cpp :class: doxyrest-title-code-block :ref:`te_errno` tapi_supp_reset(const char* ta_name, const char* if_name) Reset supplicant parameters to default values .. rubric:: Parameters: .. list-table:: :widths: 20 80 * - ta_name - Test Agent name where supplicant reside * - if_name - Interface name .. rubric:: Returns: Status of the operation. Macros ------ .. index:: pair: define; TAPI_AUTH_CIPHER_NONE .. _doxid-group__tapi__radius_1gafde009752959d2ed930234211b046bd1: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_AUTH_CIPHER_NONE Wireless cipher algorithms .. index:: pair: define; TAPI_RADIUS_ACCT_PORT .. _doxid-group__tapi__radius_1ga390370fa6f9272a4ee02fe0b2de4cfb8: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_RADIUS_ACCT_PORT Default UDP port for RADIUS accounting service .. index:: pair: define; TAPI_RADIUS_ATTR_MIN_LEN .. _doxid-group__tapi__radius_1gafddbbad9143184e4158bbdeff41519bd: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_RADIUS_ATTR_MIN_LEN Minimal length of attribute in packet .. index:: pair: define; TAPI_RADIUS_AUTH_LEN .. _doxid-group__tapi__radius_1ga9ff17844615a0ce03a6f34c2454202bb: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_RADIUS_AUTH_LEN Length of authenticator .. index:: pair: define; TAPI_RADIUS_AUTH_PORT .. _doxid-group__tapi__radius_1gaf6be6ae3fdf616ce77264616c45f13fb: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_RADIUS_AUTH_PORT Default UDP port for RADIUS authentication service .. index:: pair: define; TAPI_RADIUS_PACKET_MAX_LEN .. _doxid-group__tapi__radius_1gaca3b1537a1a690ac4a6a485c58850ff6: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_RADIUS_PACKET_MAX_LEN Maximal length of packet .. index:: pair: define; TAPI_RADIUS_PACKET_MIN_LEN .. _doxid-group__tapi__radius_1ga17c9048212dc273b796af984abb05246: .. ref-code-block:: cpp :class: doxyrest-title-code-block #define TAPI_RADIUS_PACKET_MIN_LEN Minimal length of packet