*/
knot_rrset_t knotd_qdata_zone_apex_rrset(knotd_qdata_t *qdata, uint16_t type);
-/*!
- * Gets the original QNAME of the query, before downcasing.
- *
- * \param[in] qdata Query data.
- *
- * \return Original QNAME or NULL if error.
- */
-const knot_dname_t *knotd_qdata_orig_qname(knotd_qdata_t *qdata);
-
/*! General query processing states. */
typedef enum {
KNOTD_STATE_NOOP = 0, /*!< No response. */
bool with_queries;
} dnstap_ctx_t;
-static void msg_query_qname_restore(Dnstap__Message *msg, knotd_qdata_t *qdata)
-{
- if (msg->query_message.data == NULL) {
- return;
- }
-
- const knot_dname_t *orig_qname = knotd_qdata_orig_qname(qdata);
- if (orig_qname == NULL) {
- return;
- }
-
- memcpy(msg->query_message.data + KNOT_WIRE_HEADER_SIZE,
- orig_qname, qdata->query->qname_size);
-}
-
-static void msg_query_qname_case_lower(Dnstap__Message *msg)
-{
- if (msg->query_message.data == NULL) {
- return;
- }
-
- knot_dname_to_lower(msg->query_message.data + KNOT_WIRE_HEADER_SIZE);
-}
-
static knotd_state_t log_message(knotd_state_t state, const knot_pkt_t *pkt,
knotd_qdata_t *qdata, knotd_mod_t *mod)
{
/* Pack the message. */
uint8_t *frame = NULL;
size_t size = 0;
- msg_query_qname_restore(&msg, qdata);
dt_pack(&dnstap, &frame, &size);
- msg_query_qname_case_lower(&msg);
if (frame == NULL) {
return state;
}
return node_rrset(qdata->extra->contents->apex, type);
}
-_public_
-const knot_dname_t *knotd_qdata_orig_qname(knotd_qdata_t *qdata)
-{
- if (qdata == NULL) {
- return NULL;
- }
-
- return qdata->extra->orig_qname;
-}
-
_public_
int knotd_mod_dnssec_init(knotd_mod_t *mod)
{