From Pascal Quantin:

Decode the EIA0 (null integrity algorithm) bit in EMM messages. This was introduced in 3GPP 24.301 CR-0422 (Release 9.2) and is also used by the LTSI (LTE/SAE Trial Initiative) for interoperability tests between constructors (with Release 8 equipments). I also updated the description of EEA0 as stated in 24.302 release 9.2.

svn path=/trunk/; revision=33030
This commit is contained in:
Anders Broman 2010-06-01 07:26:08 +00:00
parent 7ecae442c5
commit 9b9aaed177
1 changed files with 17 additions and 18 deletions

View File

@ -103,7 +103,6 @@ static int hf_nas_eps_emm_tai_tol = -1;
static int hf_nas_eps_emm_tai_n_elem = -1;
static int hf_nas_eps_emm_tai_tac = -1;
static int hf_nas_eps_emm_eea0 = -1;
static int hf_nas_eps_emm_128eea0 = -1;
static int hf_nas_eps_emm_128eea1 = -1;
static int hf_nas_eps_emm_128eea2 = -1;
static int hf_nas_eps_emm_eea3 = -1;
@ -111,6 +110,7 @@ static int hf_nas_eps_emm_eea4 = -1;
static int hf_nas_eps_emm_eea5 = -1;
static int hf_nas_eps_emm_eea6 = -1;
static int hf_nas_eps_emm_eea7 = -1;
static int hf_nas_eps_emm_eia0 = -1;
static int hf_nas_eps_emm_128eia1 = -1;
static int hf_nas_eps_emm_128eia2 = -1;
static int hf_nas_eps_emm_eia3 = -1;
@ -1151,7 +1151,7 @@ de_emm_nas_msg_cont(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _
*/
/* Type of integrity protection algorithm (octet 2, bit 1 to 3) */
static const value_string nas_eps_emm_toi_vals[] = {
{ 0, "Reserved"},
{ 0, "EPS integrity algorithm EIA0 (null integrity protection algorithm)"},
{ 1, "EPS integrity algorithm 128-EIA1"},
{ 2, "EPS integrity algorithm 128-EIA2"},
{ 3, "EPS integrity algorithm EIA3"},
@ -1165,7 +1165,7 @@ static const value_string nas_eps_emm_toi_vals[] = {
/* Type of ciphering algorithm (octet 2, bit 5 to 7) */
static const value_string nas_eps_emm_toc_vals[] = {
{ 0, "EPS encryption algorithm 128-EEA0 (ciphering not used)"},
{ 0, "EPS encryption algorithm EEA0 (null ciphering algorithm)"},
{ 1, "EPS encryption algorithm 128-EEA1"},
{ 2, "EPS encryption algorithm 128-EEA2"},
{ 3, "EPS encryption algorithm EEA3"},
@ -1419,8 +1419,8 @@ de_emm_ue_net_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gc
/* EPS encryption algorithms supported (octet 3) */
/* EPS encryption algorithm 128-EEA0 supported (octet 3, bit 8) */
proto_tree_add_item(tree, hf_nas_eps_emm_128eea0, tvb, curr_offset, 1, FALSE);
/* EPS encryption algorithm EEA0 supported (octet 3, bit 8) */
proto_tree_add_item(tree, hf_nas_eps_emm_eea0, tvb, curr_offset, 1, FALSE);
/* EPS encryption algorithm 128-EEA1 supported (octet 3, bit 7) */
proto_tree_add_item(tree, hf_nas_eps_emm_128eea1, tvb, curr_offset, 1, FALSE);
/* EPS encryption algorithm 128-EEA2 supported (octet 3, bit 6) */
@ -1438,10 +1438,10 @@ de_emm_ue_net_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len, gc
curr_offset++;
/* EPS integrity algorithms supported (octet 4)
* Bit 8 of octet 4 is spare and shall be coded as zero.
* EPS integrity algorithm 128-EIA1 supported (octet 4, bit 7)
*/
/* EPS integrity algorithms supported (octet 4) */
/* EPS integrity algorithm EIA0 supported (octet 4, bit 8) */
proto_tree_add_item(tree, hf_nas_eps_emm_eia0, tvb, curr_offset, 1, FALSE);
/* EPS integrity algorithm 128-EIA1 supported (octet 4, bit 7) */
proto_tree_add_item(tree, hf_nas_eps_emm_128eia1, tvb, curr_offset, 1, FALSE);
/* EPS integrity algorithm 128-EIA2 supported (octet 4, bit 6) */
proto_tree_add_item(tree, hf_nas_eps_emm_128eia2, tvb, curr_offset, 1, FALSE);
@ -1571,10 +1571,9 @@ de_emm_ue_sec_cap(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint len _U_
/* EPS integrity algorithms supported (octet 4)
* Bit 8 of octet 4 is spare and shall be coded as zero.
* EPS integrity algorithm 128-EIA1 supported (octet 4, bit 7)
*/
proto_tree_add_bits_item(tree, hf_nas_eps_spare_bits, tvb, (curr_offset<<3), 1, FALSE);
/* EPS integrity algorithm EIA0 supported (octet 4, bit 8) */
proto_tree_add_item(tree, hf_nas_eps_emm_eia0, tvb, curr_offset, 1, FALSE);
/* EPS integrity algorithm 128-EIA1 supported (octet 4, bit 7) */
proto_tree_add_item(tree, hf_nas_eps_emm_128eia1, tvb, curr_offset, 1, FALSE);
/* EPS integrity algorithm 128-EIA2 supported (octet 4, bit 6) */
proto_tree_add_item(tree, hf_nas_eps_emm_128eia2, tvb, curr_offset, 1, FALSE);
@ -4504,11 +4503,6 @@ void proto_register_nas_eps(void) {
FT_BOOLEAN, 8, TFS(&nas_eps_emm_supported_flg_value), 0x80,
NULL, HFILL }
},
{ &hf_nas_eps_emm_128eea0,
{ "128-EEA0","nas_eps.emm.128eea0",
FT_BOOLEAN, 8, TFS(&nas_eps_emm_supported_flg_value), 0x80,
NULL, HFILL }
},
{ &hf_nas_eps_emm_128eea1,
{ "128-EEA1","nas_eps.emm.128eea1",
FT_BOOLEAN, 8, TFS(&nas_eps_emm_supported_flg_value), 0x40,
@ -4544,6 +4538,11 @@ void proto_register_nas_eps(void) {
FT_BOOLEAN, 8, TFS(&nas_eps_emm_supported_flg_value), 0x01,
NULL, HFILL }
},
{ &hf_nas_eps_emm_eia0,
{ "EIA0","nas_eps.emm.eia0",
FT_BOOLEAN, 8, TFS(&nas_eps_emm_supported_flg_value), 0x80,
NULL, HFILL }
},
{ &hf_nas_eps_emm_128eia1,
{ "128-EIA1","nas_eps.emm.128eia1",
FT_BOOLEAN, 8, TFS(&nas_eps_emm_supported_flg_value), 0x40,