Merge pull request #7334 from neheb/monit
[feed/packages.git] / libs / libndpi / patches / 0006-Backported-ndpi_protocol2id.patch
1 From 6dcf1f3fbab782804339db5a3fe8cd0c88c07795 Mon Sep 17 00:00:00 2001
2 From: lucaderi <deri@ntop.org>
3 Date: Thu, 4 Oct 2018 21:36:46 +0200
4 Subject: [PATCH 6/9] Backported ndpi_protocol2id
5
6 ---
7 src/include/ndpi_api.h | 17 +++++++++++++++--
8 src/lib/ndpi_main.c | 17 +++++++++++++++++
9 2 files changed, 32 insertions(+), 2 deletions(-)
10
11 diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
12 index 56c5436..ccbad73 100644
13 --- a/src/include/ndpi_api.h
14 +++ b/src/include/ndpi_api.h
15 @@ -274,7 +274,7 @@ extern "C" {
16 */
17 u_int16_t ndpi_get_flow_masterprotocol(struct ndpi_detection_module_struct *ndpi_struct,
18 struct ndpi_flow_struct *flow);
19 -
20 +
21 /**
22 * API call that is called internally by ndpi_detection_process_packet or by apps
23 * that want to avoid calling ndpi_detection_process_packet as they have already
24 @@ -432,6 +432,19 @@ extern "C" {
25 char* ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_mod,
26 ndpi_protocol proto, char *buf, u_int buf_len);
27
28 + /**
29 + * Same as ndpi_protocol2name() with the difference that the numeric protocol
30 + * name is returned
31 + *
32 + * @par ndpi_mod = the detection module
33 + * @par proto = the struct ndpi_protocol contain the protocols name
34 + * @par buf = the buffer to write the name of the protocols
35 + * @par buf_len = the length of the buffer
36 + * @return the buffer contains the master_protocol and protocol name
37 + *
38 + */
39 + char* ndpi_protocol2id(struct ndpi_detection_module_struct *ndpi_mod,
40 + ndpi_protocol proto, char *buf, u_int buf_len);
41 /**
42 * Write the protocol name in the buffer -buf- as master_protocol.protocol (number)
43 *
44 @@ -746,7 +759,7 @@ extern "C" {
45 u_int ndpi_get_ndpi_num_custom_protocols(struct ndpi_detection_module_struct *ndpi_mod);
46 u_int ndpi_get_ndpi_detection_module_size();
47 void ndpi_set_log_level(struct ndpi_detection_module_struct *ndpi_mod, u_int l);
48 -
49 +
50 /**
51 * Add a string to match to an automata
52 *
53 diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c
54 index 33ccbb1..e1cf577 100644
55 --- a/src/lib/ndpi_main.c
56 +++ b/src/lib/ndpi_main.c
57 @@ -5319,6 +5319,23 @@ ndpi_protocol ndpi_guess_undetected_protocol(struct ndpi_detection_module_struct
58
59 /* ****************************************************** */
60
61 +char* ndpi_protocol2id(struct ndpi_detection_module_struct *ndpi_mod,
62 + ndpi_protocol proto, char *buf, u_int buf_len) {
63 + if((proto.master_protocol != NDPI_PROTOCOL_UNKNOWN)
64 + && (proto.master_protocol != proto.app_protocol)) {
65 + if(proto.app_protocol != NDPI_PROTOCOL_UNKNOWN)
66 + snprintf(buf, buf_len, "%u.%u",
67 + proto.master_protocol, proto.app_protocol);
68 + else
69 + snprintf(buf, buf_len, "%u", proto.master_protocol);
70 + } else
71 + snprintf(buf, buf_len, "%u", proto.app_protocol);
72 +
73 + return(buf);
74 +}
75 +
76 +/* ****************************************************** */
77 +
78 char* ndpi_protocol2name(struct ndpi_detection_module_struct *ndpi_mod,
79 ndpi_protocol proto, char *buf, u_int buf_len) {
80 if((proto.master_protocol != NDPI_PROTOCOL_UNKNOWN)
81 --
82 2.19.1
83