aboutsummaryrefslogtreecommitdiff
path: root/src/resolv_worker.h
diff options
context:
space:
mode:
authorDavid Timber <mieabby@gmail.com>2020-08-17 18:16:49 +0930
committerDavid Timber <mieabby@gmail.com>2020-08-17 18:35:31 +0930
commit7bd3eb3b1ad4209ac4cf4b46f849213d46bc33aa (patch)
tree0e7a16fb3d36ada8a2a494f8dc063e8b67350d58 /src/resolv_worker.h
parentd7cc11191dfd3fead5e596fcbc24f40d1317819e (diff)
Employ pthsem ...
* Use uint8_t array for hardcoded binary data * Add proone-ipaddr-arr to hardcode DoT servers * Convert X509 data * Brought back M68k and ARC archs just in case * Add CLOCK_REALTIME in prne_mbedtls_entropy_proc_src_f for more entropy * Remove installation of signal handlers. Use sigwait() instead * Bugfix: prne_rnd_anum_str() returned null characters * Add prne_dbgpf() and prne_dbgperr() * prne_assert(): put errno into a register so it's visible in the core dump
Diffstat (limited to 'src/resolv_worker.h')
-rw-r--r--src/resolv_worker.h95
1 files changed, 0 insertions, 95 deletions
diff --git a/src/resolv_worker.h b/src/resolv_worker.h
deleted file mode 100644
index c76152f..0000000
--- a/src/resolv_worker.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#pragma once
-#include "protocol.h"
-#include "worker.h"
-
-#include <mbedtls/ctr_drbg.h>
-
-
-struct prne_resolv_wkr_ctx;
-typedef struct prne_resolv_wkr_ctx* prne_resolv_wkr_ctx_t;
-
-struct prne_resolv_prm;
-struct prne_resolv_fut;
-struct prne_resolv_rr;
-typedef struct prne_resolv_prm prne_resolv_prm_t;
-typedef struct prne_resolv_fut prne_resolv_fut_t;
-typedef struct prne_resolv_rr prne_resolv_rr_t;
-typedef uint16_t prne_resolv_rcode_t;
-
-typedef enum {
- PRNE_RESOLV_QR_NONE = -1,
-
- PRNE_RESOLV_QR_OK,
- PRNE_RESOLV_QR_ERR,
- PRNE_RESOLV_QR_PRO_ERR,
- PRNE_RESOLV_QR_FIN,
- PRNE_RESOLV_QR_IMPL,
- PRNE_RESOLV_QR_TIMEOUT,
- PRNE_RESOLV_QR_STATUS,
-
- NB_PRNE_RESOLV
-} prne_resolv_qr_t;
-
-typedef enum {
- PRNE_RESOLV_QT_NONE = -1,
-
- PRNE_RESOLV_QT_A,
- PRNE_RESOLV_QT_AAAA,
- PRNE_RESOLV_QT_TXT,
-
- NB_PRNE_RESOLV_QT
-} prne_resolv_query_type_t;
-
-struct prne_resolv_prm {
- void *ctx;
- prne_resolv_fut_t *fut;
- int evtfd;
-};
-
-struct prne_resolv_fut {
- size_t rr_cnt;
- prne_resolv_rr_t *rr;
- int err;
- prne_resolv_qr_t qr;
- prne_resolv_rcode_t status;
-};
-
-struct prne_resolv_rr {
- char *name;
- uint16_t rr_class, rr_type;
- uint32_t rr_ttl;
- uint8_t *rd_data;
- uint16_t rd_len;
-};
-
-// honor bind-utils' choice of words
-#define PRNE_RESOLV_RCODE_NOERROR 0
-#define PRNE_RESOLV_RCODE_FORMERR 1
-#define PRNE_RESOLV_RCODE_SERVFAIL 2
-#define PRNE_RESOLV_RCODE_NXDOMAIN 3
-#define PRNE_RESOLV_RCODE_NOTIMP 4
-#define PRNE_RESOLV_RCODE_REFUSED 5
-
-#define PRNE_RESOLV_RTYPE_A 1
-#define PRNE_RESOLV_RTYPE_NS 2
-#define PRNE_RESOLV_RTYPE_CNAME 5
-#define PRNE_RESOLV_RTYPE_SOA 6
-#define PRNE_RESOLV_RTYPE_PTR 12
-#define PRNE_RESOLV_RTYPE_MX 15
-#define PRNE_RESOLV_RTYPE_TXT 16
-#define PRNE_RESOLV_RTYPE_AAAA 28
-
-
-prne_resolv_wkr_ctx_t prne_alloc_resolv_worker (prne_worker_t *w, prne_wkr_sched_req_t *wsr, mbedtls_ctr_drbg_context *ctr_drbg);
-bool prne_resolv_prm_gethostbyname (prne_resolv_wkr_ctx_t wkr, const char *name, const prne_ipv_t ipv, prne_resolv_prm_t *out, const struct timespec *timeout);
-bool prne_resolv_prm_gettxtrec (prne_resolv_wkr_ctx_t wkr, const char *name, prne_resolv_prm_t *out, const struct timespec *timeout);
-
-void prne_resolv_init_prm (prne_resolv_prm_t *prm);
-void prne_resolv_free_prm (prne_resolv_prm_t *prm);
-void prne_init_resolv_fut (prne_resolv_fut_t *fut);
-void prne_free_resolv_fut (prne_resolv_fut_t *fut);
-void prne_init_resolv_rr (prne_resolv_rr_t *rr);
-void prne_free_resolv_rr (prne_resolv_rr_t *rr);
-const char *prne_resolv_qr_tostr (const prne_resolv_qr_t qr);
-const char *prne_resolv_rcode_tostr (const prne_resolv_rcode_t rc);
-const char *prne_resolv_rrtype_tostr (const uint16_t rrt);