diff options
Diffstat (limited to 'src/lib/ndpi_utils.c')
-rw-r--r-- | src/lib/ndpi_utils.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/lib/ndpi_utils.c b/src/lib/ndpi_utils.c index 48788c15d..0008835f4 100644 --- a/src/lib/ndpi_utils.c +++ b/src/lib/ndpi_utils.c @@ -2226,3 +2226,21 @@ u_int8_t is_a_common_alpn(struct ndpi_detection_module_struct *ndpi_str, return(0); } + +/* ******************************************* */ + +u_int8_t ndpi_is_valid_protoId(u_int16_t protoId) { + return((protoId >= NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS) ? 0 : 1); +} + +/* ******************************************* */ + +u_int8_t ndpi_is_encrypted_proto(struct ndpi_detection_module_struct *ndpi_str, + ndpi_protocol proto) { + + if(ndpi_is_valid_protoId(proto.master_protocol) && ndpi_is_valid_protoId(proto.app_protocol)) { + return((ndpi_str->proto_defaults[proto.master_protocol].isClearTextProto + && ndpi_str->proto_defaults[proto.app_protocol].isClearTextProto) ? 0 : 1); + } else + return(0); +} |