In order to bring consistency in-tree, migrate all subsystems code to
the new prefix <zephyr/...>. Note that the conversion has been scripted,
refer to zephyrproject-rtos#45388 for more details.
Signed-off-by: Gerard Marull-Paretas <gerard.marull@nordicsemi.no>
The commit adds change to image management list where "<???>"
will be returned as version string in case when version to string
conversion fails.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The ull_to_s, which is used to covert ints to string, has been
replaced with snprintf.
Above also fixes a bug where ull_to_s has been given INT_MAX as allowed
output string, while it should be given maiximum allowed buffer size.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Commit removes mgmt_streamer_reset_buf from mcumgr lib,
and supporting Zephyr function zephyr_smp_reset_buf.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
This allows an application to inspect a mcumgr os reset command and
either allow it or deny it with a result code.
Signed-off-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
The zcbor_bulk_priv.h uses STRINGIFY for some of definitions
and, due to lack of inclusion of the toolchain.h, that was causing
compilation errors when NEWLIB would be selected.
Fixes#44811.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
This adds a hash/checksum mcumgr handler to the file management commands
which can be used to get a hask or checksum of a file, and includes
handler implementations for IEEE CRC32 and SHA256.
Signed-off-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
This adds a command handler to the file management mcumgr system to get
the status of a file without needing to return file data (currently
reporting the file size).
Signed-off-by: Jamie McCrae <jamie.mccrae@lairdconnect.com>
The zephyr_grp log module name was incorrectly named
MGMT_SETTINGS and module registration has been using module name
mgmt_zephyr_basic, which is also incorrect.
Both have been changed to mcumgr_zephyr_grp.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit adds transport dedicated menu and gathers all transport
options under that menu; each transport gets its own menu, witch
gathers options specific for that transport
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Adds new command that allows to retrieve MCUMGR parameters.
Currently the command returns MCUMGR buffer size and count.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The IMG_MGMT_UL_CHUNK_SIZE is no longer used to control size of
intermediate buffer used for application image chunk processing,
instead directly request trasport buffer is used.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The echo sentence is now directly copied from request transport
buffer to response buffer, without use of intermediate buffer.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Now the chunk of uploaded file is directly read from the transport
buffer, net_buf, and is no longer copied into intermediate buffer
so the real size of chunk is actually how much the sender could
fit into MCUMGR_BUF_SIZE, less the other fields.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit adds private, for internal mcumgr use only, utility
function for bulk processing of CBOR map entries.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit switches OS group commands to use zcbor instead
of TinyCBOR for processing SMP requests.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Removes no longer needed elements of struct mgmt_ctxt.
Removes mgmt_ctxt_init, mgmt_streamer_init_reader and init_reader
from struct mgmt_streamer_cfg as they are no longer needed.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit removes cbor_decoder_reader from cbo_nb_reader and
adds zcbor state variable to the structure.
All the code that has been supporting the cbor_decder_reader
has been removed and/or replaced with zcbor/net_buf specific.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Replaces TinyCBOR cbor_decoder_reader with cbor_nb_reader in
SMP processing code.
The SMP source code has been relying on internal elements of the
cbor_decoder_reader and had to be rewritten to use net_buf
structures, that are part of cbor_nb_reader, instead.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
With transition to zcbor, the cbor_encoder_writer structure of
TinyCBOR is no longer used.
This commit replaces the structure with cbor_nb_writer, which
gathers zcbor processing structure with netbuf into one object.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
The commit modifies cbor_nb_writer to handle zcbor.
Proper initialization code has been added to cbor_nb_writer_init.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Add a name for the choice of authentication modes so that it
can be default to a certain type in project's Kconfig.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>
The commit splits the main mcumgr Kconfigs into primary Kconfig
that collect general mcumgr options for Zephyr (Zephyr specific
commands, transports, and so on), into lib/Kconfig
that collects library options and command groups' Kconfigs.
Signed-off-by: Dominik Ermel <dominik.ermel@nordicsemi.no>
Previously, the hash of the firmware is checked while we are
downloading the firmware. This isn't ideal as the validity of
the firmware written into the flash is not verified and can be
corrupted. Furthermore, checking while downloading will have an
negative impact to the download speed as the CPU need to do
more work during the data transfer.
This PR removes the previous verify-hash-while-download
implementation and use the flash_img_check API instead.
Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com>