#include "config.h"
#include "status.h"
#include "wire/buffer.h"
#include <ldns/ldns.h>
Go to the source code of this file.
◆ DNSSEC_OK_MASK
#define DNSSEC_OK_MASK 0x8000U /* do bit mask */ |
◆ EDNS_MAX_MESSAGE_LEN
#define EDNS_MAX_MESSAGE_LEN 4096 |
◆ OPT_LEN
#define OPT_LEN 9U /* length of the NSD EDNS response record minus 2 */ |
EDNS.
Definition at line 43 of file edns.h.
◆ OPT_RDATA
#define OPT_RDATA 2 /* holds the rdata length comes after OPT_LEN */ |
◆ edns_data_type
EDNS data.
Definition at line 53 of file edns.h.
◆ edns_rr_type
EDNS RR.
Definition at line 75 of file edns.h.
◆ edns_status
◆ edns_status_enum
EDNS status.
Enumerator |
---|
EDNS_NOT_PRESENT | |
EDNS_OK | |
EDNS_ERROR | |
Definition at line 64 of file edns.h.
◆ edns_init()
◆ edns_rr_cleanup()
◆ edns_rr_create()
Create new EDNS RR.
- Parameters
-
[in] | allocator | memory allocator. |
- Returns
- edns_rr_type* EDNS RR.
Create new EDNS RR.
Definition at line 50 of file edns.c.
References edns_rr_reset().
Referenced by query_create().
◆ edns_rr_parse()
Parse EDNS OPT RR.
- Parameters
-
[in] | err | EDNS record. |
[in] | buffer | packet buffer. |
- Returns
- int 1 if EDNS and valid, 0 otherwise.
Parse EDNS OPT RR.
Definition at line 107 of file edns.c.
References buffer_available(), buffer_position(), buffer_read_u16(), buffer_read_u8(), buffer_set_position(), buffer_skip(), edns_rr_struct::dnssec_ok, DNSSEC_OK_MASK, EDNS_ERROR, EDNS_OK, edns_rr_struct::maxlen, OPT_LEN, OPT_RDATA, edns_rr_struct::position, and edns_rr_struct::status.
◆ edns_rr_reserved_space()
◆ edns_rr_reset()