summaryrefslogtreecommitdiff
path: root/src/server/shibari_tdb_extract_domain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shibari_tdb_extract_domain.c')
-rw-r--r--src/server/shibari_tdb_extract_domain.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/server/shibari_tdb_extract_domain.c b/src/server/shibari_tdb_extract_domain.c
new file mode 100644
index 0000000..dfa6009
--- /dev/null
+++ b/src/server/shibari_tdb_extract_domain.c
@@ -0,0 +1,17 @@
+/* ISC license. */
+
+#include <shibari/constants.h>
+#include <shibari/tdb.h>
+
+int shibari_tdb_extract_domain (shibari_tdb_entry const *entry, cdb_data *domain)
+{
+ switch (entry->type)
+ {
+ case SHIBARI_T_CNAME :
+ case SHIBARI_T_NS :
+ *domain = entry->data ; break ;
+ case SHIBARI_T_MX : domain->s = entry->data.s + 2 ; domain->len = entry->data.len - 2 ; break ;
+ default : return 0 ;
+ }
+ return 1 ;
+}