OpenDNSSEC-signer
2.1.6
|
Go to the source code of this file.
Functions | |
buffer_type * | buffer_create (size_t capacity) |
void | buffer_clear (buffer_type *buffer) |
void | buffer_flip (buffer_type *buffer) |
size_t | buffer_position (buffer_type *buffer) |
void | buffer_set_position (buffer_type *buffer, size_t pos) |
void | buffer_skip (buffer_type *buffer, ssize_t count) |
size_t | buffer_read_dname (buffer_type *buffer, uint8_t *dname, unsigned allow_pointers) |
int | buffer_skip_dname (buffer_type *buffer) |
int | buffer_skip_rr (buffer_type *buffer, unsigned qrr) |
size_t | buffer_limit (buffer_type *buffer) |
void | buffer_set_limit (buffer_type *buffer, size_t limit) |
size_t | buffer_capacity (buffer_type *buffer) |
uint8_t * | buffer_at (buffer_type *buffer, size_t at) |
uint8_t * | buffer_begin (buffer_type *buffer) |
uint8_t * | buffer_current (buffer_type *buffer) |
size_t | buffer_remaining (buffer_type *buffer) |
int | buffer_available (buffer_type *buffer, size_t count) |
void | buffer_write_u16_at (buffer_type *buffer, size_t at, uint16_t data) |
void | buffer_write (buffer_type *buffer, const void *data, size_t count) |
void | buffer_write_u8 (buffer_type *buffer, uint8_t data) |
void | buffer_write_u16 (buffer_type *buffer, uint16_t data) |
void | buffer_write_u32 (buffer_type *buffer, uint32_t data) |
void | buffer_write_rdf (buffer_type *buffer, ldns_rdf *rdf) |
int | buffer_write_rr (buffer_type *buffer, ldns_rr *rr) |
void | buffer_read (buffer_type *buffer, void *data, size_t count) |
uint8_t | buffer_read_u8 (buffer_type *buffer) |
uint16_t | buffer_read_u16 (buffer_type *buffer) |
uint32_t | buffer_read_u32 (buffer_type *buffer) |
uint16_t | buffer_pkt_id (buffer_type *buffer) |
void | buffer_pkt_set_random_id (buffer_type *buffer) |
uint16_t | buffer_pkt_flags (buffer_type *buffer) |
void | buffer_pkt_set_flags (buffer_type *buffer, uint16_t flags) |
int | buffer_pkt_qr (buffer_type *buffer) |
void | buffer_pkt_set_qr (buffer_type *buffer) |
void | buffer_pkt_clear_qr (buffer_type *buffer) |
ldns_pkt_opcode | buffer_pkt_opcode (buffer_type *buffer) |
void | buffer_pkt_set_opcode (buffer_type *buffer, ldns_pkt_opcode opcode) |
int | buffer_pkt_aa (buffer_type *buffer) |
void | buffer_pkt_set_aa (buffer_type *buffer) |
int | buffer_pkt_tc (buffer_type *buffer) |
int | buffer_pkt_rd (buffer_type *buffer) |
int | buffer_pkt_ra (buffer_type *buffer) |
int | buffer_pkt_ad (buffer_type *buffer) |
int | buffer_pkt_cd (buffer_type *buffer) |
ldns_pkt_rcode | buffer_pkt_rcode (buffer_type *buffer) |
void | buffer_pkt_set_rcode (buffer_type *buffer, ldns_pkt_rcode rcode) |
const char * | buffer_rcode2str (ldns_pkt_rcode rcode) |
uint16_t | buffer_pkt_qdcount (buffer_type *buffer) |
void | buffer_pkt_set_qdcount (buffer_type *buffer, uint16_t count) |
uint16_t | buffer_pkt_ancount (buffer_type *buffer) |
void | buffer_pkt_set_ancount (buffer_type *buffer, uint16_t count) |
uint16_t | buffer_pkt_nscount (buffer_type *buffer) |
void | buffer_pkt_set_nscount (buffer_type *buffer, uint16_t count) |
uint16_t | buffer_pkt_arcount (buffer_type *buffer) |
void | buffer_pkt_set_arcount (buffer_type *buffer, uint16_t count) |
void | buffer_pkt_query (buffer_type *buffer, ldns_rdf *qname, ldns_rr_type qtype, ldns_rr_class qclass) |
void | buffer_pkt_notify (buffer_type *buffer, ldns_rdf *qname, ldns_rr_class qclass) |
void | buffer_cleanup (buffer_type *buffer) |
Variables | |
ods_lookup_table | ods_rcode_str [] |
uint8_t* buffer_at | ( | buffer_type * | buffer, |
size_t | at | ||
) |
Return a pointer to the data at the indicated position.
Definition at line 413 of file buffer.c.
References buffer_struct::data.
Referenced by buffer_begin(), buffer_current(), and tsig_rr_update().
int buffer_available | ( | buffer_type * | buffer, |
size_t | count | ||
) |
Check if the buffer has enough bytes available.
Definition at line 487 of file buffer.c.
Referenced by buffer_read(), buffer_read_dname(), buffer_skip_dname(), buffer_skip_rr(), buffer_write(), buffer_write_rr(), and query_add_rr().
uint8_t* buffer_begin | ( | buffer_type * | buffer | ) |
Return a pointer to the data at the beginning of the buffer.
Definition at line 426 of file buffer.c.
References buffer_at().
size_t buffer_capacity | ( | buffer_type * | buffer | ) |
Get the buffer's capacity.
Definition at line 401 of file buffer.c.
References buffer_struct::capacity.
Referenced by query_prepare().
void buffer_cleanup | ( | buffer_type * | buffer | ) |
Clean up buffer.
Definition at line 1145 of file buffer.c.
References buffer_struct::data.
Referenced by query_cleanup(), and xfrhandler_cleanup().
void buffer_clear | ( | buffer_type * | buffer | ) |
Clear the buffer and make it ready for writing.
Definition at line 99 of file buffer.c.
References buffer_struct::capacity, buffer_struct::limit, and buffer_struct::position.
Referenced by query_prepare(), query_reset(), and tcp_conn_ready().
buffer_type* buffer_create | ( | size_t | capacity | ) |
Create a new buffer with the specified capacity.
Definition at line 78 of file buffer.c.
References buffer_struct::capacity, buffer_struct::data, buffer_struct::fixed, buffer_struct::limit, and buffer_struct::position.
Referenced by query_create(), and tcp_conn_create().
uint8_t* buffer_current | ( | buffer_type * | buffer | ) |
Return a pointer to the data at the buffer's current position.
Definition at line 438 of file buffer.c.
References buffer_at(), and buffer_struct::position.
Referenced by tcp_conn_write().
void buffer_flip | ( | buffer_type * | buffer | ) |
Flip the buffer and make it ready for reading.
Definition at line 112 of file buffer.c.
References buffer_struct::limit, and buffer_struct::position.
size_t buffer_limit | ( | buffer_type * | buffer | ) |
Get the buffer's limit.
Definition at line 373 of file buffer.c.
References buffer_struct::limit.
Referenced by buffer_read_dname(), query_prepare(), and tsig_rr_update().
int buffer_pkt_aa | ( | buffer_type * | buffer | ) |
int buffer_pkt_ad | ( | buffer_type * | buffer | ) |
uint16_t buffer_pkt_ancount | ( | buffer_type * | buffer | ) |
uint16_t buffer_pkt_arcount | ( | buffer_type * | buffer | ) |
int buffer_pkt_cd | ( | buffer_type * | buffer | ) |
void buffer_pkt_clear_qr | ( | buffer_type * | buffer | ) |
uint16_t buffer_pkt_flags | ( | buffer_type * | buffer | ) |
uint16_t buffer_pkt_id | ( | buffer_type * | buffer | ) |
void buffer_pkt_notify | ( | buffer_type * | buffer, |
ldns_rdf * | qname, | ||
ldns_rr_class | qclass | ||
) |
uint16_t buffer_pkt_nscount | ( | buffer_type * | buffer | ) |
ldns_pkt_opcode buffer_pkt_opcode | ( | buffer_type * | buffer | ) |
uint16_t buffer_pkt_qdcount | ( | buffer_type * | buffer | ) |
int buffer_pkt_qr | ( | buffer_type * | buffer | ) |
Get QR bit from buffer.
Definition at line 810 of file buffer.c.
References QR.
Referenced by tsig_rr_update().
void buffer_pkt_query | ( | buffer_type * | buffer, |
ldns_rdf * | qname, | ||
ldns_rr_type | qtype, | ||
ldns_rr_class | qclass | ||
) |
int buffer_pkt_ra | ( | buffer_type * | buffer | ) |
ldns_pkt_rcode buffer_pkt_rcode | ( | buffer_type * | buffer | ) |
int buffer_pkt_rd | ( | buffer_type * | buffer | ) |
void buffer_pkt_set_aa | ( | buffer_type * | buffer | ) |
void buffer_pkt_set_ancount | ( | buffer_type * | buffer, |
uint16_t | count | ||
) |
void buffer_pkt_set_arcount | ( | buffer_type * | buffer, |
uint16_t | count | ||
) |
void buffer_pkt_set_flags | ( | buffer_type * | buffer, |
uint16_t | flags | ||
) |
Set flags in buffer.
Definition at line 798 of file buffer.c.
References buffer_write_u16_at().
Referenced by query_prepare().
void buffer_pkt_set_nscount | ( | buffer_type * | buffer, |
uint16_t | count | ||
) |
void buffer_pkt_set_opcode | ( | buffer_type * | buffer, |
ldns_pkt_opcode | opcode | ||
) |
void buffer_pkt_set_qdcount | ( | buffer_type * | buffer, |
uint16_t | count | ||
) |
void buffer_pkt_set_qr | ( | buffer_type * | buffer | ) |
void buffer_pkt_set_random_id | ( | buffer_type * | buffer | ) |
void buffer_pkt_set_rcode | ( | buffer_type * | buffer, |
ldns_pkt_rcode | rcode | ||
) |
int buffer_pkt_tc | ( | buffer_type * | buffer | ) |
size_t buffer_position | ( | buffer_type * | buffer | ) |
Get the buffer's position.
Definition at line 125 of file buffer.c.
References buffer_struct::position.
Referenced by buffer_write_rr(), query_add_rr(), tsig_rr_append(), tsig_rr_find(), and tsig_rr_parse().
const char* buffer_rcode2str | ( | ldns_pkt_rcode | rcode | ) |
Look up a descriptive text by each rcode.
Definition at line 978 of file buffer.c.
References ods_rcode_str.
void buffer_read | ( | buffer_type * | buffer, |
void * | data, | ||
size_t | count | ||
) |
Read from buffer.
Definition at line 692 of file buffer.c.
References buffer_available(), buffer_struct::data, and buffer_struct::position.
size_t buffer_read_dname | ( | buffer_type * | buffer, |
uint8_t * | dname, | ||
unsigned | allow_pointers | ||
) |
Read dname from buffer.
Definition at line 246 of file buffer.c.
References buffer_available(), buffer_limit(), and MAX_PACKET_SIZE.
uint16_t buffer_read_u16 | ( | buffer_type * | buffer | ) |
uint32_t buffer_read_u32 | ( | buffer_type * | buffer | ) |
uint8_t buffer_read_u8 | ( | buffer_type * | buffer | ) |
Read uint8_t from buffer.
Definition at line 706 of file buffer.c.
Referenced by buffer_skip_dname().
size_t buffer_remaining | ( | buffer_type * | buffer | ) |
The number of bytes remaining between the buffer's position and limit.
Definition at line 463 of file buffer.c.
Referenced by tcp_conn_write().
void buffer_set_limit | ( | buffer_type * | buffer, |
size_t | limit | ||
) |
Set the buffer's limit.
Definition at line 385 of file buffer.c.
References buffer_struct::limit, and buffer_struct::position.
Referenced by query_prepare().
void buffer_set_position | ( | buffer_type * | buffer, |
size_t | pos | ||
) |
Set the buffer's position.
Definition at line 137 of file buffer.c.
References buffer_struct::position.
Referenced by buffer_write_rr(), query_prepare(), tsig_rr_find(), and tsig_rr_parse().
void buffer_skip | ( | buffer_type * | buffer, |
ssize_t | count | ||
) |
Change the buffer's position.
Definition at line 150 of file buffer.c.
References buffer_struct::position.
Referenced by buffer_skip_dname(), buffer_skip_rr(), buffer_write_rr(), query_add_rr(), tcp_conn_write(), and tsig_rr_append().
int buffer_skip_dname | ( | buffer_type * | buffer | ) |
Change the buffer's position so that one dname is skipped.
Definition at line 310 of file buffer.c.
References buffer_available(), buffer_read_u8(), and buffer_skip().
Referenced by buffer_skip_rr(), and tsig_rr_parse().
int buffer_skip_rr | ( | buffer_type * | buffer, |
unsigned | qrr | ||
) |
Change the buffer's position so that one RR is skipped.
Definition at line 342 of file buffer.c.
References buffer_available(), buffer_read_u16(), buffer_skip(), and buffer_skip_dname().
Referenced by tsig_rr_find().
void buffer_write | ( | buffer_type * | buffer, |
const void * | data, | ||
size_t | count | ||
) |
Write to buffer.
Definition at line 538 of file buffer.c.
References buffer_available(), buffer_struct::data, and buffer_struct::position.
Referenced by buffer_write_rdf(), and tsig_rr_append().
void buffer_write_rdf | ( | buffer_type * | buffer, |
ldns_rdf * | rdf | ||
) |
Write rdf to buffer.
Definition at line 591 of file buffer.c.
References buffer_write().
Referenced by buffer_write_rr(), query_add_rr(), and tsig_rr_append().
int buffer_write_rr | ( | buffer_type * | buffer, |
ldns_rr * | rr | ||
) |
Write rr to buffer.
Definition at line 605 of file buffer.c.
References buffer_available(), buffer_position(), buffer_set_position(), buffer_skip(), buffer_write_rdf(), buffer_write_u16(), buffer_write_u16_at(), and buffer_write_u32().
void buffer_write_u16 | ( | buffer_type * | buffer, |
uint16_t | data | ||
) |
Write uint16_t to buffer.
Definition at line 565 of file buffer.c.
References buffer_write_u16_at(), and buffer_struct::position.
Referenced by buffer_write_rr(), query_add_rr(), and tsig_rr_append().
void buffer_write_u16_at | ( | buffer_type * | buffer, |
size_t | at, | ||
uint16_t | data | ||
) |
Write to buffer at indicated position.
Definition at line 512 of file buffer.c.
Referenced by buffer_pkt_set_ancount(), buffer_pkt_set_arcount(), buffer_pkt_set_flags(), buffer_pkt_set_nscount(), buffer_pkt_set_qdcount(), buffer_write_rr(), buffer_write_u16(), and tsig_rr_append().
void buffer_write_u32 | ( | buffer_type * | buffer, |
uint32_t | data | ||
) |
Write uint32_t to buffer.
Definition at line 578 of file buffer.c.
Referenced by buffer_write_rr(), query_add_rr(), and tsig_rr_append().
void buffer_write_u8 | ( | buffer_type * | buffer, |
uint8_t | data | ||
) |
ods_lookup_table ods_rcode_str[] |
Definition at line 57 of file buffer.c.
Referenced by buffer_rcode2str().