Added API calls

ndpi_network_ptree_match
ndpi_check_flow_func

ndpi_config.h is now installed with "make install"
This commit is contained in:
Luca Deri 2018-03-23 19:05:32 +01:00
parent a2acd09263
commit 462da90a21
4 changed files with 31 additions and 10 deletions

View file

@ -61,4 +61,6 @@ ndpi_category_get_name
ndpi_is_custom_category
ndpi_is_subprotocol_informative
ndpi_set_proto_category
ndpi_get_api_version
ndpi_get_api_version
ndpi_network_ptree_match
ndpi_check_flow_func

View file

@ -281,6 +281,21 @@ extern "C" {
struct ndpi_flow_struct *flow);
/**
* API call that is called internally by ndpi_detection_process_packet or by apps
* that want to avoid calling ndpi_detection_process_packet as they have already
* parsed the packet and thus want to avoid this.
*
*
* @par ndpi_struct = the detection module
* @par flow = the flow given for the detection module
* @par ndpi_selection_bitmask = the protocol selected bitmask
*
*/
void ndpi_check_flow_func(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow,
NDPI_SELECTION_BITMASK_PROTOCOL_SIZE *ndpi_selection_packet);
/**
* Query the pointer to the layer 4 packet
*

View file

@ -6,13 +6,14 @@ libndpi_la_LDFLAGS = -version-info 1:0:0 -export-symbols $(top_srcdir)/libndpi.s
libndpi_la_includedir = $(includedir)/libndpi-@VERSION@/libndpi
libndpi_la_include_HEADERS = ../include/ndpi_api.h \
../include/ndpi_define.h \
../include/ndpi_main.h \
../include/ndpi_includes.h \
libndpi_la_include_HEADERS = ../include/ndpi_api.h \
../include/ndpi_define.h \
../include/ndpi_main.h \
../include/ndpi_includes.h \
../include/ndpi_config.h \
../include/ndpi_protocol_ids.h \
../include/ndpi_protocols.h \
../include/ndpi_typedefs.h \
../include/ndpi_protocols.h \
../include/ndpi_typedefs.h \
third_party/include/libcache.h
libndpi_la_SOURCES = ndpi_content_match.c.inc \

View file

@ -3582,7 +3582,10 @@ void check_ndpi_tcp_flow_func(struct ndpi_detection_module_struct *ndpi_struct,
}
}
void check_ndpi_flow_func(struct ndpi_detection_module_struct *ndpi_struct,
/* ********************************************************************************* */
void ndpi_check_flow_func(struct ndpi_detection_module_struct *ndpi_struct,
struct ndpi_flow_struct *flow,
NDPI_SELECTION_BITMASK_PROTOCOL_SIZE *ndpi_selection_packet) {
if(flow->packet.tcp != NULL)
@ -3837,11 +3840,11 @@ ndpi_protocol ndpi_detection_process_packet(struct ndpi_detection_module_struct
if(flow->guessed_host_protocol_id >= (NDPI_MAX_SUPPORTED_PROTOCOLS-1)) {
/* This is a custom protocol and it has priority over everything else */
ret.master_protocol = NDPI_PROTOCOL_UNKNOWN, ret.app_protocol = flow->guessed_host_protocol_id;
check_ndpi_flow_func(ndpi_struct, flow, &ndpi_selection_packet);
ndpi_check_flow_func(ndpi_struct, flow, &ndpi_selection_packet);
return(ret);
}
check_ndpi_flow_func(ndpi_struct, flow, &ndpi_selection_packet);
ndpi_check_flow_func(ndpi_struct, flow, &ndpi_selection_packet);
a = flow->packet.detected_protocol_stack[0];
if(NDPI_COMPARE_PROTOCOL_TO_BITMASK(ndpi_struct->detection_bitmask, a) == 0)