Defender demo cleanup (#651)

This commit is contained in:
tianmc1
2021-07-19 16:32:53 -07:00
committed by GitHub
parent 63d38b846e
commit aa1eed8b4e
6 changed files with 261 additions and 252 deletions
@@ -75,12 +75,12 @@ eMetricsCollectorStatus eGetNetworkStats( NetworkStats_t * pxOutNetworkStats )
/* Fill our response with values gotten from FreeRTOS+TCP. */
if( eStatus == eMetricsCollectorSuccess )
{
LogDebug( ( "Network stats read. Bytes received: %u, packets received: %u, "
"bytes sent: %u, packets sent: %u.",
( unsigned int ) xMetrics.xInput.uxByteCount,
( unsigned int ) xMetrics.xInput.uxPacketCount,
( unsigned int ) xMetrics.xOutput.uxByteCount,
( unsigned int ) xMetrics.xOutput.uxPacketCount ) );
LogDebug( ( "Network stats read. Bytes received: %lu, packets received: %lu, "
"bytes sent: %lu, packets sent: %lu.",
( unsigned long ) xMetrics.xInput.uxByteCount,
( unsigned long ) xMetrics.xInput.uxPacketCount,
( unsigned long ) xMetrics.xOutput.uxByteCount,
( unsigned long ) xMetrics.xOutput.uxPacketCount ) );
pxOutNetworkStats->ulBytesReceived = xMetrics.xInput.uxByteCount;
pxOutNetworkStats->ulPacketsReceived = xMetrics.xInput.uxPacketCount;
@@ -93,17 +93,17 @@ eMetricsCollectorStatus eGetNetworkStats( NetworkStats_t * pxOutNetworkStats )
/*-----------------------------------------------------------*/
eMetricsCollectorStatus eGetOpenTcpPorts( uint16_t * pusOutTcpPortsArray,
uint32_t ulTcpPortsArrayLength,
uint32_t * pulOutNumTcpOpenPorts )
size_t xTcpPortsArrayLength,
size_t * pxOutNumTcpOpenPorts )
{
eMetricsCollectorStatus eStatus = eMetricsCollectorSuccess;
MetricsType_t xMetrics = { 0 };
BaseType_t xMetricsStatus = 0;
uint32_t ulCopyAmount = 0UL;
size_t xCopyAmount = 0UL;
/* pusOutTcpPortsArray can be NULL. */
configASSERT( pulOutNumTcpOpenPorts != NULL );
configASSERT( pxOutNumTcpOpenPorts != NULL );
/* Get metrics from FreeRTOS+TCP tcp_netstat utility. */
xMetricsStatus = vGetMetrics( &xMetrics );
@@ -121,24 +121,24 @@ eMetricsCollectorStatus eGetOpenTcpPorts( uint16_t * pusOutTcpPortsArray,
* given array. */
if( pusOutTcpPortsArray != NULL )
{
ulCopyAmount = xMetrics.xTCPPortList.uxCount;
xCopyAmount = xMetrics.xTCPPortList.uxCount;
/* Limit the copied ports to what can fit in the output array. */
if( ulTcpPortsArrayLength < xMetrics.xTCPPortList.uxCount )
if( xTcpPortsArrayLength < xMetrics.xTCPPortList.uxCount )
{
LogWarn( ( "Ports returned truncated due to insufficient buffer size." ) );
ulCopyAmount = ulTcpPortsArrayLength;
xCopyAmount = xTcpPortsArrayLength;
}
memcpy( pusOutTcpPortsArray, &xMetrics.xTCPPortList.usTCPPortList, ulCopyAmount * sizeof( uint16_t ) );
memcpy( pusOutTcpPortsArray, &xMetrics.xTCPPortList.usTCPPortList, xCopyAmount * sizeof( uint16_t ) );
/* Return the number of elements copied to the array. */
*pulOutNumTcpOpenPorts = ulCopyAmount;
*pxOutNumTcpOpenPorts = xCopyAmount;
}
else
{
/* Return the total number of open ports. */
*pulOutNumTcpOpenPorts = xMetrics.xTCPPortList.uxCount;
*pxOutNumTcpOpenPorts = xMetrics.xTCPPortList.uxCount;
}
}
@@ -147,17 +147,17 @@ eMetricsCollectorStatus eGetOpenTcpPorts( uint16_t * pusOutTcpPortsArray,
/*-----------------------------------------------------------*/
eMetricsCollectorStatus eGetOpenUdpPorts( uint16_t * pusOutUdpPortsArray,
uint32_t ulUdpPortsArrayLength,
uint32_t * pulOutNumUdpOpenPorts )
size_t xUdpPortsArrayLength,
size_t * pxOutNumUdpOpenPorts )
{
eMetricsCollectorStatus eStatus = eMetricsCollectorSuccess;
MetricsType_t xMetrics = { 0 };
BaseType_t xMetricsStatus = 0;
uint32_t ulCopyAmount = 0UL;
uint32_t xCopyAmount = 0UL;
/* pusOutUdpPortsArray can be NULL. */
configASSERT( pulOutNumUdpOpenPorts != NULL );
configASSERT( pxOutNumUdpOpenPorts != NULL );
/* Get metrics from FreeRTOS+TCP tcp_netstat utility. */
xMetricsStatus = vGetMetrics( &xMetrics );
@@ -175,24 +175,24 @@ eMetricsCollectorStatus eGetOpenUdpPorts( uint16_t * pusOutUdpPortsArray,
* given array. */
if( pusOutUdpPortsArray != NULL )
{
ulCopyAmount = xMetrics.xUDPPortList.uxCount;
xCopyAmount = xMetrics.xUDPPortList.uxCount;
/* Limit the copied ports to what can fit in the output array. */
if( ulUdpPortsArrayLength < xMetrics.xUDPPortList.uxCount )
if( xUdpPortsArrayLength < xMetrics.xUDPPortList.uxCount )
{
LogWarn( ( "Ports returned truncated due to insufficient buffer size." ) );
ulCopyAmount = ulUdpPortsArrayLength;
xCopyAmount = xUdpPortsArrayLength;
}
memcpy( pusOutUdpPortsArray, &xMetrics.xUDPPortList.usUDPPortList, ulCopyAmount * sizeof( uint16_t ) );
memcpy( pusOutUdpPortsArray, &xMetrics.xUDPPortList.usUDPPortList, xCopyAmount * sizeof( uint16_t ) );
/* Return the number of elements copied to the array. */
*pulOutNumUdpOpenPorts = ulCopyAmount;
*pxOutNumUdpOpenPorts = xCopyAmount;
}
else
{
/* Return the total number of open ports. */
*pulOutNumUdpOpenPorts = xMetrics.xUDPPortList.uxCount;
*pxOutNumUdpOpenPorts = xMetrics.xUDPPortList.uxCount;
}
}
@@ -202,19 +202,19 @@ eMetricsCollectorStatus eGetOpenUdpPorts( uint16_t * pusOutUdpPortsArray,
/*-----------------------------------------------------------*/
eMetricsCollectorStatus eGetEstablishedConnections( Connection_t * pxOutConnectionsArray,
uint32_t ulConnectionsArrayLength,
uint32_t * pulOutNumEstablishedConnections )
size_t xConnectionsArrayLength,
size_t * pxOutNumEstablishedConnections )
{
eMetricsCollectorStatus eStatus = eMetricsCollectorSuccess;
MetricsType_t xMetrics = { 0 };
BaseType_t xMetricsStatus = 0;
uint32_t ulCopyAmount = 0UL;
size_t xCopyAmount = 0UL;
uint32_t ulLocalIp = 0UL;
uint32_t i;
/* pxOutConnectionsArray can be NULL. */
configASSERT( pulOutNumEstablishedConnections != NULL );
configASSERT( pxOutNumEstablishedConnections != NULL );
/* Get metrics from FreeRTOS+TCP tcp_netstat utility. */
xMetricsStatus = vGetMetrics( &xMetrics );
@@ -232,19 +232,19 @@ eMetricsCollectorStatus eGetEstablishedConnections( Connection_t * pxOutConnecti
* the given array. */
if( pxOutConnectionsArray != NULL )
{
ulCopyAmount = xMetrics.xTCPSocketList.uxCount;
xCopyAmount = xMetrics.xTCPSocketList.uxCount;
/* Get local IP as the tcp_netstat utility does not give it. */
ulLocalIp = FreeRTOS_GetIPAddress();
/* Limit the outputted connections to what can fit in the output array. */
if( ulConnectionsArrayLength < xMetrics.xTCPSocketList.uxCount )
if( xConnectionsArrayLength < xMetrics.xTCPSocketList.uxCount )
{
LogWarn( ( "Ports returned truncated due to insufficient buffer size." ) );
ulCopyAmount = ulConnectionsArrayLength;
xCopyAmount = xConnectionsArrayLength;
}
for( i = 0; i < ulCopyAmount; i++ )
for( i = 0; i < xCopyAmount; i++ )
{
pxOutConnectionsArray[ i ].ulLocalIp = ulLocalIp;
pxOutConnectionsArray[ i ].usLocalPort =
@@ -256,12 +256,12 @@ eMetricsCollectorStatus eGetEstablishedConnections( Connection_t * pxOutConnecti
}
/* Return the number of elements copied to the array. */
*pulOutNumEstablishedConnections = ulCopyAmount;
*pxOutNumEstablishedConnections = xCopyAmount;
}
else
{
/* Return the total number of established connections. */
*pulOutNumEstablishedConnections = xMetrics.xTCPSocketList.uxCount;
*pxOutNumEstablishedConnections = xMetrics.xTCPSocketList.uxCount;
}
}
@@ -89,9 +89,9 @@ eMetricsCollectorStatus eGetNetworkStats( NetworkStats_t * pxOutNetworkStats );
*
* @param[out] pusOutTcpPortsArray The array to write the open TCP ports into. This
* can be NULL, if only the number of open ports is needed.
* @param[in] ulTcpPortsArrayLength Length of the pusOutTcpPortsArray, if it is not
* @param[in] xTcpPortsArrayLength Length of the pusOutTcpPortsArray, if it is not
* NULL.
* @param[out] pulOutNumTcpOpenPorts Number of open TCP ports if @p
* @param[out] pxOutNumTcpOpenPorts Number of open TCP ports if @p
* pusOutTcpPortsArray NULL, else number of TCP ports written.
*
* @return #eMetricsCollectorSuccess if open TCP ports are successfully obtained;
@@ -99,8 +99,8 @@ eMetricsCollectorStatus eGetNetworkStats( NetworkStats_t * pxOutNetworkStats );
* #eMetricsCollectorCollectionFailed if the collection methods failed.
*/
eMetricsCollectorStatus eGetOpenTcpPorts( uint16_t * pusOutTcpPortsArray,
uint32_t ulTcpPortsArrayLength,
uint32_t * pulOutNumTcpOpenPorts );
size_t xTcpPortsArrayLength,
size_t * pxOutNumTcpOpenPorts );
/**
* @brief Get a list of the open UDP ports.
@@ -110,9 +110,9 @@ eMetricsCollectorStatus eGetOpenTcpPorts( uint16_t * pusOutTcpPortsArray,
*
* @param[out] pusOutUdpPortsArray The array to write the open UDP ports into. Can
* be NULL, if only number of open ports is needed.
* @param[in] ulUdpPortsArrayLength Length of the pusOutUdpPortsArray, if it is not
* @param[in] xUdpPortsArrayLength Length of the pusOutUdpPortsArray, if it is not
* NULL.
* @param[out] pulOutNumUdpOpenPorts Number of open UDP ports if @p
* @param[out] pxOutNumUdpOpenPorts Number of open UDP ports if @p
* pusOutUdpPortsArray NULL, else number of UDP ports written.
*
* @return #eMetricsCollectorSuccess if open UDP ports are successfully obtained;
@@ -120,8 +120,8 @@ eMetricsCollectorStatus eGetOpenTcpPorts( uint16_t * pusOutTcpPortsArray,
* #eMetricsCollectorCollectionFailed if the collection methods failed.
*/
eMetricsCollectorStatus eGetOpenUdpPorts( uint16_t * pusOutUdpPortsArray,
uint32_t ulUdpPortsArrayLength,
uint32_t * pulOutNumUdpOpenPorts );
size_t xUdpPortsArrayLength,
size_t * pxOutNumUdpOpenPorts );
/**
* @brief Get a list of established connections.
@@ -133,17 +133,17 @@ eMetricsCollectorStatus eGetOpenUdpPorts( uint16_t * pusOutUdpPortsArray,
* @param[out] pxOutConnectionsArray The array to write the established connections
* into. This can be NULL, if only the number of established connections is
* needed.
* @param[in] ulConnectionsArrayLength Length of the pxOutConnectionsArray, if it
* @param[in] xConnectionsArrayLength Length of the pxOutConnectionsArray, if it
* is not NULL.
* @param[out] pulOutNumEstablishedConnections Number of established connections if @p
* pusOutNumEstablishedConnections NULL, else number of established connections written.
* @param[out] pxOutNumEstablishedConnections Number of established connections if @p
* pxOutNumEstablishedConnections NULL, else number of established connections written.
*
* @return #eMetricsCollectorSuccess if established connections are successfully obtained;
* #eMetricsCollectorBadParameter if invalid parameters are passed;
* #eMetricsCollectorCollectionFailed if the collection methods failed.
*/
eMetricsCollectorStatus eGetEstablishedConnections( Connection_t * pxOutConnectionsArray,
uint32_t ulConnectionsArrayLength,
uint32_t * pulOutNumEstablishedConnections );
size_t xConnectionsArrayLength,
size_t * pxOutNumEstablishedConnections );
#endif /* ifndef METRICS_COLLECTOR_H_ */
@@ -53,15 +53,15 @@ typedef struct ReportMetrics
{
NetworkStats_t * pxNetworkStats;
uint16_t * pusOpenTcpPortsArray;
uint32_t ulOpenTcpPortsArrayLength;
size_t xOpenTcpPortsArrayLength;
uint16_t * pusOpenUdpPortsArray;
uint32_t ulOpenUdpPortsArrayLength;
size_t xOpenUdpPortsArrayLength;
Connection_t * pxEstablishedConnectionsArray;
uint32_t ulEstablishedConnectionsArrayLength;
size_t xEstablishedConnectionsArrayLength;
/* Custom metrics */
uint32_t ulStackHighWaterMark;
uint32_t * pulTaskIdArray;
uint32_t ulTaskIdArrayLength;
TaskStatus_t * pxTaskStatusArray;
size_t xTaskStatusArrayLength;
} ReportMetrics_t;
/**
@@ -69,23 +69,23 @@ typedef struct ReportMetrics
* Service.
*
* @param[in] pcBuffer The buffer to write the report into.
* @param[in] ulBufferLength The length of the buffer.
* @param[in] xBufferLength The length of the buffer.
* @param[in] pxMetrics Metrics to write in the generated report.
* @param[in] ulMajorReportVersion Major version of the report.
* @param[in] ulMinorReportVersion Minor version of the report.
* @param[in] ulReportId Value to be used as the ulReportId in the generated report.
* @param[out] pulOutReprotLength The length of the generated report.
* @param[out] pxOutReprotLength The length of the generated report.
*
* @return #ReportBuilderSuccess if the report is successfully generated;
* #ReportBuilderBadParameter if invalid parameters are passed;
* #ReportBuilderBufferTooSmall if the buffer cannot hold the full report.
*/
eReportBuilderStatus eGenerateJsonReport( char * pcBuffer,
uint32_t ulBufferLength,
size_t xBufferLength,
const ReportMetrics_t * pxMetrics,
uint32_t ulMajorReportVersion,
uint32_t ulMinorReportVersion,
uint32_t ulReportId,
uint32_t * pulOutReportLength );
size_t * pxOutReportLength );
#endif /* ifndef REPORT_BUILDER_H_ */
+19 -11
View File
@@ -1675,6 +1675,7 @@ prvcheckothertasksarestillrunning
prvchecktask
prvchecktaskcounters
prvchecktimercallback
prvcollectdevicemetrics
prvcomtxtimercallback
prvconnectandcreatedemotasks
prvcopycommand
@@ -1703,6 +1704,7 @@ prvfirstregtesttask
prvflashcoroutine
prvflashtimercallback
prvformatcommand
prvgeneratedevicemetricsreport
prvgetdisinheritpriorityaftertimeout
prvgetnextdelaytime
prvgettcbfromhandle
@@ -1899,11 +1901,8 @@ pulmemchecktaskrunningcounter
pulnotification
pulnotifiedvalue
pulnumber
puloutcharswritten
puloutnumestablishedconnections
puloutnumtcpopenports
puloutnumudpopenports
puloutreportlength
puloutreprotlength
pulstandardperipheralregister
pulsystemperipheralregister
@@ -1912,7 +1911,6 @@ pultaskidarraylength
pultaskidsarray
pusername
pusopenportsarray
pusoutnumestablishedconnections
pusouttcpportsarray
pusoutudpportsarray
putc
@@ -1969,8 +1967,14 @@ pxnetworkcontext
pxnetworkcredentials
pxnext
pxopenedinterfacehandle
pxoutcharswritten
pxoutconnectionsarray
pxoutnetworkstats
pxoutnumestablishedconnections
pxoutnumtcpopenports
pxoutnumudpopenports
pxoutreportlength
pxoutreprotlength
pxpacketinfo
pxpathlen
pxport
@@ -1987,6 +1991,7 @@ pxstaticstreambuffer
pxstreambuffer
pxsubscriptionlist
pxtaskbuffer
pxtaskstatusarray
pxtcb
pxtickstowait
pxtimeout
@@ -2532,14 +2537,12 @@ ulbytesreceived
ulbytessent
ulcalculatedvalue
ulcallcount
ulconnectionsarraylength
ulcoursecyclecounter
ulcurrentversion
ulcyclecount
ulcyclecounter
ulcyclecounters
uldata
uldefenderresponselength
uldemosoftwaretimercounter
uldigestlength
uldirection
@@ -2590,7 +2593,6 @@ ulnotificationvalue
ulnotifiedvalue
uloffset
ulong
ulopenportsarraylength
ulpacketsreceived
ulpacketssent
ulport
@@ -2605,7 +2607,6 @@ ulreloadvalue
ulreloadvalueforonehighresolutiontick
ulremoteipaddress
ulreportid
ulreportlength
ulrestartoffset
ulreturned
ulsecondnotificationvalueconst
@@ -2624,14 +2625,12 @@ ultaskendtrace
ultasknotifytake
ultasknotifytakeindexed
ultasknotifyvalueclearindexed
ultcpportsarraylength
ultim
ultimeoutms
ultimer
ultotalframelength
ultrascale
ultx
uludpportsarraylength
ulvaluetosend
ulwantedbaud
umount
@@ -2690,6 +2689,7 @@ usport
usportnumber
usremoteport
usstackdepth
usstackhighwatermark
usstacksize
ustaskstacksize
usthingnamelength
@@ -2987,6 +2987,7 @@ xcommand
xcommandqueue
xcomporthandle
xconnectedsocket
xconnectionsarraylength
xcontrolmessagebuffer
xcorebmessagebuffers
xcreatedtask
@@ -2995,12 +2996,14 @@ xcurbyte
xdatalength
xdatamessagebuffers
xdb
xdefenderresponselength
xdelayticks
xdeleteresponsereceived
xdeletetaskstack
xdeltams
xdemotimer
xdestinationaddress
xdevicemetrics
xdigitcountertimer
xdirectprint
xdolisten
@@ -3130,6 +3133,7 @@ xnumbytessenttotal
xnumreqbytes
xoktogivemutex
xoneshottimer
xopenportsarraylength
xoptionlength
xor
xosel
@@ -3225,6 +3229,7 @@ xregtesterror
xregteststacksize
xregteststatus
xregulatoroffidletime
xreportlength
xreportstatus
xrequest
xresponsecount
@@ -3328,12 +3333,14 @@ xtaskresumeall
xtaskresumeallcallback
xtaskresumeallstub
xtasksocket
xtaskstatusarraylength
xtaskswaitingtoreceive
xtaskswaitingtosend
xtasktodelete
xtasktonotify
xtcbbuffer
xtcp
xtcpportsarraylength
xtcptestechoclientstaskparams
xtea
xtensa
@@ -3369,6 +3376,7 @@ xtxdescriptors
xtxhasended
xtxmessages
xtxtcbbuffer
xudpportsarraylength
xupdatedmessagebuffer
xurllen
xurlparser
@@ -3392,4 +3400,4 @@ yyyy
yyyymmddhhmmss
zc
zer
zynq
zynq