From d02e82568372989f383de700790a79063f45a6f3 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Sat, 28 Jan 2023 09:48:39 -0500 Subject: [PATCH] MT#55283 allow alternative list/string usage so that certain options can be given as SDES=off instead of SDES-off and still work. Change-Id: Iba0c70f8c239ac68d52bfa40e015e8a79bf27e39 --- daemon/call_interfaces.c | 16 +++++++++++----- t/auto-daemon-tests.pl | 24 ------------------------ 2 files changed, 11 insertions(+), 29 deletions(-) diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index 86c40dcf9..9aa6fb5d7 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -672,13 +672,19 @@ INLINE void ng_t38_option(struct sdp_ng_flags *out, str *s, void *dummy) { static void call_ng_flags_list(struct sdp_ng_flags *out, bencode_item_t *list, void (*callback)(struct sdp_ng_flags *, str *, void *), void *parm) { - if (list->type != BENCODE_LIST) + str s; + if (list->type != BENCODE_LIST) { + if (bencode_get_str(list, &s)) + callback(out, &s, parm); + else + ilog(LOG_DEBUG, "Ignoring non-list non-string value"); return; + } for (bencode_item_t *it = list->child; it; it = it->sibling) { - str s; - if (!bencode_get_str(it, &s)) - continue; - callback(out, &s, parm); + if (bencode_get_str(it, &s)) + callback(out, &s, parm); + else + ilog(LOG_DEBUG, "Ignoring non-string value in list"); } } static void call_ng_flags_rtcp_mux(struct sdp_ng_flags *out, str *s, void *dummy) { diff --git a/t/auto-daemon-tests.pl b/t/auto-daemon-tests.pl index 482019f65..3a7586b37 100755 --- a/t/auto-daemon-tests.pl +++ b/t/auto-daemon-tests.pl @@ -8840,18 +8840,6 @@ a=rtpmap:0 PCMU/8000 a=sendrecv a=rtcp:PORT a=rtcp-mux -a=crypto:1 AEAD_AES_256_GCM inline:CRYPTO256S -a=crypto:2 AEAD_AES_128_GCM inline:CRYPTO128S -a=crypto:3 AES_256_CM_HMAC_SHA1_80 inline:CRYPTO256 -a=crypto:4 AES_256_CM_HMAC_SHA1_32 inline:CRYPTO256 -a=crypto:5 AES_192_CM_HMAC_SHA1_80 inline:CRYPTO192 -a=crypto:6 AES_192_CM_HMAC_SHA1_32 inline:CRYPTO192 -a=crypto:7 AES_CM_128_HMAC_SHA1_80 inline:CRYPTO128 -a=crypto:8 AES_CM_128_HMAC_SHA1_32 inline:CRYPTO128 -a=crypto:9 F8_128_HMAC_SHA1_80 inline:CRYPTO128 -a=crypto:10 F8_128_HMAC_SHA1_32 inline:CRYPTO128 -a=crypto:11 NULL_HMAC_SHA1_80 inline:CRYPTO128 -a=crypto:12 NULL_HMAC_SHA1_32 inline:CRYPTO128 a=setup:actpass a=fingerprint:sha-256 FINGERPRINT256 a=tls-id:TLS_ID @@ -8959,18 +8947,6 @@ a=rtpmap:0 PCMU/8000 a=sendrecv a=rtcp:PORT a=rtcp-mux -a=crypto:1 AEAD_AES_256_GCM inline:CRYPTO256S -a=crypto:2 AEAD_AES_128_GCM inline:CRYPTO128S -a=crypto:3 AES_256_CM_HMAC_SHA1_80 inline:CRYPTO256 -a=crypto:4 AES_256_CM_HMAC_SHA1_32 inline:CRYPTO256 -a=crypto:5 AES_192_CM_HMAC_SHA1_80 inline:CRYPTO192 -a=crypto:6 AES_192_CM_HMAC_SHA1_32 inline:CRYPTO192 -a=crypto:7 AES_CM_128_HMAC_SHA1_80 inline:CRYPTO128 -a=crypto:8 AES_CM_128_HMAC_SHA1_32 inline:CRYPTO128 -a=crypto:9 F8_128_HMAC_SHA1_80 inline:CRYPTO128 -a=crypto:10 F8_128_HMAC_SHA1_32 inline:CRYPTO128 -a=crypto:11 NULL_HMAC_SHA1_80 inline:CRYPTO128 -a=crypto:12 NULL_HMAC_SHA1_32 inline:CRYPTO128 a=setup:actpass a=fingerprint:sha-256 FINGERPRINT256 a=tls-id:TLS_ID