diff --git a/src/dnslib/debug.h b/src/dnslib/debug.h index 35b4696bd0c19ff4e836813ccc7735d1a2627284..9faecc4badc5a9979ced1c2352a729cfafb24bfb 100644 --- a/src/dnslib/debug.h +++ b/src/dnslib/debug.h @@ -87,6 +87,17 @@ void dnslib_zone_contents_dump(dnslib_zone_contents_t *zone, char loaded_zone); //#define DNSLIB_ZLOAD_DEBUG //#define CUCKOO_DEBUG //#define CUCKOO_DEBUG_HASH +#define DNSLIB_NS_DEBUG + +#ifdef DNSLIB_NS_DEBUG +#define debug_dnslib_ns(msg...) fprintf(stderr, msg) +#define debug_dnslib_ns_hex(data, len) hex_print((data), (len)) +#define DEBUG_DNSLIB_NS(cmds) do { cmds } while (0) +#else +#define debug_dnslib_ns(msg...) +#define debug_dnslib_ns_hex(data, len) +#define DEBUG_DNSLIB_NS(cmds) +#endif #ifdef DNSLIB_DNAME_DEBUG #define debug_dnslib_dname(msg...) fprintf(stderr, msg) diff --git a/src/knot/main.c b/src/knot/main.c index 9176c7806dac9004cbf58743a3e1d614f1de134f..640d2276be62f8d18c2d0fe95b491bf52da67303 100644 --- a/src/knot/main.c +++ b/src/knot/main.c @@ -115,7 +115,7 @@ int main(int argc, char **argv) // Initialize configuration conf_read_lock(); conf_add_hook(conf(), CONF_LOG, log_conf_hook, 0); - conf_add_hook(conf(), CONF_LOG, ns_conf_hook, server->nameserver); + conf_add_hook(conf(), CONF_LOG, dnslib_ns_conf_hook, server->nameserver); conf_add_hook(conf(), CONF_LOG, server_conf_hook, server); conf_read_unlock(); diff --git a/src/knot/server/name-server.c b/src/knot/server/name-server.c index 2e4ab3a8b7f316831c320269bd3f226310524289..957a898612ce63c1d953aa3ccced48b29c78f1b4 100644 --- a/src/knot/server/name-server.c +++ b/src/knot/server/name-server.c @@ -5,17 +5,19 @@ #include <urcu.h> -#include "knot/server/socket.h" -#include "knot/common.h" +//#include "knot/server/socket.h" +//#include "knot/common.h" + #include "knot/server/name-server.h" #include "knot/server/notify.h" #include "knot/server/xfr-in.h" #include "knot/server/server.h" #include "knot/stat/stat.h" -#include "dnslib/dnslib.h" -#include "dnslib/debug.h" #include "knot/other/error.h" #include "knot/server/zones.h" + +#include "dnslib/dnslib.h" +#include "dnslib/debug.h" #include "dnslib/packet.h" #include "dnslib/response2.h" #include "dnslib/query.h" @@ -1799,7 +1801,7 @@ static int ns_response_to_wire(dnslib_packet_t *resp, uint8_t *wire, if ((ret = dnslib_packet_to_wire(resp, &rwire, &rsize)) != DNSLIB_EOK) { - log_answer_error("Error converting response packet " + debug_dnslib_ns("Error converting response packet " "to wire format (error %d).\n", ret); return NS_ERR_SERVFAIL; } @@ -1820,13 +1822,13 @@ static int ns_response_to_wire(dnslib_packet_t *resp, uint8_t *wire, /*----------------------------------------------------------------------------*/ typedef struct ns_axfr_params { - ns_xfr_t *xfr; + dnslib_ns_xfr_t *xfr; int ret; } ns_axfr_params_t; /*----------------------------------------------------------------------------*/ -static int ns_axfr_send_and_clear(ns_xfr_t *xfr) +static int ns_axfr_send_and_clear(dnslib_ns_xfr_t *xfr) { assert(xfr != NULL); assert(xfr->query != NULL); @@ -1855,7 +1857,7 @@ static int ns_axfr_send_and_clear(ns_xfr_t *xfr) debug_ns("Send returned %d\n", res); return res; } else if (res != real_size) { - log_server_warning("AXFR did not send right amount of bytes." + debug_dnslib_ns("AXFR did not send right amount of bytes." " Transfer size: %zu, sent: %d\n", real_size, res); } @@ -1972,7 +1974,7 @@ rrsigs: /*----------------------------------------------------------------------------*/ -static int ns_axfr_from_zone(dnslib_zone_contents_t *zone, ns_xfr_t *xfr) +static int ns_axfr_from_zone(dnslib_zone_contents_t *zone, dnslib_ns_xfr_t *xfr) { assert(xfr != NULL); assert(xfr->query != NULL); @@ -2062,7 +2064,7 @@ static int ns_axfr_from_zone(dnslib_zone_contents_t *zone, ns_xfr_t *xfr) /*----------------------------------------------------------------------------*/ -static int ns_ixfr_put_rrset(ns_xfr_t *xfr, const dnslib_rrset_t *rrset) +static int ns_ixfr_put_rrset(dnslib_ns_xfr_t *xfr, const dnslib_rrset_t *rrset) { int res = dnslib_response2_add_rrset_answer(xfr->response, rrset, 0, 0, 0); @@ -2092,7 +2094,7 @@ static int ns_ixfr_put_rrset(ns_xfr_t *xfr, const dnslib_rrset_t *rrset) /*----------------------------------------------------------------------------*/ -static int ns_ixfr_put_changeset(ns_xfr_t *xfr, const xfrin_changeset_t *chgset) +static int ns_ixfr_put_changeset(dnslib_ns_xfr_t *xfr, const xfrin_changeset_t *chgset) { // 1) put origin SOA int res = ns_ixfr_put_rrset(xfr, chgset->soa_from); @@ -2127,7 +2129,7 @@ static int ns_ixfr_put_changeset(ns_xfr_t *xfr, const xfrin_changeset_t *chgset) /*----------------------------------------------------------------------------*/ -static int ns_ixfr_from_zone(const dnslib_zone_t *zone, ns_xfr_t *xfr) +static int ns_ixfr_from_zone(const dnslib_zone_t *zone, dnslib_ns_xfr_t *xfr) { assert(zone != NULL); assert(xfr != NULL); @@ -2196,7 +2198,7 @@ static int ns_ixfr_from_zone(const dnslib_zone_t *zone, ns_xfr_t *xfr) /*----------------------------------------------------------------------------*/ -static int ns_axfr(const dnslib_zonedb_t *zonedb, ns_xfr_t *xfr) +static int ns_axfr(const dnslib_zonedb_t *zonedb, dnslib_ns_xfr_t *xfr) { const dnslib_dname_t *qname = dnslib_packet_qname(xfr->response); @@ -2253,7 +2255,7 @@ DEBUG_NS( /*----------------------------------------------------------------------------*/ -static int ns_ixfr(const dnslib_zonedb_t *zonedb, ns_xfr_t *xfr) +static int ns_ixfr(const dnslib_zonedb_t *zonedb, dnslib_ns_xfr_t *xfr) { assert(zonedb != NULL); assert(xfr != NULL); @@ -2356,9 +2358,9 @@ static int ns_send_cb(int fd, sockaddr_t *addr, uint8_t *msg, size_t msglen) /* Public functions */ /*----------------------------------------------------------------------------*/ -ns_nameserver_t *ns_create() +dnslib_nameserver_t *dnslib_ns_create() { - ns_nameserver_t *ns = malloc(sizeof(ns_nameserver_t)); + dnslib_nameserver_t *ns = malloc(sizeof(dnslib_nameserver_t)); if (ns == NULL) { ERR_ALLOC_FAILED; return NULL; @@ -2386,7 +2388,7 @@ ns_nameserver_t *ns_create() int rc = dnslib_packet_set_max_size(err, DNSLIB_WIRE_HEADER_SIZE); if (rc != DNSLIB_EOK) { - log_server_error("Error creating default error response: %s.\n", + debug_dnslib_ns("Error creating default error response: %s.\n", dnslib_strerror(rc)); free(ns); dnslib_packet_free(&err); @@ -2395,7 +2397,7 @@ ns_nameserver_t *ns_create() rc = dnslib_response2_init(err); if (rc != DNSLIB_EOK) { - log_server_error("Error initializing default error response:" + debug_dnslib_ns("Error initializing default error response:" " %s.\n", dnslib_strerror(rc)); free(ns); dnslib_packet_free(&err); @@ -2410,7 +2412,7 @@ ns_nameserver_t *ns_create() uint8_t *error_wire = NULL; if (dnslib_packet_to_wire(err, &error_wire, &ns->err_resp_size) != 0) { - log_answer_error("Error while converting " + debug_dnslib_ns("Error while converting " "default error response to " "wire format \n"); dnslib_packet_free(&err); @@ -2420,7 +2422,7 @@ ns_nameserver_t *ns_create() ns->err_response = (uint8_t *)malloc(ns->err_resp_size); if (ns->err_response == NULL) { - log_answer_error("Error while converting default " + debug_dnslib_ns("Error while converting default " "error response to wire format \n"); dnslib_packet_free(&err); free(ns); @@ -2436,7 +2438,7 @@ ns_nameserver_t *ns_create() if (EDNS_ENABLED) { ns->opt_rr = dnslib_edns_new(); if (ns->opt_rr == NULL) { - log_answer_error("Error while preparing OPT RR of the" + debug_dnslib_ns("Error while preparing OPT RR of the" " server.\n"); dnslib_packet_free(&err); free(ns); @@ -2459,11 +2461,11 @@ ns_nameserver_t *ns_create() /*----------------------------------------------------------------------------*/ -int ns_parse_packet(const uint8_t *query_wire, size_t qsize, +int dnslib_ns_parse_packet(const uint8_t *query_wire, size_t qsize, dnslib_packet_t *packet, dnslib_packet_type_t *type) { if (packet == NULL || query_wire == NULL || type == NULL) { - log_answer_error("Missing parameter to query parsing.\n"); + debug_dnslib_ns("Missing parameter to query parsing.\n"); return KNOT_EINVAL; } @@ -2482,7 +2484,7 @@ int ns_parse_packet(const uint8_t *query_wire, size_t qsize, if ((ret = dnslib_packet_parse_from_wire(packet, query_wire, qsize, 1)) != 0) { - log_answer_info("Error while parsing packet, " + debug_dnslib_ns("Error while parsing packet, " "dnslib error '%s'.\n", dnslib_strerror(ret)); // dnslib_response_free(&parsed); return DNSLIB_RCODE_FORMERR; @@ -2525,7 +2527,7 @@ int ns_parse_packet(const uint8_t *query_wire, size_t qsize, /*----------------------------------------------------------------------------*/ -void ns_error_response(ns_nameserver_t *nameserver, uint16_t query_id, +void dnslib_ns_error_response(dnslib_nameserver_t *nameserver, uint16_t query_id, uint8_t rcode, uint8_t *response_wire, size_t *rsize) { debug_ns("Error response: \n"); @@ -2618,7 +2620,7 @@ void ns_error_response(ns_nameserver_t *nameserver, uint16_t query_id, /*----------------------------------------------------------------------------*/ -int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, +int dnslib_ns_answer_normal(dnslib_nameserver_t *nameserver, dnslib_packet_t *query, uint8_t *response_wire, size_t *rsize) { // first, parse the rest of the packet @@ -2630,9 +2632,9 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, if (query->parsed < query->size) { ret = dnslib_packet_parse_rest(query); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to parse rest of the query: " + debug_dnslib_ns("Failed to parse rest of the query: " "%s.\n", dnslib_strerror(ret)); - ns_error_response(nameserver, query->header.id, + dnslib_ns_error_response(nameserver, query->header.id, DNSLIB_RCODE_SERVFAIL, response_wire, rsize); return KNOT_EOK; } @@ -2653,8 +2655,8 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, dnslib_packet_t *response = dnslib_packet_new( DNSLIB_PACKET_PREALLOC_RESPONSE); if (response == NULL) { - log_server_warning("Failed to create packet structure.\n"); - ns_error_response(nameserver, query->header.id, + debug_dnslib_ns("Failed to create packet structure.\n"); + dnslib_ns_error_response(nameserver, query->header.id, DNSLIB_RCODE_SERVFAIL, response_wire, rsize); rcu_read_unlock(); return KNOT_EOK; @@ -2663,8 +2665,8 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, ret = dnslib_packet_set_max_size(response, *rsize); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to init response structure.\n"); - ns_error_response(nameserver, query->header.id, + debug_dnslib_ns("Failed to init response structure.\n"); + dnslib_ns_error_response(nameserver, query->header.id, DNSLIB_RCODE_SERVFAIL, response_wire, rsize); rcu_read_unlock(); dnslib_packet_free(&response); @@ -2674,8 +2676,8 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, ret = dnslib_response2_init_from_query(response, query); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to init response structure.\n"); - ns_error_response(nameserver, query->header.id, + debug_dnslib_ns("Failed to init response structure.\n"); + dnslib_ns_error_response(nameserver, query->header.id, DNSLIB_RCODE_SERVFAIL, response_wire, rsize); rcu_read_unlock(); dnslib_packet_free(&response); @@ -2689,7 +2691,7 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, if (dnslib_query_edns_supported(query)) { ret = dnslib_response2_add_opt(response, nameserver->opt_rr, 0); if (ret != DNSLIB_EOK) { - log_server_notice("Failed to set OPT RR to the response" + debug_dnslib_ns("Failed to set OPT RR to the response" ": %s\n",dnslib_strerror(ret)); } } @@ -2697,7 +2699,7 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, ret = ns_answer(zonedb, response); if (ret != 0) { // now only one type of error (SERVFAIL), later maybe more - ns_error_response(nameserver, query->header.id, + dnslib_ns_error_response(nameserver, query->header.id, DNSLIB_RCODE_SERVFAIL, response_wire, rsize); } else { debug_ns("Created response packet.\n"); @@ -2707,7 +2709,7 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, // 4) Transform the packet into wire format if (ns_response_to_wire(response, response_wire, rsize) != 0) { // send back SERVFAIL (as this is our problem) - ns_error_response(nameserver, query->header.id, + dnslib_ns_error_response(nameserver, query->header.id, DNSLIB_RCODE_SERVFAIL, response_wire, rsize); } @@ -2724,7 +2726,7 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, /*----------------------------------------------------------------------------*/ -int ns_answer_notify(ns_nameserver_t *nameserver, dnslib_packet_t *query, +int dnslib_ns_answer_notify(dnslib_nameserver_t *nameserver, dnslib_packet_t *query, sockaddr_t *from, uint8_t *response_wire, size_t *rsize) { debug_ns("ns_answer_notify()\n"); @@ -2749,7 +2751,7 @@ int ns_answer_notify(ns_nameserver_t *nameserver, dnslib_packet_t *query, /* rfc1996: Ignore request and report incident. */ char straddr[SOCKADDR_STRLEN]; sockaddr_tostr(from, straddr, sizeof(straddr)); - log_server_error("Unauthorized NOTIFY request " + debug_dnslib_ns("Unauthorized NOTIFY request " "from %s:%d.\n", straddr, sockaddr_portnum(from)); return KNOT_EACCES; @@ -2790,7 +2792,7 @@ int ns_answer_notify(ns_nameserver_t *nameserver, dnslib_packet_t *query, /*----------------------------------------------------------------------------*/ -int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) +int dnslib_ns_answer_axfr(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr) { debug_ns("ns_answer_axfr()\n"); @@ -2805,9 +2807,9 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) dnslib_packet_t *response = dnslib_packet_new( DNSLIB_PACKET_PREALLOC_RESPONSE); if (response == NULL) { - log_server_warning("Failed to create packet structure.\n"); + debug_dnslib_ns("Failed to create packet structure.\n"); /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &xfr->wire_size); /*! \todo Hm, maybe send the packet? ;-) */ @@ -2817,9 +2819,9 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) int ret = dnslib_packet_set_max_size(response, xfr->wire_size); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to init response structure.\n"); + debug_dnslib_ns("Failed to init response structure.\n"); /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &xfr->wire_size); dnslib_packet_free(&response); @@ -2830,9 +2832,9 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) ret = dnslib_response2_init_from_query(response, xfr->query); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to init response structure.\n"); + debug_dnslib_ns("Failed to init response structure.\n"); /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &xfr->wire_size); dnslib_packet_free(&response); @@ -2846,7 +2848,7 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) /*! \todo Only if client supports it! */ ret = dnslib_response2_add_opt(xfr->response, nameserver->opt_rr, 0); if (ret != DNSLIB_EOK) { - log_server_notice("Failed to set OPT RR to the response: %s\n", + debug_dnslib_ns("Failed to set OPT RR to the response: %s\n", dnslib_strerror(ret)); } @@ -2865,7 +2867,7 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) // now only one type of error (SERVFAIL), later maybe more size_t real_size; /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &real_size); ret = xfr->send(xfr->session, &xfr->addr, xfr->wire, real_size); @@ -2876,7 +2878,7 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) dnslib_packet_free(&xfr->response); if (ret < 0) { - log_server_error("Error while sending AXFR: %s\n", + debug_dnslib_ns("Error while sending AXFR: %s\n", knot_strerror(ret)); // there was some error but there is not much to do about it return ret; @@ -2887,7 +2889,7 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) /*----------------------------------------------------------------------------*/ -int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) +int dnslib_ns_answer_ixfr(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr) { debug_ns("ns_answer_ixfr()\n"); @@ -2901,9 +2903,9 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) dnslib_packet_t *response = dnslib_packet_new( DNSLIB_PACKET_PREALLOC_RESPONSE); if (response == NULL) { - log_server_warning("Failed to create packet structure.\n"); + debug_dnslib_ns("Failed to create packet structure.\n"); /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &xfr->wire_size); /*! \todo Hm, maybe send the packet? ;-) */ @@ -2913,9 +2915,9 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) int ret = dnslib_packet_set_max_size(response, xfr->wire_size); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to init response structure.\n"); + debug_dnslib_ns("Failed to init response structure.\n"); /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &xfr->wire_size); /*! \todo Hm, maybe send the packet? ;-) */ @@ -2930,9 +2932,9 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) ret = dnslib_response2_init_from_query(response, xfr->query); if (ret != DNSLIB_EOK) { - log_server_warning("Failed to init response structure.\n"); + debug_dnslib_ns("Failed to init response structure.\n"); /*! \todo xfr->wire is not NULL, will fail on assert! */ - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, xfr->wire, &xfr->wire_size); /*! \todo Hm, maybe send the packet? ;-) */ @@ -2951,7 +2953,7 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) size_t size = 0; ret = dnslib_packet_to_wire(response, &wire, &size); if (ret != DNSLIB_EOK) { - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_FORMERR, wire, &size); } @@ -2968,7 +2970,7 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) ret = dnslib_response2_add_opt(xfr->response, nameserver->opt_rr, 0); if (ret != DNSLIB_EOK) { - log_server_notice("Failed to set OPT RR to the response" + debug_dnslib_ns("Failed to set OPT RR to the response" ": %s\n", dnslib_strerror(ret)); } } @@ -2993,7 +2995,7 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) size_t size = 0; ret = dnslib_packet_to_wire(response, &wire, &size); if (ret != DNSLIB_EOK) { - ns_error_response(nameserver, xfr->query->header.id, + dnslib_ns_error_response(nameserver, xfr->query->header.id, DNSLIB_RCODE_SERVFAIL, wire, &size); } @@ -3005,7 +3007,7 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) dnslib_packet_free(&xfr->response); if (ret < 0) { - log_server_error("Error while sending IXFR: %s\n", + debug_dnslib_ns("Error while sending IXFR: %s\n", knot_strerror(ret)); // there was some error but there is not much to do about it return ret; @@ -3014,7 +3016,7 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr) return KNOT_EOK; } -int ns_process_response(ns_nameserver_t *nameserver, sockaddr_t *from, +int dnslib_ns_process_response(dnslib_nameserver_t *nameserver, sockaddr_t *from, dnslib_packet_t *packet, uint8_t *response_wire, size_t *rsize) { @@ -3096,14 +3098,14 @@ int ns_process_response(ns_nameserver_t *nameserver, sockaddr_t *from, } /* Prepare XFR client transfer. */ - ns_xfr_t xfr_req; - memset(&xfr_req, 0, sizeof(ns_xfr_t)); + dnslib_ns_xfr_t xfr_req; + memset(&xfr_req, 0, sizeof(dnslib_ns_xfr_t)); memcpy(&xfr_req.addr, from, sizeof(sockaddr_t)); xfr_req.data = (void *)zone; xfr_req.send = ns_send_cb; /* Select transfer method. */ - xfr_req.type = ns_transfer_to_use(nameserver, contents); + xfr_req.type = dnslib_ns_transfer_to_use(nameserver, contents); /* Unlock zone contents. */ rcu_read_unlock(); @@ -3118,7 +3120,7 @@ int ns_process_response(ns_nameserver_t *nameserver, sockaddr_t *from, /*----------------------------------------------------------------------------*/ -int ns_process_notify(ns_nameserver_t *nameserver, sockaddr_t *from, +int dnslib_ns_process_notify(dnslib_nameserver_t *nameserver, sockaddr_t *from, dnslib_packet_t *packet, uint8_t *response_wire, size_t *rsize) { @@ -3176,7 +3178,7 @@ int ns_process_notify(ns_nameserver_t *nameserver, sockaddr_t *from, /*----------------------------------------------------------------------------*/ -static int ns_find_zone_for_xfr(ns_xfr_t *xfr, const char **zonefile, +static int ns_find_zone_for_xfr(dnslib_ns_xfr_t *xfr, const char **zonefile, const char **zonedb) { // find the zone file name and zone db file name for the zone @@ -3206,7 +3208,7 @@ static int ns_find_zone_for_xfr(ns_xfr_t *xfr, const char **zonefile, char *name = dnslib_dname_to_str(dnslib_node_owner( dnslib_zone_contents_apex(xfr->zone))); - log_server_error("No zone found for the zone received by transfer " + debug_dnslib_ns("No zone found for the zone received by transfer " "(%s).\n", name); free(name); @@ -3253,14 +3255,14 @@ static char *ns_find_free_filename(const char *old_name) /*----------------------------------------------------------------------------*/ -static int ns_dump_xfr_zone_text(ns_xfr_t *xfr, const char *zonefile) +static int ns_dump_xfr_zone_text(dnslib_ns_xfr_t *xfr, const char *zonefile) { assert(xfr != NULL && xfr->zone != NULL && zonefile != NULL); char *new_zonefile = ns_find_free_filename(zonefile); if (new_zonefile == NULL) { - log_server_error("Failed to find free filename for temporary " + debug_dnslib_ns("Failed to find free filename for temporary " "storage of the zone text file.\n"); return KNOT_ERROR; /*! \todo New error code? */ } @@ -3268,7 +3270,7 @@ static int ns_dump_xfr_zone_text(ns_xfr_t *xfr, const char *zonefile) int rc = zone_dump_text(xfr->zone, new_zonefile); if (rc != DNSLIB_EOK) { - log_server_error("Failed to save the zone to text zone file %s." + debug_dnslib_ns("Failed to save the zone to text zone file %s." "\n", new_zonefile); free(new_zonefile); return KNOT_ERROR; @@ -3283,7 +3285,7 @@ static int ns_dump_xfr_zone_text(ns_xfr_t *xfr, const char *zonefile) /*----------------------------------------------------------------------------*/ -static int ns_dump_xfr_zone_binary(ns_xfr_t *xfr, const char *zonedb, +static int ns_dump_xfr_zone_binary(dnslib_ns_xfr_t *xfr, const char *zonedb, const char *zonefile) { assert(xfr != NULL && xfr->zone != NULL && zonedb != NULL); @@ -3291,7 +3293,7 @@ static int ns_dump_xfr_zone_binary(ns_xfr_t *xfr, const char *zonedb, char *new_zonedb = ns_find_free_filename(zonedb); if (new_zonedb == NULL) { - log_server_error("Failed to find free filename for temporary " + debug_dnslib_ns("Failed to find free filename for temporary " "storage of the zone binary file.\n"); return KNOT_ERROR; /*! \todo New error code? */ } @@ -3299,7 +3301,7 @@ static int ns_dump_xfr_zone_binary(ns_xfr_t *xfr, const char *zonedb, int rc = dnslib_zdump_binary(xfr->zone, new_zonedb, 0, zonefile); if (rc != DNSLIB_EOK) { - log_server_error("Failed to save the zone to binary zone db %s." + debug_dnslib_ns("Failed to save the zone to binary zone db %s." "\n", new_zonedb); free(new_zonedb); return KNOT_ERROR; @@ -3314,7 +3316,7 @@ static int ns_dump_xfr_zone_binary(ns_xfr_t *xfr, const char *zonedb, /*----------------------------------------------------------------------------*/ -static int ns_save_zone(ns_nameserver_t *nameserver, ns_xfr_t *xfr) +static int ns_save_zone(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr) { assert(nameserver != NULL && xfr != NULL && xfr->zone != NULL && dnslib_zone_contents_apex(xfr->zone) != NULL); @@ -3342,7 +3344,7 @@ static int ns_save_zone(ns_nameserver_t *nameserver, ns_xfr_t *xfr) /*----------------------------------------------------------------------------*/ -int ns_process_axfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr) +int dnslib_ns_process_axfrin(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr) { /*! \todo Implement me. * - xfr contains partially-built zone or NULL (xfr->data) @@ -3393,7 +3395,7 @@ int ns_process_axfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr) /*----------------------------------------------------------------------------*/ -int ns_switch_zone(ns_nameserver_t *nameserver, dnslib_zone_contents_t *zone) +int dnslib_ns_switch_zone(dnslib_nameserver_t *nameserver, dnslib_zone_contents_t *zone) { debug_ns("Replacing zone by new one: %p\n", zone); @@ -3403,7 +3405,7 @@ int ns_switch_zone(ns_nameserver_t *nameserver, dnslib_zone_contents_t *zone) if (z == NULL) { char *name = dnslib_dname_to_str(dnslib_node_owner( dnslib_zone_contents_apex(zone))); - log_server_warning("Failed to replace zone %s, old zone " + debug_dnslib_ns("Failed to replace zone %s, old zone " "not found\n", name); free(name); } @@ -3416,7 +3418,7 @@ int ns_switch_zone(ns_nameserver_t *nameserver, dnslib_zone_contents_t *zone) // if (old == NULL) { // char *name = dnslib_dname_to_str( // dnslib_node_owner(dnslib_zone_apex(zone))); -// log_server_warning("Failed to replace zone %s\n", name); +// debug_dnslib_ns("Failed to replace zone %s\n", name); // free(name); // } @@ -3450,7 +3452,7 @@ DEBUG_NS( /*----------------------------------------------------------------------------*/ -int ns_apply_ixfr_changes(dnslib_zone_t *zone, xfrin_changesets_t *chgsets) +int dnslib_ns_apply_ixfr_changes(dnslib_zone_t *zone, xfrin_changesets_t *chgsets) { /*! \todo Apply changes to the zone when they are parsed. */ return KNOT_EOK; @@ -3458,7 +3460,7 @@ int ns_apply_ixfr_changes(dnslib_zone_t *zone, xfrin_changesets_t *chgsets) /*----------------------------------------------------------------------------*/ -int ns_process_ixfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr) +int dnslib_ns_process_ixfrin(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr) { /*! \todo Implement me. * - xfr contains partially-built IXFR journal entry or NULL @@ -3500,7 +3502,7 @@ int ns_process_ixfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr) return ret; } - ret = ns_apply_ixfr_changes(zone, chgsets); + ret = dnslib_ns_apply_ixfr_changes(zone, chgsets); if (ret != KNOT_EOK) { debug_ns("Failed to apply changes to the zone."); // left the changes to be applied later..? @@ -3518,7 +3520,7 @@ int ns_process_ixfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr) /*----------------------------------------------------------------------------*/ -ns_xfr_type_t ns_transfer_to_use(ns_nameserver_t *nameserver, +dnslib_ns_xfr_type_t dnslib_ns_transfer_to_use(dnslib_nameserver_t *nameserver, const dnslib_zone_contents_t *zone) { /*! \todo Implement. */ @@ -3527,7 +3529,7 @@ ns_xfr_type_t ns_transfer_to_use(ns_nameserver_t *nameserver, /*----------------------------------------------------------------------------*/ -void ns_destroy(ns_nameserver_t **nameserver) +void dnslib_ns_destroy(dnslib_nameserver_t **nameserver) { synchronize_rcu(); @@ -3545,9 +3547,9 @@ void ns_destroy(ns_nameserver_t **nameserver) /*----------------------------------------------------------------------------*/ -int ns_conf_hook(const struct conf_t *conf, void *data) +int dnslib_ns_conf_hook(const struct conf_t *conf, void *data) { - ns_nameserver_t *ns = (ns_nameserver_t *)data; + dnslib_nameserver_t *ns = (dnslib_nameserver_t *)data; debug_ns("Event: reconfiguring name server.\n"); dnslib_zonedb_t *old_db = 0; diff --git a/src/knot/server/name-server.h b/src/knot/server/name-server.h index 2aa3139f92d27b2de6f2bf4922fb2684d8be5cff..5589cb9f2b9950640677fa079c2401ef4d6c4911 100644 --- a/src/knot/server/name-server.h +++ b/src/knot/server/name-server.h @@ -40,7 +40,7 @@ struct server_t; * * Currently only holds pointer to the zone database for answering queries. */ -typedef struct ns_nameserver { +typedef struct dnslib_nameserver { /*! * \brief Pointer to the zone database structure used for answering * queries. @@ -50,14 +50,14 @@ typedef struct ns_nameserver { size_t err_resp_size; /*!< Size of the prepared error response. */ dnslib_opt_rr_t *opt_rr; /*!< OPT RR with the server's EDNS0 info. */ struct server_t *server; /*!< Pointer to server. */ -} ns_nameserver_t; +} dnslib_nameserver_t; /*! \brief Callback for sending one packet back through a TCP connection. */ typedef int (*xfr_callback_t)(int session, sockaddr_t *addr, uint8_t *packet, size_t size); /*! \todo Document me. */ -typedef struct ns_xfr { +typedef struct dnslib_ns_xfr { int type; sockaddr_t addr; dnslib_packet_t *query; @@ -68,15 +68,15 @@ typedef struct ns_xfr { size_t wire_size; void *data; dnslib_zone_contents_t *zone; -} ns_xfr_t; +} dnslib_ns_xfr_t; /*! \todo Document me. */ -typedef enum ns_xfr_type_t { +typedef enum dnslib_ns_xfr_type_t { NS_XFR_TYPE_AIN, /*!< AXFR-IN request (start transfer). */ NS_XFR_TYPE_AOUT, /*!< AXFR-OUT request (incoming transfer). */ NS_XFR_TYPE_IIN, /*!< IXFR-IN request (start transfer). */ NS_XFR_TYPE_IOUT /*!< IXFR-OUT request (incoming transfer). */ -} ns_xfr_type_t; +} dnslib_ns_xfr_type_t; /*----------------------------------------------------------------------------*/ /*! @@ -84,7 +84,7 @@ typedef enum ns_xfr_type_t { * * \return Pointer to the name server structure. */ -ns_nameserver_t *ns_create(); +dnslib_nameserver_t *dnslib_ns_create(); /*! * \brief Parses the given query into the response structure and recognizes @@ -114,7 +114,7 @@ ns_nameserver_t *ns_create(); * ns_error_response() with \a rcode set to this * value to get proper error response. */ -int ns_parse_packet(const uint8_t *query_wire, size_t qsize, +int dnslib_ns_parse_packet(const uint8_t *query_wire, size_t qsize, dnslib_packet_t *packet, dnslib_packet_type_t *type); /*! @@ -130,7 +130,7 @@ int ns_parse_packet(const uint8_t *query_wire, size_t qsize, * \param response_wire Place for wire format of the response. * \param rsize Size of the error response will be stored here. */ -void ns_error_response(ns_nameserver_t *nameserver, uint16_t query_id, +void dnslib_ns_error_response(dnslib_nameserver_t *nameserver, uint16_t query_id, uint8_t rcode, uint8_t *response_wire, size_t *rsize); /*! @@ -149,7 +149,7 @@ void ns_error_response(ns_nameserver_t *nameserver, uint16_t query_id, * * \todo Truncation of the packet. */ -int ns_answer_request(ns_nameserver_t *nameserver, +int dnslib_ns_answer_request(dnslib_nameserver_t *nameserver, const uint8_t *query_wire, size_t qsize, uint8_t *response_wire, @@ -168,7 +168,7 @@ int ns_answer_request(ns_nameserver_t *nameserver, * \retval KNOT_EOK if a valid response was created. * \retval KNOT_EMALF if an error occured and the response is not valid. */ -int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, +int dnslib_ns_answer_normal(dnslib_nameserver_t *nameserver, dnslib_packet_t *query, uint8_t *response_wire, size_t *rsize); /*! @@ -188,7 +188,7 @@ int ns_answer_normal(ns_nameserver_t *nameserver, dnslib_packet_t *query, * \retval KNOT_EACCES sender is not authorized to request NOTIFY. * \retval KNOT_EMALF if an error occured and the response is not valid. */ -int ns_answer_notify(ns_nameserver_t *nameserver, dnslib_packet_t *query, +int dnslib_ns_answer_notify(dnslib_nameserver_t *nameserver, dnslib_packet_t *query, sockaddr_t *from, uint8_t *response_wire, size_t *rsize); /*! @@ -212,7 +212,7 @@ int ns_answer_notify(ns_nameserver_t *nameserver, dnslib_packet_t *query, * \todo Maybe the place for the wire format should be passed in as in * the ns_answer_request() function...? */ -int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr); +int dnslib_ns_answer_axfr(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr); /*! * \brief Processes an IXFR query. @@ -222,7 +222,7 @@ int ns_answer_axfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr); * * \todo Document properly. */ -int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr); +int dnslib_ns_answer_ixfr(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr); /*! * \brief Processes normal response packet. @@ -238,7 +238,7 @@ int ns_answer_ixfr(ns_nameserver_t *nameserver, ns_xfr_t *xfr); * \retval KNOT_EINVAL on invalid parameters or packet. * \retval KNOT_EMALF if an error occured and the response is not valid. */ -int ns_process_response(ns_nameserver_t *nameserver, sockaddr_t *from, +int dnslib_ns_process_response(dnslib_nameserver_t *nameserver, sockaddr_t *from, dnslib_packet_t *packet, uint8_t *response_wire, size_t *rsize); @@ -256,7 +256,7 @@ int ns_process_response(ns_nameserver_t *nameserver, sockaddr_t *from, * \retval KNOT_EINVAL on invalid parameters or packet. * \retval KNOT_EMALF if an error occured and the response is not valid. */ -int ns_process_notify(ns_nameserver_t *nameserver, sockaddr_t *from, +int dnslib_ns_process_notify(dnslib_nameserver_t *nameserver, sockaddr_t *from, dnslib_packet_t *packet, uint8_t *response_wire, size_t *rsize); @@ -268,9 +268,9 @@ int ns_process_notify(ns_nameserver_t *nameserver, sockaddr_t *from, * * \todo Document me. */ -int ns_process_axfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr); +int dnslib_ns_process_axfrin(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr); -int ns_switch_zone(ns_nameserver_t *nameserver, dnslib_zone_contents_t *zone); +int dnslib_ns_switch_zone(dnslib_nameserver_t *nameserver, dnslib_zone_contents_t *zone); /*! * \brief Processes an IXFR-IN packet. @@ -280,7 +280,7 @@ int ns_switch_zone(ns_nameserver_t *nameserver, dnslib_zone_contents_t *zone); * * \todo Document me. */ -int ns_process_ixfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr); +int dnslib_ns_process_ixfrin(dnslib_nameserver_t *nameserver, dnslib_ns_xfr_t *xfr); /*! * \brief Decides what type of transfer should be used to update the given zone. @@ -290,7 +290,7 @@ int ns_process_ixfrin(ns_nameserver_t *nameserver, ns_xfr_t *xfr); * * \retval */ -ns_xfr_type_t ns_transfer_to_use(ns_nameserver_t *nameserver, +dnslib_ns_xfr_type_t dnslib_ns_transfer_to_use(dnslib_nameserver_t *nameserver, const dnslib_zone_contents_t *zone); /*! @@ -298,7 +298,7 @@ ns_xfr_type_t ns_transfer_to_use(ns_nameserver_t *nameserver, * * \param nameserver Nameserver to destroy. */ -void ns_destroy(ns_nameserver_t **nameserver); +void dnslib_ns_destroy(dnslib_nameserver_t **nameserver); /*! * \brief Name server config hook. @@ -312,7 +312,7 @@ void ns_destroy(ns_nameserver_t **nameserver); * \retval KNOT_EINVAL * \retval KNOT_ERROR */ -int ns_conf_hook(const struct conf_t *conf, void *data); +int dnslib_ns_conf_hook(const struct conf_t *conf, void *data); #endif /* _KNOT_NAME_SERVER_H_ */ diff --git a/src/knot/server/server.c b/src/knot/server/server.c index cc2430419cf03f905128fec3314f2a4ac753f0ca..1213f62823e2eb64f125e1b68d4bda5e58018eae 100644 --- a/src/knot/server/server.c +++ b/src/knot/server/server.c @@ -384,7 +384,7 @@ server_t *server_create() // Create name server debug_server("Creating Name Server structure...\n"); - server->nameserver = ns_create(); + server->nameserver = dnslib_ns_create(); if (server->nameserver == NULL) { free(server); return NULL; @@ -396,7 +396,7 @@ server_t *server_create() // Create XFR handler server->xfr_h = xfr_create(XFR_THREADS_COUNT, server->nameserver); if (!server->xfr_h) { - ns_destroy(&server->nameserver); + dnslib_ns_destroy(&server->nameserver); free(server); return NULL; } @@ -634,7 +634,7 @@ void server_destroy(server_t **server) evsched_delete(&(*server)->sched); stat_static_gath_free(); - ns_destroy(&(*server)->nameserver); + dnslib_ns_destroy(&(*server)->nameserver); free(*server); diff --git a/src/knot/server/server.h b/src/knot/server/server.h index 71c4a0a2873b08db772c49a25fb7befbb2310a0a..788bd2a514b9dfcda0bdc1cc62b7ab9bc467d3dd 100644 --- a/src/knot/server/server.h +++ b/src/knot/server/server.h @@ -90,7 +90,7 @@ typedef struct server_t { volatile unsigned state; /*! \brief Reference to the name server structure. */ - ns_nameserver_t *nameserver; + dnslib_nameserver_t *nameserver; /*! \brief XFR handler. */ xfrhandler_t *xfr_h; diff --git a/src/knot/server/tcp-handler.c b/src/knot/server/tcp-handler.c index 4fc7fa9ff41196514abd8b90b6a5f7ebfaa0f4cd..45bffe7d8ca4ec4917d669c674d91b94f3d23665 100644 --- a/src/knot/server/tcp-handler.c +++ b/src/knot/server/tcp-handler.c @@ -88,7 +88,7 @@ static void tcp_handle(struct ev_loop *loop, ev_io *w, int revents) (void*)pthread_self()); tcp_io_t *tcp_w = (tcp_io_t *)w; - ns_nameserver_t *ns = tcp_w->server->nameserver; + dnslib_nameserver_t *ns = tcp_w->server->nameserver; xfrhandler_t *xfr_h = tcp_w->server->xfr_h; /* Check address type. */ @@ -121,18 +121,18 @@ static void tcp_handle(struct ev_loop *loop, ev_io *w, int revents) dnslib_packet_new(DNSLIB_PACKET_PREALLOC_QUERY); if (packet == NULL) { uint16_t pkt_id = dnslib_wire_get_id(qbuf); - ns_error_response(ns, pkt_id, DNSLIB_RCODE_SERVFAIL, + dnslib_ns_error_response(ns, pkt_id, DNSLIB_RCODE_SERVFAIL, qbuf, &resp_len); return; } - int res = ns_parse_packet(qbuf, n, packet, &qtype); + int res = dnslib_ns_parse_packet(qbuf, n, packet, &qtype); if (unlikely(res != KNOT_EOK)) { /* Send error response on dnslib RCODE. */ if (res > 0) { uint16_t pkt_id = dnslib_wire_get_id(qbuf); - ns_error_response(ns, pkt_id, res, + dnslib_ns_error_response(ns, pkt_id, res, qbuf, &resp_len); } @@ -142,7 +142,7 @@ static void tcp_handle(struct ev_loop *loop, ev_io *w, int revents) } /* Handle query. */ - ns_xfr_t xfr; + dnslib_ns_xfr_t xfr; res = KNOT_ERROR; switch(qtype) { @@ -156,10 +156,10 @@ static void tcp_handle(struct ev_loop *loop, ev_io *w, int revents) /* Query types. */ case DNSLIB_QUERY_NORMAL: - res = ns_answer_normal(ns, packet, qbuf, &resp_len); + res = dnslib_ns_answer_normal(ns, packet, qbuf, &resp_len); break; case DNSLIB_QUERY_AXFR: - memset(&xfr, 0, sizeof(ns_xfr_t)); + memset(&xfr, 0, sizeof(dnslib_ns_xfr_t)); xfr.type = NS_XFR_TYPE_AOUT; xfr.query = packet; xfr.send = xfr_send_cb; @@ -169,7 +169,7 @@ static void tcp_handle(struct ev_loop *loop, ev_io *w, int revents) debug_net("tcp: enqueued AXFR query\n"); return; case DNSLIB_QUERY_IXFR: - memset(&xfr, 0, sizeof(ns_xfr_t)); + memset(&xfr, 0, sizeof(dnslib_ns_xfr_t)); xfr.type = NS_XFR_TYPE_IOUT; xfr.query = packet; /* Will be freed after processing. */ xfr.send = xfr_send_cb; diff --git a/src/knot/server/udp-handler.c b/src/knot/server/udp-handler.c index 82eaf14e81fe951a347e2263f92d538bbb61260b..6e252cf653a52bf083396a45fd339559f343d691 100644 --- a/src/knot/server/udp-handler.c +++ b/src/knot/server/udp-handler.c @@ -23,7 +23,7 @@ int udp_master(dthread_t *thread) { iohandler_t *handler = (iohandler_t *)thread->data; - ns_nameserver_t *ns = handler->server->nameserver; + dnslib_nameserver_t *ns = handler->server->nameserver; int sock = handler->fd; /* Check socket. */ @@ -115,19 +115,19 @@ int udp_master(dthread_t *thread) dnslib_packet_new(DNSLIB_PACKET_PREALLOC_QUERY); if (packet == NULL) { uint16_t pkt_id = dnslib_wire_get_id(qbuf); - ns_error_response(ns, pkt_id, DNSLIB_RCODE_SERVFAIL, + dnslib_ns_error_response(ns, pkt_id, DNSLIB_RCODE_SERVFAIL, qbuf, &resp_len); continue; } /* Parse query. */ - res = ns_parse_packet(qbuf, n, packet, &qtype); + res = dnslib_ns_parse_packet(qbuf, n, packet, &qtype); if (unlikely(res != KNOT_EOK)) { debug_net("udp: sending back error response.\n"); /* Send error response on dnslib RCODE. */ if (res > 0) { uint16_t pkt_id = dnslib_wire_get_id(qbuf); - ns_error_response(ns, pkt_id, res, + dnslib_ns_error_response(ns, pkt_id, res, qbuf, &resp_len); } @@ -141,26 +141,26 @@ int udp_master(dthread_t *thread) /* Response types. */ case DNSLIB_RESPONSE_NORMAL: - res = ns_process_response(ns, &addr, packet, + res = dnslib_ns_process_response(ns, &addr, packet, qbuf, &resp_len); break; case DNSLIB_RESPONSE_AXFR: case DNSLIB_RESPONSE_IXFR: case DNSLIB_RESPONSE_NOTIFY: - res = ns_process_notify(ns, &addr, packet, + res = dnslib_ns_process_notify(ns, &addr, packet, qbuf, &resp_len); break; /* Query types. */ case DNSLIB_QUERY_NORMAL: - res = ns_answer_normal(ns, packet, qbuf, &resp_len); + res = dnslib_ns_answer_normal(ns, packet, qbuf, &resp_len); break; case DNSLIB_QUERY_AXFR: case DNSLIB_QUERY_IXFR: /*! \todo Send error, not available on UDP. */ break; case DNSLIB_QUERY_NOTIFY: - res = ns_answer_notify(ns, packet, &addr, + res = dnslib_ns_answer_notify(ns, packet, &addr, qbuf, &resp_len); break; case DNSLIB_QUERY_UPDATE: diff --git a/src/knot/server/xfr-handler.c b/src/knot/server/xfr-handler.c index 9edd8889e87cc374980bdc67f52b0ad70fb22a3e..ba00739315dda7b1a2bbae0121a6446f49d8de30 100644 --- a/src/knot/server/xfr-handler.c +++ b/src/knot/server/xfr-handler.c @@ -25,7 +25,7 @@ struct xfr_io_t { ev_io io; xfrhandler_t *h; - ns_xfr_t data; + dnslib_ns_xfr_t data; }; /*! \brief Interrupt libev ev_loop execution. */ @@ -48,7 +48,7 @@ static inline void xfr_client_ev(struct ev_loop *loop, ev_io *w, int revents) { /* Check data. */ struct xfr_io_t* xfr_w = (struct xfr_io_t *)w; - ns_xfr_t *request = &xfr_w->data; + dnslib_ns_xfr_t *request = &xfr_w->data; if (!request) { return; } @@ -74,10 +74,10 @@ static inline void xfr_client_ev(struct ev_loop *loop, ev_io *w, int revents) /* Process incoming packet. */ switch(request->type) { case NS_XFR_TYPE_AIN: - ret = ns_process_axfrin(xfr_w->h->ns, request); + ret = dnslib_ns_process_axfrin(xfr_w->h->ns, request); break; case NS_XFR_TYPE_IIN: - ret = ns_process_ixfrin(xfr_w->h->ns, request); + ret = dnslib_ns_process_ixfrin(xfr_w->h->ns, request); break; default: ret = KNOT_EINVAL; @@ -119,14 +119,14 @@ static inline void xfr_bridge_ev(struct ev_loop *loop, ev_io *w, int revents) /* Check data. */ struct xfr_io_t* xfr_w = (struct xfr_io_t *)w; xfrhandler_t *handler = xfr_w->h; - ns_xfr_t *req = &xfr_w->data; + dnslib_ns_xfr_t *req = &xfr_w->data; if (!handler || !req) { return; } /* Read event. */ - int ret = evqueue_read(handler->cq, req, sizeof(ns_xfr_t)); - if (ret != sizeof(ns_xfr_t)) { + int ret = evqueue_read(handler->cq, req, sizeof(dnslib_ns_xfr_t)); + if (ret != sizeof(dnslib_ns_xfr_t)) { debug_xfr("xfr_bridge_ev: queue read returned %d.\n", ret); ev_io_stop(loop, w); ev_unloop(loop, EVUNLOOP_ALL); @@ -211,7 +211,7 @@ static inline void xfr_bridge_ev(struct ev_loop *loop, ev_io *w, int revents) return; } cl_w->h = xfr_w->h; - memcpy(&cl_w->data, req, sizeof(ns_xfr_t)); + memcpy(&cl_w->data, req, sizeof(dnslib_ns_xfr_t)); /* Add to pending transfers. */ ev_io_init((ev_io *)cl_w, xfr_client_ev, req->session, EV_READ); @@ -222,7 +222,7 @@ static inline void xfr_bridge_ev(struct ev_loop *loop, ev_io *w, int revents) * Public APIs. */ -xfrhandler_t *xfr_create(size_t thrcount, ns_nameserver_t *ns) +xfrhandler_t *xfr_create(size_t thrcount, dnslib_nameserver_t *ns) { /* Create XFR handler data. */ xfrhandler_t *data = malloc(sizeof(xfrhandler_t)); @@ -308,13 +308,13 @@ int xfr_stop(xfrhandler_t *handler) return KNOT_EOK; } -int xfr_request(xfrhandler_t *handler, ns_xfr_t *req) +int xfr_request(xfrhandler_t *handler, dnslib_ns_xfr_t *req) { if (!handler || !req) { return KNOT_EINVAL; } - int ret = evqueue_write(handler->q, req, sizeof(ns_xfr_t)); + int ret = evqueue_write(handler->q, req, sizeof(dnslib_ns_xfr_t)); if (ret < 0) { return KNOT_ERROR; } @@ -355,9 +355,9 @@ int xfr_master(dthread_t *thread) } /* Read single request. */ - ns_xfr_t xfr; - ret = evqueue_read(xfrh->q, &xfr, sizeof(ns_xfr_t)); - if (ret != sizeof(ns_xfr_t)) { + dnslib_ns_xfr_t xfr; + ret = evqueue_read(xfrh->q, &xfr, sizeof(dnslib_ns_xfr_t)); + if (ret != sizeof(dnslib_ns_xfr_t)) { debug_xfr("xfr_master: queue read returned %d.\n", ret); return KNOT_ERROR; } @@ -372,7 +372,7 @@ int xfr_master(dthread_t *thread) switch(xfr.type) { case NS_XFR_TYPE_AOUT: req_type = "axfr-out"; - ret = ns_answer_axfr(xfrh->ns, &xfr); + ret = dnslib_ns_answer_axfr(xfrh->ns, &xfr); dnslib_packet_free(&xfr.query); /* Free query. */ debug_xfr("xfr_master: ns_answer_axfr() = %d.\n", ret); if (ret != KNOT_EOK) { @@ -381,7 +381,7 @@ int xfr_master(dthread_t *thread) break; case NS_XFR_TYPE_IOUT: req_type = "ixfr-out"; - ret = ns_answer_ixfr(xfrh->ns, &xfr); + ret = dnslib_ns_answer_ixfr(xfrh->ns, &xfr); dnslib_packet_free(&xfr.query); /* Free query. */ debug_xfr("xfr_master: ns_answer_ixfr() = %d.\n", ret); if (ret != KNOT_EOK) { @@ -390,12 +390,12 @@ int xfr_master(dthread_t *thread) break; case NS_XFR_TYPE_AIN: req_type = "axfr-in"; - evqueue_write(xfrh->cq, &xfr, sizeof(ns_xfr_t)); + evqueue_write(xfrh->cq, &xfr, sizeof(dnslib_ns_xfr_t)); ret = KNOT_EOK; break; case NS_XFR_TYPE_IIN: req_type = "ixfr-in"; - evqueue_write(xfrh->cq, &xfr, sizeof(ns_xfr_t)); + evqueue_write(xfrh->cq, &xfr, sizeof(dnslib_ns_xfr_t)); ret = KNOT_EOK; break; default: diff --git a/src/knot/server/xfr-handler.h b/src/knot/server/xfr-handler.h index 1dd27444a2f87f166d444913b557cd83f7ea3de3..5bd02a320661febce229c0e4ffdcb864402a252b 100644 --- a/src/knot/server/xfr-handler.h +++ b/src/knot/server/xfr-handler.h @@ -24,7 +24,7 @@ typedef struct xfrhandler_t { dt_unit_t *unit; /*!< \brief Threading unit. */ - ns_nameserver_t *ns; /*!< \brief Pointer to nameserver.*/ + dnslib_nameserver_t *ns; /*!< \brief Pointer to nameserver.*/ evqueue_t *q; /*!< \brief Shared XFR requests queue.*/ evqueue_t *cq; /*!< \brief XFR client requests queue.*/ struct ev_loop *loop; /*!< \brief Event loop. */ @@ -43,7 +43,7 @@ typedef struct xfrhandler_t * \retval New handler on success. * \retval NULL on error. */ -xfrhandler_t *xfr_create(size_t thrcount, ns_nameserver_t *ns); +xfrhandler_t *xfr_create(size_t thrcount, dnslib_nameserver_t *ns); /*! * \brief Delete XFR handler. @@ -102,7 +102,7 @@ static inline int xfr_join(xfrhandler_t *handler) { * \retval KNOT_EINVAL on NULL handler or request. * \retval KNOT_ERROR on error. */ -int xfr_request(xfrhandler_t *handler, ns_xfr_t *req); +int xfr_request(xfrhandler_t *handler, dnslib_ns_xfr_t *req); /*! * \brief XFR master runnable. diff --git a/src/knot/server/xfr-in.c b/src/knot/server/xfr-in.c index 13e09904d13387b61ade9e4380166bd3b1d3da9e..2ea1a3f9d825e418d9a121bd2e4f1fbb637eb935 100644 --- a/src/knot/server/xfr-in.c +++ b/src/knot/server/xfr-in.c @@ -259,11 +259,11 @@ int xfrin_create_ixfr_query(const dnslib_zone_contents_t *zone, uint8_t *buffer, /*----------------------------------------------------------------------------*/ -int xfrin_zone_transferred(ns_nameserver_t *nameserver, +int xfrin_zone_transferred(dnslib_nameserver_t *nameserver, dnslib_zone_contents_t *zone) { debug_xfr("Switching zone in nameserver.\n"); - return ns_switch_zone(nameserver, zone); + return dnslib_ns_switch_zone(nameserver, zone); //return KNOT_ENOTSUP; } diff --git a/src/knot/server/xfr-in.h b/src/knot/server/xfr-in.h index f8ffb5c558749db99a32a18c6376822206e5e455..f813f9c792f2c535ceeb4afe50a34a70786775b5 100644 --- a/src/knot/server/xfr-in.h +++ b/src/knot/server/xfr-in.h @@ -125,7 +125,7 @@ int xfrin_create_ixfr_query(const dnslib_zone_contents_t *zone, uint8_t *buffer, * * \retval KNOT_ENOTSUP */ -int xfrin_zone_transferred(ns_nameserver_t *nameserver, +int xfrin_zone_transferred(dnslib_nameserver_t *nameserver, dnslib_zone_contents_t *zone); /*! diff --git a/src/knot/server/zones.c b/src/knot/server/zones.c index 6da0539efd68e68a65b29a20b7f601ceb0161ddc..8c360c3a442a6f3822c3976415e363a8614629a9 100644 --- a/src/knot/server/zones.c +++ b/src/knot/server/zones.c @@ -674,7 +674,7 @@ static int zones_journal_apply(dnslib_zone_t *zone) * * \return Number of inserted zones. */ -static int zones_insert_zones(ns_nameserver_t *ns, +static int zones_insert_zones(dnslib_nameserver_t *ns, const list *zone_conf, const dnslib_zonedb_t *db_old, dnslib_zonedb_t *db_new) @@ -838,7 +838,7 @@ static int zones_remove_zones(const list *zone_conf, dnslib_zonedb_t *db_old) /* API functions */ /*----------------------------------------------------------------------------*/ -int zones_update_db_from_config(const conf_t *conf, ns_nameserver_t *ns, +int zones_update_db_from_config(const conf_t *conf, dnslib_nameserver_t *ns, dnslib_zonedb_t **db_old) { // Check parameters diff --git a/src/knot/server/zones.h b/src/knot/server/zones.h index ceb902f42e537bb106fe7a966636004f418d553a..f7436e312c09a89bda14ae0ab8c8216a6dc49786 100644 --- a/src/knot/server/zones.h +++ b/src/knot/server/zones.h @@ -78,7 +78,7 @@ typedef struct zonedata_t * \retval KNOT_EINVAL * \retval KNOT_ERROR */ -int zones_update_db_from_config(const conf_t *conf, ns_nameserver_t *ns, +int zones_update_db_from_config(const conf_t *conf, dnslib_nameserver_t *ns, dnslib_zonedb_t **db_old); /*!