fix for CMIP, we should set the opcode_type BEFORE we try to use it in the subdissector,

it doesnt work really that well if we have opcode_type set to INVOKE   from the previous packet and this new packet contains a ReturnResult.



svn path=/trunk/; revision=14733
This commit is contained in:
Ronnie Sahlberg 2005-06-23 09:28:46 +00:00
parent 3f4bb659f7
commit a52b44c54b
2 changed files with 16 additions and 16 deletions

View File

@ -49,28 +49,28 @@ InvokeIDType
}
#.END
#.FN_FTR Invoke
#.FN_HDR Invoke
opcode_type=OPCODE_INVOKE;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "Invoke ");
}
#.END
#.FN_FTR ReturnResult
#.FN_HDR ReturnResult
opcode_type=OPCODE_RETURN_RESULT;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnResult ");
}
#.END
#.FN_FTR ReturnError
#.FN_HDR ReturnError
opcode_type=OPCODE_RETURN_ERROR;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnError ");
}
#.END
#.FN_FTR Reject
#.FN_HDR Reject
opcode_type=OPCODE_REJECT;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "Reject ");

View File

@ -2124,13 +2124,13 @@ static const ber_sequence_t Invoke_sequence[] = {
static int
dissect_cmip_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
Invoke_sequence, hf_index, ett_cmip_Invoke);
opcode_type=OPCODE_INVOKE;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "Invoke ");
}
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
Invoke_sequence, hf_index, ett_cmip_Invoke);
return offset;
}
static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@ -2145,13 +2145,13 @@ static const ber_sequence_t ReturnResult_sequence[] = {
static int
dissect_cmip_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
opcode_type=OPCODE_RETURN_RESULT;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnResult ");
}
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
ReturnResult_sequence, hf_index, ett_cmip_ReturnResult);
return offset;
}
static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@ -2165,13 +2165,13 @@ static const ber_sequence_t ReturnError_sequence[] = {
static int
dissect_cmip_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
ReturnError_sequence, hf_index, ett_cmip_ReturnError);
opcode_type=OPCODE_RETURN_ERROR;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "ReturnError ");
}
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
ReturnError_sequence, hf_index, ett_cmip_ReturnError);
return offset;
}
static int dissect_returnError_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@ -2330,13 +2330,13 @@ static const ber_sequence_t Reject_sequence[] = {
static int
dissect_cmip_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
Reject_sequence, hf_index, ett_cmip_Reject);
opcode_type=OPCODE_REJECT;
if(check_col(pinfo->cinfo, COL_INFO)){
col_prepend_fstr(pinfo->cinfo, COL_INFO, "Reject ");
}
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
Reject_sequence, hf_index, ett_cmip_Reject);
return offset;
}
static int dissect_reject_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {