mirror of https://github.com/getdnsapi/getdns.git
Adapt for new unbound-event-api
This commit is contained in:
parent
8992eecf1a
commit
752ad0d420
|
@ -56,8 +56,8 @@
|
||||||
#define UNUSED_PARAM(x) ((void)(x))
|
#define UNUSED_PARAM(x) ((void)(x))
|
||||||
|
|
||||||
/* declarations */
|
/* declarations */
|
||||||
static void ub_resolve_callback(void *arg, int err, ldns_buffer * result,
|
static void ub_resolve_callback(void *arg, int err, void* result,
|
||||||
int sec, char *bogus);
|
int packet_len, int sec, char *bogus);
|
||||||
static void ub_resolve_timeout(evutil_socket_t fd, short what, void *arg);
|
static void ub_resolve_timeout(evutil_socket_t fd, short what, void *arg);
|
||||||
static void ub_local_resolve_timeout(evutil_socket_t fd, short what,
|
static void ub_local_resolve_timeout(evutil_socket_t fd, short what,
|
||||||
void *arg);
|
void *arg);
|
||||||
|
@ -70,7 +70,8 @@ typedef struct netreq_cb_data
|
||||||
{
|
{
|
||||||
getdns_network_req *netreq;
|
getdns_network_req *netreq;
|
||||||
int err;
|
int err;
|
||||||
ldns_buffer *result;
|
void *result;
|
||||||
|
int packet_len;
|
||||||
int sec;
|
int sec;
|
||||||
char *bogus;
|
char *bogus;
|
||||||
} netreq_cb_data;
|
} netreq_cb_data;
|
||||||
|
@ -120,10 +121,10 @@ ub_local_resolve_timeout(evutil_socket_t fd, short what, void *arg)
|
||||||
|
|
||||||
/* just call ub_resolve_callback */
|
/* just call ub_resolve_callback */
|
||||||
ub_resolve_callback(cb_data->netreq, cb_data->err, cb_data->result,
|
ub_resolve_callback(cb_data->netreq, cb_data->err, cb_data->result,
|
||||||
cb_data->sec, cb_data->bogus);
|
cb_data->packet_len, cb_data->sec, cb_data->bogus);
|
||||||
|
|
||||||
/* cleanup the state */
|
/* cleanup the state */
|
||||||
ldns_buffer_free(cb_data->result);
|
free(cb_data->result);
|
||||||
if (cb_data->bogus) {
|
if (cb_data->bogus) {
|
||||||
free(cb_data->bogus);
|
free(cb_data->bogus);
|
||||||
}
|
}
|
||||||
|
@ -177,8 +178,8 @@ struct chain_link {
|
||||||
static void submit_link(struct validation_chain *chain, char *name);
|
static void submit_link(struct validation_chain *chain, char *name);
|
||||||
static void callback_on_complete_chain(struct validation_chain *chain);
|
static void callback_on_complete_chain(struct validation_chain *chain);
|
||||||
static void
|
static void
|
||||||
ub_supporting_callback(void *arg, int err, ldns_buffer *result, int sec,
|
ub_supporting_callback(void *arg, int err, void *result, int packet_len,
|
||||||
char *bogus)
|
int sec, char *bogus)
|
||||||
{
|
{
|
||||||
struct chain_response *response = (struct chain_response *) arg;
|
struct chain_response *response = (struct chain_response *) arg;
|
||||||
ldns_status r;
|
ldns_status r;
|
||||||
|
@ -194,7 +195,7 @@ ub_supporting_callback(void *arg, int err, ldns_buffer *result, int sec,
|
||||||
if (result == NULL)
|
if (result == NULL)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
r = ldns_buffer2pkt_wire(&p, result);
|
r = ldns_wire2pkt(&p, (uint8_t *)result, (size_t)packet_len);
|
||||||
if (r != LDNS_STATUS_OK) {
|
if (r != LDNS_STATUS_OK) {
|
||||||
if (err == 0)
|
if (err == 0)
|
||||||
response->err = r;
|
response->err = r;
|
||||||
|
@ -402,8 +403,8 @@ submit_network_request(getdns_network_req * netreq)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ub_resolve_callback(void *arg, int err, ldns_buffer * result, int sec,
|
ub_resolve_callback(void *arg, int err, void *result, int packet_len,
|
||||||
char *bogus)
|
int sec, char *bogus)
|
||||||
{
|
{
|
||||||
getdns_network_req *netreq = (getdns_network_req *) arg;
|
getdns_network_req *netreq = (getdns_network_req *) arg;
|
||||||
/* if netreq->state == NET_REQ_NOT_SENT here, that implies
|
/* if netreq->state == NET_REQ_NOT_SENT here, that implies
|
||||||
|
@ -426,13 +427,13 @@ ub_resolve_callback(void *arg, int err, ldns_buffer * result, int sec,
|
||||||
cb_data->result = NULL;
|
cb_data->result = NULL;
|
||||||
cb_data->bogus = NULL; /* unused but here in case we need it */
|
cb_data->bogus = NULL; /* unused but here in case we need it */
|
||||||
if (result) {
|
if (result) {
|
||||||
cb_data->result =
|
cb_data->result = (uint8_t *) malloc(packet_len);
|
||||||
ldns_buffer_new(ldns_buffer_limit(result));
|
|
||||||
if (!cb_data->result) {
|
if (!cb_data->result) {
|
||||||
cb_data->err = GETDNS_RETURN_GENERIC_ERROR;
|
cb_data->err = GETDNS_RETURN_GENERIC_ERROR;
|
||||||
} else {
|
} else {
|
||||||
/* copy */
|
/* copy */
|
||||||
ldns_buffer_copy(cb_data->result, result);
|
(void) memcpy(
|
||||||
|
cb_data->result, result, packet_len);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* schedule the timeout */
|
/* schedule the timeout */
|
||||||
|
@ -451,7 +452,7 @@ ub_resolve_callback(void *arg, int err, ldns_buffer * result, int sec,
|
||||||
} else {
|
} else {
|
||||||
/* parse */
|
/* parse */
|
||||||
ldns_status r =
|
ldns_status r =
|
||||||
ldns_buffer2pkt_wire(&(netreq->result), result);
|
ldns_wire2pkt(&(netreq->result), result, packet_len);
|
||||||
if (r != LDNS_STATUS_OK) {
|
if (r != LDNS_STATUS_OK) {
|
||||||
handle_network_request_error(netreq, r);
|
handle_network_request_error(netreq, r);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue