The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
#include <freeradius-devel/util/rand.h>
#include <freeradius-devel/util/log.h>
#include <freeradius-devel/util/pair.h>
#include <freeradius-devel/util/md5.h>
#include <freeradius-devel/util/sha1.h>
#include <freeradius-devel/util/dbuff.h>
Go to the source code of this file.
Data Structures | |
struct | __attribute__ |
union | bfd_auth_t |
union | bfd_auth_t.__unnamed182__ |
struct | fr_bfd_ctx_t |
Macros | |
#define | BFD_AUTH_INVALID (BFD_AUTH_MET_KEYED_SHA1 + 1) |
#define | FR_BFD_CODE_MAX (4) |
#define | FR_BFD_HEADER_LENGTH (24) |
#define | FR_BFD_PACKET_CODE_VALID(_code) (_code < FR_BFD_CODE_MAX) |
Typedefs | |
typedef enum bfd_auth_type_t | bfd_auth_type_t |
typedef enum bfd_diag_t | bfd_diag_t |
typedef enum bfd_session_state_t | bfd_session_state_t |
Enumerations | |
enum | bfd_auth_type_t { BFD_AUTH_RESERVED = 0 , BFD_AUTH_SIMPLE , BFD_AUTH_KEYED_MD5 , BFD_AUTH_MET_KEYED_MD5 , BFD_AUTH_KEYED_SHA1 , BFD_AUTH_MET_KEYED_SHA1 } |
enum | bfd_diag_t { BFD_DIAG_NONE = 0 , BFD_CTRL_EXPIRED , BFD_ECHO_FAILED , BFD_NEIGHBOR_DOWN , BFD_FORWARD_PLANE_RESET , BFD_PATH_DOWN , BFD_CONCATENATED_PATH_DOWN , BFD_ADMIN_DOWN , BFD_REVERSE_CONCAT_PATH_DOWN } |
enum | bfd_session_state_t { BFD_STATE_ADMIN_DOWN = 0 , BFD_STATE_DOWN , BFD_STATE_INIT , BFD_STATE_UP } |
enum | fr_bfd_packet_code_t { FR_BFD_ADMIN_DOWN , FR_BFD_DOWN , FR_BFD_INIT , FR_BFD_UP } |
Functions | |
union bfd_auth_t | __attribute__ ((packed)) bfd_auth_t |
ssize_t | fr_bfd_decode (TALLOC_CTX *ctx, fr_pair_list_t *out, uint8_t const *packet, size_t packet_len, char const *secret, size_t secret_len) |
ssize_t | fr_bfd_encode (uint8_t *packet, size_t packet_len, uint8_t const *original, char const *secret, size_t secret_len, fr_pair_list_t *vps) |
void | fr_bfd_global_free (void) |
int | fr_bfd_global_init (void) |
bool | fr_bfd_packet_ok (char const **err, uint8_t const *packet, size_t packet_len) |
Variables | ||
union { | ||
bfd_auth_basic_t | basic | |
bfd_auth_md5_t | md5 | |
bfd_auth_simple_t | password | |
bfd_auth_sha1_t | sha1 | |
}; | ||
typedef | __attribute__ | |
fr_table_num_ordered_t const | bfd_auth_type_table [] | |
size_t const | bfd_auth_type_table_len | |
char const * | fr_bfd_packet_names [FR_BFD_CODE_MAX] | |
struct __attribute__ |
Data Fields | ||
---|---|---|
bfd_auth_t | auth | |
uint8_t | auth_len | |
unsigned int | auth_present: 1 | |
uint8_t | auth_type | |
unsigned int | control_plane_independent: 1 | |
unsigned int | demand: 1 | |
uint32_t | desired_min_tx_interval | |
uint8_t | detect_multi | |
unsigned int | diag: 5 | |
uint8_t | digest[MD5_DIGEST_LENGTH] | |
unsigned int | final: 1 | |
uint8_t | key_id | |
uint8_t | length | |
uint32_t | min_echo_rx_interval | |
unsigned int | multipoint: 1 | |
uint32_t | my_disc | |
uint8_t | password[16] | |
unsigned int | poll: 1 | |
uint32_t | required_min_rx_interval | |
uint8_t | reserved | |
uint32_t | sequence_no | |
unsigned int | state: 2 | |
unsigned int | version: 3 | |
uint32_t | your_disc |
union bfd_auth_t |
Data Fields | ||
---|---|---|
union bfd_auth_t.__unnamed182__ | __unnamed__ |
union bfd_auth_t.__unnamed182__ |
struct fr_bfd_ctx_t |
#define BFD_AUTH_INVALID (BFD_AUTH_MET_KEYED_SHA1 + 1) |
#define FR_BFD_PACKET_CODE_VALID | ( | _code | ) | (_code < FR_BFD_CODE_MAX) |
typedef enum bfd_auth_type_t bfd_auth_type_t |
typedef enum bfd_diag_t bfd_diag_t |
typedef enum bfd_session_state_t bfd_session_state_t |
enum bfd_auth_type_t |
enum bfd_diag_t |
enum bfd_session_state_t |
enum fr_bfd_packet_code_t |
union bfd_auth_t __attribute__ | ( | (packed) | ) |
ssize_t fr_bfd_decode | ( | TALLOC_CTX * | ctx, |
fr_pair_list_t * | out, | ||
uint8_t const * | packet, | ||
size_t | packet_len, | ||
char const * | secret, | ||
size_t | secret_len | ||
) |
ssize_t fr_bfd_encode | ( | uint8_t * | packet, |
size_t | packet_len, | ||
uint8_t const * | original, | ||
char const * | secret, | ||
size_t | secret_len, | ||
fr_pair_list_t * | vps | ||
) |
void fr_bfd_global_free | ( | void | ) |
int fr_bfd_global_init | ( | void | ) |
union { ... } |
typedef __attribute__ |
|
extern |
|
extern |