From 62e40855c2b1b50627dba5b187be8869e2cb2054 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 17 Dec 2017 20:50:34 +0100 Subject: gsm0808_create_cipher_reject: Fix encoding of Cause IE The Cause IE in the 08.08 CIPHER MODE REJECT is a normal TLV IE, and not just a value. Let's make sure we encode the cause value properly. Change-Id: I4f5b231edf6dcb0a9c2bbafb2a59f301f3b2402b Closes: OS#2766 --- src/gsm/gsm0808.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/gsm/gsm0808.c b/src/gsm/gsm0808.c index 2396a106..abf3d251 100644 --- a/src/gsm/gsm0808.c +++ b/src/gsm/gsm0808.c @@ -240,7 +240,8 @@ struct msgb *gsm0808_create_cipher_reject(uint8_t cause) if (!msg) return NULL; - msgb_tv_put(msg, BSS_MAP_MSG_CIPHER_MODE_REJECT, cause); + msgb_v_put(msg, BSS_MAP_MSG_CIPHER_MODE_REJECT); + msgb_tlv_put(msg, GSM0808_IE_CAUSE, 1, &cause); msg->l3h = msgb_tv_push(msg, BSSAP_MSG_BSS_MANAGEMENT, msgb_length(msg)); -- cgit v1.2.3