e15d9e0fef
* https://github.com/ntop/nDPI/releases/tag/4.12 * https://github.com/ntop/nDPI/releases/tag/4.10 * https://github.com/ntop/nDPI/releases/tag/4.8 * https://github.com/ntop/nDPI/releases/tag/4.6 * https://github.com/ntop/nDPI/releases/tag/4.4 * https://github.com/ntop/nDPI/releases/tag/4.2 - Drop not longer needed patches * 0001-Added-ability-to-report-whether-a-protocol-is-encryp.patch * 0002-Report-whether-a-protocol-is-encrypted.patch * 0003-Firs-crash-on-ARM-during-steam-protocol-dissection.patch - Add patch: * fix-makefile.patch OBS-URL: https://build.opensuse.org/package/show/server:monitoring/ndpi?expand=0&rev=29
44 lines
1.5 KiB
Diff
44 lines
1.5 KiB
Diff
From 817c00b65ab4d0bf78927e494227ac5308417f91 Mon Sep 17 00:00:00 2001
|
|
From: Luca Deri <deri@ntop.org>
|
|
Date: Wed, 18 Aug 2021 11:33:33 +0200
|
|
Subject: [PATCH 3/3] Firs crash on ARM during steam protocol dissection
|
|
|
|
---
|
|
src/lib/protocols/steam.c | 19 ++++++++++++-------
|
|
1 file changed, 12 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/src/lib/protocols/steam.c b/src/lib/protocols/steam.c
|
|
index 8cd3ec41..53bbfc6a 100644
|
|
--- a/src/lib/protocols/steam.c
|
|
+++ b/src/lib/protocols/steam.c
|
|
@@ -114,14 +114,19 @@ static void ndpi_check_steam_udp1(struct ndpi_detection_module_struct *ndpi_stru
|
|
}
|
|
|
|
/* Check for Steam Datagram Relay (SDR) packets. */
|
|
- if (payload_len > 8 &&
|
|
- ndpi_ntohll(get_u_int64_t(packet->payload, 0)) == 0x0101736470696e67 /* "\x01\x01sdping" */)
|
|
- {
|
|
- NDPI_LOG_INFO(ndpi_struct, "found STEAM (Steam Datagram Relay)\n");
|
|
- ndpi_int_steam_add_connection(ndpi_struct, flow);
|
|
- return;
|
|
- }
|
|
+ if (payload_len > 8) {
|
|
+ u_int64_t n;
|
|
|
|
+ /* Necessary as simple cast crashes on ARM */
|
|
+ memcpy(&n, packet->payload, sizeof(u_int64_t));
|
|
+
|
|
+ if(ndpi_ntohll(n) == 0x0101736470696e67 /* "\x01\x01sdping" */) {
|
|
+ NDPI_LOG_INFO(ndpi_struct, "found STEAM (Steam Datagram Relay)\n");
|
|
+ ndpi_int_steam_add_connection(ndpi_struct, flow);
|
|
+ return;
|
|
+ }
|
|
+ }
|
|
+
|
|
/* Check if we so far detected the protocol in the request or not. */
|
|
if (flow->steam_stage1 == 0) {
|
|
NDPI_LOG_DBG2(ndpi_struct, "STEAM stage 0: \n");
|
|
--
|
|
2.32.0
|
|
|