summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/deps-lib/shibari-common2
-rw-r--r--src/common/shibari_util_canon_domain.c20
2 files changed, 22 insertions, 0 deletions
diff --git a/src/common/deps-lib/shibari-common b/src/common/deps-lib/shibari-common
index a5c44a4..eed0d4f 100644
--- a/src/common/deps-lib/shibari-common
+++ b/src/common/deps-lib/shibari-common
@@ -6,5 +6,7 @@ shibari_log_start.o
shibari_util_qtype_num.o
shibari_util_qtype_str.o
shibari_util_rcode_str.o
+shibari_util_canon_domain.o
shibari_util_get_prefixlen.o
+-ls6dns
-lskarnet
diff --git a/src/common/shibari_util_canon_domain.c b/src/common/shibari_util_canon_domain.c
new file mode 100644
index 0000000..ece0c9b
--- /dev/null
+++ b/src/common/shibari_util_canon_domain.c
@@ -0,0 +1,20 @@
+/* ISC license. */
+
+#include <stdint.h>
+#include <ctype.h>
+
+#include <s6-dns/s6dns-domain.h>
+
+#include <shibari/util.h>
+
+void shibari_util_canon_domain (s6dns_domain_t *canon, s6dns_domain_t const *orig)
+{
+ uint8_t i = 0 ;
+ canon->len = orig->len ;
+ while (i < orig->len)
+ {
+ uint8_t len = orig->s[i] ;
+ canon->s[i++] = len ;
+ for (; len-- ; i++) canon->s[i] = tolower(orig->s[i]) ;
+ }
+}