]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
worker_resolve_mk_pkt(): move to better file, document
authorVladimír Čunát <vladimir.cunat@nic.cz>
Mon, 6 May 2019 13:34:10 +0000 (15:34 +0200)
committerVladimír Čunát <vladimir.cunat@nic.cz>
Thu, 13 Jun 2019 13:03:15 +0000 (15:03 +0200)
daemon/bindings/worker.c
daemon/worker.c
daemon/worker.h

index 8d6072a5d57d8d78fd52fe9fc1d4c466196d8c66..5d1fd6aac88671f8fc8da0ef9c4663bdc5592c24 100644 (file)
 
 #include "daemon/worker.h"
 
-knot_pkt_t * worker_resolve_mk_pkt(const char *qname_str, uint16_t qtype, uint16_t qclass,
-                                  const struct kr_qflags *options)
-{
-       uint8_t qname[KNOT_DNAME_MAXLEN];
-       if (!knot_dname_from_str(qname, qname_str, sizeof(qname)))
-               return NULL;
-       knot_pkt_t *pkt = knot_pkt_new(NULL, KNOT_EDNS_MAX_UDP_PAYLOAD, NULL);
-       if (!pkt)
-               return NULL;
-       knot_pkt_put_question(pkt, qname, qclass, qtype);
-       knot_wire_set_rd(pkt->wire);
-       knot_wire_set_ad(pkt->wire);
-
-       /* Add OPT RR */
-       pkt->opt_rr = knot_rrset_copy(the_worker->engine->resolver.opt_rr, NULL);
-       if (!pkt->opt_rr) {
-               knot_pkt_free(pkt);
-               return NULL;
-       }
-       if (options->DNSSEC_WANT) {
-               knot_edns_set_do(pkt->opt_rr);
-       }
-       if (options->DNSSEC_CD) {
-               knot_wire_set_cd(pkt->wire);
-       }
-
-       return pkt;
-}
-
 static inline double getseconds(uv_timeval_t *tv)
 {
        return (double)tv->tv_sec + 0.000001*((double)tv->tv_usec);
index e337c46f81e1dcf4ee3998d719ce0b8837c834b2..358694d9e42147452ac561a8a3ad6bbfe43005d2 100644 (file)
@@ -1794,6 +1794,35 @@ int worker_end_tcp(struct session *session)
        return kr_ok();
 }
 
+knot_pkt_t * worker_resolve_mk_pkt(const char *qname_str, uint16_t qtype, uint16_t qclass,
+                                  const struct kr_qflags *options)
+{
+       uint8_t qname[KNOT_DNAME_MAXLEN];
+       if (!knot_dname_from_str(qname, qname_str, sizeof(qname)))
+               return NULL;
+       knot_pkt_t *pkt = knot_pkt_new(NULL, KNOT_EDNS_MAX_UDP_PAYLOAD, NULL);
+       if (!pkt)
+               return NULL;
+       knot_pkt_put_question(pkt, qname, qclass, qtype);
+       knot_wire_set_rd(pkt->wire);
+       knot_wire_set_ad(pkt->wire);
+
+       /* Add OPT RR */
+       pkt->opt_rr = knot_rrset_copy(the_worker->engine->resolver.opt_rr, NULL);
+       if (!pkt->opt_rr) {
+               knot_pkt_free(pkt);
+               return NULL;
+       }
+       if (options->DNSSEC_WANT) {
+               knot_edns_set_do(pkt->opt_rr);
+       }
+       if (options->DNSSEC_CD) {
+               knot_wire_set_cd(pkt->wire);
+       }
+
+       return pkt;
+}
+
 struct qr_task *worker_resolve_start(knot_pkt_t *query, struct kr_qflags options)
 {
        struct worker_ctx *worker = the_worker;
index 2a741988a12bbe64b9c0b186717be9c7cfcb17ec..4e823c2c075be467c19a64832b1495480109f82e 100644 (file)
@@ -55,7 +55,9 @@ int worker_submit(struct session *session, knot_pkt_t *query);
  */
 int worker_end_tcp(struct session *session);
 
-/** FIXME docs */
+/**
+ * Create a packet suitable for worker_resolve_start().  All in malloc() memory.
+ */
 KR_EXPORT knot_pkt_t *
 worker_resolve_mk_pkt(const char *qname_str, uint16_t qtype, uint16_t qclass,
                        const struct kr_qflags *options);