diff options
author | Alexandre Pion <pion@afnic.fr> | 2022-10-04 19:36:39 +0200 |
---|---|---|
committer | Alexandre Pion <pion@afnic.fr> | 2022-10-12 14:32:17 +0200 |
commit | a8ccdb73a61d0b64fb3f715985d4932f68754ad2 (patch) | |
tree | 8a18fe5af8793330ac7036960ee62d5ee6649b4d | |
parent | 56ed5438ebe01be1b83b15f7c79177e8015580e0 (diff) |
Don't overwrite already defined EDNS options
-rw-r--r-- | src/LDNS.xs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/LDNS.xs b/src/LDNS.xs index 0a05899..41606b0 100644 --- a/src/LDNS.xs +++ b/src/LDNS.xs @@ -1421,7 +1421,11 @@ packet_nsid(obj) ldns_edns_option_list* edns_list; ldns_edns_option* edns_opt; - edns_list = ldns_edns_option_list_new(); + edns_list = ldns_pkt_edns_get_option_list(obj); + + if ( !edns_list ) + edns_list = ldns_edns_option_list_new(); + edns_opt = ldns_edns_new_from_data(LDNS_EDNS_NSID, 0, NULL); if ( edns_list == NULL || edns_opt == NULL ) croak("Could not allocate EDNS option"); |