aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-10-29 10:12:59 -0400
committerMichael Mann <mmann78@netscape.net>2017-10-29 16:53:57 +0000
commitabfb6441177961fbdfa9648fdd2c40ef0ef3cefd (patch)
treedc5d1b438a052e73ec243d2f10e772e39fec3894 /epan/dissectors/asn1
parent1bc6d4e96573f89ecdd719cb3cac92754b91f52c (diff)
Add conversation endpoint type
For the moment this mirrors the port_type enumeration (PT_XXX), but the intent is to move away from using "port types", eliminating most (if not all) Added conversation_pt_to_endpoint_type() so that conversations deal with the correct enumeration. This is for dissector that use pinfo->ptype as input to conversation APIs. Explicit use of port types are converted to using ENDPOINT_XXX type. Change-Id: Ia0bf553a3943b702c921f185407e03ce93ebf0ef Reviewed-on: https://code.wireshark.org/review/24166 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/asn1')
-rw-r--r--epan/dissectors/asn1/h225/h225.cnf4
-rw-r--r--epan/dissectors/asn1/kerberos/kerberos.cnf4
-rw-r--r--epan/dissectors/asn1/nbap/nbap.cnf48
-rw-r--r--epan/dissectors/asn1/nbap/packet-nbap-template.c4
-rw-r--r--epan/dissectors/asn1/ros/packet-ros-template.c4
-rw-r--r--epan/dissectors/asn1/rrc/rrc.cnf2
-rw-r--r--epan/dissectors/asn1/snmp/packet-snmp-template.c4
-rw-r--r--epan/dissectors/asn1/t38/packet-t38-template.c8
8 files changed, 35 insertions, 43 deletions
diff --git a/epan/dissectors/asn1/h225/h225.cnf b/epan/dissectors/asn1/h225/h225.cnf
index 0aa4b15e36..05bf1c3de6 100644
--- a/epan/dissectors/asn1/h225/h225.cnf
+++ b/epan/dissectors/asn1/h225/h225.cnf
@@ -581,9 +581,9 @@ IsupNumber/nationalStandardPartyNumber isupNationalStandardPartyNumber
return offset;
}
- conv=find_conversation(actx->pinfo->num, &src_addr, &src_addr, PT_TCP, ip_port, ip_port, NO_ADDR_B|NO_PORT_B);
+ conv=find_conversation(actx->pinfo->num, &src_addr, &src_addr, ENDPOINT_TCP, ip_port, ip_port, NO_ADDR_B|NO_PORT_B);
if(!conv){
- conv=conversation_new(actx->pinfo->num, &src_addr, &src_addr, PT_TCP, ip_port, ip_port, NO_ADDR2|NO_PORT2);
+ conv=conversation_new(actx->pinfo->num, &src_addr, &src_addr, ENDPOINT_TCP, ip_port, ip_port, NO_ADDR2|NO_PORT2);
conversation_set_dissector(conv, h245_handle);
}
}
diff --git a/epan/dissectors/asn1/kerberos/kerberos.cnf b/epan/dissectors/asn1/kerberos/kerberos.cnf
index 4c11f791f3..dc04d58abf 100644
--- a/epan/dissectors/asn1/kerberos/kerberos.cnf
+++ b/epan/dissectors/asn1/kerberos/kerberos.cnf
@@ -364,10 +364,10 @@ AuthorizationData/_item/ad-type STRINGS=VALS(krb5_ad_types)
* http://www.ietf.org/internet-drafts/draft-ietf-krb-wg-kerberos-clarifications-07.txt
*/
if (actx->pinfo->destport == UDP_PORT_KERBEROS && actx->pinfo->ptype == PT_UDP) {
- conversation = find_conversation(actx->pinfo->num, &actx->pinfo->src, &actx->pinfo->dst, PT_UDP,
+ conversation = find_conversation(actx->pinfo->num, &actx->pinfo->src, &actx->pinfo->dst, ENDPOINT_UDP,
actx->pinfo->srcport, 0, NO_PORT_B);
if (conversation == NULL) {
- conversation = conversation_new(actx->pinfo->num, &actx->pinfo->src, &actx->pinfo->dst, PT_UDP,
+ conversation = conversation_new(actx->pinfo->num, &actx->pinfo->src, &actx->pinfo->dst, ENDPOINT_UDP,
actx->pinfo->srcport, 0, NO_PORT2);
conversation_set_dissector(conversation, kerberos_handle_udp);
}
diff --git a/epan/dissectors/asn1/nbap/nbap.cnf b/epan/dissectors/asn1/nbap/nbap.cnf
index 1068af2767..2dc1e80655 100644
--- a/epan/dissectors/asn1/nbap/nbap.cnf
+++ b/epan/dissectors/asn1/nbap/nbap.cnf
@@ -836,7 +836,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH);
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
- conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, PT_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
+ conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, ENDPOINT_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
conversation_set_dissector(conversation, fp_handle);
@@ -938,7 +938,7 @@ private_data_set_num_items(actx->pinfo, 1);
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
- conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, PT_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
+ conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, ENDPOINT_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
/* Set dissector */
conversation_set_dissector(conversation, fp_handle);
@@ -1048,7 +1048,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH);
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
- conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, PT_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
+ conversation = conversation_new(actx->pinfo->num, &dst_addr, &null_addr, ENDPOINT_UDP, bindingID, 0, NO_ADDR2|NO_PORT2);
/* Set dissector */
conversation_set_dissector(conversation, fp_handle);
@@ -1290,14 +1290,14 @@ private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF);
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
- conversation = find_conversation(actx->pinfo->num,&dst_addr,
- &null_addr, PT_UDP,private_data_get_binding_id_port(actx->pinfo),
+ conversation = find_conversation(actx->pinfo->num, &dst_addr,
+ &null_addr, ENDPOINT_UDP, private_data_get_binding_id_port(actx->pinfo),
0, NO_ADDR_B|NO_PORT_B);
if (conversation == NULL) {
/* It's not part of any conversation - create a new one. */
conversation = conversation_new(actx->pinfo->num, &dst_addr,
- &null_addr, PT_UDP,private_data_get_binding_id_port(actx->pinfo),
+ &null_addr, ENDPOINT_UDP, private_data_get_binding_id_port(actx->pinfo),
0, NO_ADDR2|NO_PORT2);
/* Set dissector */
@@ -1407,8 +1407,8 @@ private_data_set_binding_id_port(actx->pinfo, 0);
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
- conversation = find_conversation(actx->pinfo->num,&dst_addr,
- &null_addr, PT_UDP, bindingID,
+ conversation = find_conversation(actx->pinfo->num, &dst_addr,
+ &null_addr, ENDPOINT_UDP, bindingID,
0, NO_ADDR_B|NO_PORT_B);
if (conversation) {
umts_fp_conversation_info = (umts_fp_conversation_info_t*)conversation_get_proto_data(conversation, proto_fp);
@@ -1423,7 +1423,7 @@ private_data_set_binding_id_port(actx->pinfo, 0);
/* It's not part of any conversation - create a new one. */
conversation = conversation_new(actx->pinfo->num, &dst_addr,
- &null_addr, PT_UDP, bindingID,
+ &null_addr, ENDPOINT_UDP, bindingID,
0, NO_ADDR2|NO_PORT2);
/* Set dissector */
@@ -1518,8 +1518,7 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo);
e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo);
clear_address(&null_addr);
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
- PT_UDP,
- nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
+ ENDPOINT_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
if(!p_conv)
return offset;
@@ -1585,8 +1584,8 @@ private_data_set_binding_id_port(actx->pinfo, 0);
set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4);
- old_conversation = find_conversation(actx->pinfo->num,&dst_addr,
- &null_addr, PT_UDP, bindingID,
+ old_conversation = find_conversation(actx->pinfo->num, &dst_addr,
+ &null_addr, ENDPOINT_UDP, bindingID,
0, NO_ADDR_B|NO_PORT_B);
if(old_conversation){
@@ -1601,7 +1600,7 @@ private_data_set_binding_id_port(actx->pinfo, 0);
/* It's not part of any conversation - create a new one. */
conversation = conversation_new(actx->pinfo->num, &dst_addr,
- &null_addr, PT_UDP, bindingID,
+ &null_addr, ENDPOINT_UDP, bindingID,
0, NO_ADDR2|NO_PORT2);
/* Set dissector */
@@ -1710,8 +1709,7 @@ private_data_set_num_items(actx->pinfo, 1);
/* Check if we have conversation info */
clear_address(&null_addr);
p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr,
- PT_UDP,
- nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
+ ENDPOINT_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B);
if(!p_conv)
return offset;
@@ -1987,15 +1985,14 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo
address_to_str (wmem_packet_scope(), &(nbap_hsdsch_channel_info[i].crnc_address)),
nbap_hsdsch_channel_info[i].crnc_port);
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
- PT_UDP,
- nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+ ENDPOINT_UDP, nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
if (conversation == NULL) {
/* It's not part of any conversation - create a new one. */
nbap_debug("Frame %%u HSDSCH-MACdFlows-Information: Set up conv on Port %%u", actx->pinfo->num, nbap_hsdsch_channel_info[i].crnc_port);
conversation = conversation_new(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address),
- &null_addr, PT_UDP, nbap_hsdsch_channel_info[i].crnc_port,
+ &null_addr, ENDPOINT_UDP, nbap_hsdsch_channel_info[i].crnc_port,
0, NO_ADDR2|NO_PORT2);
/* Set dissector */
@@ -2117,8 +2114,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo
address_to_str (wmem_packet_scope(), &(nbap_hsdsch_channel_info[i].crnc_address)),
nbap_hsdsch_channel_info[i].crnc_port);
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
- PT_UDP,
- nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+ ENDPOINT_UDP, nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
if (conversation == NULL) {
@@ -2126,7 +2122,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo
nbap_debug(" Set up conv on Port %%u", nbap_hsdsch_channel_info[i].crnc_port);
conversation = conversation_new(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address),
- &null_addr, PT_UDP, nbap_hsdsch_channel_info[i].crnc_port,
+ &null_addr, ENDPOINT_UDP, nbap_hsdsch_channel_info[i].crnc_port,
0, NO_ADDR2|NO_PORT2);
/* Set dissector */
@@ -2261,12 +2257,11 @@ int i;
if (nbap_common_channel_info[i].crnc_port != 0){
conversation = find_conversation(actx->pinfo->num, &(nbap_common_channel_info[i].crnc_address), &null_addr,
- PT_UDP,
- nbap_common_channel_info[i].crnc_port, 0, NO_ADDR_B);
+ ENDPOINT_UDP, nbap_common_channel_info[i].crnc_port, 0, NO_ADDR_B);
if (conversation == NULL) {
conversation = conversation_new(actx->pinfo->num, &(nbap_common_channel_info[i].crnc_address),
- &null_addr, PT_UDP, nbap_common_channel_info[i].crnc_port,
+ &null_addr, ENDPOINT_UDP, nbap_common_channel_info[i].crnc_port,
0, NO_ADDR2|NO_PORT2);
/* Set dissector */
@@ -2365,8 +2360,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo
for (i = 0; i < maxNrOfMACdFlows; i++) {
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
conversation = find_conversation(actx->pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr,
- PT_UDP,
- nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
+ ENDPOINT_UDP, nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
if(conversation != NULL){
umts_fp_conversation_info = (umts_fp_conversation_info_t *)conversation_get_proto_data(conversation, proto_fp);
DISSECTOR_ASSERT(umts_fp_conversation_info != NULL);
diff --git a/epan/dissectors/asn1/nbap/packet-nbap-template.c b/epan/dissectors/asn1/nbap/packet-nbap-template.c
index 8f349271ca..4fd76d3eb6 100644
--- a/epan/dissectors/asn1/nbap/packet-nbap-template.c
+++ b/epan/dissectors/asn1/nbap/packet-nbap-template.c
@@ -847,12 +847,12 @@ static void add_hsdsch_bind(packet_info *pinfo){
clear_address(&null_addr);
for (i = 0; i < maxNrOfMACdFlows; i++) {
if (nbap_hsdsch_channel_info[i].crnc_port != 0){
- conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, PT_UDP,
+ conversation = find_conversation(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, ENDPOINT_UDP,
nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR_B);
if (conversation == NULL) {
/* It's not part of any conversation - create a new one. */
- conversation = conversation_new(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, PT_UDP,
+ conversation = conversation_new(pinfo->num, &(nbap_hsdsch_channel_info[i].crnc_address), &null_addr, ENDPOINT_UDP,
nbap_hsdsch_channel_info[i].crnc_port, 0, NO_ADDR2|NO_PORT2);
/* Set dissector */
diff --git a/epan/dissectors/asn1/ros/packet-ros-template.c b/epan/dissectors/asn1/ros/packet-ros-template.c
index 1c0a46839e..89f59b88d0 100644
--- a/epan/dissectors/asn1/ros/packet-ros-template.c
+++ b/epan/dissectors/asn1/ros/packet-ros-template.c
@@ -278,9 +278,7 @@ ros_match_call_response(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gui
conversation_t *conversation;
/* first see if we have already matched this */
- conversation = find_conversation(pinfo->num, &pinfo->src, &pinfo->dst,
- pinfo->ptype, pinfo->srcport,
- pinfo->destport, 0);
+ conversation = find_conversation_pinfo(pinfo, 0);
if (conversation == NULL)
return NULL;
diff --git a/epan/dissectors/asn1/rrc/rrc.cnf b/epan/dissectors/asn1/rrc/rrc.cnf
index 02ccc7027f..033a271d55 100644
--- a/epan/dissectors/asn1/rrc/rrc.cnf
+++ b/epan/dissectors/asn1/rrc/rrc.cnf
@@ -1039,7 +1039,7 @@ HNBName TYPE=FT_STRING DISPLAY=STR_UNICODE
/* Finding FP conversation info */
p_conv = (conversation_t *)find_conversation(actx->pinfo->num, &actx->pinfo->net_dst, &actx->pinfo->net_src,
- actx->pinfo->ptype,
+ conversation_pt_to_endpoint_type(actx->pinfo->ptype),
actx->pinfo->destport, actx->pinfo->srcport, NO_ADDR_B);
/* If the current FP channel is FACH, Adding the C-RNTI / U-RNTI match to the FACH's RNTIs map*/
diff --git a/epan/dissectors/asn1/snmp/packet-snmp-template.c b/epan/dissectors/asn1/snmp/packet-snmp-template.c
index 79b433320d..1a8b745cdf 100644
--- a/epan/dissectors/asn1/snmp/packet-snmp-template.c
+++ b/epan/dissectors/asn1/snmp/packet-snmp-template.c
@@ -2033,10 +2033,10 @@ dissect_snmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_
* wildcarded, and give it the SNMP dissector as a dissector.
*/
if (pinfo->destport == UDP_PORT_SNMP) {
- conversation = find_conversation(pinfo->num, &pinfo->src, &pinfo->dst, PT_UDP,
+ conversation = find_conversation(pinfo->num, &pinfo->src, &pinfo->dst, ENDPOINT_UDP,
pinfo->srcport, 0, NO_PORT_B);
if( (conversation == NULL) || (conversation_get_dissector(conversation, pinfo->num)!=snmp_handle) ) {
- conversation = conversation_new(pinfo->num, &pinfo->src, &pinfo->dst, PT_UDP,
+ conversation = conversation_new(pinfo->num, &pinfo->src, &pinfo->dst, ENDPOINT_UDP,
pinfo->srcport, 0, NO_PORT2);
conversation_set_dissector(conversation, snmp_handle);
}
diff --git a/epan/dissectors/asn1/t38/packet-t38-template.c b/epan/dissectors/asn1/t38/packet-t38-template.c
index 4434e7f364..ac0496eccb 100644
--- a/epan/dissectors/asn1/t38/packet-t38-template.c
+++ b/epan/dissectors/asn1/t38/packet-t38-template.c
@@ -223,14 +223,14 @@ void t38_add_address(packet_info *pinfo,
* Check if the ip address and port combination is not
* already registered as a conversation.
*/
- p_conversation = find_conversation( setup_frame_number, addr, &null_addr, PT_UDP, port, other_port,
+ p_conversation = find_conversation( setup_frame_number, addr, &null_addr, ENDPOINT_UDP, port, other_port,
NO_ADDR_B | (!other_port ? NO_PORT_B : 0));
/*
* If not, create a new conversation.
*/
if ( !p_conversation || p_conversation->setup_frame != setup_frame_number) {
- p_conversation = conversation_new( setup_frame_number, addr, &null_addr, PT_UDP,
+ p_conversation = conversation_new( setup_frame_number, addr, &null_addr, ENDPOINT_UDP,
(guint32)port, (guint32)other_port,
NO_ADDR2 | (!other_port ? NO_PORT2 : 0));
}
@@ -418,13 +418,13 @@ init_t38_info_conv(packet_info *pinfo)
/* find the conversation used for Reassemble and Setup Info */
p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
- pinfo->ptype,
+ conversation_pt_to_endpoint_type(pinfo->ptype),
pinfo->destport, pinfo->srcport, NO_ADDR_B | NO_PORT_B);
/* create a conv if it doen't exist */
if (!p_conv) {
p_conv = conversation_new(pinfo->num, &pinfo->net_src, &pinfo->net_dst,
- pinfo->ptype, pinfo->srcport, pinfo->destport, NO_ADDR_B | NO_PORT_B);
+ conversation_pt_to_endpoint_type(pinfo->ptype), pinfo->srcport, pinfo->destport, NO_ADDR_B | NO_PORT_B);
/* Set dissector */
conversation_set_dissector(p_conv, t38_udp_handle);