mirror of https://github.com/getdnsapi/getdns.git
Rename special wireformat parsing funcs
in aticipation of the special writing to wireformat functions
This commit is contained in:
parent
7baec89d4c
commit
4ae24761c7
|
@ -50,17 +50,17 @@ apl_n_rdf_end(const uint8_t *pkt, const uint8_t *pkt_end, const uint8_t *rdf)
|
|||
return rdf < pkt_end ? rdf + 1 : NULL;
|
||||
}
|
||||
static getdns_return_t
|
||||
apl_n_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
||||
apl_n_wire2dict(getdns_dict *dict, const uint8_t *rdf)
|
||||
{
|
||||
return getdns_dict_set_int(dict, "n", (*rdf >> 7));
|
||||
}
|
||||
static getdns_return_t
|
||||
apl_n_list_append_value(getdns_list *list, const uint8_t *rdf)
|
||||
apl_n_wire2list(getdns_list *list, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_list_append_int(list, (*rdf >> 7));
|
||||
}
|
||||
static _getdns_rdf_special apl_n = {
|
||||
apl_n_rdf_end, apl_n_dict_set_value, apl_n_list_append_value
|
||||
apl_n_rdf_end, apl_n_wire2dict, apl_n_wire2list
|
||||
};
|
||||
|
||||
static const uint8_t *
|
||||
|
@ -71,19 +71,19 @@ apl_afdpart_rdf_end(
|
|||
return end <= pkt_end ? end : NULL;
|
||||
}
|
||||
static getdns_return_t
|
||||
apl_afdpart_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
||||
apl_afdpart_wire2dict(getdns_dict *dict, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_dict_set_const_bindata(
|
||||
dict, "afdpart", (rdf[-1] & 0x7F), rdf);
|
||||
}
|
||||
static getdns_return_t
|
||||
apl_afdpart_list_append_value(getdns_list *list, const uint8_t *rdf)
|
||||
apl_afdpart_wire2list(getdns_list *list, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_list_append_const_bindata(list, (rdf[-1] & 0x7F), rdf);
|
||||
}
|
||||
static _getdns_rdf_special apl_afdpart = {
|
||||
apl_afdpart_rdf_end,
|
||||
apl_afdpart_dict_set_value, apl_afdpart_list_append_value
|
||||
apl_afdpart_wire2dict, apl_afdpart_wire2list
|
||||
};
|
||||
|
||||
static const uint8_t *
|
||||
|
@ -144,7 +144,7 @@ ipseckey_gateway_equip_const_bindata(
|
|||
}
|
||||
|
||||
static getdns_return_t
|
||||
ipseckey_gateway_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
||||
ipseckey_gateway_wire2dict(getdns_dict *dict, const uint8_t *rdf)
|
||||
{
|
||||
size_t size;
|
||||
const uint8_t *data;
|
||||
|
@ -158,7 +158,7 @@ ipseckey_gateway_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
|||
return _getdns_dict_set_const_bindata(dict, "gateway", size, data);
|
||||
}
|
||||
static getdns_return_t
|
||||
ipseckey_gateway_list_append_value(getdns_list *list, const uint8_t *rdf)
|
||||
ipseckey_gateway_wire2list(getdns_list *list, const uint8_t *rdf)
|
||||
{
|
||||
size_t size;
|
||||
const uint8_t *data;
|
||||
|
@ -173,7 +173,7 @@ ipseckey_gateway_list_append_value(getdns_list *list, const uint8_t *rdf)
|
|||
}
|
||||
static _getdns_rdf_special ipseckey_gateway = {
|
||||
ipseckey_gateway_rdf_end,
|
||||
ipseckey_gateway_dict_set_value, ipseckey_gateway_list_append_value
|
||||
ipseckey_gateway_wire2dict, ipseckey_gateway_wire2list
|
||||
};
|
||||
|
||||
static const uint8_t *
|
||||
|
@ -185,18 +185,18 @@ hip_pk_algorithm_rdf_end(
|
|||
: rdf + 1;
|
||||
}
|
||||
static getdns_return_t
|
||||
hip_pk_algorithm_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
||||
hip_pk_algorithm_wire2dict(getdns_dict *dict, const uint8_t *rdf)
|
||||
{
|
||||
return getdns_dict_set_int(dict, "pk_algorithm", rdf[1]);
|
||||
}
|
||||
static getdns_return_t
|
||||
hip_pk_algorithm_list_append_value(getdns_list *list, const uint8_t *rdf)
|
||||
hip_pk_algorithm_wire2list(getdns_list *list, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_list_append_int(list, rdf[1]);
|
||||
}
|
||||
static _getdns_rdf_special hip_pk_algorithm = {
|
||||
hip_pk_algorithm_rdf_end,
|
||||
hip_pk_algorithm_dict_set_value, hip_pk_algorithm_list_append_value
|
||||
hip_pk_algorithm_wire2dict, hip_pk_algorithm_wire2list
|
||||
};
|
||||
|
||||
static const uint8_t *
|
||||
|
@ -207,17 +207,17 @@ hip_hit_rdf_end(const uint8_t *pkt, const uint8_t *pkt_end, const uint8_t *rdf)
|
|||
: rdf + 1;
|
||||
}
|
||||
static getdns_return_t
|
||||
hip_hit_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
||||
hip_hit_wire2dict(getdns_dict *dict, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_dict_set_const_bindata(dict, "hit", rdf[-1], rdf + 3);
|
||||
}
|
||||
static getdns_return_t
|
||||
hip_hit_list_append_value(getdns_list *list, const uint8_t *rdf)
|
||||
hip_hit_wire2list(getdns_list *list, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_list_append_const_bindata(list, rdf[-1], rdf + 3);
|
||||
}
|
||||
static _getdns_rdf_special hip_hit = {
|
||||
hip_hit_rdf_end, hip_hit_dict_set_value, hip_hit_list_append_value
|
||||
hip_hit_rdf_end, hip_hit_wire2dict, hip_hit_wire2list
|
||||
};
|
||||
|
||||
static const uint8_t *
|
||||
|
@ -229,20 +229,20 @@ hip_public_key_rdf_end(
|
|||
: rdf + 2 + rdf[-2] + gldns_read_uint16(rdf);
|
||||
}
|
||||
static getdns_return_t
|
||||
hip_public_key_dict_set_value(getdns_dict *dict, const uint8_t *rdf)
|
||||
hip_public_key_wire2dict(getdns_dict *dict, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_dict_set_const_bindata(
|
||||
dict, "public_key", gldns_read_uint16(rdf), rdf + 2 + rdf[-2]);
|
||||
}
|
||||
static getdns_return_t
|
||||
hip_public_key_list_append_value(getdns_list *list, const uint8_t *rdf)
|
||||
hip_public_key_wire2list(getdns_list *list, const uint8_t *rdf)
|
||||
{
|
||||
return _getdns_list_append_const_bindata(
|
||||
list, gldns_read_uint16(rdf), rdf + 2 + rdf[-2]);
|
||||
}
|
||||
static _getdns_rdf_special hip_public_key = {
|
||||
hip_public_key_rdf_end,
|
||||
hip_public_key_dict_set_value, hip_public_key_list_append_value
|
||||
hip_public_key_wire2dict, hip_public_key_wire2list
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -36,18 +36,21 @@
|
|||
#include "getdns/getdns.h"
|
||||
#include "gldns/gbuffer.h"
|
||||
|
||||
/* rdf_end returns a pointer to the end of this rdf's data,
|
||||
* i.e. where the next rdata field will start.
|
||||
*/
|
||||
typedef const uint8_t *(*_getdns_rdf_end_t)(
|
||||
const uint8_t *pkt, const uint8_t *pkt_end, const uint8_t *rdf);
|
||||
/* Limit checks are already done with _getdns_rdf_end_t */
|
||||
typedef getdns_return_t (*_getdns_rdf_dict_set_value_t)(
|
||||
typedef getdns_return_t (*_getdns_rdf_wire2dict_t)(
|
||||
getdns_dict *dict, const uint8_t *rdf);
|
||||
typedef getdns_return_t (*_getdns_rdf_list_append_value_t)(
|
||||
typedef getdns_return_t (*_getdns_rdf_wire2list_t)(
|
||||
getdns_list *list, const uint8_t *rdf);
|
||||
|
||||
typedef struct _getdns_rdf_special {
|
||||
_getdns_rdf_end_t rdf_end;
|
||||
_getdns_rdf_dict_set_value_t dict_set_value;
|
||||
_getdns_rdf_list_append_value_t list_append_value;
|
||||
_getdns_rdf_end_t rdf_end;
|
||||
_getdns_rdf_wire2dict_t wire2dict;
|
||||
_getdns_rdf_wire2list_t wire2list;
|
||||
} _getdns_rdf_special;
|
||||
|
||||
/* draft-levine-dnsextlang'ish type rr and rdata definitions */
|
||||
|
|
|
@ -310,7 +310,7 @@ _getdns_rr_iter2rr_dict(struct mem_funcs *mf, _getdns_rr_iter *i)
|
|||
goto rdata_error;
|
||||
break;
|
||||
case wf_special:
|
||||
if (rdf->rdd_pos->special->dict_set_value(
|
||||
if (rdf->rdd_pos->special->wire2dict(
|
||||
rdata_dict, rdf->pos))
|
||||
goto rdata_error;
|
||||
default:
|
||||
|
@ -338,7 +338,7 @@ _getdns_rr_iter2rr_dict(struct mem_funcs *mf, _getdns_rr_iter *i)
|
|||
goto rdata_error;
|
||||
break;
|
||||
case wf_special:
|
||||
if (rdf->rdd_pos->special->list_append_value(
|
||||
if (rdf->rdd_pos->special->wire2list(
|
||||
repeat_list, rdf->pos))
|
||||
goto rdata_error;
|
||||
default:
|
||||
|
@ -377,7 +377,7 @@ _getdns_rr_iter2rr_dict(struct mem_funcs *mf, _getdns_rr_iter *i)
|
|||
goto rdata_error;
|
||||
break;
|
||||
case wf_special:
|
||||
if (rdf->rdd_pos->special->dict_set_value(
|
||||
if (rdf->rdd_pos->special->wire2dict(
|
||||
repeat_dict, rdf->pos))
|
||||
goto rdata_error;
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue