|
Data Structures |
struct | junos_aaa_attr_s |
| AAA attribute list entry. More...
|
struct | junos_aaa_msg_s |
| AAA message to client. More...
|
Defines |
#define | JUNOS_AAA_PROFILE_NAME_SIZE 64 |
| Max length of profile name with ''.
|
#define | JUNOS_AAA_USERNAME_SIZE 256 |
| Max length of user name with ''.
|
#define | JUNOS_AAA_PASSWORD_SIZE 256 |
| Max length of password with ''.
|
#define | JUNOS_AAA_USER_SESSION_ID_SIZE 64 |
| Max length of user session ID with ''.
|
Typedefs |
typedef junos_aaa_session_hdl_s * | junos_aaa_session_hdl_t |
| Opaque session handle.
|
typedef uint32_t | junos_aaa_req_id_t |
| Request ID.
|
typedef junos_aaa_attr_list_s | junos_aaa_attr_list_t |
| Opaque attribute list pointer.
|
typedef enum junos_aaa_req_type_e | junos_aaa_req_type_t |
| enum of request types.
|
typedef enum junos_aaa_op_e | junos_aaa_op_t |
| AAA operations.
|
typedef enum junos_aaa_msg_type_e | junos_aaa_msg_type_t |
typedef enum junos_aaa_reply_code_e | junos_aaa_reply_code_t |
| AAA reply codes.
|
typedef enum junos_aaa_attr_type_e | junos_aaa_attr_type_t |
| enum of attribute types.
|
typedef junos_aaa_attr_s | junos_aaa_attr_t |
| AAA attribute list entry.
|
typedef junos_aaa_msg_s | junos_aaa_msg_t |
| AAA message to client.
|
typedef void(* | junos_aaa_msg_hdlr_t )(junos_aaa_session_hdl_t hdl, junos_aaa_msg_t *msg) |
| This message handler is invoked when receiving a message from the server.
|
Enumerations |
enum | junos_aaa_req_type_e { JUNOS_AAA_REQ_INVALID = -1,
JUNOS_AAA_REQ_AUTHENTICATE,
JUNOS_AAA_REQ_ACCOUNT
} |
| enum of request types. More...
|
enum | junos_aaa_op_e {
JUNOS_AAA_OP_INVALID = -1,
JUNOS_AAA_OP_OK,
JUNOS_AAA_OP_AUTHENTICATE_REQUEST,
JUNOS_AAA_OP_AUTHENTICATE_LOGOUT,
JUNOS_AAA_OP_ACCOUNT_START,
JUNOS_AAA_OP_ACCOUNT_STOP,
JUNOS_AAA_OP_ACCOUNT_INTERIM
} |
| AAA operations. More...
|
enum | junos_aaa_msg_type_e {
JUNOS_AAA_MSG_INVALID = -1,
JUNOS_AAA_MSG_SESSION,
JUNOS_AAA_MSG_REPLY,
JUNOS_AAA_MSG_CMD,
JUNOS_AAA_MSG_REQ_FREE
} |
enum | junos_aaa_reply_code_e {
JUNOS_AAA_REPLY_OK,
JUNOS_AAA_REPLY_TIMEOUT,
JUNOS_AAA_REPLY_ERROR,
JUNOS_AAA_REPLY_ERROR_REQ,
JUNOS_AAA_REPLY_ERROR_LICENSE
} |
| AAA reply codes. More...
|
enum | junos_aaa_attr_type_e {
JUNOS_AAA_ATTR_USERNAME = 1,
JUNOS_AAA_ATTR_PASSWORD,
JUNOS_AAA_ATTR_CHAP_PASSWORD,
JUNOS_AAA_ATTR_NAS_IP_ADDRESS,
JUNOS_AAA_ATTR_NAS_PORT,
JUNOS_AAA_ATTR_SERVICE_TYPE,
JUNOS_AAA_ATTR_CALLED_STATION_ID = 30,
JUNOS_AAA_ATTR_CALLING_STATION_ID,
JUNOS_AAA_ATTR_ACCT_STATUS_TYPE = 40,
JUNOS_AAA_ATTR_ACCT_DELAY_TIME,
JUNOS_AAA_ATTR_ACCT_INPUT_OCTETS,
JUNOS_AAA_ATTR_ACCT_OUTPUT_OCTETS,
JUNOS_AAA_ATTR_ACCT_SESSION_ID,
JUNOS_AAA_ATTR_ACCT_AUTHENTIC,
JUNOS_AAA_ATTR_ACCT_SESSION_TIME,
JUNOS_AAA_ATTR_ACCT_INPUT_PACKETS,
JUNOS_AAA_ATTR_ACCT_OUTPUT_PACKETS,
JUNOS_AAA_ATTR_ACCT_TERMINATE_CAUSE,
JUNOS_AAA_ATTR_ACCT_MULTI_SESSION_ID,
JUNOS_AAA_ATTR_ACCT_LINK_COUNT,
JUNOS_AAA_ATTR_ACCT_INPUT_GIGAWORDS,
JUNOS_AAA_ATTR_ACCT_OUTPUT_GIGAWORDS,
JUNOS_AAA_ATTR_PROFILE_NAME = 256,
JUNOS_AAA_ATTR_USER_ID,
JUNOS_AAA_ATTR_MAX
} |
| enum of attribute types. More...
|
Functions |
int | junos_aaa_session_open (evContext ctx, junos_aaa_session_hdl_t *hdl, junos_aaa_msg_hdlr_t msg_hdlr) |
| Open a session and register a reply handler.
|
void | junos_aaa_session_close (junos_aaa_session_hdl_t hdl) |
| Close the session and free the related resource.
|
int | junos_aaa_request (junos_aaa_session_hdl_t hdl, junos_aaa_req_type_t req_type, junos_aaa_op_t op, junos_aaa_attr_list_t *attr_list, junos_aaa_req_id_t *req_id) |
| Send an AAA request to the server.
|
int | junos_aaa_attr_list_alloc (junos_aaa_attr_list_t **attr_list) |
| Allocate an attribute list.
|
void | junos_aaa_attr_list_free (junos_aaa_attr_list_t *attr_list) |
| Free the attribute list.
|
int | junos_aaa_attr_add (junos_aaa_attr_list_t *attr_list, junos_aaa_attr_type_t type, int len, void *val) |
| Add an attribute to the list.
|
junos_aaa_attr_t * | junos_aaa_attr_get_next (junos_aaa_attr_list_t *attr_list, junos_aaa_attr_t *attr) |
| Get the next attribute from the list.
|
void | junos_aaa_user_id_alloc (uint64_t *user_id) |
| Allocate a user ID.
|
void | junos_aaa_user_session_id_alloc (char *user_session_id, int size) |
| Allocate a user session ID.
|
This library supports authentication and accounting requests from a client SDK application.