Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: softsim uicc cmake and utils #7

Merged
merged 27 commits into from
Jul 30, 2024
Merged

Conversation

benjaminbruun
Copy link
Collaborator

No description provided.

peterbornerup and others added 25 commits May 24, 2024 10:28
Add an initial standard template for .clang-format
Make sure to limit the scope of the format usage.
Add an optional heap allocator.
Add heap information during compilation.
Make sure to use default heap for autoconf build
and use system heap for test build.
This is needed for implementations that wants to
tear down SoftSIM CTX after UICC suspension procedure.
With internal tracking off the suspension state - the de-init request
can be ignored. This does require hardware with RAM retention etc - if
that isn't the case UICC suspend support shouldn't be signalled.
The implementations is no where complete.
However, what is provided might be OK for some cases.

It is mainly interesting on modems that won't go to deep sleep without suspending the SIM first.
It doesn't really make sense in a SoftSIM context all the time - and this is the current compromise.
Changes included in this commit:
- Update to the projects .gitignore
- Make sure to disable logs in release build by default.
Usually not desired in any way for embedded projects to pipe out too many logs
- Make logging default off for debug and available with option
- Updates to the automated test flow
This change is introduced due to an incompatebility
with make test and latests release of the 22.04 GitHub runner.
I re-introduction of the latest GitHub runner is desired in
the future.
It is desired to check for wrong lc in the APDU handler.
We intend to reset lc when failing early.
Update GitHub workflow to run on Ubuntu.
Extend the output when experiencing a build failure.
Enable address sanitizer explicitly.
This commit introduces seperate files per sequence number.
Additionally, functionality to store and read sequence from files.

We are updating our file creation script to match the new structure.
Cleanup bu removing unused files and prefill all sequence numbers where
needed.
Make sure to build vpcd softsim with cmake. This was
previously not supported.
Copy the test flow from autotools bases tests to the
cmake based tests.
Add a parser with extended support. And add test cases
for this functionality.

Add an application layer transaction interface.

---------

Co-authored-by: Benjamin Bruun <[email protected]>
With the introduction of CMake, we have slowly been
moving towards this ways of configuring the project.

We are removing the previously used build system to
remove the need for dual build system maintenance.

The motivation for this shift is to be a better match
for the many CMake projects in which the onomondo-uicc
can and should be integration as part of.
This commit includes the following changes:
- split file operations out to ss_ prefixed ones
- cmake build should produce a softsim executable
- add memcheck to cmake based testing
- split test into unit vs end to end test
- get logs from failed tests running in ci
- drop linux dependencies

---------

Co-authored-by: Benjamin Bruun <[email protected]>
Add new set of basic functionality that can make for
an easier provisioning of an onomondo sim profile.

The functionality has been added to a utils folder
in order to make this functionality totally optional.

Add a basic profile decoding test.
We are currently adding preprocessor definitions with an extra "-D" prefix.
This does not comply with the usage of add_compile_definitions
(but it complies with the previously used add_definitions).
We seek the option to link against custom crypto implementations
to be used for key storage and crypto computational tasks.
This is introduced as an configurable option.

In the work, common crypto part of the codespace
has been moved public include file folder.

Add feature that ensured that the externally loaded keys
are memzero'ed after their use.

Add automated build processes with multiple different
compiler types and CMake flag combinations.
More might be added in the future.

Update the repository documentation for external key loading.

---------

Co-authored-by: Benjamin Bruun <[email protected]>
Make sure to make an optional default implementation available.
It is now possible to choose to build the libraries only.

This commit also gets rid of ctype as it usually result in a compile err
As well as a smaller alignment of the CMake option names.

---------

Co-authored-by: Benjamin Bruun <[email protected]>
Be able to export files to c-arrays and ensure that
these are up to date.

Add a new timeout to the GitHub actions job.

---------

Co-authored-by: Benjamin Bruun <[email protected]>
To not pollute the root of our repo, i suggest a move of these folder to utils (or test)
@benjaminbruun benjaminbruun linked an issue Jun 4, 2024 that may be closed by this pull request
* ci: add new uicc github actions workflow
Copy link
Member

@peterbornerup peterbornerup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@benjaminbruun benjaminbruun merged commit a0e786c into master Jul 30, 2024
9 checks passed
@benjaminbruun benjaminbruun deleted the feat/softsim-uicc-utils branch July 30, 2024 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

'softsim' binary only built from autotools, not from cmake
2 participants