aboutsummaryrefslogtreecommitdiffstats
path: root/src/hnbgw_hnbap.c
diff options
context:
space:
mode:
authorDaniel Willmann <dwillmann@sysmocom.de>2015-12-09 19:04:33 +0100
committerDaniel Willmann <dwillmann@sysmocom.de>2015-12-14 10:36:36 +0100
commit9224731379265fa91500ce7e761c1bfc300a38ab (patch)
treef6b75b5efc89d0da247c5784dcb35f2c73585d1e /src/hnbgw_hnbap.c
parent4e31250367c7f80907c9a25c281fffbe24e4dae0 (diff)
asn1helpers: Fix 24 bit conversion function and use it in hnbgw_hnbap
The 32 bit int needs to be shifted left one byte so the correct bytes end up at the beginning of the bit string buffer.
Diffstat (limited to 'src/hnbgw_hnbap.c')
-rw-r--r--src/hnbgw_hnbap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/hnbgw_hnbap.c b/src/hnbgw_hnbap.c
index 97cb32b..b74cdad 100644
--- a/src/hnbgw_hnbap.c
+++ b/src/hnbgw_hnbap.c
@@ -79,6 +79,7 @@ static int hnbgw_tx_ue_register_acc(struct ue_context *ue)
UERegisterAcceptIEs_t accept;
struct msgb *msg;
uint8_t encoded_imsi[10];
+ uint32_t ctx_id;
size_t encoded_imsi_len;
int rc;
@@ -89,8 +90,7 @@ static int hnbgw_tx_ue_register_acc(struct ue_context *ue)
accept.uE_Identity.present = UE_Identity_PR_iMSI;
OCTET_STRING_fromBuf(&accept.uE_Identity.choice.iMSI,
(const char *)encoded_imsi, encoded_imsi_len);
- asn1_u32_to_bitstring(&accept.context_ID, &ue->context_id);
- accept.context_ID.size = 3; /* 24bit field */
+ asn1_u24_to_bitstring(&accept.context_ID, &ctx_id, ue->context_id);
memset(&accept_out, 0, sizeof(accept_out));
rc = hnbap_encode_ueregisteraccepties(&accept_out, &accept);