From: George Thessalonikefs Date: Thu, 22 Jun 2023 10:11:28 +0000 (+0200) Subject: - For #762: relocate edns_opt_list_append_keepalive. X-Git-Tag: release-1.18.0rc1~14^2~18 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=47cf44cc70da5f683d277f45772455ccd98fafbb;p=thirdparty%2Funbound.git - For #762: relocate edns_opt_list_append_keepalive. --- diff --git a/util/data/msgparse.c b/util/data/msgparse.c index 9f3afd5ed..221ff5dfd 100644 --- a/util/data/msgparse.c +++ b/util/data/msgparse.c @@ -941,17 +941,6 @@ parse_packet(sldns_buffer* pkt, struct msg_parse* msg, struct regional* region) return 0; } -static int -edns_opt_list_append_keepalive(struct edns_option** list, int msec, - struct regional* region) -{ - uint8_t data[2]; /* For keepalive value */ - data[0] = (uint8_t)((msec >> 8) & 0xff); - data[1] = (uint8_t)(msec & 0xff); - return edns_opt_list_append(list, LDNS_EDNS_KEEPALIVE, sizeof(data), - data, region); -} - /** RFC 1982 comparison, uses unsigned integers, and tries to avoid * compiler optimization (eg. by avoiding a-b<0 comparisons), * this routine matches compare_serial(), for SOA serial number checks */ diff --git a/util/data/msgreply.c b/util/data/msgreply.c index 1e6ee9704..d02fcb4a8 100644 --- a/util/data/msgreply.c +++ b/util/data/msgreply.c @@ -1020,6 +1020,16 @@ int edns_opt_list_append_ede(struct edns_option** list, struct regional* region, return 1; } +int edns_opt_list_append_keepalive(struct edns_option** list, int msec, + struct regional* region) +{ + uint8_t data[2]; /* For keepalive value */ + data[0] = (uint8_t)((msec >> 8) & 0xff); + data[1] = (uint8_t)(msec & 0xff); + return edns_opt_list_append(list, LDNS_EDNS_KEEPALIVE, sizeof(data), + data, region); +} + int edns_opt_list_append(struct edns_option** list, uint16_t code, size_t len, uint8_t* data, struct regional* region) { diff --git a/util/data/msgreply.h b/util/data/msgreply.h index 9538adc5a..3b6009f47 100644 --- a/util/data/msgreply.h +++ b/util/data/msgreply.h @@ -567,6 +567,16 @@ int edns_opt_list_append(struct edns_option** list, uint16_t code, size_t len, int edns_opt_list_append_ede(struct edns_option** list, struct regional* region, sldns_ede_code code, const char *txt); +/** + * Append edns keep alive option to edns options list + * @param list: the edns option list to append the edns option to. + * @param msec: the duration in msecs for the keep alive. + * @param region: region to allocate the new edns option. + * @return false on failure. + */ +int edns_opt_list_append_keepalive(struct edns_option** list, int msec, + struct regional* region); + /** * Remove any option found on the edns option list that matches the code. * @param list: the list of edns options.