diff options
author | Michael Mann <mmann78@netscape.net> | 2017-10-29 10:12:59 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-10-29 16:53:57 +0000 |
commit | abfb6441177961fbdfa9648fdd2c40ef0ef3cefd (patch) | |
tree | dc5d1b438a052e73ec243d2f10e772e39fec3894 /epan/dissectors/asn1 | |
parent | 1bc6d4e96573f89ecdd719cb3cac92754b91f52c (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.cnf | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/kerberos/kerberos.cnf | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/nbap/nbap.cnf | 48 | ||||
-rw-r--r-- | epan/dissectors/asn1/nbap/packet-nbap-template.c | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/ros/packet-ros-template.c | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/rrc/rrc.cnf | 2 | ||||
-rw-r--r-- | epan/dissectors/asn1/snmp/packet-snmp-template.c | 4 | ||||
-rw-r--r-- | epan/dissectors/asn1/t38/packet-t38-template.c | 8 |
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); |