From 4ab832cc4619d238347fba9517289a7b8b90faec Mon Sep 17 00:00:00 2001 From: hedger Date: Sun, 5 Mar 2023 09:17:33 +0400 Subject: [PATCH 1/3] github: check API versions for all targets to match on gh build (#2459) * github: check API versions for all targets to match on gh build * typo fix * gh: forcing target mismatch to test pipeline * reverted API version change --- .github/workflows/build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 689dd2037..46d95ede5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,6 +44,16 @@ jobs: echo random_hash=$(openssl rand -base64 40 | shasum -a 256 | awk '{print $1}') >> $GITHUB_OUTPUT echo "event_type=$TYPE" >> $GITHUB_OUTPUT + - name: 'Check API versions' + run: | + set -e + N_API_HEADER_SIGNATURES=`ls -1 firmware/targets/f*/api_symbols.csv | xargs -I {} sh -c "head -n2 {} | md5sum" | sort -u | wc -l` + if [ $N_API_HEADER_SIGNATURES != 1 ] ; then + echo API versions aren\'t matching for available targets. Please update! + head -n2 firmware/targets/f*/api_symbols.csv + exit 1 + fi + - name: 'Make artifacts directory' run: | rm -rf artifacts From c0e0403b44f6fd3a2d1420eb48db663ef4d57d0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Such=C3=A1nek?= Date: Mon, 6 Mar 2023 08:44:26 +0100 Subject: [PATCH 2/3] Fix SD card CID parsing (#2463) The recent SD rewrite dropped a couple of lines from the CID parsing function resulting in zero manufacturing date displayed. Signed-off-by: Michal Suchanek --- firmware/targets/f7/fatfs/sd_spi_io.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/firmware/targets/f7/fatfs/sd_spi_io.c b/firmware/targets/f7/fatfs/sd_spi_io.c index 68903acfb..e8e542b32 100644 --- a/firmware/targets/f7/fatfs/sd_spi_io.c +++ b/firmware/targets/f7/fatfs/sd_spi_io.c @@ -585,6 +585,8 @@ static SdSpiStatus sd_spi_get_cid(SD_CID* Cid) { Cid->ProdSN |= cid_data[12]; Cid->Reserved1 = (cid_data[13] & 0xF0) >> 4; Cid->ManufactYear = (cid_data[13] & 0x0F) << 4; + Cid->ManufactYear |= (cid_data[14] & 0xF0) >> 4; + Cid->ManufactMonth = (cid_data[14] & 0x0F); Cid->CID_CRC = (cid_data[15] & 0xFE) >> 1; Cid->Reserved2 = 1; From 9dd1fb64b7fbe7731dea5a93d530c3dc176f59ce Mon Sep 17 00:00:00 2001 From: GuruSteve Date: Mon, 6 Mar 2023 00:59:48 -0700 Subject: [PATCH 3/3] Fixed picopass load save file overrun (#2464) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: あく --- applications/plugins/picopass/picopass_device.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/applications/plugins/picopass/picopass_device.c b/applications/plugins/picopass/picopass_device.c index ec0bc5af8..53778cfb3 100644 --- a/applications/plugins/picopass/picopass_device.c +++ b/applications/plugins/picopass/picopass_device.c @@ -167,6 +167,8 @@ static bool picopass_device_load_data(PicopassDevice* dev, FuriString* path, boo } size_t app_limit = AA1[PICOPASS_CONFIG_BLOCK_INDEX].data[0]; + // Fix for unpersonalized cards that have app_limit set to 0xFF + if(app_limit > PICOPASS_MAX_APP_LIMIT) app_limit = PICOPASS_MAX_APP_LIMIT; for(size_t i = 6; i < app_limit; i++) { furi_string_printf(temp_str, "Block %d", i); if(!flipper_format_read_hex(