aboutsummaryrefslogtreecommitdiff
path: root/axfr-get.c
diff options
context:
space:
mode:
Diffstat (limited to 'axfr-get.c')
-rw-r--r--axfr-get.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/axfr-get.c b/axfr-get.c
index 75db627..f6bf5bd 100644
--- a/axfr-get.c
+++ b/axfr-get.c
@@ -13,6 +13,7 @@
#include "byte.h"
#include "str.h"
#include "ip4.h"
+#include "ip6.h"
#include "timeoutread.h"
#include "timeoutwrite.h"
#include "dns.h"
@@ -217,6 +218,14 @@ unsigned int doit(char *buf,unsigned int len,unsigned int pos)
x_copy(buf,len,pos,data,4);
if (!stralloc_catb(&line,ipstr,ip4_fmt(ipstr,data))) return 0;
}
+ else if (byte_equal(data,2,DNS_T_AAAA)) {
+ char ipstr[IP6_FMT];
+ if (!stralloc_copys(&line,"3")) return 0;
+ if (!dns_domain_todot_cat(&line,d1)) return 0;
+ if (!stralloc_cats(&line,":")) return 0;
+ x_copy(buf,len,pos,data,16);
+ if (!stralloc_catb(&line,ipstr,ip6_fmt_flat(ipstr,data))) return 0;
+ }
else {
unsigned char ch;
unsigned char ch2;