From 15d2415b8f827dfbe0a2d310e539f2cc57878d4d Mon Sep 17 00:00:00 2001 From: tianmc1 <86271793+tianmc1@users.noreply.github.com> Date: Wed, 14 Jul 2021 11:09:54 -0700 Subject: [PATCH] Cleaned up report_builder in defender_demo_json (#1662) --- .../defender_demo_json/report_builder.c | 117 ++++++++---------- .../device-defender-for-aws-iot-embedded-sdk | 2 +- 2 files changed, 50 insertions(+), 69 deletions(-) diff --git a/demos/defender/defender_demo_json/report_builder.c b/demos/defender/defender_demo_json/report_builder.c index f62a84a042..c899004d9c 100644 --- a/demos/defender/defender_demo_json/report_builder.c +++ b/demos/defender/defender_demo_json/report_builder.c @@ -45,55 +45,58 @@ #define SNPRINTF_SUCCESS( retVal, bufLen ) ( ( retVal > 0 ) && ( ( uint32_t ) retVal < bufLen ) ) /* Formats used to generate the JSON report. */ -#define JSON_PORT_OBJECT_FORMAT \ - "{" \ - "\"%s\": %u" \ +/* *INDENT-OFF* */ +#define JSON_PORT_OBJECT_FORMAT \ + "{" \ + "\""DEFENDER_REPORT_PORT_KEY"\": %u" \ "}," -#define JSON_CONNECTION_OBJECT_FORMAT \ - "{" \ - "\"%s\": %u," \ - "\"%s\": \"%u.%u.%u.%u:%u\"" \ +#define JSON_CONNECTION_OBJECT_FORMAT \ + "{" \ + "\""DEFENDER_REPORT_LOCAL_PORT_KEY"\": %u," \ + "\""DEFENDER_REPORT_REMOTE_ADDR_KEY"\": \"%u.%u.%u.%u:%u\"" \ "}," -#define JSON_REPORT_FORMAT_PART1 \ - "{" \ - "\"%s\": {" \ - "\"%s\": %u," \ - "\"%s\": \"%u.%u\"" \ - "}," \ - "\"%s\": {" \ - "\"%s\": {" \ - "\"%s\": " - -#define JSON_REPORT_FORMAT_PART2 \ - "," \ - "\"%s\": %u" \ - "}," \ - "\"%s\": {" \ - "\"%s\": " - -#define JSON_REPORT_FORMAT_PART3 \ - "," \ - "\"%s\": %u" \ - "}," \ - "\"%s\": {" \ - "\"%s\": %u," \ - "\"%s\": %u," \ - "\"%s\": %u," \ - "\"%s\": %u" \ - "}," \ - "\"%s\": {" \ - "\"%s\": {" \ - "\"%s\": " - -#define JSON_REPORT_FORMAT_PART4 \ - "," \ - "\"%s\": %u" \ - "}" \ - "}" \ +#define JSON_REPORT_FORMAT_PART1 \ + "{" \ + "\""DEFENDER_REPORT_HEADER_KEY"\": {" \ + "\""DEFENDER_REPORT_ID_KEY"\": %u," \ + "\""DEFENDER_REPORT_VERSION_KEY"\": \"%u.%u\"" \ + "}," \ + "\""DEFENDER_REPORT_METRICS_KEY"\": {" \ + "\""DEFENDER_REPORT_TCP_LISTENING_PORTS_KEY"\": {" \ + "\""DEFENDER_REPORT_PORTS_KEY"\": " + +#define JSON_REPORT_FORMAT_PART2 \ + "," \ + "\""DEFENDER_REPORT_TOTAL_KEY"\": %u" \ + "}," \ + "\""DEFENDER_REPORT_UDP_LISTENING_PORTS_KEY"\": {" \ + "\""DEFENDER_REPORT_PORTS_KEY"\": " + +#define JSON_REPORT_FORMAT_PART3 \ + "," \ + "\""DEFENDER_REPORT_TOTAL_KEY"\": %u" \ + "}," \ + "\""DEFENDER_REPORT_NETWORK_STATS_KEY"\": {" \ + "\""DEFENDER_REPORT_BYTES_IN_KEY"\": %u," \ + "\""DEFENDER_REPORT_BYTES_OUT_KEY"\": %u," \ + "\""DEFENDER_REPORT_PKTS_IN_KEY"\": %u," \ + "\""DEFENDER_REPORT_PKTS_OUT_KEY"\": %u" \ + "}," \ + "\""DEFENDER_REPORT_TCP_CONNECTIONS_KEY"\": {" \ + "\""DEFENDER_REPORT_ESTABLISHED_CONNECTIONS_KEY"\": {" \ + "\""DEFENDER_REPORT_CONNECTIONS_KEY"\": " + +#define JSON_REPORT_FORMAT_PART4 \ + "," \ + "\""DEFENDER_REPORT_TOTAL_KEY"\": %u" \ + "}" \ + "}" \ "}," +/* *INDENT-ON* */ + /** * @brief The format for custom metrics of CPU usage time * and system memory statistics in the JSON report that will be sent @@ -220,7 +223,6 @@ static ReportBuilderStatus_t writePortsArray( char * pBuffer, charactersWritten = snprintf( pCurrentWritePos, remainingBufferLength, JSON_PORT_OBJECT_FORMAT, - DEFENDER_REPORT_PORT_KEY, pOpenPortsArray[ i ] ); if( !SNPRINTF_SUCCESS( charactersWritten, remainingBufferLength ) ) @@ -302,9 +304,7 @@ static ReportBuilderStatus_t writeConnectionsArray( char * pBuffer, charactersWritten = snprintf( pCurrentWritePos, remainingBufferLength, JSON_CONNECTION_OBJECT_FORMAT, - DEFENDER_REPORT_LOCAL_PORT_KEY, pConn->localPort, - DEFENDER_REPORT_REMOTE_ADDR_KEY, ( pConn->remoteIp >> 24 ) & 0xFF, ( pConn->remoteIp >> 16 ) & 0xFF, ( pConn->remoteIp >> 8 ) & 0xFF, @@ -388,15 +388,9 @@ ReportBuilderStatus_t GenerateJsonReport( char * pBuffer, charactersWritten = snprintf( pCurrentWritePos, remainingBufferLength, JSON_REPORT_FORMAT_PART1, - DEFENDER_REPORT_HEADER_KEY, - DEFENDER_REPORT_ID_KEY, reportId, - DEFENDER_REPORT_VERSION_KEY, majorReportVersion, - minorReportVersion, - DEFENDER_REPORT_METRICS_KEY, - DEFENDER_REPORT_TCP_LISTENING_PORTS_KEY, - DEFENDER_REPORT_PORTS_KEY ); + minorReportVersion ); if( !SNPRINTF_SUCCESS( charactersWritten, remainingBufferLength ) ) { @@ -436,10 +430,7 @@ ReportBuilderStatus_t GenerateJsonReport( char * pBuffer, charactersWritten = snprintf( pCurrentWritePos, remainingBufferLength, JSON_REPORT_FORMAT_PART2, - DEFENDER_REPORT_TOTAL_KEY, - pMetrics->openTcpPortsArrayLength, - DEFENDER_REPORT_UDP_LISTENING_PORTS_KEY, - DEFENDER_REPORT_PORTS_KEY ); + pMetrics->openTcpPortsArrayLength ); if( !SNPRINTF_SUCCESS( charactersWritten, remainingBufferLength ) ) { @@ -479,20 +470,11 @@ ReportBuilderStatus_t GenerateJsonReport( char * pBuffer, charactersWritten = snprintf( pCurrentWritePos, remainingBufferLength, JSON_REPORT_FORMAT_PART3, - DEFENDER_REPORT_TOTAL_KEY, pMetrics->openUdpPortsArrayLength, - DEFENDER_REPORT_NETWORK_STATS_KEY, - DEFENDER_REPORT_BYTES_IN_KEY, pMetrics->pNetworkStats->bytesReceived, - DEFENDER_REPORT_BYTES_OUT_KEY, pMetrics->pNetworkStats->bytesSent, - DEFENDER_REPORT_PKTS_IN_KEY, pMetrics->pNetworkStats->packetsReceived, - DEFENDER_REPORT_PKTS_OUT_KEY, - pMetrics->pNetworkStats->packetsSent, - DEFENDER_REPORT_TCP_CONNECTIONS_KEY, - DEFENDER_REPORT_ESTABLISHED_CONNECTIONS_KEY, - DEFENDER_REPORT_CONNECTIONS_KEY ); + pMetrics->pNetworkStats->packetsSent ); if( !SNPRINTF_SUCCESS( charactersWritten, remainingBufferLength ) ) { @@ -532,7 +514,6 @@ ReportBuilderStatus_t GenerateJsonReport( char * pBuffer, charactersWritten = snprintf( pCurrentWritePos, remainingBufferLength, JSON_REPORT_FORMAT_PART4, - DEFENDER_REPORT_TOTAL_KEY, pMetrics->establishedConnectionsArrayLength ); if( !SNPRINTF_SUCCESS( charactersWritten, remainingBufferLength ) ) diff --git a/libraries/aws/device-defender-for-aws-iot-embedded-sdk b/libraries/aws/device-defender-for-aws-iot-embedded-sdk index 548b4688b2..5a6199abda 160000 --- a/libraries/aws/device-defender-for-aws-iot-embedded-sdk +++ b/libraries/aws/device-defender-for-aws-iot-embedded-sdk @@ -1 +1 @@ -Subproject commit 548b4688b26d16d0e6134d7d93dcbae103994e40 +Subproject commit 5a6199abdac17b8c0900408e70d7644174f2a8f6