aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/ndpiReader.c10
-rw-r--r--example/reader_util.c3
-rw-r--r--example/reader_util.h7
3 files changed, 18 insertions, 2 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 029f784f2..16c88e947 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -1457,7 +1457,6 @@ static void parseOptions(int argc, char **argv) {
/* ********************************** */
-#if 0
/**
* @brief A faster replacement for inet_ntoa().
*/
@@ -1487,7 +1486,6 @@ char* intoaV4(u_int32_t addr, char* buf, u_int16_t bufLen) {
return(cp);
}
-#endif
/* ********************************** */
@@ -1905,6 +1903,14 @@ static void printFlow(u_int32_t id, struct ndpi_flow_info *flow, u_int16_t threa
}
}
+ if(flow->stun.mapped_address.ipv4 != 0) {
+ char buf[32];
+
+ fprintf(out, "[Mapped IP/Port: %s:%u]",
+ intoaV4(flow->stun.mapped_address.ipv4, buf, sizeof(buf)),
+ flow->stun.mapped_address.port);
+ }
+
if(flow->http.url[0] != '\0') {
ndpi_risk_enum risk = ndpi_validate_url(flow->http.url);
diff --git a/example/reader_util.c b/example/reader_util.c
index 1afe4418f..69c244e8d 100644
--- a/example/reader_util.c
+++ b/example/reader_util.c
@@ -1309,6 +1309,9 @@ void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_fl
ndpi_inc_bin(&flow->payload_len_bin, plen2slot(len), 1);
}
}
+ } else if(is_ndpi_proto(flow, NDPI_PROTOCOL_STUN)) {
+ flow->stun.mapped_address.ipv4 = flow->ndpi_flow->stun.mapped_address.ipv4,
+ flow->stun.mapped_address.port = flow->ndpi_flow->stun.mapped_address.port;
}
flow->multimedia_flow_type = flow->ndpi_flow->flow_multimedia_type;
diff --git a/example/reader_util.h b/example/reader_util.h
index 408a14ec4..9a729018d 100644
--- a/example/reader_util.h
+++ b/example/reader_util.h
@@ -300,6 +300,13 @@ typedef struct ndpi_flow_info {
} http;
struct {
+ struct {
+ u_int32_t ipv4;
+ u_int16_t port;
+ } mapped_address;
+ } stun;
+
+ struct {
char *username, *password;
} telnet;