radek.tandler
508d9a6a22
fix(nvs): Fixed Page::findItem performance degradation
...
Wrong condition gating the hash map use causing performance degradation was corrected
The condition enabling use of hash map when page is searched for Item was modified
to correct the bug introduced by commit addressing delete of any BLOB_INDEX Items.
This correction returns the performance of findItem to the state before previous change.
2024-03-07 19:47:33 +01:00
radek.tandler
fc6951e193
fix(nvs): Improved lockig mechanism for initialization phase
2024-02-24 07:55:32 +01:00
radek.tandler
635e6b154e
fix(nvs): eraseMultiPageBlob to robustly delete all related BLOB_DATA records and respect VER_ANY
2024-02-24 07:55:32 +01:00
radek.tandler
cad09ea461
fix(nvs): corrected findItem to return BLOB_DATA when chunkIndex = CHUNK_ANY
2024-02-24 07:55:22 +01:00
radek.tandler
d879ec5248
fix(nvs): added check and erase of mismatched BLOB_DATA on init
2024-02-22 15:15:10 +01:00
Ivan Grokhotkov
5b53fb07fb
fix(nvs): prevent out of bounds write if blob data is inconsistent
2024-02-22 15:15:10 +01:00
Martin Vychodil
20f80a2d05
Merge branch 'feature/nvs_flash_add_test_apps_dependecies' into 'master'
...
feat(storage): add dependencies to storage related test apps
Closes IDF-8398, IDF-8397, and IDF-8835
See merge request espressif/esp-idf!27439
2024-01-04 03:29:05 +08:00
Adam Múdry
c0ea99220a
Merge branch 'fix/move_nvs_partition_generator_to_pypi_package' into 'master'
...
fix(tools): replace nvs_partition_gen.py with new esp-idf-nvs-partition-gen package
Closes IDF-8147 and IDF-1958
See merge request espressif/esp-idf!26758
2023-12-18 09:13:38 +08:00
Tomáš Rohlínek
c276c36dfe
feat(storage/nvs_flash): add dependencies to nvs_flash test apps
2023-12-11 13:10:54 +01:00
radek.tandler
8740888967
feat(nvs_flash): Added function nvs_find_key
...
Closes https://github.com/espressif/esp-idf/issues/12155
2023-12-08 17:12:00 +01:00
Laukik Hase
ea51f4e2f7
fix(nvs_flash): Remove the forceful selection of NVS_ENCRYPTION with flash encryption
...
- This change will introduce a breaking change for SoCs with the HMAC
peripheral. Turning on flash encryption will no longer enable NVS
encryption automatically.
Closes https://github.com/espressif/esp-idf/issues/12549
2023-12-04 16:18:01 +05:30
Ivan Grokhotkov
88e77ba1ed
ci(nvs_flash): upgrade to Catch2 as a component, fix warnings
2023-11-29 12:38:47 +01:00
Adam Múdry
7464f5e3ea
fix(tools): replace nvs_partition_gen.py with new esp-idf-nvs-partition-gen package
2023-11-23 23:58:20 +01:00
harshal.patil
5e1335aae4
fix(nvs_flash): Fix the memory leak in the nvs_flash test app
...
The leak is now reduced by allocating the AES interrupt and
loading the partitions in the test setup instead of in the tests itself.
2023-11-22 16:23:18 +05:30
Mo Fei Fei
a82b6f5c0b
Merge branch 'docs/update_cn_trans_nvs_part_gen_readme' into 'master'
...
Docs: Update CN trans for components/nvs_flash/nvs_partition_generator/README.rst
Closes DOC-6449
See merge request espressif/esp-idf!26589
2023-10-26 12:19:26 +08:00
Mo Fei Fei
4f24d3a39c
Docs: Update CN trans for components/nvs_flash/nvs_partition_generator/README.rst
2023-10-26 12:19:25 +08:00
Adam Múdry
e151184da7
refactor: Remove -Wno-format from storage related components
2023-10-22 17:56:41 +00:00
Adam Múdry
6154f22ab3
docs: nvs_open* add ESP_ERR_INVALID_ARG to return description
...
ESP_ERR_INVALID_ARG is returned from underlying functions but this was not easily evident
2023-10-19 14:36:10 +02:00
radek.tandler
d4aa9ccb0c
change(nvs_flash): Host tests were migrated from CMock to esp_partition linux emulation
2023-10-13 13:17:28 +02:00
Martin Vychodil
64befdca3a
Merge branch 'feature/partition_readonly_flag' into 'master'
...
feat(partition_table): Add read-only partition flag and functionality
Closes IDF-6421
See merge request espressif/esp-idf!24855
2023-10-13 11:11:07 +08:00
Laukik Hase
239bc3b96f
Merge branch 'fix/nvs_part_gen_docs' into 'master'
...
fix(docs/nvs_part_gen): Show the NVS HMAC encryption scheme-specific commands only for supported SOCs
See merge request espressif/esp-idf!26332
2023-10-11 20:56:54 +08:00
Adam Múdry
ab1eb37fe8
feat(partition_table): Add read-only partition flag and functionality
2023-10-11 00:01:05 +02:00
Adam Múdry
d42bde0378
feat(nvs): NVS tool add key consistency check
2023-10-09 15:58:48 +02:00
Adam Múdry
c276e2ca05
refactor: NVS tool move integrity check from logger to another file
2023-10-09 15:58:48 +02:00
Laukik Hase
6c9a343e1b
fix(docs/nvs_part_gen): Show the HMAC scheme-specific commands only for supported SOCs
2023-10-06 11:33:12 +05:30
radek.tandler
4f659b70e1
fix(nvs_flash): fixed failing nvs_page test
2023-09-26 15:05:20 +00:00
radek.tandler
e8992f500c
fix(nvs_flash): nvs_set with same key and different data type
...
Function now always rewrites old value under same key
regardless existing data type. Users requiring old API behaviour
can enable it by kconfig option CONFIG_NVS_LEGACY_DUP_KEYS_COMPATIBILITY
2023-09-26 15:05:20 +00:00
radek.tandler
f693b78f93
feature(nvs_flash) : added support iteration over namespace by index - review changes
2023-08-29 16:05:02 +02:00
Ivan Grokhotkov
92ff04ebea
nvs: use 'handle' argument name for consistency
2023-08-29 13:59:34 +02:00
Cody P Schafer
f2af1c5305
nvs: support iteration over namespace by index
...
Users of the nvs API are likely to have `nvs_handle_t` in all cases, but
not all of them carry around the partition name and namespace name (as
they aren't needed after creating an `nvs_handle_t`).
Allow this common case to use nvs iteration without them tracking
additional data by using the `nvs_handle_t` to locate the namespace
index and the partition name by introducing an alterate to
`nvs_entry_find` called `nvs_entry_find_in_handle`, which operates
similarly except that it is given a `nvs_handle_t` instead of partition
and namespace strings.
This is somewhat more limited than the `nvs_entry_find` API as one
cannot examine all keys in a given partition.
2023-08-29 13:59:34 +02:00
Martin Vychodil
e44d4260ad
Merge branch 'feature/storage_host_test_nvs_flash2' into 'master'
...
nvs_flash: finished migration of host tests to the linux emulator of esp_partition
See merge request espressif/esp-idf!23926
2023-08-28 20:20:16 +08:00
Armando
7dbd3f6909
feat(ci): Enable p4 example, test_apps and unit tests CI build
2023-08-24 12:51:19 +08:00
Adam Múdry
42ac85a6a1
Merge branch 'contrib/github_pr_11926' into 'master'
...
Support NVS image generation from CMake (GitHub PR)
Closes IDFGH-10702 and IDFGH-10542
See merge request espressif/esp-idf!25102
2023-08-15 00:20:11 +08:00
radek.tandler
28f82d8de7
refactor(nvs_flash): Host test migrated to esp_partition emulation for linux
2023-08-09 14:14:21 +02:00
radek.tandler
3ffb8f8ffd
nvs: nvs_get_stats fixed test, improved comment
2023-08-08 08:43:19 +02:00
radek.tandler
ac6c03fad1
change(nvs_flash): nvs_get_stats extended, API documentation improved
2023-08-08 08:43:19 +02:00
Vincent Hamp
d975a26666
feat: Add support for NVS image generation from CMake
...
Closes: https://github.com/espressif/esp-idf/pull/11926
Closes: https://github.com/espressif/esp-idf/pull/11785
Co-authored-by: Nebojša Cvetković <nebkat@gmail.com>
2023-07-31 18:26:06 +02:00
Wang Zi Yan
3e4152cdcf
docs: Update CN for nvs_flash.rst and flash-encryption.rst
2023-07-14 04:05:53 +00:00
Adam Múdry
098cab35e4
NVS: nvs_tool.py entry.data None check fix
2023-06-21 11:23:22 +02:00
KonstantinKondrashov
e72061695e
all: Removes unnecessary newline character in logs
...
Closes https://github.com/espressif/esp-idf/issues/11465
2023-06-09 03:31:21 +08:00
Laukik Hase
72f703ccd4
nvs_flash: Extended test-app and host tests for the HMAC-based NVS encr-keys protection scheme
2023-05-23 13:55:59 +05:30
Laukik Hase
a06118012e
docs: Update nvs_flash
docs for the HMAC-based NVS encr-keys protection scheme
...
- Also updated the `nvs_partition_generator` and `mass_mfg` tools
documentation
2023-05-23 13:55:57 +05:30
Laukik Hase
9ac87fcc8b
nvs_partition_gen/mass_mfg: Support for HMAC-based scheme for generating NVS encr-keys
2023-05-23 13:55:55 +05:30
Laukik Hase
c1bed366ba
nvs_flash: Add support for HMAC-based NVS encryption keys protection scheme
...
- This features allows the NVS encryption keys to be derived and protected using
the HMAC peripheral. Since the encryption keys are derived at runtime, they
are not stored anywhere in the flash and hence this feature does not require
a separate `nvs_keys` partition.
2023-05-23 13:55:52 +05:30
Linda
65ee4992ce
docs: update the algorithm and key name from AES-XTS to XTS-AES
2023-05-15 17:54:50 +08:00
Laukik Hase
4ac95a33fd
nvs_flash: Migrate UTs to component test-apps
2023-04-26 10:21:03 +05:30
Ivan Grokhotkov
2a28061eaa
Merge branch 'contrib/github_pr_11117' into 'master'
...
test_nvs_host: fix asan reported bugs (GitHub PR)
Closes IDFGH-9860
See merge request espressif/esp-idf!23172
2023-04-20 22:37:42 +08:00
Ivan Grokhotkov
f64ac33554
nvs: fix string/blob comparison lengths in host tests
2023-04-18 08:02:38 +02:00
Cody P Schafer
cbe906e53c
nvs_host_test: replace sprintf with snprintf
...
With some libc impls (ie: Xcode 13.1), sprintf is marked as deprecated
and causes the build with `-Werror` to fail. Switch the `sprintf` usage
in test_nvs.cpp to use `snprintf` to allow builds to complete without
warning.
2023-04-03 16:33:57 -04:00
Cody P Schafer
630343e4b9
test_nvs_host: fix asan reported bugs
...
- Use of `sizeof(uint32_t *)` instead of `sizeof(uint32_t)` in
arguments
- Use of `memcmp` without checking that length agreed (add `memeq`)
2023-04-03 16:30:02 -04:00