packet-mq: Fix LPOO Strucxt + Add MQV91 Def

Add MQ V9.1 Def
Fix LPOO Struct Display

Change-Id: I14ff534b7117e65dcc4b096aa478c0c16a863f67
Reviewed-on: https://code.wireshark.org/review/29153
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Robert Grange 2018-08-15 17:08:34 +02:00 committed by Anders Broman
parent 0b297ce308
commit 203c3f511f
3 changed files with 24 additions and 13 deletions

View File

@ -1023,6 +1023,7 @@ DEF_VALSB(MQLDAP_AUTHORMD)
/* 0*/ DEF_VALS1(MQLDAP_AUTHORMD_OS),
/* 1*/ DEF_VALS1(MQLDAP_AUTHORMD_SEARCHGRP),
/* 2*/ DEF_VALS1(MQLDAP_AUTHORMD_SEARCHUSR),
/* 3*/ DEF_VALS1(MQLDAP_AUTHORMD_SRCHGRPSN),
DEF_VALSE;
DEF_VALSB(MQLDAP_NESTGRP)
@ -2603,6 +2604,7 @@ DEF_VALSB(MQRC)
/* 3379*/ DEF_VALS1(MQRCCF_LOG_EXTENT_NOT_FOUND),
/* 3380*/ DEF_VALS1(MQRCCF_LOG_NOT_REDUCED),
/* 3381*/ DEF_VALS1(MQRCCF_LOG_EXTENT_ERROR),
/* 3382*/ DEF_VALS1(MQRCCF_ACCESS_BLOCKED),
/* 4001*/ DEF_VALS1(MQRCCF_OBJECT_ALREADY_EXISTS),
/* 4002*/ DEF_VALS1(MQRCCF_OBJECT_WRONG_TYPE),
/* 4003*/ DEF_VALS1(MQRCCF_LIKE_OBJECT_WRONG_TYPE),
@ -2724,6 +2726,7 @@ DEF_VALSB(MQRC)
/* 6128*/ DEF_VALS1(MQRC_WRONG_VERSION),
/* 6129*/ DEF_VALS1(MQRC_REFERENCE_ERROR),
/* 6130*/ DEF_VALS1(MQRC_XR_NOT_AVAILABLE),
/*29440*/ DEF_VALS1(MQRC_SUB_JOIN_NOT_ALTERABLE),
DEF_VALSE;
DEF_VALS_EXTBX(MQRC);

View File

