Commit faac5355 authored by Daniel Salzman's avatar Daniel Salzman

nameserver: includes cleanup, code unification

parent 465e18fa
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -16,18 +16,13 @@
#include <urcu.h>
#include "knot/common/log.h"
#include "knot/nameserver/axfr.h"
#include "knot/nameserver/internet.h"
#include "knot/nameserver/process_query.h"
#include "knot/nameserver/process_answer.h"
#include "knot/updates/apply.h"
#include "knot/zone/zonefile.h"
#include "knot/common/log.h"
#include "libknot/libknot.h"
#include "libknot/descriptor.h"
#include "contrib/print.h"
#include "contrib/sockaddr.h"
#include "contrib/ucw/lists.h"
/* AXFR context. @note aliasing the generic xfr_proc */
struct axfr_proc {
......@@ -214,7 +209,7 @@ int xfr_process_list(knot_pkt_t *pkt, xfr_put_cb process_item,
#define AXFROUT_LOG(severity, msg, ...) \
QUERY_LOG(severity, qdata, "AXFR, outgoing", msg, ##__VA_ARGS__)
int axfr_query_process(knot_pkt_t *pkt, struct query_data *qdata)
int axfr_process_query(knot_pkt_t *pkt, struct query_data *qdata)
{
if (pkt == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
......@@ -377,7 +372,7 @@ static int axfr_answer_packet(knot_pkt_t *pkt, struct xfr_proc *proc)
return KNOT_STATE_CONSUME;
}
int axfr_answer_process(knot_pkt_t *pkt, struct answer_data *adata)
int axfr_process_answer(knot_pkt_t *pkt, struct answer_data *adata)
{
if (pkt == NULL || adata == NULL) {
return KNOT_STATE_FAIL;
......
/*!
* \file axfr.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
*
* \brief AXFR processing.
*
* \addtogroup query_processing
* @{
*/
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -23,14 +13,22 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief AXFR processing.
*
* \addtogroup query_processing
* @{
*/
#pragma once
#include "libknot/packet/pkt.h"
#include "knot/zone/zonedb.h"
struct query_data;
struct answer_data;
#include "knot/nameserver/process_answer.h"
#include "knot/nameserver/process_query.h"
#include "knot/zone/contents.h"
#include "contrib/ucw/lists.h"
/*! \brief Generic transfer processing state. */
struct xfr_proc {
......@@ -56,13 +54,13 @@ int xfr_process_list(knot_pkt_t *pkt, xfr_put_cb put, struct query_data *qdata);
*
* \return KNOT_STATE_* processing states
*/
int axfr_query_process(knot_pkt_t *pkt, struct query_data *qdata);
int axfr_process_query(knot_pkt_t *pkt, struct query_data *qdata);
/*!
* \brief Processes an AXFR response message.
*
* \return KNOT_STATE_* processing states
*/
int axfr_answer_process(knot_pkt_t *pkt, struct answer_data *adata);
int axfr_process_answer(knot_pkt_t *pkt, struct answer_data *adata);
/*! @} */
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -17,8 +17,6 @@
#include <assert.h>
#include "knot/nameserver/capture.h"
#include "knot/server/tcp-handler.h"
#include "knot/server/udp-handler.h"
/* State-less packet capture, only incoming data is accepted. */
static int reset(knot_layer_t *ctx) { return KNOT_STATE_PRODUCE; }
......
/*!
* \file capture.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
*
* \brief Simple packet capture processor.
*
* \addtogroup answer_processing
* @{
*/
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -23,6 +13,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief Simple packet capture processor.
*
* \addtogroup answer_processing
* @{
*/
#pragma once
......@@ -38,7 +36,7 @@ const knot_layer_api_t *capture_get_module(void);
* \brief Processing module parameters.
*/
struct capture_param {
knot_pkt_t *sink; /*!< Container for captured response. */
knot_pkt_t *sink; /*!< Container for captured response. */
};
/*! @} */
/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -18,9 +18,7 @@
#include "knot/nameserver/chaos.h"
#include "knot/conf/conf.h"
#include "libknot/descriptor.h"
#include "libknot/errcode.h"
#include "libknot/packet/pkt.h"
#include "libknot/libknot.h"
/*!
* \brief Get a string result for a given TXT query.
......
/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -13,11 +13,10 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file chaos.h
* \file
*
* \author Jan Vcelak <jan.vcelak@nic.cz>
* \brief Chaos class processing.
*
* \addtogroup query_processing
* @{
......@@ -25,9 +24,6 @@
#pragma once
#include <stdlib.h>
#include <stdint.h>
#include "libknot/packet/pkt.h"
/*!
......
......@@ -752,7 +752,7 @@ static int planned_answer(struct query_plan *plan, knot_pkt_t *response, struct
#undef SOLVE_STEP
int internet_query(knot_pkt_t *response, struct query_data *qdata)
int internet_process_query(knot_pkt_t *response, struct query_data *qdata)
{
if (response == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
......
/*!
* \file internet.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
*
* \brief IN zone lookup.
*
* \addtogroup query_processing
* @{
*/
/* Copyright (C) 2013 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -23,6 +13,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief IN zone lookup.
*
* \addtogroup query_processing
* @{
*/
#pragma once
......@@ -53,7 +51,7 @@ enum {
* \retval FAIL if it encountered an error.
* \retval DONE if finished.
*/
int internet_query(knot_pkt_t *resp, struct query_data *qdata);
int internet_process_query(knot_pkt_t *resp, struct query_data *qdata);
/*!
* \brief Initialize query plan for IN class zone.
......
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -16,17 +16,13 @@
#include <urcu.h>
#include "knot/common/log.h"
#include "knot/nameserver/ixfr.h"
#include "knot/nameserver/axfr.h"
#include "knot/nameserver/internet.h"
#include "knot/nameserver/process_query.h"
#include "knot/nameserver/process_answer.h"
#include "knot/updates/apply.h"
#include "knot/common/log.h"
#include "knot/zone/serial.h"
#include "libknot/libknot.h"
#include "libknot/descriptor.h"
#include "libknot/rrtype/soa.h"
#include "contrib/print.h"
#include "contrib/sockaddr.h"
......@@ -613,7 +609,7 @@ static int process_ixfrin_packet(knot_pkt_t *pkt, struct answer_data *adata)
/* --------------------------------- API ------------------------------------ */
int ixfr_query(knot_pkt_t *pkt, struct query_data *qdata)
int ixfr_process_query(knot_pkt_t *pkt, struct query_data *qdata)
{
if (pkt == NULL || qdata == NULL) {
return KNOT_STATE_FAIL;
......@@ -645,7 +641,7 @@ int ixfr_query(knot_pkt_t *pkt, struct query_data *qdata)
case KNOT_ENOENT:
IXFROUT_LOG(LOG_INFO, "incomplete history, fallback to AXFR");
qdata->packet_type = KNOT_QUERY_AXFR; /* Solve as AXFR. */
return axfr_query_process(pkt, qdata);
return axfr_process_query(pkt, qdata);
default: /* Server errors. */
IXFROUT_LOG(LOG_ERR, "failed to start (%s)", knot_strerror(ret));
return KNOT_STATE_FAIL;
......@@ -714,7 +710,7 @@ int ixfr_process_answer(knot_pkt_t *pkt, struct answer_data *adata)
if (ixfr_is_axfr(pkt)) {
IXFRIN_LOG(LOG_NOTICE, "receiving AXFR-style IXFR");
adata->response_type = KNOT_RESPONSE_AXFR;
return axfr_answer_process(pkt, adata);
return axfr_process_answer(pkt, adata);
}
/* Initialize processing with first packet. */
......
/*!
* \file ixfr.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz> - IXFR/OUT
* \author Jan Kadlec <marek.vavrusa@nic.cz> - IXFR/IN
*
* \brief IXFR processing.
*
* \addtogroup query_processing
* @{
*/
/* Copyright (C) 2013 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -24,13 +13,20 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief IXFR processing.
*
* \addtogroup query_processing
* @{
*/
#pragma once
#include "libknot/packet/pkt.h"
struct query_data;
struct answer_data;
#include "knot/nameserver/process_answer.h"
#include "knot/nameserver/process_query.h"
/*!
* \brief IXFR query processing module.
......@@ -39,7 +35,7 @@ struct answer_data;
* \retval FAIL if it encountered an error.
* \retval DONE if finished.
*/
int ixfr_query(knot_pkt_t *pkt, struct query_data *qdata);
int ixfr_process_query(knot_pkt_t *pkt, struct query_data *qdata);
/*!
* \brief IXFR response processing module.
......
/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -16,31 +16,12 @@
#include <assert.h>
#include "knot/nameserver/notify.h"
#include "libknot/dname.h"
#include "libknot/descriptor.h"
#include "libknot/packet/pkt.h"
#include "libknot/rrset.h"
#include "libknot/consts.h"
#include "knot/zone/zonedb.h"
#include "knot/zone/timers.h"
#include "libknot/packet/wire.h"
#include "knot/updates/acl.h"
#include "knot/common/evsched.h"
#include "knot/common/log.h"
#include "knot/server/server.h"
#include "knot/nameserver/notify.h"
#include "knot/nameserver/internet.h"
#include "knot/nameserver/process_query.h"
#include "dnssec/random.h"
#include "knot/nameserver/tsig_ctx.h"
#include "knot/nameserver/process_answer.h"
#include "libknot/rrtype/soa.h"
#include "contrib/sockaddr.h"
/*----------------------------------------------------------------------------*/
/* API functions */
/*----------------------------------------------------------------------------*/
#include "dnssec/random.h"
#include "libknot/libknot.h"
/* NOTIFY-specific logging (internal, expects 'qdata' variable set). */
#define NOTIFY_QLOG(severity, msg, ...) \
......
/* Copyright (C) 2011 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -14,9 +14,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file notify.h
*
* \author Lubos Slovak <lubos.slovak@nic.cz>
* \file
*
* \brief NOTIFY request/reply API.
*
......@@ -26,14 +24,9 @@
#pragma once
#include <stdint.h>
#include <string.h>
#include "libknot/packet/pkt.h"
#include "knot/zone/contents.h"
struct query_data;
struct answer_data;
#include "knot/nameserver/process_answer.h"
#include "knot/nameserver/process_query.h"
#define NOTIFY_TIMEOUT 3 /*!< Interval between NOTIFY retries. */
......
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -18,7 +18,6 @@
#include "libknot/libknot.h"
#include "knot/nameserver/nsec_proofs.h"
#include "knot/nameserver/process_query.h"
#include "knot/nameserver/internet.h"
#include "knot/dnssec/zone-nsec.h"
......
/*!
* \file nsec_proofs.h
*
* \author Lubos Slovak <lubos.slovak@nic.cz>
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
*
* \brief NSEC/NSEC3 proofs for various states.
*
* \addtogroup query_processing
* @{
*/
/* Copyright (C) 2013 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -24,13 +13,19 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief NSEC/NSEC3 proofs for various states.
*
* \addtogroup query_processing
* @{
*/
#pragma once
#include "libknot/packet/pkt.h"
/* Query data (from query processing). */
struct query_data;
#include "knot/nameserver/process_query.h"
/*! \brief Prove wildcards visited during answer resolution. */
int nsec_prove_wildcards(knot_pkt_t *pkt, struct query_data *qdata);
......
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -16,12 +16,10 @@
#include "libknot/libknot.h"
#include "knot/common/log.h"
#include "knot/nameserver/process_answer.h"
#include "knot/nameserver/axfr.h"
#include "knot/nameserver/internet.h"
#include "knot/nameserver/notify.h"
#include "knot/nameserver/ixfr.h"
#include "knot/nameserver/axfr.h"
#include "contrib/sockaddr.h"
#include "knot/nameserver/notify.h"
/*! \brief Accessor to query-specific data. */
#define ANSWER_DATA(ctx) ((struct answer_data *)(ctx)->data)
......@@ -132,7 +130,7 @@ static int process_answer(knot_layer_t *ctx, knot_pkt_t *pkt)
next_state = internet_process_answer(pkt, data);
break;
case KNOT_RESPONSE_AXFR:
next_state = axfr_answer_process(pkt, data);
next_state = axfr_process_answer(pkt, data);
break;
case KNOT_RESPONSE_IXFR:
next_state = ixfr_process_answer(pkt, data);
......
/*!
* \file process_answer.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
*
* \brief Answer processor.
*
* \addtogroup answer_processing
* @{
*/
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -23,6 +13,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief Answer processor.
*
* \addtogroup answer_processing
* @{
*/
#pragma once
......
#include <stdio.h>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <urcu.h>
#include "dnssec/tsig.h"
#include "knot/common/log.h"
#include "knot/conf/conf.h"
#include "knot/nameserver/process_query.h"
#include "knot/nameserver/query_module.h"
#include "knot/nameserver/chaos.h"
......@@ -11,15 +28,10 @@
#include "knot/nameserver/update.h"
#include "knot/nameserver/nsec_proofs.h"
#include "knot/nameserver/notify.h"
#include "knot/server/server.h"
#include "knot/server/rrl.h"
#include "knot/updates/acl.h"
#include "knot/conf/conf.h"
#include "knot/common/log.h"
#include "libknot/libknot.h"
#include "libknot/yparser/yptrafo.h"
#include "contrib/macros.h"
#include "contrib/sockaddr.h"
/*! \brief Accessor to query-specific data. */
#define QUERY_DATA(ctx) ((struct query_data *)(ctx)->data)
......@@ -116,19 +128,19 @@ static int query_internet(knot_pkt_t *pkt, knot_layer_t *ctx)
switch(data->packet_type) {
case KNOT_QUERY_NORMAL:
next_state = internet_query(pkt, data);
next_state = internet_process_query(pkt, data);
break;
case KNOT_QUERY_NOTIFY:
next_state = notify_process_query(pkt, data);
break;
case KNOT_QUERY_AXFR:
next_state = axfr_query_process(pkt, data);
next_state = axfr_process_query(pkt, data);
break;
case KNOT_QUERY_IXFR:
next_state = ixfr_query(pkt, data);
next_state = ixfr_process_query(pkt, data);
break;
case KNOT_QUERY_UPDATE:
next_state = update_query_process(pkt, data);
next_state = update_process_query(pkt, data);
break;
default:
/* Nothing else is supported. */
......
/*!
* \file process_query.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
*
* \brief Query processor.
*
* \addtogroup query_processing
* @{
*/
/* Copyright (C) 2013 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -23,6 +13,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file
*
* \brief Query processor.
*
* \addtogroup query_processing
* @{
*/
#pragma once
......
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*!
* \file query_module.h
*
* \author Marek Vavrusa <marek.vavrusa@nic.cz>
* \file
*
* \brief Query module interface
*
......@@ -22,26 +35,10 @@
* \addtogroup query_processing
* @{
*/
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "libknot/libknot.h"
#include "libknot/mm_ctx.h"
#include "knot/conf/conf.h"
#include "knot/conf/tools.h"
#include "contrib/ucw/lists.h"
......
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -15,14 +15,9 @@
*/
#include <assert.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include "libknot/libknot.h"
#include "libknot/rrtype/tsig.h"
#include "libknot/tsig-op.h"
#include "knot/nameserver/tsig_ctx.h"
#include "libknot/libknot.h"
/*!
* Maximal total size for unsigned messages.
......
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -17,11 +17,9 @@
#pragma once
#include <stdint.h>
#include <stdlib.h>
#include "libknot/packet/pkt.h"
#include "libknot/rrtype/tsig.h"
#include "libknot/tsig-op.h"
#include "libknot/tsig.h"
#define TSIG_MAX_DIGEST_SIZE 64
......
/* Copyright (C) 2014 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
/* Copyright (C) 2015 CZ.NIC, z.s.p.o. <knot-dns@labs.nic.cz>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
......@@ -14,31 +14,21 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <sys/socket.h>
#include <urcu.h>
#include "dnssec/random.h"
#include "knot/common/log.h"
#include "knot/nameserver/update.h"
#include "knot/nameserver/capture.h"
#include "knot/nameserver/internet.h"
#include "knot/nameserver/process_query.h"
#include "knot/updates/apply.h"
#include "knot/dnssec/zone-sign.h"
#include "knot/common/log.h"
#include "knot/dnssec/zone-events.h"
#include "knot/updates/ddns.h"
#include "knot/updates/zone-update.h"
#include "libknot/libknot.h"
#include "libknot/descriptor.h"
#include "libknot/tsig-op.h"
#include "knot/zone/zone.h"
#include "knot/updates/apply.h"
#include "knot/zone/events/events.h"
#include "knot/server/tcp-handler.h"
#include "knot/server/udp-handler.h"
#include "knot/nameserver/capture.h"
#include "libknot/processing/requestor.h"
#include "contrib/macros.h"
#include "libknot/libknot.h"
#include "contrib/net.h"
#include "contrib/print.h"
#include "contrib/sockaddr.h"
/* UPDATE-specific logging (internal, expects 'qdata' variable set). */
#define UPDATE_LOG(severity, msg, ...) \
......@@ -446,7 +436,7 @@ static int init_update_responses(const zone_t *zone, list_t *updates,
return KNOT_EOK;
}