OpenDNSSEC-signer
1.4.1
|
Go to the source code of this file.
Data Structures | |
struct | edns_data_struct |
struct | edns_rr_struct |
Macros | |
#define | OPT_LEN 9U /* length of the NSD EDNS response record minus 2 */ |
#define | OPT_RDATA 2 /* holds the rdata length comes after OPT_LEN */ |
#define | DNSSEC_OK_MASK 0x8000U /* do bit mask */ |
#define | EDNS_MAX_MESSAGE_LEN 4096 |
Typedefs | |
typedef struct edns_data_struct | edns_data_type |
typedef enum edns_status_enum | edns_status |
typedef struct edns_rr_struct | edns_rr_type |
Enumerations | |
enum | edns_status_enum { EDNS_NOT_PRESENT, EDNS_OK, EDNS_ERROR } |
Functions | |
void | edns_init (edns_data_type *data, uint16_t max_length) |
edns_rr_type * | edns_rr_create (allocator_type *allocator) |
void | edns_rr_reset (edns_rr_type *err) |
int | edns_rr_parse (edns_rr_type *err, buffer_type *buffer) |
size_t | edns_rr_reserved_space (edns_rr_type *err) |
#define DNSSEC_OK_MASK 0x8000U /* do bit mask */ |
Definition at line 47 of file edns.h.
Referenced by edns_rr_parse().
#define OPT_LEN 9U /* length of the NSD EDNS response record minus 2 */ |
EDNS.
Definition at line 45 of file edns.h.
Referenced by edns_rr_parse(), edns_rr_reserved_space(), and query_add_optional().
#define OPT_RDATA 2 /* holds the rdata length comes after OPT_LEN */ |
Definition at line 46 of file edns.h.
Referenced by edns_rr_parse(), edns_rr_reserved_space(), and query_add_optional().
typedef struct edns_data_struct edns_data_type |
typedef struct edns_rr_struct edns_rr_type |
typedef enum edns_status_enum edns_status |
enum edns_status_enum |
void edns_init | ( | edns_data_type * | data, |
uint16_t | max_length | ||
) |
Initialize EDNS.
[in] | data | EDNS data. |
[in] | max_length | maximum length. |
Initialize EDNS.
Definition at line 75 of file edns.c.
References edns_data_struct::error, and edns_data_struct::ok.
edns_rr_type* edns_rr_create | ( | allocator_type * | allocator) |
Create new EDNS RR.
[in] | allocator | memory allocator. |
Create new EDNS RR.
Definition at line 52 of file edns.c.
References edns_rr_struct::allocator, allocator_alloc(), edns_rr_reset(), and ods_log_error().
Referenced by query_create().
int edns_rr_parse | ( | edns_rr_type * | err, |
buffer_type * | buffer | ||
) |
Parse EDNS OPT RR.
[in] | err | EDNS record. |
[in] | buffer | packet buffer. |
Parse EDNS OPT RR.
Definition at line 120 of file edns.c.
References buffer_available(), buffer_position(), buffer_read_u16(), buffer_read_u8(), buffer_set_position(), edns_rr_struct::dnssec_ok, DNSSEC_OK_MASK, EDNS_ERROR, EDNS_OK, edns_rr_struct::maxlen, ods_log_debug(), OPT_LEN, OPT_RDATA, edns_rr_struct::position, and edns_rr_struct::status.
size_t edns_rr_reserved_space | ( | edns_rr_type * | err) |
The amount of space to reserve in the response for the EDNS data.
[in] | err | EDNS record. |
The amount of space to reserve in the response for the EDNS data.
Definition at line 173 of file edns.c.
References EDNS_NOT_PRESENT, OPT_LEN, OPT_RDATA, and edns_rr_struct::status.
Referenced by query_prepare().
void edns_rr_reset | ( | edns_rr_type * | err) |
Reset EDNS OPT RR.
[in] | err | EDNS record. |
Reset EDNS OPT RR.
Definition at line 102 of file edns.c.
References edns_rr_struct::dnssec_ok, EDNS_NOT_PRESENT, edns_rr_struct::maxlen, edns_rr_struct::position, and edns_rr_struct::status.
Referenced by edns_rr_create(), and query_reset().