@ -614,14 +614,13 @@ static const int *pf_flds_mtchopt[] =
static int hf_mq_lpoo_StructID = -1;
static int hf_mq_lpoo_version = -1;
static int hf_mq_lpoo_options = -1;
static int hf_mq_lpoo_lpivers = -1;
static int hf_mq_lpoo_lpiopts = -1;
static int hf_mq_lpoo_defpersist = -1;
static int hf_mq_lpoo_defputresptype = -1;
static int hf_mq_lpoo_defreadahead = -1;
static int hf_mq_lpoo_propertyctl = -1;
static int hf_mq_lpoo_qprotect = -1;
static int hf_mq_lpoo_unknown6 = -1;
static int hf_mq_lpoo_xtradata = -1;
static int hf_mq_lpoo_lpiopts_SAVE_IDENTITY_CTXT = -1;
@ -993,7 +992,6 @@ static gint ett_mq_rfh_ValueName = -1;
static gint ett_mq_msgreq_RqstFlags = -1;
static gint ett_mq_lpoo = -1;
static gint ett_mq_lpoo_options = -1;
static gint ett_mq_lpoo_lpiopts = -1;
static gint ett_mq_head = -1; /* Factorisation of common Header structure items (DH, MDE, CIH, IIH, RFH, RMH, WIH, TM, TMC2 */
@ -2958,7 +2956,7 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint iXtraData = 0;
gint iSize = 32;
iVersion = tvb_get_guint32(tvb, offset + 4, p_mq_parm->mq_int_enc);
if (iVersion >= 3)
if (iVersion >= 1)
{
iSize += 56;
iXtraData = tvb_get_guint32(tvb, offset + 84, p_mq_parm->mq_int_enc);
@ -2970,18 +2968,18 @@ static void dissect_mq_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_item(mq_tree, hf_mq_lpoo_StructID, tvb, offset, 4, p_mq_parm->mq_str_enc);
proto_tree_add_item(mq_tree, hf_mq_lpoo_version, tvb, offset + 4, 4, p_mq_parm->mq_int_enc);
dissect_mq_MQOO(tvb, mq_tree, offset + 8, ett_mq_lpoo_options, hf_mq_lpoo_options, p_mq_parm);
proto_tree_add_item(mq_tree, hf_mq_lpoo_lpivers, tvb, offset + 8, 4, p_mq_parm->mq_int_enc);
dissect_mq_LPOO_LPIOPTS(tvb, mq_tree, offset + 12, ett_mq_lpoo_lpiopts, p_mq_parm);
proto_tree_add_item(mq_tree, hf_mq_lpoo_defpersist, tvb, offset + 16, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_lpoo_defputresptype, tvb, offset + 20, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_lpoo_defreadahead, tvb, offset + 24, 4, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_lpoo_propertyctl, tvb, offset + 28, 4, p_mq_parm->mq_int_enc);
if (iVersion >= 3)
if (iVersion >= 1)
{
proto_tree_add_item(mq_tree, hf_mq_lpoo_qprotect, tvb, offset + 32, 48, p_mq_parm->mq_int_enc);
proto_tree_add_item(mq_tree, hf_mq_lpoo_unknown6, tvb, offset + 80, 4, p_mq_parm->mq_int_enc);
dissect_mq_MQOO(tvb, mq_tree, offset + 80, ett_mq_open_option, hf_mq_open_options, p_mq_parm);
proto_tree_add_item(mq_tree, hf_mq_lpoo_xtradata, tvb, offset + 84, 4, p_mq_parm->mq_int_enc);
}
offset += iSize;
@ -4216,7 +4214,7 @@ void proto_register_mq(void)
{ &hf_mq_lpoo_StructID , {"StructID......", "mq.lpoo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_mq_lpoo_version , {"Version.......", "mq.lpoo.version", FT_UINT32, BASE_DEC, NULL, 0x0, "LPOO version", HFILL }},
{ &hf_mq_lpoo_options , {"Options.......", "mq.lpoo.options", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO options", HFILL }},
{ &hf_mq_lpoo_lpivers , {"LpiVersion....", "mq.lpoo.lpivers", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO Lpi Version", HFILL }},
{ &hf_mq_lpoo_lpiopts , {"LpiOpts.......", "mq.lpoo.lpioopts", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO Lpi Options", HFILL }},
{ &hf_mq_lpoo_lpiopts_SAVE_USER_CTXT , {"SAVE_USER_CTXT", "mq.lpoo.opts.SAVE_USER_CTXT", FT_BOOLEAN, 32, TFS(&tfs_set_notset), MQ_LPOO_SAVE_USER_CTXT, "LPOO options SAVE_USER_CTXT", HFILL }},
@ -4228,7 +4226,6 @@ void proto_register_mq(void)
{ &hf_mq_lpoo_defreadahead , {"DefReadAHead..", "mq.lpoo.defreadahead", FT_INT32, BASE_DEC, VALS(GET_VALSV(MQREADA)), 0x0, "LPOO Default Read AHead", HFILL }},
{ &hf_mq_lpoo_propertyctl , {"PropertyCtl...", "mq.lpoo.propertyctl", FT_INT32, BASE_DEC, NULL, 0x0, "LPOO Property Control", HFILL}},
{ &hf_mq_lpoo_qprotect , {"qprotect......", "mq.lpoo.qprotect", FT_STRINGZ, BASE_NONE, NULL, 0x0, "LPOO queue protection", HFILL }},
{ &hf_mq_lpoo_unknown6 , {"Unknown6......", "mq.lpoo.unknown6", FT_UINT32, BASE_HEX, NULL, 0x0, "LPOO unknown6", HFILL }},
{ &hf_mq_lpoo_xtradata , {"ExtraData.....", "mq.lpoo.extradata", FT_INT32, BASE_DEC, NULL, 0x0, "LPOO Extra Data", HFILL }},
{ &hf_mq_pmo_StructID , {"StructID...", "mq.pmo.structid", FT_STRINGZ, BASE_NONE, NULL, 0x0, NULL, HFILL }},
@ -4478,7 +4475,6 @@ void proto_register_mq(void)
&ett_mq_fcno,
&ett_mq_fopa,
&ett_mq_lpoo,
&ett_mq_lpoo_options,
&ett_mq_lpoo_lpiopts,
&ett_mq_head,
&ett_mq_head_flags,

View File

@ -1057,6 +1057,10 @@ typedef struct _mq_parm_t
#define MQ_MQACTT_WINDOWS_DEFAULT '\x09'
#define MQ_MQACTT_NT_SECURITY_ID '\x0B'
#define MQ_MQACTT_USER '\x19'
#define MQ_MQACTT_AZUREAD_SECURITY_ID '\x0C'
#define MQ_MQACTT_MS_ACC_AUTH_SECURITY_ID '\x0D'
#define MQ_MQACTT_USER '\x19'
/* Put Application Types */
#define MQ_MQAT_UNKNOWN (-1)
@ -1986,6 +1990,7 @@ typedef struct _mq_parm_t
#define MQ_MQRC_WRONG_VERSION 6128
#define MQ_MQRC_REFERENCE_ERROR 6129
#define MQ_MQRC_XR_NOT_AVAILABLE 6130
#define MQ_MQRC_SUB_JOIN_NOT_ALTERABLE 29440
/****************************************************************/
/* Values Related to Queue Attributes */
@ -2201,7 +2206,11 @@ typedef struct _mq_parm_t
#define MQ_MQCMDL_LEVEL_900 900
#define MQ_MQCMDL_LEVEL_901 901
#define MQ_MQCMDL_LEVEL_902 902
#define MQ_MQCMDL_CURRENT_LEVEL 902
#define MQ_MQCMDL_LEVEL_903 903
#define MQ_MQCMDL_LEVEL_904 904
#define MQ_MQCMDL_LEVEL_905 905
#define MQ_MQCMDL_LEVEL_910 910
#define MQ_MQCMDL_CURRENT_LEVEL 910
/* Key reuse count */
#define MQ_MQKEY_REUSE_DISABLED 0
@ -2704,6 +2713,7 @@ typedef struct _mq_parm_t
#define MQ_MQIA_ADOPTNEWMCA_INTERVAL 104
#define MQ_MQIA_ADOPTNEWMCA_TYPE 103
#define MQ_MQIA_ADOPT_CONTEXT 260
#define MQ_MQIA_ADVANCED_CAPABILITY 273
#define MQ_MQIA_AMQP_CAPABILITY 265
#define MQ_MQIA_APPL_TYPE 1
#define MQ_MQIA_ARCHIVE 60
@ -3504,6 +3514,7 @@ typedef struct _mq_parm_t
#define MQ_MQRCCF_LOG_EXTENT_NOT_FOUND 3379
#define MQ_MQRCCF_LOG_NOT_REDUCED 3380
#define MQ_MQRCCF_LOG_EXTENT_ERROR 3381
#define MQ_MQRCCF_ACCESS_BLOCKED 3382
#define MQ_MQRCCF_OBJECT_ALREADY_EXISTS 4001
#define MQ_MQRCCF_OBJECT_WRONG_TYPE 4002
#define MQ_MQRCCF_LIKE_OBJECT_WRONG_TYPE 4003
@ -5158,6 +5169,7 @@ typedef struct _mq_parm_t
#define MQ_MQLDAP_AUTHORMD_OS 0
#define MQ_MQLDAP_AUTHORMD_SEARCHGRP 1
#define MQ_MQLDAP_AUTHORMD_SEARCHUSR 2
#define MQ_MQLDAP_AUTHORMD_SRCHGRPSN 3
/* LDAP Nested Group Policy */
#define MQ_MQLDAP_NESTGRP_NO 0