From 665f12a744dea29a4e5437ecca918ed5d57b5744 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 12 Apr 2018 00:09:40 +0000 Subject: Add CAA record support --- src/libs6dns/s6dns_fmt_caa.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 src/libs6dns/s6dns_fmt_caa.c (limited to 'src/libs6dns/s6dns_fmt_caa.c') diff --git a/src/libs6dns/s6dns_fmt_caa.c b/src/libs6dns/s6dns_fmt_caa.c new file mode 100644 index 0000000..7fbf36b --- /dev/null +++ b/src/libs6dns/s6dns_fmt_caa.c @@ -0,0 +1,22 @@ +/* ISC license. */ + +#include +#include +#include +#include +#include + +size_t s6dns_fmt_caa (char *s, size_t max, s6dns_message_rr_caa_t const *caa) +{ + size_t len = 0, taglen = strlen(caa->tag), valuelen = strlen(caa->value) ; + char fmt[UINT16_FMT] ; + size_t r = uint16_fmt(fmt, (uint16_t)caa->flags) ; + if (r + taglen + valuelen + 2 > max) return (errno = ENAMETOOLONG, 0) ; + memcpy(s + len, fmt, r) ; + len += r ; s[len++] = ' ' ; + memcpy(s + len, caa->tag, taglen) ; + len += taglen ; s[len++] = ' ' ; + memcpy(s + len, caa->value, valuelen) ; + len += valuelen ; + return len ; +} -- cgit v1.3.1