edhoc 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (314) hide show
  1. package/README.md +170 -0
  2. package/binding.gyp +13 -11
  3. package/dist/bindings.d.ts +5 -0
  4. package/dist/bindings.d.ts.map +1 -0
  5. package/dist/bindings.js +10 -0
  6. package/dist/crypto.d.ts +29 -0
  7. package/dist/crypto.d.ts.map +1 -0
  8. package/dist/crypto.js +205 -0
  9. package/dist/edhoc.d.ts +368 -0
  10. package/dist/edhoc.d.ts.map +1 -0
  11. package/dist/edhoc.js +76 -0
  12. package/dist/index.d.ts +4 -0
  13. package/dist/index.d.ts.map +1 -0
  14. package/dist/index.js +19 -0
  15. package/dist/x509credentials.d.ts +20 -0
  16. package/dist/x509credentials.d.ts.map +1 -0
  17. package/dist/x509credentials.js +140 -0
  18. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_decode.h +1 -1
  19. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_encode.h +1 -1
  20. package/external/libedhoc/backends/cbor/include/backend_cbor_bstr_type_types.h +1 -1
  21. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_decode.h +2 -2
  22. package/external/libedhoc/backends/cbor/include/backend_cbor_ead_encode.h +2 -2
  23. package/external/libedhoc/backends/cbor/include/backend_cbor_edhoc_types.h +48 -43
  24. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_decode.h +1 -1
  25. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_encode.h +1 -1
  26. package/external/libedhoc/backends/cbor/include/backend_cbor_enc_structure_types.h +3 -3
  27. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_decode.h +1 -1
  28. package/external/libedhoc/backends/cbor/include/backend_cbor_id_cred_x_encode.h +1 -1
  29. package/external/libedhoc/backends/cbor/include/backend_cbor_info_decode.h +1 -1
  30. package/external/libedhoc/backends/cbor/include/backend_cbor_info_encode.h +1 -1
  31. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_decode.h +1 -1
  32. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_encode.h +1 -1
  33. package/external/libedhoc/backends/cbor/include/backend_cbor_int_type_types.h +1 -1
  34. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_decode.h +1 -1
  35. package/external/libedhoc/backends/cbor/include/backend_cbor_message_1_encode.h +1 -1
  36. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_decode.h +1 -1
  37. package/external/libedhoc/backends/cbor/include/backend_cbor_message_2_encode.h +1 -1
  38. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_decode.h +1 -1
  39. package/external/libedhoc/backends/cbor/include/backend_cbor_message_3_encode.h +1 -1
  40. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_decode.h +1 -1
  41. package/external/libedhoc/backends/cbor/include/backend_cbor_message_4_encode.h +1 -1
  42. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_decode.h +1 -1
  43. package/external/libedhoc/backends/cbor/include/backend_cbor_message_error_encode.h +1 -1
  44. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_decode.h +1 -1
  45. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_2_encode.h +1 -1
  46. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_decode.h +1 -1
  47. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_3_encode.h +1 -1
  48. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_decode.h +3 -3
  49. package/external/libedhoc/backends/cbor/include/backend_cbor_plaintext_4_encode.h +3 -3
  50. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_decode.h +1 -1
  51. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_encode.h +1 -1
  52. package/external/libedhoc/backends/cbor/include/backend_cbor_sig_structure_types.h +4 -4
  53. package/external/libedhoc/backends/cbor/include/backend_cbor_x509_types.h +93 -83
  54. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_decode.c +11 -20
  55. package/external/libedhoc/backends/cbor/src/backend_cbor_bstr_type_encode.c +11 -20
  56. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_decode.c +27 -32
  57. package/external/libedhoc/backends/cbor/src/backend_cbor_ead_encode.c +27 -32
  58. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_decode.c +14 -23
  59. package/external/libedhoc/backends/cbor/src/backend_cbor_enc_structure_encode.c +14 -23
  60. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_decode.c +63 -52
  61. package/external/libedhoc/backends/cbor/src/backend_cbor_id_cred_x_encode.c +62 -51
  62. package/external/libedhoc/backends/cbor/src/backend_cbor_info_decode.c +14 -23
  63. package/external/libedhoc/backends/cbor/src/backend_cbor_info_encode.c +14 -23
  64. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_decode.c +11 -20
  65. package/external/libedhoc/backends/cbor/src/backend_cbor_int_type_encode.c +11 -20
  66. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_decode.c +54 -51
  67. package/external/libedhoc/backends/cbor/src/backend_cbor_message_1_encode.c +54 -51
  68. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_decode.c +11 -20
  69. package/external/libedhoc/backends/cbor/src/backend_cbor_message_2_encode.c +11 -20
  70. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_decode.c +11 -20
  71. package/external/libedhoc/backends/cbor/src/backend_cbor_message_3_encode.c +11 -20
  72. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_decode.c +11 -20
  73. package/external/libedhoc/backends/cbor/src/backend_cbor_message_4_encode.c +11 -20
  74. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_decode.c +36 -37
  75. package/external/libedhoc/backends/cbor/src/backend_cbor_message_error_encode.c +36 -37
  76. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_decode.c +103 -80
  77. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_2_encode.c +102 -79
  78. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_decode.c +99 -76
  79. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_3_encode.c +98 -75
  80. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_decode.c +40 -41
  81. package/external/libedhoc/backends/cbor/src/backend_cbor_plaintext_4_encode.c +40 -41
  82. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_decode.c +15 -24
  83. package/external/libedhoc/backends/cbor/src/backend_cbor_sig_structure_encode.c +15 -24
  84. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.c +31 -0
  85. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode.h +10 -0
  86. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.c +18 -0
  87. package/external/libedhoc/externals/Unity/examples/example_1/src/ProductionCode2.h +9 -0
  88. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode.c +69 -0
  89. package/external/libedhoc/externals/Unity/examples/example_1/test/TestProductionCode2.c +38 -0
  90. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode2_Runner.c +53 -0
  91. package/external/libedhoc/externals/Unity/examples/example_1/test/test_runners/TestProductionCode_Runner.c +57 -0
  92. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.c +31 -0
  93. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode.h +10 -0
  94. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.c +18 -0
  95. package/external/libedhoc/externals/Unity/examples/example_2/src/ProductionCode2.h +9 -0
  96. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode.c +71 -0
  97. package/external/libedhoc/externals/Unity/examples/example_2/test/TestProductionCode2.c +40 -0
  98. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode2_Runner.c +16 -0
  99. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/TestProductionCode_Runner.c +18 -0
  100. package/external/libedhoc/externals/Unity/examples/example_2/test/test_runners/all_tests.c +19 -0
  101. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.c +17 -0
  102. package/external/libedhoc/externals/Unity/examples/example_3/helper/UnityHelper.h +19 -0
  103. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.c +31 -0
  104. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode.h +10 -0
  105. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.c +18 -0
  106. package/external/libedhoc/externals/Unity/examples/example_3/src/ProductionCode2.h +9 -0
  107. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode.c +69 -0
  108. package/external/libedhoc/externals/Unity/examples/example_3/test/TestProductionCode2.c +38 -0
  109. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.c +31 -0
  110. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode.h +10 -0
  111. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.c +18 -0
  112. package/external/libedhoc/externals/Unity/examples/example_4/src/ProductionCode2.h +9 -0
  113. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode.c +70 -0
  114. package/external/libedhoc/externals/Unity/examples/example_4/test/TestProductionCode2.c +42 -0
  115. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode2_Runner.c +53 -0
  116. package/external/libedhoc/externals/Unity/examples/example_4/test/test_runners/TestProductionCode_Runner.c +57 -0
  117. package/external/libedhoc/externals/Unity/examples/unity_config.h +251 -0
  118. package/external/libedhoc/externals/Unity/extras/bdd/src/unity_bdd.h +44 -0
  119. package/external/libedhoc/externals/Unity/extras/bdd/test/test_bdd.c +129 -0
  120. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.c +310 -0
  121. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture.h +95 -0
  122. package/external/libedhoc/externals/Unity/extras/fixture/src/unity_fixture_internals.h +51 -0
  123. package/external/libedhoc/externals/Unity/extras/fixture/test/main/AllTests.c +20 -0
  124. package/external/libedhoc/externals/Unity/extras/fixture/test/template_fixture_tests.c +40 -0
  125. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_Test.c +246 -0
  126. package/external/libedhoc/externals/Unity/extras/fixture/test/unity_fixture_TestRunner.c +33 -0
  127. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.c +203 -0
  128. package/external/libedhoc/externals/Unity/extras/memory/src/unity_memory.h +61 -0
  129. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_Test.c +326 -0
  130. package/external/libedhoc/externals/Unity/extras/memory/test/unity_memory_TestRunner.c +50 -0
  131. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.c +57 -0
  132. package/external/libedhoc/externals/Unity/extras/memory/test/unity_output_Spy.h +17 -0
  133. package/external/libedhoc/externals/Unity/src/unity.c +2501 -0
  134. package/external/libedhoc/externals/Unity/src/unity.h +698 -0
  135. package/external/libedhoc/externals/Unity/src/unity_internals.h +1183 -0
  136. package/external/libedhoc/externals/Unity/test/expectdata/testsample_cmd.c +61 -0
  137. package/external/libedhoc/externals/Unity/test/expectdata/testsample_def.c +57 -0
  138. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.c +55 -0
  139. package/external/libedhoc/externals/Unity/test/expectdata/testsample_head1.h +15 -0
  140. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_cmd.c +80 -0
  141. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_def.c +76 -0
  142. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.c +75 -0
  143. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_head1.h +13 -0
  144. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new1.c +89 -0
  145. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_new2.c +89 -0
  146. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_param.c +77 -0
  147. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run1.c +89 -0
  148. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_run2.c +89 -0
  149. package/external/libedhoc/externals/Unity/test/expectdata/testsample_mock_yaml.c +90 -0
  150. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new1.c +67 -0
  151. package/external/libedhoc/externals/Unity/test/expectdata/testsample_new2.c +70 -0
  152. package/external/libedhoc/externals/Unity/test/expectdata/testsample_param.c +58 -0
  153. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run1.c +67 -0
  154. package/external/libedhoc/externals/Unity/test/expectdata/testsample_run2.c +70 -0
  155. package/external/libedhoc/externals/Unity/test/expectdata/testsample_yaml.c +71 -0
  156. package/external/libedhoc/externals/Unity/test/testdata/CException.h +18 -0
  157. package/external/libedhoc/externals/Unity/test/testdata/Defs.h +16 -0
  158. package/external/libedhoc/externals/Unity/test/testdata/cmock.h +21 -0
  159. package/external/libedhoc/externals/Unity/test/testdata/mockMock.h +20 -0
  160. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGenerator.c +204 -0
  161. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorSmall.c +73 -0
  162. package/external/libedhoc/externals/Unity/test/testdata/testRunnerGeneratorWithMocks.c +200 -0
  163. package/external/libedhoc/externals/Unity/test/tests/self_assessment_utils.h +151 -0
  164. package/external/libedhoc/externals/Unity/test/tests/test_unity_arrays.c +2941 -0
  165. package/external/libedhoc/externals/Unity/test/tests/test_unity_core.c +375 -0
  166. package/external/libedhoc/externals/Unity/test/tests/test_unity_doubles.c +1285 -0
  167. package/external/libedhoc/externals/Unity/test/tests/test_unity_floats.c +1395 -0
  168. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers.c +2863 -0
  169. package/external/libedhoc/externals/Unity/test/tests/test_unity_integers_64.c +783 -0
  170. package/external/libedhoc/externals/Unity/test/tests/test_unity_memory.c +82 -0
  171. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterized.c +309 -0
  172. package/external/libedhoc/externals/Unity/test/tests/test_unity_parameterizedDemo.c +28 -0
  173. package/external/libedhoc/externals/Unity/test/tests/test_unity_strings.c +330 -0
  174. package/external/libedhoc/externals/Unity/test/tests/types_for_test.h +21 -0
  175. package/external/libedhoc/externals/zcbor/include/zcbor_common.h +147 -60
  176. package/external/libedhoc/externals/zcbor/include/zcbor_decode.h +291 -202
  177. package/external/libedhoc/externals/zcbor/include/zcbor_encode.h +100 -156
  178. package/external/libedhoc/externals/zcbor/include/zcbor_print.h +165 -0
  179. package/external/libedhoc/externals/zcbor/samples/hello_world/src/main.c +1 -1
  180. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_decode.h +1 -1
  181. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_encode.h +1 -1
  182. package/external/libedhoc/externals/zcbor/samples/pet/include/pet_types.h +4 -4
  183. package/external/libedhoc/externals/zcbor/samples/pet/src/main.c +4 -4
  184. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_decode.c +15 -24
  185. package/external/libedhoc/externals/zcbor/samples/pet/src/pet_encode.c +14 -23
  186. package/external/libedhoc/externals/zcbor/src/zcbor_common.c +202 -29
  187. package/external/libedhoc/externals/zcbor/src/zcbor_decode.c +633 -173
  188. package/external/libedhoc/externals/zcbor/src/zcbor_encode.c +71 -184
  189. package/external/libedhoc/externals/zcbor/tests/decode/test1_suit_old_formats/src/main.c +152 -153
  190. package/external/libedhoc/externals/zcbor/tests/decode/test2_suit/src/main.c +64 -64
  191. package/external/libedhoc/externals/zcbor/tests/decode/test3_simple/src/main.c +15 -16
  192. package/external/libedhoc/externals/zcbor/tests/decode/test5_corner_cases/src/main.c +228 -84
  193. package/external/libedhoc/externals/zcbor/tests/decode/test7_suit9_simple/src/main.c +9 -9
  194. package/external/libedhoc/externals/zcbor/tests/decode/test8_suit12/src/main.c +0 -1
  195. package/external/libedhoc/externals/zcbor/tests/decode/test9_manifest14/src/main.c +172 -173
  196. package/external/libedhoc/externals/zcbor/tests/encode/test1_suit/src/main.c +73 -73
  197. package/external/libedhoc/externals/zcbor/tests/encode/test2_simple/src/main.c +1 -2
  198. package/external/libedhoc/externals/zcbor/tests/encode/test3_corner_cases/src/main.c +83 -56
  199. package/external/libedhoc/externals/zcbor/tests/encode/test4_senml/src/main.c +15 -16
  200. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_everything.c +12 -0
  201. package/external/libedhoc/externals/zcbor/tests/fuzz/fuzz_manifest12.c +69 -69
  202. package/external/libedhoc/externals/zcbor/tests/unit/test1_unit_tests/src/main.c +448 -55
  203. package/external/libedhoc/externals/zcbor/tests/unit/test3_float16/src/main.c +49 -48
  204. package/external/libedhoc/include/edhoc.h +348 -54
  205. package/external/libedhoc/include/edhoc_common.h +289 -0
  206. package/external/libedhoc/include/edhoc_context.h +60 -35
  207. package/external/libedhoc/include/edhoc_credentials.h +55 -7
  208. package/external/libedhoc/include/edhoc_crypto.h +10 -10
  209. package/external/libedhoc/include/edhoc_ead.h +13 -10
  210. package/external/libedhoc/include/edhoc_macros.h +20 -11
  211. package/external/libedhoc/include/edhoc_values.h +2 -2
  212. package/external/libedhoc/library/edhoc.c +70 -36
  213. package/external/libedhoc/library/edhoc_common.c +1314 -0
  214. package/external/libedhoc/library/edhoc_exporter.c +45 -46
  215. package/external/libedhoc/library/edhoc_message_1.c +107 -72
  216. package/external/libedhoc/library/edhoc_message_2.c +396 -1693
  217. package/external/libedhoc/library/edhoc_message_3.c +465 -1656
  218. package/external/libedhoc/library/edhoc_message_4.c +93 -91
  219. package/external/libedhoc/library/edhoc_message_error.c +41 -41
  220. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_0.h → cipher_suite_0.h} +131 -134
  221. package/external/libedhoc/tests/include/{cipher_suites/cipher_suite_2.h → cipher_suite_2.h} +139 -140
  222. package/external/libedhoc/tests/include/{edhoc_trace_1/test_vector_1.h → test_vector_rfc9529_chapter_2.h} +786 -738
  223. package/external/libedhoc/tests/include/{edhoc_trace_2/test_vector_2.h → test_vector_rfc9529_chapter_3.h} +14 -10
  224. package/external/libedhoc/tests/include/{x509_chain_cs_0/test_vector_x5chain_cs_0.h → test_vector_x5chain_sign_keys_suite_0.h} +137 -140
  225. package/external/libedhoc/tests/include/{x509_chain_cs_2/test_vector_x5chain_cs_2.h → test_vector_x5chain_sign_keys_suite_2.h} +7 -8
  226. package/external/libedhoc/tests/include/{x509_chain_cs_2_static_dh/test_vector_x5chain_cs_2_static_dh.h → test_vector_x5chain_static_dh_keys_suite_2.h} +7 -8
  227. package/external/libedhoc/tests/include/{x509_hash_cs_2/test_vector_x5t_cs_2.h → test_vector_x5t_sign_keys_suite_2.h} +6 -7
  228. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_0.c → cipher_suite_0.c} +445 -447
  229. package/external/libedhoc/tests/src/{cipher_suites/cipher_suite_2.c → cipher_suite_2.c} +600 -600
  230. package/external/libedhoc/tests/src/module_test_api.c +430 -0
  231. package/external/libedhoc/tests/src/module_test_cipher_suite_0.c +395 -0
  232. package/external/libedhoc/tests/src/module_test_cipher_suite_2.c +392 -0
  233. package/external/libedhoc/tests/src/{error_message/test_edhoc_error_message.c → module_test_error_message.c} +94 -69
  234. package/external/libedhoc/tests/src/module_test_main.c +49 -0
  235. package/external/libedhoc/tests/src/{cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.c → module_test_rfc9528_suites_negotiation.c} +224 -227
  236. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_2.c +2681 -0
  237. package/external/libedhoc/tests/src/module_test_rfc9529_chapter_3.c +1635 -0
  238. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_0.c +1135 -0
  239. package/external/libedhoc/tests/src/module_test_x5chain_sign_keys_suite_2.c +1249 -0
  240. package/external/libedhoc/tests/src/module_test_x5chain_static_dh_keys_suite_2.c +798 -0
  241. package/external/libedhoc/tests/src/module_test_x5t_sign_keys_suite_2.c +956 -0
  242. package/include/EdhocComposeAsyncWorker.h +8 -6
  243. package/include/EdhocCredentialManager.h +16 -11
  244. package/include/EdhocCryptoManager.h +28 -21
  245. package/include/EdhocEadManager.h +3 -6
  246. package/include/{EdhocExportAsyncWorker.h → EdhocExportOscoreAsyncWorker.h} +20 -17
  247. package/include/EdhocKeyExporterAsyncWorker.h +76 -0
  248. package/include/EdhocKeyUpdateAsyncWorker.h +72 -0
  249. package/include/EdhocProcessAsyncWorker.h +14 -10
  250. package/include/LibEDHOC.h +44 -20
  251. package/include/UserContext.h +7 -9
  252. package/include/Utils.h +31 -27
  253. package/package.json +14 -3
  254. package/prebuilds/android-arm/edhoc.armv7.node +0 -0
  255. package/prebuilds/android-arm64/edhoc.armv8.node +0 -0
  256. package/prebuilds/darwin-arm64/edhoc.node +0 -0
  257. package/prebuilds/darwin-x64/edhoc.node +0 -0
  258. package/prebuilds/linux-arm/edhoc.armv6.node +0 -0
  259. package/prebuilds/linux-arm/edhoc.armv7.node +0 -0
  260. package/prebuilds/linux-arm64/edhoc.armv8.node +0 -0
  261. package/prebuilds/linux-x64/edhoc.glibc.node +0 -0
  262. package/prebuilds/linux-x64/edhoc.musl.node +0 -0
  263. package/prebuilds/win32-ia32/edhoc.node +0 -0
  264. package/prebuilds/win32-x64/edhoc.node +0 -0
  265. package/src/EdhocComposeAsyncWorker.cpp +18 -35
  266. package/src/EdhocCredentialManager.cpp +160 -187
  267. package/src/EdhocCryptoManager.cpp +386 -586
  268. package/src/EdhocEadManager.cpp +10 -18
  269. package/src/EdhocExportOscoreAsyncWorker.cpp +77 -0
  270. package/src/EdhocKeyExporterAsyncWorker.cpp +49 -0
  271. package/src/EdhocKeyUpdateAsyncWorker.cpp +41 -0
  272. package/src/EdhocProcessAsyncWorker.cpp +72 -19
  273. package/src/LibEDHOC.cpp +213 -174
  274. package/src/Suites.cpp +39 -72
  275. package/src/Utils.cpp +32 -56
  276. package/test/basic.test.ts +64 -0
  277. package/test/vectors.test.ts +111 -0
  278. package/external/libedhoc/externals/zcbor/include/zcbor_debug.h +0 -69
  279. package/external/libedhoc/tests/include/cipher_suite_negotiation/test_edhoc_cipher_suite_negotiation.h +0 -37
  280. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_0.h +0 -48
  281. package/external/libedhoc/tests/include/cipher_suites/test_cipher_suite_2.h +0 -48
  282. package/external/libedhoc/tests/include/edhoc_trace_1/authentication_credentials_1.h +0 -60
  283. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_1.h +0 -208
  284. package/external/libedhoc/tests/include/edhoc_trace_1/test_edhoc_handshake_ead_1.h +0 -59
  285. package/external/libedhoc/tests/include/edhoc_trace_2/authentication_credentials_2.h +0 -60
  286. package/external/libedhoc/tests/include/edhoc_trace_2/test_edhoc_handshake_2.h +0 -199
  287. package/external/libedhoc/tests/include/error_message/test_edhoc_error_message.h +0 -48
  288. package/external/libedhoc/tests/include/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.h +0 -92
  289. package/external/libedhoc/tests/include/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.h +0 -96
  290. package/external/libedhoc/tests/include/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.h +0 -58
  291. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.h +0 -56
  292. package/external/libedhoc/tests/include/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.h +0 -57
  293. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.h +0 -59
  294. package/external/libedhoc/tests/include/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.h +0 -57
  295. package/external/libedhoc/tests/include/x509_hash_cs_2/authentication_credentials_x5t_cs_2.h +0 -60
  296. package/external/libedhoc/tests/include/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.h +0 -57
  297. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_0.c +0 -475
  298. package/external/libedhoc/tests/src/cipher_suites/test_cipher_suite_2.c +0 -473
  299. package/external/libedhoc/tests/src/edhoc_trace_1/authentication_credentials_1.c +0 -252
  300. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_1.c +0 -1829
  301. package/external/libedhoc/tests/src/edhoc_trace_1/test_edhoc_handshake_ead_1.c +0 -1247
  302. package/external/libedhoc/tests/src/edhoc_trace_2/authentication_credentials_2.c +0 -170
  303. package/external/libedhoc/tests/src/edhoc_trace_2/test_edhoc_handshake_2.c +0 -1783
  304. package/external/libedhoc/tests/src/tests.c +0 -228
  305. package/external/libedhoc/tests/src/x509_chain_cs_0/authentication_credentials_x5chain_cs_0.c +0 -332
  306. package/external/libedhoc/tests/src/x509_chain_cs_0/test_edhoc_handshake_x5chain_cs_0.c +0 -936
  307. package/external/libedhoc/tests/src/x509_chain_cs_2/authentication_credentials_x5chain_cs_2.c +0 -166
  308. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2.c +0 -587
  309. package/external/libedhoc/tests/src/x509_chain_cs_2/test_edhoc_handshake_x5chain_cs_2_ead.c +0 -917
  310. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/authentication_credentials_x5chain_cs_2_static_dh.c +0 -186
  311. package/external/libedhoc/tests/src/x509_chain_cs_2_static_dh/test_edhoc_handshake_x5chain_cs_2_static_dh_ead.c +0 -743
  312. package/external/libedhoc/tests/src/x509_hash_cs_2/authentication_credentials_x5t_cs_2.c +0 -261
  313. package/external/libedhoc/tests/src/x509_hash_cs_2/test_edhoc_handshake_x5t_cs_2_ead.c +0 -854
  314. package/src/EdhocExportAsyncWorker.cpp +0 -82
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,49 +10,58 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_encode.h"
12
12
  #include "backend_cbor_plaintext_3_encode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
16
17
  #endif
17
18
 
18
- static bool encode_repeated_map_kid(zcbor_state_t *state, const struct map_kid_ *input);
19
- static bool encode_COSE_X509(zcbor_state_t *state, const struct COSE_X509_ *input);
19
+ static bool encode_repeated_map_kid(zcbor_state_t *state, const struct map_kid_r *input);
20
+ static bool encode_COSE_X509(zcbor_state_t *state, const struct COSE_X509_r *input);
20
21
  static bool encode_repeated_map_x5chain(zcbor_state_t *state, const struct map_x5chain *input);
21
22
  static bool encode_COSE_CertHash(zcbor_state_t *state, const struct COSE_CertHash *input);
22
23
  static bool encode_repeated_map_x5t(zcbor_state_t *state, const struct map_x5t *input);
23
24
  static bool encode_map(zcbor_state_t *state, const struct map *input);
24
- static bool encode_repeated_ead_x(zcbor_state_t *state, const struct ead_x *input);
25
- static bool encode_ead_x(zcbor_state_t *state, const struct ead_x_ *input);
25
+ static bool encode_ead_y(zcbor_state_t *state, const struct ead_y *input);
26
+ static bool encode_EAD_3(zcbor_state_t *state, const struct EAD_3 *input);
26
27
  static bool encode_plaintext_3(zcbor_state_t *state, const struct plaintext_3 *input);
27
28
 
28
29
 
29
30
  static bool encode_repeated_map_kid(
30
- zcbor_state_t *state, const struct map_kid_ *input)
31
+ zcbor_state_t *state, const struct map_kid_r *input)
31
32
  {
32
- zcbor_print("%s\r\n", __func__);
33
+ zcbor_log("%s\r\n", __func__);
33
34
 
34
35
  bool tmp_result = ((((zcbor_uint32_put(state, (4))))
35
- && (((*input)._map_kid_choice == _map_kid_int) ? ((zcbor_int32_encode(state, (&(*input)._map_kid_int))))
36
- : (((*input)._map_kid_choice == _map_kid_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._map_kid_bstr))))
36
+ && (((*input).map_kid_choice == map_kid_int_c) ? ((zcbor_int32_encode(state, (&(*input).map_kid_int))))
37
+ : (((*input).map_kid_choice == map_kid_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).map_kid_bstr))))
37
38
  : false))));
38
39
 
39
- if (!tmp_result)
40
- zcbor_trace();
40
+ if (!tmp_result) {
41
+ zcbor_trace_file(state);
42
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
43
+ } else {
44
+ zcbor_log("%s success\r\n", __func__);
45
+ }
41
46
 
42
47
  return tmp_result;
43
48
  }
44
49
 
45
50
  static bool encode_COSE_X509(
46
- zcbor_state_t *state, const struct COSE_X509_ *input)
51
+ zcbor_state_t *state, const struct COSE_X509_r *input)
47
52
  {
48
- zcbor_print("%s\r\n", __func__);
53
+ zcbor_log("%s\r\n", __func__);
49
54
 
50
- bool tmp_result = (((((*input)._COSE_X509_choice == _COSE_X509_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._COSE_X509_bstr))))
51
- : (((*input)._COSE_X509_choice == _COSE_X509__certs) ? ((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(2, 3, &(*input)._COSE_X509__certs_certs_count, (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input)._COSE_X509__certs_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3)))
55
+ bool tmp_result = (((((*input).COSE_X509_choice == COSE_X509_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).COSE_X509_bstr))))
56
+ : (((*input).COSE_X509_choice == COSE_X509_certs_l_c) ? ((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(2, 3, &(*input).COSE_X509_certs_l_certs_count, (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input).COSE_X509_certs_l_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3)))
52
57
  : false))));
53
58
 
54
- if (!tmp_result)
55
- zcbor_trace();
59
+ if (!tmp_result) {
60
+ zcbor_trace_file(state);
61
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
62
+ } else {
63
+ zcbor_log("%s success\r\n", __func__);
64
+ }
56
65
 
57
66
  return tmp_result;
58
67
  }
@@ -60,13 +69,17 @@ static bool encode_COSE_X509(
60
69
  static bool encode_repeated_map_x5chain(
61
70
  zcbor_state_t *state, const struct map_x5chain *input)
62
71
  {
63
- zcbor_print("%s\r\n", __func__);
72
+ zcbor_log("%s\r\n", __func__);
64
73
 
65
74
  bool tmp_result = ((((zcbor_uint32_put(state, (33))))
66
- && (encode_COSE_X509(state, (&(*input)._map_x5chain)))));
75
+ && (encode_COSE_X509(state, (&(*input).map_x5chain)))));
67
76
 
68
- if (!tmp_result)
69
- zcbor_trace();
77
+ if (!tmp_result) {
78
+ zcbor_trace_file(state);
79
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
80
+ } else {
81
+ zcbor_log("%s success\r\n", __func__);
82
+ }
70
83
 
71
84
  return tmp_result;
72
85
  }
@@ -74,15 +87,19 @@ static bool encode_repeated_map_x5chain(
74
87
  static bool encode_COSE_CertHash(
75
88
  zcbor_state_t *state, const struct COSE_CertHash *input)
76
89
  {
77
- zcbor_print("%s\r\n", __func__);
90
+ zcbor_log("%s\r\n", __func__);
78
91
 
79
- bool tmp_result = (((zcbor_list_start_encode(state, 2) && ((((((*input)._COSE_CertHash_hashAlg_choice == _COSE_CertHash_hashAlg_int) ? ((zcbor_int32_encode(state, (&(*input)._COSE_CertHash_hashAlg_int))))
80
- : (((*input)._COSE_CertHash_hashAlg_choice == _COSE_CertHash_hashAlg_tstr) ? ((zcbor_tstr_encode(state, (&(*input)._COSE_CertHash_hashAlg_tstr))))
92
+ bool tmp_result = (((zcbor_list_start_encode(state, 2) && ((((((*input).COSE_CertHash_hashAlg_choice == COSE_CertHash_hashAlg_int_c) ? ((zcbor_int32_encode(state, (&(*input).COSE_CertHash_hashAlg_int))))
93
+ : (((*input).COSE_CertHash_hashAlg_choice == COSE_CertHash_hashAlg_tstr_c) ? ((zcbor_tstr_encode(state, (&(*input).COSE_CertHash_hashAlg_tstr))))
81
94
  : false)))
82
- && ((zcbor_bstr_encode(state, (&(*input)._COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 2))));
95
+ && ((zcbor_bstr_encode(state, (&(*input).COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 2))));
83
96
 
84
- if (!tmp_result)
85
- zcbor_trace();
97
+ if (!tmp_result) {
98
+ zcbor_trace_file(state);
99
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
100
+ } else {
101
+ zcbor_log("%s success\r\n", __func__);
102
+ }
86
103
 
87
104
  return tmp_result;
88
105
  }
@@ -90,13 +107,17 @@ static bool encode_COSE_CertHash(
90
107
  static bool encode_repeated_map_x5t(
91
108
  zcbor_state_t *state, const struct map_x5t *input)
92
109
  {
93
- zcbor_print("%s\r\n", __func__);
110
+ zcbor_log("%s\r\n", __func__);
94
111
 
95
112
  bool tmp_result = ((((zcbor_uint32_put(state, (34))))
96
- && (encode_COSE_CertHash(state, (&(*input)._map_x5t)))));
113
+ && (encode_COSE_CertHash(state, (&(*input).map_x5t)))));
97
114
 
98
- if (!tmp_result)
99
- zcbor_trace();
115
+ if (!tmp_result) {
116
+ zcbor_trace_file(state);
117
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
118
+ } else {
119
+ zcbor_log("%s success\r\n", __func__);
120
+ }
100
121
 
101
122
  return tmp_result;
102
123
  }
@@ -104,41 +125,53 @@ static bool encode_repeated_map_x5t(
104
125
  static bool encode_map(
105
126
  zcbor_state_t *state, const struct map *input)
106
127
  {
107
- zcbor_print("%s\r\n", __func__);
128
+ zcbor_log("%s\r\n", __func__);
108
129
 
109
- bool tmp_result = (((zcbor_map_start_encode(state, 3) && ((zcbor_present_encode(&((*input)._map_kid_present), (zcbor_encoder_t *)encode_repeated_map_kid, state, (&(*input)._map_kid))
110
- && zcbor_present_encode(&((*input)._map_x5chain_present), (zcbor_encoder_t *)encode_repeated_map_x5chain, state, (&(*input)._map_x5chain))
111
- && zcbor_present_encode(&((*input)._map_x5t_present), (zcbor_encoder_t *)encode_repeated_map_x5t, state, (&(*input)._map_x5t))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_map_end_encode(state, 3))));
130
+ bool tmp_result = (((zcbor_map_start_encode(state, 3) && (((!(*input).map_kid_present || encode_repeated_map_kid(state, (&(*input).map_kid)))
131
+ && (!(*input).map_x5chain_present || encode_repeated_map_x5chain(state, (&(*input).map_x5chain)))
132
+ && (!(*input).map_x5t_present || encode_repeated_map_x5t(state, (&(*input).map_x5t)))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_map_end_encode(state, 3))));
112
133
 
113
- if (!tmp_result)
114
- zcbor_trace();
134
+ if (!tmp_result) {
135
+ zcbor_trace_file(state);
136
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
137
+ } else {
138
+ zcbor_log("%s success\r\n", __func__);
139
+ }
115
140
 
116
141
  return tmp_result;
117
142
  }
118
143
 
119
- static bool encode_repeated_ead_x(
120
- zcbor_state_t *state, const struct ead_x *input)
144
+ static bool encode_ead_y(
145
+ zcbor_state_t *state, const struct ead_y *input)
121
146
  {
122
- zcbor_print("%s\r\n", __func__);
147
+ zcbor_log("%s\r\n", __func__);
123
148
 
124
- bool tmp_result = (((((zcbor_int32_encode(state, (&(*input)._ead_x_ead_label))))
125
- && zcbor_present_encode(&((*input)._ead_x_ead_value_present), (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input)._ead_x_ead_value)))));
149
+ bool tmp_result = (((((zcbor_int32_encode(state, (&(*input).ead_y_ead_label))))
150
+ && (!(*input).ead_y_ead_value_present || zcbor_bstr_encode(state, (&(*input).ead_y_ead_value))))));
126
151
 
127
- if (!tmp_result)
128
- zcbor_trace();
152
+ if (!tmp_result) {
153
+ zcbor_trace_file(state);
154
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
155
+ } else {
156
+ zcbor_log("%s success\r\n", __func__);
157
+ }
129
158
 
130
159
  return tmp_result;
131
160
  }
132
161
 
133
- static bool encode_ead_x(
134
- zcbor_state_t *state, const struct ead_x_ *input)
162
+ static bool encode_EAD_3(
163
+ zcbor_state_t *state, const struct EAD_3 *input)
135
164
  {
136
- zcbor_print("%s\r\n", __func__);
165
+ zcbor_log("%s\r\n", __func__);
137
166
 
138
- bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input)._ead_x_count, (zcbor_encoder_t *)encode_repeated_ead_x, state, (&(*input)._ead_x), sizeof(struct ead_x)));
167
+ bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input).EAD_3_count, (zcbor_encoder_t *)encode_ead_y, state, (&(*input).EAD_3), sizeof(struct ead_y)));
139
168
 
140
- if (!tmp_result)
141
- zcbor_trace();
169
+ if (!tmp_result) {
170
+ zcbor_trace_file(state);
171
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
172
+ } else {
173
+ zcbor_log("%s success\r\n", __func__);
174
+ }
142
175
 
143
176
  return tmp_result;
144
177
  }
@@ -146,17 +179,21 @@ static bool encode_ead_x(
146
179
  static bool encode_plaintext_3(
147
180
  zcbor_state_t *state, const struct plaintext_3 *input)
148
181
  {
149
- zcbor_print("%s\r\n", __func__);
182
+ zcbor_log("%s\r\n", __func__);
150
183
 
151
- bool tmp_result = (((((((*input)._plaintext_3_ID_CRED_I_choice == _plaintext_3_ID_CRED_I_int) ? ((zcbor_int32_encode(state, (&(*input)._plaintext_3_ID_CRED_I_int))))
152
- : (((*input)._plaintext_3_ID_CRED_I_choice == _plaintext_3_ID_CRED_I_bstr) ? ((zcbor_bstr_encode(state, (&(*input)._plaintext_3_ID_CRED_I_bstr))))
153
- : (((*input)._plaintext_3_ID_CRED_I_choice == _plaintext_3_ID_CRED_I__map) ? ((encode_map(state, (&(*input)._plaintext_3_ID_CRED_I__map))))
184
+ bool tmp_result = (((((((*input).plaintext_3_ID_CRED_I_choice == plaintext_3_ID_CRED_I_int_c) ? ((zcbor_int32_encode(state, (&(*input).plaintext_3_ID_CRED_I_int))))
185
+ : (((*input).plaintext_3_ID_CRED_I_choice == plaintext_3_ID_CRED_I_bstr_c) ? ((zcbor_bstr_encode(state, (&(*input).plaintext_3_ID_CRED_I_bstr))))
186
+ : (((*input).plaintext_3_ID_CRED_I_choice == plaintext_3_ID_CRED_I_map_m_c) ? ((encode_map(state, (&(*input).plaintext_3_ID_CRED_I_map_m))))
154
187
  : false))))
155
- && ((zcbor_bstr_encode(state, (&(*input)._plaintext_3_Signature_or_MAC_3))))
156
- && zcbor_present_encode(&((*input)._plaintext_3_EAD_3_present), (zcbor_encoder_t *)encode_ead_x, state, (&(*input)._plaintext_3_EAD_3)))));
157
-
158
- if (!tmp_result)
159
- zcbor_trace();
188
+ && ((zcbor_bstr_encode(state, (&(*input).plaintext_3_Signature_or_MAC_3))))
189
+ && (!(*input).plaintext_3_EAD_3_m_present || encode_EAD_3(state, (&(*input).plaintext_3_EAD_3_m))))));
190
+
191
+ if (!tmp_result) {
192
+ zcbor_trace_file(state);
193
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
194
+ } else {
195
+ zcbor_log("%s success\r\n", __func__);
196
+ }
160
197
 
161
198
  return tmp_result;
162
199
  }
@@ -170,20 +207,6 @@ int cbor_encode_plaintext_3(
170
207
  {
171
208
  zcbor_state_t states[6];
172
209
 
173
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 8);
174
-
175
- bool ret = encode_plaintext_3(states, input);
176
-
177
- if (ret && (payload_len_out != NULL)) {
178
- *payload_len_out = MIN(payload_len,
179
- (size_t)states[0].payload - (size_t)payload);
180
- }
181
-
182
- if (!ret) {
183
- int err = zcbor_pop_error(states);
184
-
185
- zcbor_print("Return error: %d\r\n", err);
186
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
187
- }
188
- return ZCBOR_SUCCESS;
210
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
211
+ (zcbor_decoder_t *)encode_plaintext_3, sizeof(states) / sizeof(zcbor_state_t), 8);
189
212
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,79 +10,78 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_decode.h"
12
12
  #include "backend_cbor_plaintext_4_decode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
16
17
  #endif
17
18
 
18
- static bool decode_repeated_ead_x(zcbor_state_t *state, struct ead_x *result);
19
- static bool decode_ead_x(zcbor_state_t *state, struct ead_x_ *result);
20
- static bool decode_plaintext_4_EAD_4(zcbor_state_t *state, struct plaintext_4_EAD_4 *result);
19
+ static bool decode_ead_y(zcbor_state_t *state, struct ead_y *result);
20
+ static bool decode_EAD_4(zcbor_state_t *state, struct EAD_4 *result);
21
+ static bool decode_plaintext_4(zcbor_state_t *state, struct plaintext_4 *result);
21
22
 
22
23
 
23
- static bool decode_repeated_ead_x(
24
- zcbor_state_t *state, struct ead_x *result)
24
+ static bool decode_ead_y(
25
+ zcbor_state_t *state, struct ead_y *result)
25
26
  {
26
- zcbor_print("%s\r\n", __func__);
27
+ zcbor_log("%s\r\n", __func__);
27
28
 
28
- bool tmp_result = (((((zcbor_int32_decode(state, (&(*result)._ead_x_ead_label))))
29
- && zcbor_present_decode(&((*result)._ead_x_ead_value_present), (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result)._ead_x_ead_value)))));
29
+ bool tmp_result = (((((zcbor_int32_decode(state, (&(*result).ead_y_ead_label))))
30
+ && ((*result).ead_y_ead_value_present = ((zcbor_bstr_decode(state, (&(*result).ead_y_ead_value)))), 1))));
30
31
 
31
- if (!tmp_result)
32
- zcbor_trace();
32
+ if (!tmp_result) {
33
+ zcbor_trace_file(state);
34
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
35
+ } else {
36
+ zcbor_log("%s success\r\n", __func__);
37
+ }
33
38
 
34
39
  return tmp_result;
35
40
  }
36
41
 
37
- static bool decode_ead_x(
38
- zcbor_state_t *state, struct ead_x_ *result)
42
+ static bool decode_EAD_4(
43
+ zcbor_state_t *state, struct EAD_4 *result)
39
44
  {
40
- zcbor_print("%s\r\n", __func__);
45
+ zcbor_log("%s\r\n", __func__);
41
46
 
42
- bool tmp_result = (zcbor_multi_decode(1, 3, &(*result)._ead_x_count, (zcbor_decoder_t *)decode_repeated_ead_x, state, (&(*result)._ead_x), sizeof(struct ead_x)));
47
+ bool tmp_result = (zcbor_multi_decode(1, 3, &(*result).EAD_4_count, (zcbor_decoder_t *)decode_ead_y, state, (&(*result).EAD_4), sizeof(struct ead_y)));
43
48
 
44
- if (!tmp_result)
45
- zcbor_trace();
49
+ if (!tmp_result) {
50
+ zcbor_trace_file(state);
51
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
52
+ } else {
53
+ zcbor_log("%s success\r\n", __func__);
54
+ }
46
55
 
47
56
  return tmp_result;
48
57
  }
49
58
 
50
- static bool decode_plaintext_4_EAD_4(
51
- zcbor_state_t *state, struct plaintext_4_EAD_4 *result)
59
+ static bool decode_plaintext_4(
60
+ zcbor_state_t *state, struct plaintext_4 *result)
52
61
  {
53
- zcbor_print("%s\r\n", __func__);
62
+ zcbor_log("%s\r\n", __func__);
54
63
 
55
- bool tmp_result = (zcbor_present_decode(&((*result)._plaintext_4_EAD_4_present), (zcbor_decoder_t *)decode_ead_x, state, (&(*result)._plaintext_4_EAD_4)));
64
+ bool tmp_result = (((*result).plaintext_4_present = ((decode_EAD_4(state, (&(*result).plaintext_4)))), 1));
56
65
 
57
- if (!tmp_result)
58
- zcbor_trace();
66
+ if (!tmp_result) {
67
+ zcbor_trace_file(state);
68
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
69
+ } else {
70
+ zcbor_log("%s success\r\n", __func__);
71
+ }
59
72
 
60
73
  return tmp_result;
61
74
  }
62
75
 
63
76
 
64
77
 
65
- int cbor_decode_plaintext_4_EAD_4(
78
+ int cbor_decode_plaintext_4(
66
79
  const uint8_t *payload, size_t payload_len,
67
- struct plaintext_4_EAD_4 *result,
80
+ struct plaintext_4 *result,
68
81
  size_t *payload_len_out)
69
82
  {
70
83
  zcbor_state_t states[2];
71
84
 
72
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 6);
73
-
74
- bool ret = decode_plaintext_4_EAD_4(states, result);
75
-
76
- if (ret && (payload_len_out != NULL)) {
77
- *payload_len_out = MIN(payload_len,
78
- (size_t)states[0].payload - (size_t)payload);
79
- }
80
-
81
- if (!ret) {
82
- int err = zcbor_pop_error(states);
83
-
84
- zcbor_print("Return error: %d\r\n", err);
85
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
86
- }
87
- return ZCBOR_SUCCESS;
85
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
86
+ (zcbor_decoder_t *)decode_plaintext_4, sizeof(states) / sizeof(zcbor_state_t), 6);
88
87
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,79 +10,78 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_encode.h"
12
12
  #include "backend_cbor_plaintext_4_encode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
16
17
  #endif
17
18
 
18
- static bool encode_repeated_ead_x(zcbor_state_t *state, const struct ead_x *input);
19
- static bool encode_ead_x(zcbor_state_t *state, const struct ead_x_ *input);
20
- static bool encode_plaintext_4_EAD_4(zcbor_state_t *state, const struct plaintext_4_EAD_4 *input);
19
+ static bool encode_ead_y(zcbor_state_t *state, const struct ead_y *input);
20
+ static bool encode_EAD_4(zcbor_state_t *state, const struct EAD_4 *input);
21
+ static bool encode_plaintext_4(zcbor_state_t *state, const struct plaintext_4 *input);
21
22
 
22
23
 
23
- static bool encode_repeated_ead_x(
24
- zcbor_state_t *state, const struct ead_x *input)
24
+ static bool encode_ead_y(
25
+ zcbor_state_t *state, const struct ead_y *input)
25
26
  {
26
- zcbor_print("%s\r\n", __func__);
27
+ zcbor_log("%s\r\n", __func__);
27
28
 
28
- bool tmp_result = (((((zcbor_int32_encode(state, (&(*input)._ead_x_ead_label))))
29
- && zcbor_present_encode(&((*input)._ead_x_ead_value_present), (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input)._ead_x_ead_value)))));
29
+ bool tmp_result = (((((zcbor_int32_encode(state, (&(*input).ead_y_ead_label))))
30
+ && (!(*input).ead_y_ead_value_present || zcbor_bstr_encode(state, (&(*input).ead_y_ead_value))))));
30
31
 
31
- if (!tmp_result)
32
- zcbor_trace();
32
+ if (!tmp_result) {
33
+ zcbor_trace_file(state);
34
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
35
+ } else {
36
+ zcbor_log("%s success\r\n", __func__);
37
+ }
33
38
 
34
39
  return tmp_result;
35
40
  }
36
41
 
37
- static bool encode_ead_x(
38
- zcbor_state_t *state, const struct ead_x_ *input)
42
+ static bool encode_EAD_4(
43
+ zcbor_state_t *state, const struct EAD_4 *input)
39
44
  {
40
- zcbor_print("%s\r\n", __func__);
45
+ zcbor_log("%s\r\n", __func__);
41
46
 
42
- bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input)._ead_x_count, (zcbor_encoder_t *)encode_repeated_ead_x, state, (&(*input)._ead_x), sizeof(struct ead_x)));
47
+ bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input).EAD_4_count, (zcbor_encoder_t *)encode_ead_y, state, (&(*input).EAD_4), sizeof(struct ead_y)));
43
48
 
44
- if (!tmp_result)
45
- zcbor_trace();
49
+ if (!tmp_result) {
50
+ zcbor_trace_file(state);
51
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
52
+ } else {
53
+ zcbor_log("%s success\r\n", __func__);
54
+ }
46
55
 
47
56
  return tmp_result;
48
57
  }
49
58
 
50
- static bool encode_plaintext_4_EAD_4(
51
- zcbor_state_t *state, const struct plaintext_4_EAD_4 *input)
59
+ static bool encode_plaintext_4(
60
+ zcbor_state_t *state, const struct plaintext_4 *input)
52
61
  {
53
- zcbor_print("%s\r\n", __func__);
62
+ zcbor_log("%s\r\n", __func__);
54
63
 
55
- bool tmp_result = (zcbor_present_encode(&((*input)._plaintext_4_EAD_4_present), (zcbor_encoder_t *)encode_ead_x, state, (&(*input)._plaintext_4_EAD_4)));
64
+ bool tmp_result = ((!(*input).plaintext_4_present || encode_EAD_4(state, (&(*input).plaintext_4))));
56
65
 
57
- if (!tmp_result)
58
- zcbor_trace();
66
+ if (!tmp_result) {
67
+ zcbor_trace_file(state);
68
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
69
+ } else {
70
+ zcbor_log("%s success\r\n", __func__);
71
+ }
59
72
 
60
73
  return tmp_result;
61
74
  }
62
75
 
63
76
 
64
77
 
65
- int cbor_encode_plaintext_4_EAD_4(
78
+ int cbor_encode_plaintext_4(
66
79
  uint8_t *payload, size_t payload_len,
67
- const struct plaintext_4_EAD_4 *input,
80
+ const struct plaintext_4 *input,
68
81
  size_t *payload_len_out)
69
82
  {
70
83
  zcbor_state_t states[2];
71
84
 
72
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 6);
73
-
74
- bool ret = encode_plaintext_4_EAD_4(states, input);
75
-
76
- if (ret && (payload_len_out != NULL)) {
77
- *payload_len_out = MIN(payload_len,
78
- (size_t)states[0].payload - (size_t)payload);
79
- }
80
-
81
- if (!ret) {
82
- int err = zcbor_pop_error(states);
83
-
84
- zcbor_print("Return error: %d\r\n", err);
85
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
86
- }
87
- return ZCBOR_SUCCESS;
85
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
86
+ (zcbor_decoder_t *)encode_plaintext_4, sizeof(states) / sizeof(zcbor_state_t), 6);
88
87
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,6 +10,7 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_decode.h"
12
12
  #include "backend_cbor_sig_structure_decode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
@@ -21,16 +22,20 @@ static bool decode_sig_structure(zcbor_state_t *state, struct sig_structure *res
21
22
  static bool decode_sig_structure(
22
23
  zcbor_state_t *state, struct sig_structure *result)
23
24
  {
24
- zcbor_print("%s\r\n", __func__);
25
+ zcbor_log("%s\r\n", __func__);
25
26
  struct zcbor_string tmp_str;
26
27
 
27
28
  bool tmp_result = (((zcbor_list_start_decode(state) && ((((zcbor_tstr_expect(state, ((tmp_str.value = (uint8_t *)"Signature1", tmp_str.len = sizeof("Signature1") - 1, &tmp_str)))))
28
- && ((zcbor_bstr_decode(state, (&(*result)._sig_structure_protected))))
29
- && ((zcbor_bstr_decode(state, (&(*result)._sig_structure_external_aad))))
30
- && ((zcbor_bstr_decode(state, (&(*result)._sig_structure_payload))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
31
-
32
- if (!tmp_result)
33
- zcbor_trace();
29
+ && ((zcbor_bstr_decode(state, (&(*result).sig_structure_protected))))
30
+ && ((zcbor_bstr_decode(state, (&(*result).sig_structure_external_aad))))
31
+ && ((zcbor_bstr_decode(state, (&(*result).sig_structure_payload))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
32
+
33
+ if (!tmp_result) {
34
+ zcbor_trace_file(state);
35
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
36
+ } else {
37
+ zcbor_log("%s success\r\n", __func__);
38
+ }
34
39
 
35
40
  return tmp_result;
36
41
  }
@@ -44,20 +49,6 @@ int cbor_decode_sig_structure(
44
49
  {
45
50
  zcbor_state_t states[3];
46
51
 
47
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 1);
48
-
49
- bool ret = decode_sig_structure(states, result);
50
-
51
- if (ret && (payload_len_out != NULL)) {
52
- *payload_len_out = MIN(payload_len,
53
- (size_t)states[0].payload - (size_t)payload);
54
- }
55
-
56
- if (!ret) {
57
- int err = zcbor_pop_error(states);
58
-
59
- zcbor_print("Return error: %d\r\n", err);
60
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
61
- }
62
- return ZCBOR_SUCCESS;
52
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
53
+ (zcbor_decoder_t *)decode_sig_structure, sizeof(states) / sizeof(zcbor_state_t), 1);
63
54
  }
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Generated using zcbor version 0.7.0
2
+ * Generated using zcbor version 0.8.1
3
3
  * https://github.com/NordicSemiconductor/zcbor
4
4
  * Generated with a --default-max-qty of 3
5
5
  */
@@ -10,6 +10,7 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_encode.h"
12
12
  #include "backend_cbor_sig_structure_encode.h"
13
+ #include "zcbor_print.h"
13
14
 
14
15
  #if DEFAULT_MAX_QTY != 3
15
16
  #error "The type file was generated with a different default_max_qty than this file"
@@ -21,16 +22,20 @@ static bool encode_sig_structure(zcbor_state_t *state, const struct sig_structur
21
22
  static bool encode_sig_structure(
22
23
  zcbor_state_t *state, const struct sig_structure *input)
23
24
  {
24
- zcbor_print("%s\r\n", __func__);
25
+ zcbor_log("%s\r\n", __func__);
25
26
  struct zcbor_string tmp_str;
26
27
 
27
28
  bool tmp_result = (((zcbor_list_start_encode(state, 4) && ((((zcbor_tstr_encode(state, ((tmp_str.value = (uint8_t *)"Signature1", tmp_str.len = sizeof("Signature1") - 1, &tmp_str)))))
28
- && ((zcbor_bstr_encode(state, (&(*input)._sig_structure_protected))))
29
- && ((zcbor_bstr_encode(state, (&(*input)._sig_structure_external_aad))))
30
- && ((zcbor_bstr_encode(state, (&(*input)._sig_structure_payload))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 4))));
31
-
32
- if (!tmp_result)
33
- zcbor_trace();
29
+ && ((zcbor_bstr_encode(state, (&(*input).sig_structure_protected))))
30
+ && ((zcbor_bstr_encode(state, (&(*input).sig_structure_external_aad))))
31
+ && ((zcbor_bstr_encode(state, (&(*input).sig_structure_payload))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 4))));
32
+
33
+ if (!tmp_result) {
34
+ zcbor_trace_file(state);
35
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
36
+ } else {
37
+ zcbor_log("%s success\r\n", __func__);
38
+ }
34
39
 
35
40
  return tmp_result;
36
41
  }
@@ -44,20 +49,6 @@ int cbor_encode_sig_structure(
44
49
  {
45
50
  zcbor_state_t states[3];
46
51
 
47
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 1);
48
-
49
- bool ret = encode_sig_structure(states, input);
50
-
51
- if (ret && (payload_len_out != NULL)) {
52
- *payload_len_out = MIN(payload_len,
53
- (size_t)states[0].payload - (size_t)payload);
54
- }
55
-
56
- if (!ret) {
57
- int err = zcbor_pop_error(states);
58
-
59
- zcbor_print("Return error: %d\r\n", err);
60
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
61
- }
62
- return ZCBOR_SUCCESS;
52
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
53
+ (zcbor_decoder_t *)encode_sig_structure, sizeof(states) / sizeof(zcbor_state_t), 1);
63
54
  }