diff options
Diffstat (limited to 'wireshark/gsm_ipa-configure_ports.patch')
-rw-r--r-- | wireshark/gsm_ipa-configure_ports.patch | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/wireshark/gsm_ipa-configure_ports.patch b/wireshark/gsm_ipa-configure_ports.patch deleted file mode 100644 index 872cbfaf1..000000000 --- a/wireshark/gsm_ipa-configure_ports.patch +++ /dev/null @@ -1,128 +0,0 @@ -Index: wireshark/epan/dissectors/packet-gsm_ipa.c -=================================================================== ---- wireshark.orig/epan/dissectors/packet-gsm_ipa.c -+++ wireshark/epan/dissectors/packet-gsm_ipa.c -@@ -32,6 +32,14 @@ - - #include <epan/packet.h> - #include <epan/ipproto.h> -+#include <epan/prefs.h> -+ -+#define IPA_TCP_PORTS "3002,3003,3006,5000" -+#define IPA_UDP_PORTS "3006" -+ -+static dissector_handle_t ipa_handle; -+static range_t *global_ipa_tcp_ports = NULL; -+static range_t *global_ipa_udp_ports = NULL; - - /* Initialize the protocol and registered fields */ - static int proto_ipa = -1; -@@ -60,11 +68,6 @@ - - static dissector_handle_t sub_handles[SUB_MAX]; - --#define TCP_PORT_ABISIP_PRIM 3002 --#define TCP_PORT_ABISIP_SEC 3003 --#define TCP_PORT_ABISIP_INST 3006 --#define TCP_PORT_AIP_PRIM 5000 -- - #define ABISIP_RSL_MAX 0x20 - #define IPA_MGCP 0xfc - #define AIP_SCCP 0xfd -@@ -249,8 +252,12 @@ - } - } - -+void proto_reg_handoff_gsm_ipa(void); -+ - void proto_register_ipa(void) - { -+ module_t *ipa_module; -+ - static hf_register_info hf[] = { - {&hf_ipa_data_len, - {"DataLen", "ipa.data_len", -@@ -298,21 +305,71 @@ - proto_register_subtree_array(ett, array_length(ett)); - - register_dissector("gsm_ipa", dissect_ipa, proto_ipa); -+ -+ range_convert_str(&global_ipa_tcp_ports, IPA_TCP_PORTS, MAX_TCP_PORT); -+ range_convert_str(&global_ipa_udp_ports, IPA_UDP_PORTS, MAX_UDP_PORT); -+ ipa_module = prefs_register_protocol(proto_ipa, -+ proto_reg_handoff_gsm_ipa); -+ -+ prefs_register_range_preference(ipa_module, "tcp_ports", -+ "GSM IPA TCP Port(s)", -+ "Set the port(s) for ip.access IPA" -+ " (default: " IPA_TCP_PORTS ")", -+ &global_ipa_tcp_ports, MAX_TCP_PORT); -+ prefs_register_range_preference(ipa_module, "udp_ports", -+ "GSM IPA UDP Port(s)", -+ "Set the port(s) for ip.access IPA" -+ " (default: " IPA_UDP_PORTS ")", -+ &global_ipa_udp_ports, MAX_UDP_PORT); -+} -+ -+static void ipa_tcp_delete_callback(guint32 port) -+{ -+ if (port) -+ dissector_delete("tcp.port", port, ipa_handle); -+} -+ -+static void ipa_udp_delete_callback(guint32 port) -+{ -+ if (port) -+ dissector_delete("udp.port", port, ipa_handle); -+} -+ -+static void ipa_tcp_add_callback(guint32 port) -+{ -+ if (port) -+ dissector_add("tcp.port", port, ipa_handle); -+} -+ -+static void ipa_udp_add_callback(guint32 port) -+{ -+ if (port) -+ dissector_add("udp.port", port, ipa_handle); - } - - void proto_reg_handoff_gsm_ipa(void) - { -- dissector_handle_t ipa_handle; -+ static gboolean ipa_initialized = FALSE; -+ static range_t *ipa_tcp_ports, *ipa_udp_ports; -+ -+ if (!ipa_initialized) { -+ sub_handles[SUB_RSL] = find_dissector("gsm_abis_rsl"); -+ sub_handles[SUB_OML] = find_dissector("gsm_abis_oml"); -+ sub_handles[SUB_SCCP] = find_dissector("sccp"); -+ sub_handles[SUB_MGCP] = find_dissector("mgcp"); -+ -+ ipa_handle = create_dissector_handle(dissect_ipa, proto_ipa); -+ ipa_initialized = TRUE; -+ } else { -+ range_foreach(ipa_tcp_ports, ipa_tcp_delete_callback); -+ g_free(ipa_tcp_ports); -+ range_foreach(ipa_udp_ports, ipa_udp_delete_callback); -+ g_free(ipa_udp_ports); -+ } -+ -+ ipa_tcp_ports = range_copy(global_ipa_tcp_ports); -+ ipa_udp_ports = range_copy(global_ipa_udp_ports); - -- sub_handles[SUB_RSL] = find_dissector("gsm_abis_rsl"); -- sub_handles[SUB_OML] = find_dissector("gsm_abis_oml"); -- sub_handles[SUB_SCCP] = find_dissector("sccp"); -- sub_handles[SUB_MGCP] = find_dissector("mgcp"); -- -- ipa_handle = create_dissector_handle(dissect_ipa, proto_ipa); -- dissector_add("tcp.port", TCP_PORT_ABISIP_PRIM, ipa_handle); -- dissector_add("tcp.port", TCP_PORT_ABISIP_SEC, ipa_handle); -- dissector_add("tcp.port", TCP_PORT_ABISIP_INST, ipa_handle); -- dissector_add("tcp.port", TCP_PORT_AIP_PRIM, ipa_handle); -- dissector_add("udp.port", TCP_PORT_ABISIP_INST, ipa_handle); -+ range_foreach(ipa_tcp_ports, ipa_tcp_add_callback); -+ range_foreach(ipa_udp_ports, ipa_udp_add_callback); - } |