]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
ORIGIN from SOA owner, also in SOA rdata fields
authorWillem Toorop <willem@nlnetlabs.nl>
Sat, 16 Jan 2021 16:18:23 +0000 (17:18 +0100)
committerWillem Toorop <willem@nlnetlabs.nl>
Sat, 16 Jan 2021 16:18:23 +0000 (17:18 +0100)
rr.c

diff --git a/rr.c b/rr.c
index 2547acb805f55a62c1f7fb801c56b361d6ec2c8e..24de653e10417e309c062656ef04ced68ff0d09a 100644 (file)
--- a/rr.c
+++ b/rr.c
@@ -582,10 +582,12 @@ ldns_rr_new_frm_str_internal(ldns_rr **newrr, const char *str,
                                                    LDNS_RDF_TYPE_DNAME, ".")
                                            );
 
-                               } else if (r && rd_strlen >= 1 && origin &&
-                                               !ldns_dname_str_absolute(rd)) {
+                               } else if (r && rd_strlen >= 1
+                                   && (origin || rr_type == LDNS_RR_TYPE_SOA)
+                                   && !ldns_dname_str_absolute(rd)) {
 
-                                       status = ldns_dname_cat(r, origin);
+                                       status = ldns_dname_cat(r, origin
+                                           ? origin : ldns_rr_owner(new));
                                        if (status != LDNS_STATUS_OK) {
                                                goto error;
                                        }