From 6c202d7b9052e88d4b86788d43b7134f5d1d8e95 Mon Sep 17 00:00:00 2001 From: Gaurav Aggarwal Date: Wed, 16 Apr 2025 11:00:15 +0000 Subject: [PATCH 1/6] Refine Sntp_ConvertToUnixTime We do not need uint64_t for Unix timestamp as we can fit the time till 7 Feb 2106 06:28:15 in uint32_t and beyond that we cannot differentiate between NTP era 0 and era 1 timestamps. Signed-off-by: Gaurav Aggarwal --- .github/workflows/ci.yml | 5 ++-- .../code_examples/example_sntp_client_posix.c | 2 +- docs/doxygen/images/Ntp_To_Unix_Time.png | Bin 0 -> 24682 bytes source/core_sntp_serializer.c | 26 ++++++++---------- source/include/core_sntp_serializer.h | 26 ++---------------- .../Sntp_ConvertToUnixTime_harness.c | 4 +-- test/unit-test/core_sntp_serializer_utest.c | 4 +-- tools/cmock/coverage.cmake | 16 ++--------- 8 files changed, 23 insertions(+), 60 deletions(-) create mode 100644 docs/doxygen/images/Ntp_To_Unix_Time.png diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index efcaa1d1..0d6d55ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,9 +97,8 @@ jobs: - name: Run Coverage run: | make -C build/ coverage - declare -a EXCLUDE=("\*test\*" "\*CMakeCCompilerId.c") - echo ${EXCLUDE[@]} | xargs lcov --rc branch_coverage=1 --ignore-errors empty --ignore-errors source -r build/coverage.info -o build/coverage.info - lcov --rc branch_coverage=1 --ignore-errors empty --ignore-errors source --list build/coverage.info + lcov --rc branch_coverage=1 -r build/coverage.info -o build/coverage.info + lcov --rc branch_coverage=1 --summary build/coverage.info - name: Check Coverage uses: FreeRTOS/CI-CD-Github-Actions/coverage-cop@main diff --git a/docs/doxygen/code_examples/example_sntp_client_posix.c b/docs/doxygen/code_examples/example_sntp_client_posix.c index d7f74b7a..802b471b 100644 --- a/docs/doxygen/code_examples/example_sntp_client_posix.c +++ b/docs/doxygen/code_examples/example_sntp_client_posix.c @@ -139,7 +139,7 @@ static void sntpClient_SetTime( const SntpServerInfo_t * pTimeServer, SntpLeapSecondInfo_t leapSecondInfo ) { /* @[code_example_sntp_converttounixtime] */ - UnixTime_t unixSecs; + uint32_t unixSecs; uint32_t unixMs; SntpStatus_t status = Sntp_ConvertToUnixTime( pServerTime, &unixSecs, &unixMs ); diff --git a/docs/doxygen/images/Ntp_To_Unix_Time.png b/docs/doxygen/images/Ntp_To_Unix_Time.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6d98e79a3ad2274e1c081d70bcefded78205f7 GIT binary patch literal 24682 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 <= SNTP_TIME_AT_LARGEST_UNIX_TIME_SECS ) + /* Handle case when SNTP timestamp is in SNTP era 0 time range + * (i.e. time before 7 Feb 2036 6:28:15 UTC). */ + if( pSntpTime->seconds >= SNTP_TIME_AT_UNIX_EPOCH_SECS ) { - /* Unix Time ( seconds ) = Seconds Duration in - * [UNIX epoch, SNTP Era 1 Epoch Time] - * + - * Sntp Time since Era 1 Epoch - */ - *pUnixTimeSecs = ( UnixTime_t ) ( UNIX_TIME_SECS_AT_SNTP_ERA_1_SMALLEST_TIME + ( UnixTime_t ) ( pSntpTime->seconds ) ); + *pUnixTimeSecs = pSntpTime->seconds - SNTP_TIME_AT_UNIX_EPOCH_SECS; } - - /* Handle case when SNTP timestamp is in SNTP era 1 time range. */ - if( pSntpTime->seconds >= SNTP_TIME_AT_UNIX_EPOCH_SECS ) + else { - *pUnixTimeSecs = ( UnixTime_t ) ( ( UnixTime_t ) ( pSntpTime->seconds ) - SNTP_TIME_AT_UNIX_EPOCH_SECS ); + /* Handle case when timestamp represents date in SNTP era 1 + * (i.e. time from 7 Feb 2036 6:28:16 UTC onwards). */ + *pUnixTimeSecs = UNIX_TIME_SECS_AT_SNTP_ERA_1_SMALLEST_TIME + pSntpTime->seconds; } /* Convert SNTP fractions to microseconds for UNIX time. */ diff --git a/source/include/core_sntp_serializer.h b/source/include/core_sntp_serializer.h index 64295f85..b0869bbe 100644 --- a/source/include/core_sntp_serializer.h +++ b/source/include/core_sntp_serializer.h @@ -43,20 +43,6 @@ #endif /* *INDENT-ON* */ -/** - * @brief Type representing seconds since Unix epoch (January 1, 1970 UTC). - * - * The width of this type depends on the configuration macro USE_LEGACY_TIME_API: - * - If USE_LEGACY_TIME_API is defined, a 32-bit unsigned integer is used. - * This limits date representation to the year 2038 (Y2038 limitation). - * - Otherwise, a 64-bit unsigned integer is used for Y2038 compliance. - */ -#ifdef USE_LEGACY_TIME_API - typedef uint32_t UnixTime_t; /**< 32-bit Unix time for legacy systems. */ -#else - typedef uint64_t UnixTime_t; /**< 64-bit Unix time for Y2038 compliance. */ -#endif - /** * @ingroup sntp_constants * @brief The base packet size of request and response of the (S)NTP protocol. @@ -504,15 +490,7 @@ SntpStatus_t Sntp_CalculatePollInterval( uint16_t clockFreqTolerance, * @brief Utility to convert SNTP timestamp (that uses 1st Jan 1900 as the epoch) to * UNIX timestamp (that uses 1st Jan 1970 as the epoch). * - * @note This function converts SNTP timestamps to UNIX time supporting both 32-bit and - * 64-bit representations based on the configuration macro USE_LEGACY_TIME_API. - * - * - If USE_LEGACY_TIME_API is defined, the conversion is limited to the date range - * from 1st Jan 1970 0h 0m 0s (UNIX epoch) to 19th Jan 2038 3h 14m 7s, due to the - * 32-bit width limitation. - * - * - If USE_LEGACY_TIME_API is not defined, 64-bit UNIX time representation is used, - * allowing conversion of SNTP timestamps beyond the year 2038 (Y2038 problem mitigated). + * Refer to (this image)[docs/doxygen/images/Ntp_To_Unix_Time.png]. * * @note The function also correctly handles SNTP era overflow (from 7 Feb 2036 6h 28m 16s, * i.e., SNTP era 1) to ensure accurate conversion across SNTP eras. @@ -529,7 +507,7 @@ SntpStatus_t Sntp_CalculatePollInterval( uint16_t clockFreqTolerance, */ /* @[define_sntp_converttounixtime] */ SntpStatus_t Sntp_ConvertToUnixTime( const SntpTimestamp_t * pSntpTime, - UnixTime_t * pUnixTimeSecs, + uint32_t * pUnixTimeSecs, uint32_t * pUnixTimeMicrosecs ); /* @[define_sntp_converttounixtime] */ diff --git a/test/cbmc/proofs/Sntp_ConvertToUnixTime/Sntp_ConvertToUnixTime_harness.c b/test/cbmc/proofs/Sntp_ConvertToUnixTime/Sntp_ConvertToUnixTime_harness.c index 797bab90..c3bb62b5 100644 --- a/test/cbmc/proofs/Sntp_ConvertToUnixTime/Sntp_ConvertToUnixTime_harness.c +++ b/test/cbmc/proofs/Sntp_ConvertToUnixTime/Sntp_ConvertToUnixTime_harness.c @@ -32,12 +32,12 @@ void harness() { SntpTimestamp_t * pSntpTime; - UnixTime_t * pUnixTimeSecs; + uint32_t * pUnixTimeSecs; uint32_t * pUnixTimeMicrosecs; SntpStatus_t sntpStatus; pSntpTime = malloc( sizeof( SntpTimestamp_t ) ); - pUnixTimeSecs = malloc( sizeof( UnixTime_t ) ); + pUnixTimeSecs = malloc( sizeof( uint32_t ) ); pUnixTimeMicrosecs = malloc( sizeof( uint32_t ) ); sntpStatus = Sntp_ConvertToUnixTime( pSntpTime, pUnixTimeSecs, pUnixTimeMicrosecs ); diff --git a/test/unit-test/core_sntp_serializer_utest.c b/test/unit-test/core_sntp_serializer_utest.c index 90b5bd5c..621f5db6 100644 --- a/test/unit-test/core_sntp_serializer_utest.c +++ b/test/unit-test/core_sntp_serializer_utest.c @@ -877,7 +877,7 @@ void test_ConvertToUnixTime_InvalidParams( void ) /* Use same memory for UNIX seconds and microseconds as we are not * testing those values. */ - UnixTime_t unixTime; + uint32_t unixTime; uint32_t unixTimeMs; /* Test with NULL SNTP time. */ @@ -900,7 +900,7 @@ void test_ConvertToUnixTime_InvalidParams( void ) void test_ConvertToUnixTime_Nominal( void ) { SntpTimestamp_t sntpTime = TEST_TIMESTAMP; - UnixTime_t unixTimeSecs; + uint32_t unixTimeSecs; uint32_t unixTimeMs; #define TEST_SNTP_TO_UNIX_CONVERSION( sntpTimeSecs, sntpTimeFracs, \ diff --git a/tools/cmock/coverage.cmake b/tools/cmock/coverage.cmake index 500aab22..53970df4 100644 --- a/tools/cmock/coverage.cmake +++ b/tools/cmock/coverage.cmake @@ -15,11 +15,9 @@ execute_process( COMMAND lcov --directory ${CMAKE_BINARY_DIR} --initial --capture --rc branch_coverage=1 - --ignore-errors empty - --ignore-errors source --rc genhtml_branch_coverage=1 --output-file=${CMAKE_BINARY_DIR}/base_coverage.info - --quiet + --include "*source*" ) file(GLOB files "${CMAKE_BINARY_DIR}/bin/tests/*") @@ -49,13 +47,11 @@ execute_process(COMMAND ruby execute_process( COMMAND lcov --capture --rc branch_coverage=1 - --ignore-errors empty - --ignore-errors source --rc genhtml_branch_coverage=1 --base-directory ${CMAKE_BINARY_DIR} --directory ${CMAKE_BINARY_DIR} --output-file ${CMAKE_BINARY_DIR}/second_coverage.info - --quiet + --include "*source*" ) # combile baseline results (zeros) with the one after running the tests @@ -67,16 +63,10 @@ execute_process( --output-file ${CMAKE_BINARY_DIR}/coverage.info --no-external --rc branch_coverage=1 - --ignore-errors empty - --ignore-errors source - --quiet ) execute_process( COMMAND genhtml --rc branch_coverage=1 - --ignore-errors empty - --ignore-errors source --branch-coverage --output-directory ${CMAKE_BINARY_DIR}/coverage ${CMAKE_BINARY_DIR}/coverage.info - --quiet - ) + ) From 9d9f4f807999c2c9721d73c0a16f606be453702a Mon Sep 17 00:00:00 2001 From: Gaurav Aggarwal Date: Wed, 16 Apr 2025 11:39:16 +0000 Subject: [PATCH 2/6] Fix memory estimates Signed-off-by: Gaurav Aggarwal --- docs/doxygen/include/size_table.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/doxygen/include/size_table.md b/docs/doxygen/include/size_table.md index 76263e22..66c39dce 100644 --- a/docs/doxygen/include/size_table.md +++ b/docs/doxygen/include/size_table.md @@ -15,11 +15,11 @@ core_sntp_serializer.c
1.0K
-
0.8K
+
0.7K
Total estimates
2.7K
-
2.1K
+
2.0K
From 2077cf5f2ede45a466556fe6cf4216b7fc4f27a2 Mon Sep 17 00:00:00 2001 From: Gaurav Aggarwal Date: Wed, 16 Apr 2025 17:20:49 +0000 Subject: [PATCH 3/6] Update ubuntu version for proofs Signed-off-by: Gaurav Aggarwal --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0d6d55ee..396ccdc0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -206,7 +206,7 @@ jobs: proof_ci: if: ${{ github.event.pull_request }} || ${{ github.event.workflow }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Set up CBMC runner uses: FreeRTOS/CI-CD-Github-Actions/set_up_cbmc_runner@main From af35fa36008dfc3bccc7b74526620d3d4b172201 Mon Sep 17 00:00:00 2001 From: Gaurav Aggarwal Date: Mon, 21 Apr 2025 07:24:06 +0000 Subject: [PATCH 4/6] Update Ubuntu version for formatting check Signed-off-by: Gaurav Aggarwal --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 396ccdc0..bde6584a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -125,7 +125,7 @@ jobs: path: ./ formatting: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Check formatting From 77ca6ab24d8e92f52bf0871bb916759c8db0d0fd Mon Sep 17 00:00:00 2001 From: Gaurav Aggarwal Date: Mon, 21 Apr 2025 07:30:03 +0000 Subject: [PATCH 5/6] Exclude CMock from formatting check Signed-off-by: Gaurav Aggarwal --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bde6584a..dcaaebdd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -132,7 +132,7 @@ jobs: uses: FreeRTOS/CI-CD-Github-Actions/formatting@main with: path: ./ - exclude-dirs: .git + exclude-dirs: .git, test/unit-test/CMock git-secrets: runs-on: ubuntu-latest From dbfa4235d4a78974c19609cb470b9b5acb722d18 Mon Sep 17 00:00:00 2001 From: Rahul Kar Date: Mon, 21 Apr 2025 08:14:36 +0000 Subject: [PATCH 6/6] Update uncrustify version --- .github/workflows/formatting.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/formatting.yml b/.github/workflows/formatting.yml index 04786bad..707ca352 100644 --- a/.github/workflows/formatting.yml +++ b/.github/workflows/formatting.yml @@ -16,7 +16,7 @@ jobs: if: ${{ github.event.issue.pull_request && ( ( github.event.comment.body == '/bot run uncrustify' ) || ( github.event.comment.body == '/bot run formatting' ) ) }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - name: Apply Formatting Fix uses: FreeRTOS/CI-CD-Github-Actions/formatting-bot@main