diff options
author | Darien Spencer <cusneud@mail.com> | 2018-02-21 19:34:55 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2018-02-22 05:02:22 +0000 |
commit | c76b37845333a62b66a570e59edef976cfae7cf9 (patch) | |
tree | 2c95a9c54519ff2f2b8660f09044c8ad1e3c4fc1 /epan/dissectors/packet-umts_fp.c | |
parent | 205424287b0ff732ad555ddc2026f1422633cb12 (diff) |
FP: Fix U-RNTI issue in E-DCH
When configured a E-DCH, the first packet in the channel used the CRNCC instead of U-RNTI (if found)
Change-Id: I31b50af8a44c6f637ac2eefd4caf319bec44c3c6
Reviewed-on: https://code.wireshark.org/review/25929
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-umts_fp.c')
-rw-r--r-- | epan/dissectors/packet-umts_fp.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/epan/dissectors/packet-umts_fp.c b/epan/dissectors/packet-umts_fp.c index 6283b39b7e..796e109a6d 100644 --- a/epan/dissectors/packet-umts_fp.c +++ b/epan/dissectors/packet-umts_fp.c @@ -5125,10 +5125,9 @@ make_fake_lchid(packet_info *pinfo _U_, gint trchld) return fake_map[trchld]; } -/* Figures the best "UE ID" to use in RLC reassembly logic */ -static guint32 get_ue_id_from_conv(umts_fp_conversation_info_t *p_conv_data) +/* Tries to resolve the U-RNTI of a channel user based on info in the fp conv info */ +static void fp_conv_resolve_urnti(umts_fp_conversation_info_t *p_conv_data) { - guint32 user_identity; /* Trying to resolve the U-RNTI of the user if missing */ /* Resolving based on the 'C-RNC Communication Context' field found in NBAP */ if (!p_conv_data->urnti && p_conv_data->com_context_id != 0) { @@ -5137,6 +5136,12 @@ static guint32 get_ue_id_from_conv(umts_fp_conversation_info_t *p_conv_data) p_conv_data->urnti = GPOINTER_TO_UINT(mapped_urnti); } } +} + +/* Figures the best "UE ID" to use in RLC reassembly logic */ +static guint32 get_ue_id_from_conv(umts_fp_conversation_info_t *p_conv_data) +{ + guint32 user_identity; /* Choosing RLC 'UE ID': */ /* 1. Preferring the U-RNTI if attached */ /* 2. Fallback - Using the 'C-RNC Communication Context' used in NBAP for this user */ @@ -5194,6 +5199,9 @@ fp_set_per_packet_inf_from_conv(conversation_t *p_conv, fpi->destport = pinfo->destport; fpi->com_context_id = p_conv_data->com_context_id; + if(!p_conv_data->urnti) { + fp_conv_resolve_urnti(p_conv_data); + } fpi->urnti = p_conv_data->urnti; if (pinfo->link_dir == P2P_DIR_UL) { |