add user-defined token types for dns parts
This commit is contained in:
parent
fdf76a0910
commit
40ab87b4fb
2 changed files with 12 additions and 1 deletions
|
|
@ -286,7 +286,7 @@ void set_rr(struct dns_rr rr, HCountedArray *rdata) {
|
||||||
const HParsedToken* pack_dns_struct(const HParseResult *p) {
|
const HParsedToken* pack_dns_struct(const HParseResult *p) {
|
||||||
h_pprint(stdout, p->ast, 0, 2);
|
h_pprint(stdout, p->ast, 0, 2);
|
||||||
HParsedToken *ret = h_arena_malloc(p->arena, sizeof(HParsedToken));
|
HParsedToken *ret = h_arena_malloc(p->arena, sizeof(HParsedToken));
|
||||||
ret->token_type = TT_USER;
|
ret->token_type = TT_DNS_MESSAGE;
|
||||||
|
|
||||||
dns_message_t *msg = h_arena_malloc(p->arena, sizeof(dns_message_t));
|
dns_message_t *msg = h_arena_malloc(p->arena, sizeof(dns_message_t));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,13 @@
|
||||||
#include "../src/hammer.h"
|
#include "../src/hammer.h"
|
||||||
|
|
||||||
|
enum DNSTokenType_ {
|
||||||
|
TT_DNS_MESSAGE = TT_USER,
|
||||||
|
TT_DNS_HEADER,
|
||||||
|
TT_DNS_QNAME,
|
||||||
|
TT_DNS_QUESTION,
|
||||||
|
TT_DNS_RR
|
||||||
|
};
|
||||||
|
|
||||||
struct dns_header {
|
struct dns_header {
|
||||||
uint16_t id;
|
uint16_t id;
|
||||||
bool qr, aa, tc, rd, ra;
|
bool qr, aa, tc, rd, ra;
|
||||||
|
|
@ -9,6 +17,7 @@ struct dns_header {
|
||||||
size_t authority_count;
|
size_t authority_count;
|
||||||
size_t additional_count;
|
size_t additional_count;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dns_qname {
|
struct dns_qname {
|
||||||
size_t qlen;
|
size_t qlen;
|
||||||
struct {
|
struct {
|
||||||
|
|
@ -16,11 +25,13 @@ struct dns_qname {
|
||||||
uint8_t *label;
|
uint8_t *label;
|
||||||
} *labels;
|
} *labels;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dns_question {
|
struct dns_question {
|
||||||
struct dns_qname qname;
|
struct dns_qname qname;
|
||||||
uint16_t qtype;
|
uint16_t qtype;
|
||||||
uint16_t qclass;
|
uint16_t qclass;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct dns_rr {
|
struct dns_rr {
|
||||||
char* name;
|
char* name;
|
||||||
uint16_t type;
|
uint16_t type;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue