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,43 +10,52 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_decode.h"
12
12
  #include "backend_cbor_message_error_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_suites(zcbor_state_t *state, struct suites_ *result);
19
- static bool decode_repeated_message_error_ERR_INFO(zcbor_state_t *state, struct message_error_ERR_INFO_ *result);
19
+ static bool decode_suites(zcbor_state_t *state, struct suites_r *result);
20
+ static bool decode_repeated_message_error_ERR_INFO(zcbor_state_t *state, struct message_error_ERR_INFO_r *result);
20
21
  static bool decode_message_error(zcbor_state_t *state, struct message_error *result);
21
22
 
22
23
 
23
24
  static bool decode_suites(
24
- zcbor_state_t *state, struct suites_ *result)
25
+ zcbor_state_t *state, struct suites_r *result)
25
26
  {
26
- zcbor_print("%s\r\n", __func__);
27
+ zcbor_log("%s\r\n", __func__);
27
28
  bool int_res;
28
29
 
29
- bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_list_start_decode(state) && ((zcbor_multi_decode(2, 3, &(*result)._suites__int_int_count, (zcbor_decoder_t *)zcbor_int32_decode, state, (&(*result)._suites__int_int), sizeof(int32_t))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))) && (((*result)._suites_choice = _suites__int), true))
30
- || (zcbor_union_elem_code(state) && (((zcbor_int32_decode(state, (&(*result)._suites_int)))) && (((*result)._suites_choice = _suites_int), true)))), zcbor_union_end_code(state), int_res))));
30
+ bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_list_start_decode(state) && ((zcbor_multi_decode(2, 3, &(*result).suites_int_l_int_count, (zcbor_decoder_t *)zcbor_int32_decode, state, (&(*result).suites_int_l_int), sizeof(int32_t))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))) && (((*result).suites_choice = suites_int_l_c), true))
31
+ || (zcbor_union_elem_code(state) && (((zcbor_int32_decode(state, (&(*result).suites_int)))) && (((*result).suites_choice = suites_int_c), true)))), zcbor_union_end_code(state), int_res))));
31
32
 
32
- if (!tmp_result)
33
- zcbor_trace();
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
  }
37
42
 
38
43
  static bool decode_repeated_message_error_ERR_INFO(
39
- zcbor_state_t *state, struct message_error_ERR_INFO_ *result)
44
+ zcbor_state_t *state, struct message_error_ERR_INFO_r *result)
40
45
  {
41
- zcbor_print("%s\r\n", __func__);
46
+ zcbor_log("%s\r\n", __func__);
42
47
  bool int_res;
43
48
 
44
- bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_tstr_decode(state, (&(*result)._message_error_ERR_INFO_tstr)))) && (((*result)._message_error_ERR_INFO_choice = _message_error_ERR_INFO_tstr), true))
45
- || (zcbor_union_elem_code(state) && (((decode_suites(state, (&(*result)._message_error_ERR_INFO__suites)))) && (((*result)._message_error_ERR_INFO_choice = _message_error_ERR_INFO__suites), true)))
46
- || (zcbor_union_elem_code(state) && (((zcbor_bool_expect(state, (true)))) && (((*result)._message_error_ERR_INFO_choice = _message_error_ERR_INFO_bool), true)))), zcbor_union_end_code(state), int_res))));
49
+ bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_tstr_decode(state, (&(*result).message_error_ERR_INFO_tstr)))) && (((*result).message_error_ERR_INFO_choice = message_error_ERR_INFO_tstr_c), true))
50
+ || (zcbor_union_elem_code(state) && (((decode_suites(state, (&(*result).message_error_ERR_INFO_suites_m)))) && (((*result).message_error_ERR_INFO_choice = message_error_ERR_INFO_suites_m_c), true)))
51
+ || (zcbor_union_elem_code(state) && (((zcbor_bool_expect(state, (true)))) && (((*result).message_error_ERR_INFO_choice = message_error_ERR_INFO_bool_c), true)))), zcbor_union_end_code(state), int_res))));
47
52
 
48
- if (!tmp_result)
49
- zcbor_trace();
53
+ if (!tmp_result) {
54
+ zcbor_trace_file(state);
55
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
56
+ } else {
57
+ zcbor_log("%s success\r\n", __func__);
58
+ }
50
59
 
51
60
  return tmp_result;
52
61
  }
@@ -54,13 +63,17 @@ static bool decode_repeated_message_error_ERR_INFO(
54
63
  static bool decode_message_error(
55
64
  zcbor_state_t *state, struct message_error *result)
56
65
  {
57
- zcbor_print("%s\r\n", __func__);
66
+ zcbor_log("%s\r\n", __func__);
58
67
 
59
- bool tmp_result = (((((zcbor_int32_decode(state, (&(*result)._message_error_ERR_CODE))))
60
- && zcbor_present_decode(&((*result)._message_error_ERR_INFO_present), (zcbor_decoder_t *)decode_repeated_message_error_ERR_INFO, state, (&(*result)._message_error_ERR_INFO)))));
68
+ bool tmp_result = (((((zcbor_int32_decode(state, (&(*result).message_error_ERR_CODE))))
69
+ && zcbor_present_decode(&((*result).message_error_ERR_INFO_present), (zcbor_decoder_t *)decode_repeated_message_error_ERR_INFO, state, (&(*result).message_error_ERR_INFO)))));
61
70
 
62
- if (!tmp_result)
63
- zcbor_trace();
71
+ if (!tmp_result) {
72
+ zcbor_trace_file(state);
73
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
74
+ } else {
75
+ zcbor_log("%s success\r\n", __func__);
76
+ }
64
77
 
65
78
  return tmp_result;
66
79
  }
@@ -74,20 +87,6 @@ int cbor_decode_message_error(
74
87
  {
75
88
  zcbor_state_t states[5];
76
89
 
77
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 2);
78
-
79
- bool ret = decode_message_error(states, result);
80
-
81
- if (ret && (payload_len_out != NULL)) {
82
- *payload_len_out = MIN(payload_len,
83
- (size_t)states[0].payload - (size_t)payload);
84
- }
85
-
86
- if (!ret) {
87
- int err = zcbor_pop_error(states);
88
-
89
- zcbor_print("Return error: %d\r\n", err);
90
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
91
- }
92
- return ZCBOR_SUCCESS;
90
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
91
+ (zcbor_decoder_t *)decode_message_error, sizeof(states) / sizeof(zcbor_state_t), 2);
93
92
  }
@@ -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,43 +10,52 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_encode.h"
12
12
  #include "backend_cbor_message_error_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_suites(zcbor_state_t *state, const struct suites_ *input);
19
- static bool encode_repeated_message_error_ERR_INFO(zcbor_state_t *state, const struct message_error_ERR_INFO_ *input);
19
+ static bool encode_suites(zcbor_state_t *state, const struct suites_r *input);
20
+ static bool encode_repeated_message_error_ERR_INFO(zcbor_state_t *state, const struct message_error_ERR_INFO_r *input);
20
21
  static bool encode_message_error(zcbor_state_t *state, const struct message_error *input);
21
22
 
22
23
 
23
24
  static bool encode_suites(
24
- zcbor_state_t *state, const struct suites_ *input)
25
+ zcbor_state_t *state, const struct suites_r *input)
25
26
  {
26
- zcbor_print("%s\r\n", __func__);
27
+ zcbor_log("%s\r\n", __func__);
27
28
 
28
- bool tmp_result = (((((*input)._suites_choice == _suites__int) ? ((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(2, 3, &(*input)._suites__int_int_count, (zcbor_encoder_t *)zcbor_int32_encode, state, (&(*input)._suites__int_int), sizeof(int32_t))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3)))
29
- : (((*input)._suites_choice == _suites_int) ? ((zcbor_int32_encode(state, (&(*input)._suites_int))))
29
+ bool tmp_result = (((((*input).suites_choice == suites_int_l_c) ? ((zcbor_list_start_encode(state, 3) && ((zcbor_multi_encode_minmax(2, 3, &(*input).suites_int_l_int_count, (zcbor_encoder_t *)zcbor_int32_encode, state, (&(*input).suites_int_l_int), sizeof(int32_t))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3)))
30
+ : (((*input).suites_choice == suites_int_c) ? ((zcbor_int32_encode(state, (&(*input).suites_int))))
30
31
  : false))));
31
32
 
32
- if (!tmp_result)
33
- zcbor_trace();
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
  }
37
42
 
38
43
  static bool encode_repeated_message_error_ERR_INFO(
39
- zcbor_state_t *state, const struct message_error_ERR_INFO_ *input)
44
+ zcbor_state_t *state, const struct message_error_ERR_INFO_r *input)
40
45
  {
41
- zcbor_print("%s\r\n", __func__);
46
+ zcbor_log("%s\r\n", __func__);
42
47
 
43
- bool tmp_result = (((((*input)._message_error_ERR_INFO_choice == _message_error_ERR_INFO_tstr) ? ((zcbor_tstr_encode(state, (&(*input)._message_error_ERR_INFO_tstr))))
44
- : (((*input)._message_error_ERR_INFO_choice == _message_error_ERR_INFO__suites) ? ((encode_suites(state, (&(*input)._message_error_ERR_INFO__suites))))
45
- : (((*input)._message_error_ERR_INFO_choice == _message_error_ERR_INFO_bool) ? ((zcbor_bool_put(state, (true))))
48
+ bool tmp_result = (((((*input).message_error_ERR_INFO_choice == message_error_ERR_INFO_tstr_c) ? ((zcbor_tstr_encode(state, (&(*input).message_error_ERR_INFO_tstr))))
49
+ : (((*input).message_error_ERR_INFO_choice == message_error_ERR_INFO_suites_m_c) ? ((encode_suites(state, (&(*input).message_error_ERR_INFO_suites_m))))
50
+ : (((*input).message_error_ERR_INFO_choice == message_error_ERR_INFO_bool_c) ? ((zcbor_bool_put(state, (true))))
46
51
  : false)))));
47
52
 
48
- if (!tmp_result)
49
- zcbor_trace();
53
+ if (!tmp_result) {
54
+ zcbor_trace_file(state);
55
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
56
+ } else {
57
+ zcbor_log("%s success\r\n", __func__);
58
+ }
50
59
 
51
60
  return tmp_result;
52
61
  }
@@ -54,13 +63,17 @@ static bool encode_repeated_message_error_ERR_INFO(
54
63
  static bool encode_message_error(
55
64
  zcbor_state_t *state, const struct message_error *input)
56
65
  {
57
- zcbor_print("%s\r\n", __func__);
66
+ zcbor_log("%s\r\n", __func__);
58
67
 
59
- bool tmp_result = (((((zcbor_int32_encode(state, (&(*input)._message_error_ERR_CODE))))
60
- && zcbor_present_encode(&((*input)._message_error_ERR_INFO_present), (zcbor_encoder_t *)encode_repeated_message_error_ERR_INFO, state, (&(*input)._message_error_ERR_INFO)))));
68
+ bool tmp_result = (((((zcbor_int32_encode(state, (&(*input).message_error_ERR_CODE))))
69
+ && (!(*input).message_error_ERR_INFO_present || encode_repeated_message_error_ERR_INFO(state, (&(*input).message_error_ERR_INFO))))));
61
70
 
62
- if (!tmp_result)
63
- zcbor_trace();
71
+ if (!tmp_result) {
72
+ zcbor_trace_file(state);
73
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
74
+ } else {
75
+ zcbor_log("%s success\r\n", __func__);
76
+ }
64
77
 
65
78
  return tmp_result;
66
79
  }
@@ -74,20 +87,6 @@ int cbor_encode_message_error(
74
87
  {
75
88
  zcbor_state_t states[5];
76
89
 
77
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 2);
78
-
79
- bool ret = encode_message_error(states, input);
80
-
81
- if (ret && (payload_len_out != NULL)) {
82
- *payload_len_out = MIN(payload_len,
83
- (size_t)states[0].payload - (size_t)payload);
84
- }
85
-
86
- if (!ret) {
87
- int err = zcbor_pop_error(states);
88
-
89
- zcbor_print("Return error: %d\r\n", err);
90
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
91
- }
92
- return ZCBOR_SUCCESS;
90
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
91
+ (zcbor_decoder_t *)encode_message_error, sizeof(states) / sizeof(zcbor_state_t), 2);
93
92
  }
@@ -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_decode.h"
12
12
  #include "backend_cbor_plaintext_2_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_map_kid(zcbor_state_t *state, struct map_kid_ *result);
19
- static bool decode_COSE_X509(zcbor_state_t *state, struct COSE_X509_ *result);
19
+ static bool decode_repeated_map_kid(zcbor_state_t *state, struct map_kid_r *result);
20
+ static bool decode_COSE_X509(zcbor_state_t *state, struct COSE_X509_r *result);
20
21
  static bool decode_repeated_map_x5chain(zcbor_state_t *state, struct map_x5chain *result);
21
22
  static bool decode_COSE_CertHash(zcbor_state_t *state, struct COSE_CertHash *result);
22
23
  static bool decode_repeated_map_x5t(zcbor_state_t *state, struct map_x5t *result);
23
24
  static bool decode_map(zcbor_state_t *state, struct map *result);
24
- static bool decode_repeated_ead_x(zcbor_state_t *state, struct ead_x *result);
25
- static bool decode_ead_x(zcbor_state_t *state, struct ead_x_ *result);
25
+ static bool decode_ead_y(zcbor_state_t *state, struct ead_y *result);
26
+ static bool decode_EAD_2(zcbor_state_t *state, struct EAD_2 *result);
26
27
  static bool decode_plaintext_2(zcbor_state_t *state, struct plaintext_2 *result);
27
28
 
28
29
 
29
30
  static bool decode_repeated_map_kid(
30
- zcbor_state_t *state, struct map_kid_ *result)
31
+ zcbor_state_t *state, struct map_kid_r *result)
31
32
  {
32
- zcbor_print("%s\r\n", __func__);
33
+ zcbor_log("%s\r\n", __func__);
33
34
  bool int_res;
34
35
 
35
36
  bool tmp_result = ((((zcbor_uint32_expect(state, (4))))
36
- && (zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result)._map_kid_int)))) && (((*result)._map_kid_choice = _map_kid_int), true))
37
- || (((zcbor_bstr_decode(state, (&(*result)._map_kid_bstr)))) && (((*result)._map_kid_choice = _map_kid_bstr), true))), zcbor_union_end_code(state), int_res))));
38
-
39
- if (!tmp_result)
40
- zcbor_trace();
37
+ && (zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).map_kid_int)))) && (((*result).map_kid_choice = map_kid_int_c), true))
38
+ || (((zcbor_bstr_decode(state, (&(*result).map_kid_bstr)))) && (((*result).map_kid_choice = map_kid_bstr_c), true))), zcbor_union_end_code(state), int_res))));
39
+
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 decode_COSE_X509(
46
- zcbor_state_t *state, struct COSE_X509_ *result)
51
+ zcbor_state_t *state, struct COSE_X509_r *result)
47
52
  {
48
- zcbor_print("%s\r\n", __func__);
53
+ zcbor_log("%s\r\n", __func__);
49
54
  bool int_res;
50
55
 
51
- bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_bstr_decode(state, (&(*result)._COSE_X509_bstr)))) && (((*result)._COSE_X509_choice = _COSE_X509_bstr), true))
52
- || (zcbor_union_elem_code(state) && (((zcbor_list_start_decode(state) && ((zcbor_multi_decode(2, 3, &(*result)._COSE_X509__certs_certs_count, (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result)._COSE_X509__certs_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))) && (((*result)._COSE_X509_choice = _COSE_X509__certs), true)))), zcbor_union_end_code(state), int_res))));
56
+ bool tmp_result = (((zcbor_union_start_code(state) && (int_res = ((((zcbor_bstr_decode(state, (&(*result).COSE_X509_bstr)))) && (((*result).COSE_X509_choice = COSE_X509_bstr_c), true))
57
+ || (zcbor_union_elem_code(state) && (((zcbor_list_start_decode(state) && ((zcbor_multi_decode(2, 3, &(*result).COSE_X509_certs_l_certs_count, (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result).COSE_X509_certs_l_certs), sizeof(struct zcbor_string))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))) && (((*result).COSE_X509_choice = COSE_X509_certs_l_c), true)))), zcbor_union_end_code(state), int_res))));
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 decode_COSE_X509(
60
69
  static bool decode_repeated_map_x5chain(
61
70
  zcbor_state_t *state, struct map_x5chain *result)
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_expect(state, (33))))
66
- && (decode_COSE_X509(state, (&(*result)._map_x5chain)))));
75
+ && (decode_COSE_X509(state, (&(*result).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 decode_repeated_map_x5chain(
74
87
  static bool decode_COSE_CertHash(
75
88
  zcbor_state_t *state, struct COSE_CertHash *result)
76
89
  {
77
- zcbor_print("%s\r\n", __func__);
90
+ zcbor_log("%s\r\n", __func__);
78
91
  bool int_res;
79
92
 
80
- bool tmp_result = (((zcbor_list_start_decode(state) && ((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result)._COSE_CertHash_hashAlg_int)))) && (((*result)._COSE_CertHash_hashAlg_choice = _COSE_CertHash_hashAlg_int), true))
81
- || (((zcbor_tstr_decode(state, (&(*result)._COSE_CertHash_hashAlg_tstr)))) && (((*result)._COSE_CertHash_hashAlg_choice = _COSE_CertHash_hashAlg_tstr), true))), zcbor_union_end_code(state), int_res)))
82
- && ((zcbor_bstr_decode(state, (&(*result)._COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
93
+ bool tmp_result = (((zcbor_list_start_decode(state) && ((((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).COSE_CertHash_hashAlg_int)))) && (((*result).COSE_CertHash_hashAlg_choice = COSE_CertHash_hashAlg_int_c), true))
94
+ || (((zcbor_tstr_decode(state, (&(*result).COSE_CertHash_hashAlg_tstr)))) && (((*result).COSE_CertHash_hashAlg_choice = COSE_CertHash_hashAlg_tstr_c), true))), zcbor_union_end_code(state), int_res)))
95
+ && ((zcbor_bstr_decode(state, (&(*result).COSE_CertHash_hashValue))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
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 decode_COSE_CertHash(
90
107
  static bool decode_repeated_map_x5t(
91
108
  zcbor_state_t *state, struct map_x5t *result)
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_expect(state, (34))))
96
- && (decode_COSE_CertHash(state, (&(*result)._map_x5t)))));
113
+ && (decode_COSE_CertHash(state, (&(*result).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 decode_repeated_map_x5t(
104
125
  static bool decode_map(
105
126
  zcbor_state_t *state, struct map *result)
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_decode(state) && ((zcbor_present_decode(&((*result)._map_kid_present), (zcbor_decoder_t *)decode_repeated_map_kid, state, (&(*result)._map_kid))
110
- && zcbor_present_decode(&((*result)._map_x5chain_present), (zcbor_decoder_t *)decode_repeated_map_x5chain, state, (&(*result)._map_x5chain))
111
- && zcbor_present_decode(&((*result)._map_x5t_present), (zcbor_decoder_t *)decode_repeated_map_x5t, state, (&(*result)._map_x5t))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_map_end_decode(state))));
130
+ bool tmp_result = (((zcbor_map_start_decode(state) && ((zcbor_present_decode(&((*result).map_kid_present), (zcbor_decoder_t *)decode_repeated_map_kid, state, (&(*result).map_kid))
131
+ && zcbor_present_decode(&((*result).map_x5chain_present), (zcbor_decoder_t *)decode_repeated_map_x5chain, state, (&(*result).map_x5chain))
132
+ && zcbor_present_decode(&((*result).map_x5t_present), (zcbor_decoder_t *)decode_repeated_map_x5t, state, (&(*result).map_x5t))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_map_end_decode(state))));
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 decode_repeated_ead_x(
120
- zcbor_state_t *state, struct ead_x *result)
144
+ static bool decode_ead_y(
145
+ zcbor_state_t *state, struct ead_y *result)
121
146
  {
122
- zcbor_print("%s\r\n", __func__);
147
+ zcbor_log("%s\r\n", __func__);
123
148
 
124
- bool tmp_result = (((((zcbor_int32_decode(state, (&(*result)._ead_x_ead_label))))
125
- && zcbor_present_decode(&((*result)._ead_x_ead_value_present), (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result)._ead_x_ead_value)))));
149
+ bool tmp_result = (((((zcbor_int32_decode(state, (&(*result).ead_y_ead_label))))
150
+ && ((*result).ead_y_ead_value_present = ((zcbor_bstr_decode(state, (&(*result).ead_y_ead_value)))), 1))));
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 decode_ead_x(
134
- zcbor_state_t *state, struct ead_x_ *result)
162
+ static bool decode_EAD_2(
163
+ zcbor_state_t *state, struct EAD_2 *result)
135
164
  {
136
- zcbor_print("%s\r\n", __func__);
165
+ zcbor_log("%s\r\n", __func__);
137
166
 
138
- 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)));
167
+ bool tmp_result = (zcbor_multi_decode(1, 3, &(*result).EAD_2_count, (zcbor_decoder_t *)decode_ead_y, state, (&(*result).EAD_2), 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,21 +179,25 @@ static bool decode_ead_x(
146
179
  static bool decode_plaintext_2(
147
180
  zcbor_state_t *state, struct plaintext_2 *result)
148
181
  {
149
- zcbor_print("%s\r\n", __func__);
182
+ zcbor_log("%s\r\n", __func__);
150
183
  bool int_res;
151
184
 
152
- bool tmp_result = (((((zcbor_union_start_code(state) && (int_res = ((((zcbor_bstr_decode(state, (&(*result)._plaintext_2_C_R_bstr)))) && (((*result)._plaintext_2_C_R_choice = _plaintext_2_C_R_bstr), true))
153
- || (((zcbor_int32_decode(state, (&(*result)._plaintext_2_C_R_int)))
154
- && ((((*result)._plaintext_2_C_R_int >= -24)
155
- && ((*result)._plaintext_2_C_R_int <= 23)) || (zcbor_error(state, ZCBOR_ERR_WRONG_RANGE), false))) && (((*result)._plaintext_2_C_R_choice = _plaintext_2_C_R_int), true))), zcbor_union_end_code(state), int_res)))
156
- && ((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result)._plaintext_2_ID_CRED_R_int)))) && (((*result)._plaintext_2_ID_CRED_R_choice = _plaintext_2_ID_CRED_R_int), true))
157
- || (((zcbor_bstr_decode(state, (&(*result)._plaintext_2_ID_CRED_R_bstr)))) && (((*result)._plaintext_2_ID_CRED_R_choice = _plaintext_2_ID_CRED_R_bstr), true))
158
- || (zcbor_union_elem_code(state) && (((decode_map(state, (&(*result)._plaintext_2_ID_CRED_R__map)))) && (((*result)._plaintext_2_ID_CRED_R_choice = _plaintext_2_ID_CRED_R__map), true)))), zcbor_union_end_code(state), int_res)))
159
- && ((zcbor_bstr_decode(state, (&(*result)._plaintext_2_Signature_or_MAC_2))))
160
- && zcbor_present_decode(&((*result)._plaintext_2_EAD_2_present), (zcbor_decoder_t *)decode_ead_x, state, (&(*result)._plaintext_2_EAD_2)))));
161
-
162
- if (!tmp_result)
163
- zcbor_trace();
185
+ bool tmp_result = (((((zcbor_union_start_code(state) && (int_res = ((((zcbor_bstr_decode(state, (&(*result).plaintext_2_C_R_bstr)))) && (((*result).plaintext_2_C_R_choice = plaintext_2_C_R_bstr_c), true))
186
+ || (((zcbor_int32_decode(state, (&(*result).plaintext_2_C_R_int)))
187
+ && ((((*result).plaintext_2_C_R_int >= -24)
188
+ && ((*result).plaintext_2_C_R_int <= 23)) || (zcbor_error(state, ZCBOR_ERR_WRONG_RANGE), false))) && (((*result).plaintext_2_C_R_choice = plaintext_2_C_R_int_c), true))), zcbor_union_end_code(state), int_res)))
189
+ && ((zcbor_union_start_code(state) && (int_res = ((((zcbor_int32_decode(state, (&(*result).plaintext_2_ID_CRED_R_int)))) && (((*result).plaintext_2_ID_CRED_R_choice = plaintext_2_ID_CRED_R_int_c), true))
190
+ || (((zcbor_bstr_decode(state, (&(*result).plaintext_2_ID_CRED_R_bstr)))) && (((*result).plaintext_2_ID_CRED_R_choice = plaintext_2_ID_CRED_R_bstr_c), true))
191
+ || (zcbor_union_elem_code(state) && (((decode_map(state, (&(*result).plaintext_2_ID_CRED_R_map_m)))) && (((*result).plaintext_2_ID_CRED_R_choice = plaintext_2_ID_CRED_R_map_m_c), true)))), zcbor_union_end_code(state), int_res)))
192
+ && ((zcbor_bstr_decode(state, (&(*result).plaintext_2_Signature_or_MAC_2))))
193
+ && ((*result).plaintext_2_EAD_2_m_present = ((decode_EAD_2(state, (&(*result).plaintext_2_EAD_2_m)))), 1))));
194
+
195
+ if (!tmp_result) {
196
+ zcbor_trace_file(state);
197
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
198
+ } else {
199
+ zcbor_log("%s success\r\n", __func__);
200
+ }
164
201
 
165
202
  return tmp_result;
166
203
  }
@@ -174,20 +211,6 @@ int cbor_decode_plaintext_2(
174
211
  {
175
212
  zcbor_state_t states[6];
176
213
 
177
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 9);
178
-
179
- bool ret = decode_plaintext_2(states, result);
180
-
181
- if (ret && (payload_len_out != NULL)) {
182
- *payload_len_out = MIN(payload_len,
183
- (size_t)states[0].payload - (size_t)payload);
184
- }
185
-
186
- if (!ret) {
187
- int err = zcbor_pop_error(states);
188
-
189
- zcbor_print("Return error: %d\r\n", err);
190
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
191
- }
192
- return ZCBOR_SUCCESS;
214
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
215
+ (zcbor_decoder_t *)decode_plaintext_2, sizeof(states) / sizeof(zcbor_state_t), 9);
193
216
  }