aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlns <matzeton@googlemail.com>2022-08-21 19:04:16 +0200
committerToni <matzeton@googlemail.com>2022-08-27 13:04:17 +0200
commitd0b0a5060915cce41d24ac2128b227cd7f85fdf1 (patch)
tree24bdbb73ac5a216486218375feb7a02af91a6fa0
parente2e7c82d7fd2f4ace540ea6992f41abea77b9422 (diff)
nDPId: improved error messages if UNIX/UDP endpoint refuses connections/datagrams
Signed-off-by: lns <matzeton@googlemail.com>
-rw-r--r--nDPId.c33
1 files changed, 25 insertions, 8 deletions
diff --git a/nDPId.c b/nDPId.c
index ebef20500..75f6aacf2 100644
--- a/nDPId.c
+++ b/nDPId.c
@@ -2008,9 +2008,10 @@ static void send_to_collector(struct nDPId_reader_thread * const reader_thread,
if (connect_to_collector(reader_thread) == 0)
{
logger(1,
- "[%8llu, %zu] Reconnected to nDPIsrvd Collector",
+ "[%8llu, %zu] Reconnected to nDPIsrvd Collector at %s",
workflow->packets_captured,
- reader_thread->array_index);
+ reader_thread->array_index,
+ nDPId_options.collector_address);
jsonize_daemon(reader_thread, DAEMON_EVENT_RECONNECT);
}
}
@@ -2030,7 +2031,19 @@ static void send_to_collector(struct nDPId_reader_thread * const reader_thread,
}
if (saved_errno != EAGAIN)
{
- reader_thread->collector_sock_reconnect = 1;
+ if (saved_errno == ECONNREFUSED)
+ {
+ logger(1,
+ "[%8llu, %zu] %s to %s refused by endpoint",
+ workflow->packets_captured,
+ reader_thread->array_index,
+ (collector_address.raw.sa_family == AF_UNIX ? "Connection" : "Datagram"),
+ nDPId_options.collector_address);
+ }
+ if (collector_address.raw.sa_family == AF_UNIX)
+ {
+ reader_thread->collector_sock_reconnect = 1;
+ }
}
else
{
@@ -2044,11 +2057,15 @@ static void send_to_collector(struct nDPId_reader_thread * const reader_thread,
if (written < 0)
{
logger(1,
- "[%8llu, %zu] Send data (blocking I/O) to nDPIsrvd Collector failed: %s",
+ "[%8llu, %zu] Send data (blocking I/O) to nDPIsrvd Collector at %s failed: %s",
workflow->packets_captured,
reader_thread->array_index,
+ nDPId_options.collector_address,
strerror(saved_errno));
- reader_thread->collector_sock_reconnect = 1;
+ if (collector_address.raw.sa_family == AF_UNIX)
+ {
+ reader_thread->collector_sock_reconnect = 1;
+ }
break;
}
else
@@ -2742,7 +2759,7 @@ static int process_datalink_layer(struct nDPId_reader_thread * const reader_thre
return 1;
}
- struct ndpi_chdlc const * const chdlc = (struct ndpi_chdlc const * const) & packet[eth_offset];
+ struct ndpi_chdlc const * const chdlc = (struct ndpi_chdlc const * const)&packet[eth_offset];
*ip_offset = sizeof(struct ndpi_chdlc);
*layer3_type = ntohs(chdlc->proto_code);
break;
@@ -2764,7 +2781,7 @@ static int process_datalink_layer(struct nDPId_reader_thread * const reader_thre
if (packet[0] == 0x0f || packet[0] == 0x8f)
{
- struct ndpi_chdlc const * const chdlc = (struct ndpi_chdlc const * const) & packet[eth_offset];
+ struct ndpi_chdlc const * const chdlc = (struct ndpi_chdlc const * const)&packet[eth_offset];
*ip_offset = sizeof(struct ndpi_chdlc); /* CHDLC_OFF = 4 */
*layer3_type = ntohs(chdlc->proto_code);
}
@@ -2802,7 +2819,7 @@ static int process_datalink_layer(struct nDPId_reader_thread * const reader_thre
}
struct ndpi_radiotap_header const * const radiotap =
- (struct ndpi_radiotap_header const * const) & packet[eth_offset];
+ (struct ndpi_radiotap_header const * const)&packet[eth_offset];
uint16_t radio_len = radiotap->len;
/* Check Bad FCS presence */