aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/ndpi_main.c8
-rw-r--r--src/lib/protocols/non_tcp_udp.c12
2 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
index 9be024642..044b93739 100644
--- a/src/lib/ndpi_main.c
+++ b/src/lib/ndpi_main.c
@@ -1294,6 +1294,10 @@ static void ndpi_init_protocol_defaults(struct ndpi_detection_module_struct *ndp
"EGP", NDPI_PROTOCOL_CATEGORY_NETWORK,
ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
+ ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_PGM,
+ "PGM", NDPI_PROTOCOL_CATEGORY_NETWORK,
+ ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
+ ndpi_build_default_ports(ports_b, 0, 0, 0, 0, 0) /* UDP */);
ndpi_set_proto_defaults(ndpi_str, 1 /* cleartext */, NDPI_PROTOCOL_ACCEPTABLE, NDPI_PROTOCOL_IP_SCTP,
"SCTP", NDPI_PROTOCOL_CATEGORY_NETWORK,
ndpi_build_default_ports(ports_a, 0, 0, 0, 0, 0) /* TCP */,
@@ -3128,6 +3132,9 @@ u_int16_t ndpi_guess_protocol_id(struct ndpi_detection_module_struct *ndpi_str,
case NDPI_GRE_PROTOCOL_TYPE:
return(NDPI_PROTOCOL_IP_GRE);
break;
+ case NDPI_PGM_PROTOCOL_TYPE:
+ return(NDPI_PROTOCOL_IP_PGM);
+ break;
case NDPI_ICMP_PROTOCOL_TYPE:
if(flow) {
flow->entropy = 0.0f;
@@ -4942,7 +4949,6 @@ static int ndpi_init_packet(struct ndpi_detection_module_struct *ndpi_str,
/* ************************************************ */
-
void ndpi_connection_tracking(struct ndpi_detection_module_struct *ndpi_str,
struct ndpi_flow_struct *flow) {
if(!flow) {
diff --git a/src/lib/protocols/non_tcp_udp.c b/src/lib/protocols/non_tcp_udp.c
index 8d078731b..50e3a949b 100644
--- a/src/lib/protocols/non_tcp_udp.c
+++ b/src/lib/protocols/non_tcp_udp.c
@@ -73,6 +73,10 @@ void ndpi_search_in_non_tcp_udp(struct ndpi_detection_module_struct
set_protocol_and_bmask(NDPI_PROTOCOL_IP_SCTP);
break;
+ case NDPI_PGM_PROTOCOL_TYPE:
+ set_protocol_and_bmask(NDPI_PROTOCOL_IP_PGM);
+ break;
+
case NDPI_OSPF_PROTOCOL_TYPE:
set_protocol_and_bmask(NDPI_PROTOCOL_IP_OSPF);
break;
@@ -146,6 +150,14 @@ void init_non_tcp_udp_dissector(struct ndpi_detection_module_struct *ndpi_struct
ADD_TO_DETECTION_BITMASK);
*id += 1;
+ ndpi_set_bitmask_protocol_detection("IP_PGM", ndpi_struct, detection_bitmask, *id,
+ NDPI_PROTOCOL_IP_PGM,
+ ndpi_search_in_non_tcp_udp,
+ NDPI_SELECTION_BITMASK_PROTOCOL_IPV4_OR_IPV6,
+ NO_SAVE_DETECTION_BITMASK_AS_UNKNOWN,
+ ADD_TO_DETECTION_BITMASK);
+ *id += 1;
+
ndpi_set_bitmask_protocol_detection("IP_OSPF", ndpi_struct, detection_bitmask, *id,
NDPI_PROTOCOL_IP_OSPF,
ndpi_search_in_non_tcp_udp,