![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
#include <freeradius-devel/build.h>
#include <freeradius-devel/util/value.h>
Go to the source code of this file.
Data Structures | |
struct | fr_der_attr_flags_t |
union | fr_der_attr_flags_t.__unnamed200__ |
struct | fr_der_decode_ctx_t |
Functions | |
static fr_der_attr_flags_t const * | fr_der_attr_flags (fr_dict_attr_t const *da) |
ssize_t | fr_der_decode_pair_dbuff (TALLOC_CTX *ctx, fr_pair_list_t *out, fr_dict_attr_t const *parent, fr_dbuff_t *in, fr_der_decode_ctx_t *decode_ctx) |
void | fr_der_global_free (void) |
int | fr_der_global_init (void) |
char const * | fr_der_tag_to_str (fr_der_tag_t tag) |
bool | fr_der_tags_compatible (fr_der_tag_t tag1, fr_der_tag_t tag2) |
fr_der_tag_t | fr_type_to_der_tag_default (fr_type_t type) |
bool | fr_type_to_der_tag_valid (fr_type_t type, fr_der_tag_t tag) |
struct fr_der_attr_flags_t |
Data Fields | ||
---|---|---|
union fr_der_attr_flags_t.__unnamed200__ | __unnamed__ | |
fr_der_tag_class_t | class | tag Class |
fr_der_tag_t | der_type | the DER type, which is different from the FreeRADIUS type |
bool | has_default_value: 1 | a default value exists |
bool | is_choice: 1 | DER name "choice". |
bool | is_extensions: 1 | a list of X.509 extensions |
bool | is_oid_and_value: 1 | is OID+value |
bool | is_oid_leaf: 1 | |
bool | is_option: 1 | has an option defined |
bool | is_sequence_of: 1 | sequence_of has been defined |
bool | is_set_of: 1 | set_of has been defined |
uint64_t | max | maximum count of items in a sequence, set, or string. |
uint8_t | min | mininum count |
uint8_t | option | an "attribute number" encoded in the tag field. |
bool | optional: 1 | optional, we MUST already have set 'option' |
uint32_t | restrictions | for choice of options and tags - no dups allowed |
union fr_der_attr_flags_t.__unnamed200__ |
Data Fields | ||
---|---|---|
fr_value_box_t * | default_value | |
fr_der_tag_t | sequence_of | |
fr_der_tag_t | set_of |
struct fr_der_decode_ctx_t |
#define DER_BOOLEAN_FALSE 0x00 |
#define DER_GENERALIZED_TIME_LEN_MIN 15 |
#define DER_GENERALIZED_TIME_PRECISION_MAX 4 |
#define DER_LEN_MULTI_BYTE 0x80 |
#define DER_TAG_CLASS_MASK 0xc0 |
#define DER_TAG_CONSTRUCTED_MASK 0x20 |
#define DER_TAG_CONTINUATION 0x1f |
#define DER_TAG_NUM_MASK 0x1f |
#define fr_der_flag_class | ( | _da | ) | (fr_der_attr_flags(_da)->class) |
#define fr_der_flag_der_type | ( | _da | ) | (fr_der_attr_flags(_da)->der_type) |
#define fr_der_flag_has_default_value | ( | _da | ) | ((fr_der_attr_flags(_da)->has_default_value) != NULL); |
#define fr_der_flag_is_choice | ( | _da | ) | (fr_der_attr_flags(_da)->is_choice) |
#define fr_der_flag_is_extensions | ( | _da | ) | (fr_der_attr_flags(_da)->is_extensions) |
#define fr_der_flag_is_oid_and_value | ( | _da | ) | (fr_der_attr_flags(_da)->is_oid_and_value) |
#define fr_der_flag_is_oid_leaf | ( | _da | ) | (fr_der_attr_flags(_da)->is_oid_leaf) |
#define fr_der_flag_is_sequence_of | ( | _da | ) | (fr_der_attr_flags(_da)->is_sequence_of) |
#define fr_der_flag_is_set_of | ( | _da | ) | (fr_der_attr_flags(_da)->is_set_of) |
#define fr_der_flag_max | ( | _da | ) | (fr_der_attr_flags(_da)->max) |
#define fr_der_flag_option | ( | _da | ) | (fr_der_attr_flags(_da)->option) |
#define fr_der_flag_optional | ( | _da | ) | (fr_der_attr_flags(_da)->optional) |
#define fr_der_flag_sequence_of | ( | _da | ) | (fr_der_attr_flags(_da)->sequence_of) |
#define fr_der_flag_set_of | ( | _da | ) | (fr_der_attr_flags(_da)->set_of) |
enum fr_der_tag_class_t |
enum fr_der_tag_t |
Enumeration describing the data types in a DER encoded structure.
|
inlinestatic |
ssize_t fr_der_decode_pair_dbuff | ( | TALLOC_CTX * | ctx, |
fr_pair_list_t * | out, | ||
fr_dict_attr_t const * | parent, | ||
fr_dbuff_t * | in, | ||
fr_der_decode_ctx_t * | decode_ctx | ||
) |
int fr_der_global_init | ( | void | ) |
char const * fr_der_tag_to_str | ( | fr_der_tag_t | tag | ) |
bool fr_der_tags_compatible | ( | fr_der_tag_t | tag1, |
fr_der_tag_t | tag2 | ||
) |
fr_der_tag_t fr_type_to_der_tag_default | ( | fr_type_t | type | ) |
bool fr_type_to_der_tag_valid | ( | fr_type_t | type, |
fr_der_tag_t | tag | ||
) |