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
  */
@@ -25,142 +25,152 @@ extern "C" {
25
25
  */
26
26
  #define DEFAULT_MAX_QTY 3
27
27
 
28
- struct id_cred_x_kid_ {
28
+ struct id_cred_x_kid_r {
29
29
  union {
30
- int32_t _id_cred_x_kid_int;
31
- struct zcbor_string _id_cred_x_kid_bstr;
30
+ int32_t id_cred_x_kid_int;
31
+ struct zcbor_string id_cred_x_kid_bstr;
32
32
  };
33
33
  enum {
34
- _id_cred_x_kid_int,
35
- _id_cred_x_kid_bstr,
36
- } _id_cred_x_kid_choice;
34
+ id_cred_x_kid_int_c,
35
+ id_cred_x_kid_bstr_c,
36
+ } id_cred_x_kid_choice;
37
37
  };
38
38
 
39
- struct COSE_X509_ {
39
+ struct COSE_X509_r {
40
40
  union {
41
- struct zcbor_string _COSE_X509_bstr;
41
+ struct zcbor_string COSE_X509_bstr;
42
42
  struct {
43
- struct zcbor_string _COSE_X509__certs_certs[3];
44
- size_t _COSE_X509__certs_certs_count;
43
+ struct zcbor_string COSE_X509_certs_l_certs[3];
44
+ size_t COSE_X509_certs_l_certs_count;
45
45
  };
46
46
  };
47
47
  enum {
48
- _COSE_X509_bstr,
49
- _COSE_X509__certs,
50
- } _COSE_X509_choice;
48
+ COSE_X509_bstr_c,
49
+ COSE_X509_certs_l_c,
50
+ } COSE_X509_choice;
51
51
  };
52
52
 
53
53
  struct id_cred_x_x5chain {
54
- struct COSE_X509_ _id_cred_x_x5chain;
54
+ struct COSE_X509_r id_cred_x_x5chain;
55
55
  };
56
56
 
57
57
  struct COSE_CertHash {
58
58
  union {
59
- int32_t _COSE_CertHash_hashAlg_int;
60
- struct zcbor_string _COSE_CertHash_hashAlg_tstr;
59
+ int32_t COSE_CertHash_hashAlg_int;
60
+ struct zcbor_string COSE_CertHash_hashAlg_tstr;
61
61
  };
62
62
  enum {
63
- _COSE_CertHash_hashAlg_int,
64
- _COSE_CertHash_hashAlg_tstr,
65
- } _COSE_CertHash_hashAlg_choice;
66
- struct zcbor_string _COSE_CertHash_hashValue;
63
+ COSE_CertHash_hashAlg_int_c,
64
+ COSE_CertHash_hashAlg_tstr_c,
65
+ } COSE_CertHash_hashAlg_choice;
66
+ struct zcbor_string COSE_CertHash_hashValue;
67
67
  };
68
68
 
69
69
  struct id_cred_x_x5t {
70
- struct COSE_CertHash _id_cred_x_x5t;
70
+ struct COSE_CertHash id_cred_x_x5t;
71
71
  };
72
72
 
73
73
  struct id_cred_x {
74
- struct id_cred_x_kid_ _id_cred_x_kid;
75
- bool _id_cred_x_kid_present;
76
- struct id_cred_x_x5chain _id_cred_x_x5chain;
77
- bool _id_cred_x_x5chain_present;
78
- struct id_cred_x_x5t _id_cred_x_x5t;
79
- bool _id_cred_x_x5t_present;
74
+ struct id_cred_x_kid_r id_cred_x_kid;
75
+ bool id_cred_x_kid_present;
76
+ struct id_cred_x_x5chain id_cred_x_x5chain;
77
+ bool id_cred_x_x5chain_present;
78
+ struct id_cred_x_x5t id_cred_x_x5t;
79
+ bool id_cred_x_x5t_present;
80
80
  };
81
81
 
82
- struct ead_x {
83
- int32_t _ead_x_ead_label;
84
- struct zcbor_string _ead_x_ead_value;
85
- bool _ead_x_ead_value_present;
86
- };
87
-
88
- struct ead_x_ {
89
- struct ead_x _ead_x[3];
90
- size_t _ead_x_count;
91
- };
92
-
93
- struct plaintext_4_EAD_4 {
94
- struct ead_x_ _plaintext_4_EAD_4;
95
- bool _plaintext_4_EAD_4_present;
96
- };
97
-
98
- struct map_kid_ {
82
+ struct map_kid_r {
99
83
  union {
100
- int32_t _map_kid_int;
101
- struct zcbor_string _map_kid_bstr;
84
+ int32_t map_kid_int;
85
+ struct zcbor_string map_kid_bstr;
102
86
  };
103
87
  enum {
104
- _map_kid_int,
105
- _map_kid_bstr,
106
- } _map_kid_choice;
88
+ map_kid_int_c,
89
+ map_kid_bstr_c,
90
+ } map_kid_choice;
107
91
  };
108
92
 
109
93
  struct map_x5chain {
110
- struct COSE_X509_ _map_x5chain;
94
+ struct COSE_X509_r map_x5chain;
111
95
  };
112
96
 
113
97
  struct map_x5t {
114
- struct COSE_CertHash _map_x5t;
98
+ struct COSE_CertHash map_x5t;
115
99
  };
116
100
 
117
101
  struct map {
118
- struct map_kid_ _map_kid;
119
- bool _map_kid_present;
120
- struct map_x5chain _map_x5chain;
121
- bool _map_x5chain_present;
122
- struct map_x5t _map_x5t;
123
- bool _map_x5t_present;
102
+ struct map_kid_r map_kid;
103
+ bool map_kid_present;
104
+ struct map_x5chain map_x5chain;
105
+ bool map_x5chain_present;
106
+ struct map_x5t map_x5t;
107
+ bool map_x5t_present;
108
+ };
109
+
110
+ struct ead_y {
111
+ int32_t ead_y_ead_label;
112
+ struct zcbor_string ead_y_ead_value;
113
+ bool ead_y_ead_value_present;
114
+ };
115
+
116
+ struct EAD_2 {
117
+ struct ead_y EAD_2[3];
118
+ size_t EAD_2_count;
124
119
  };
125
120
 
126
121
  struct plaintext_2 {
127
122
  union {
128
- struct zcbor_string _plaintext_2_C_R_bstr;
129
- int32_t _plaintext_2_C_R_int;
123
+ struct zcbor_string plaintext_2_C_R_bstr;
124
+ int32_t plaintext_2_C_R_int;
130
125
  };
131
126
  enum {
132
- _plaintext_2_C_R_bstr,
133
- _plaintext_2_C_R_int,
134
- } _plaintext_2_C_R_choice;
127
+ plaintext_2_C_R_bstr_c,
128
+ plaintext_2_C_R_int_c,
129
+ } plaintext_2_C_R_choice;
135
130
  union {
136
- int32_t _plaintext_2_ID_CRED_R_int;
137
- struct zcbor_string _plaintext_2_ID_CRED_R_bstr;
138
- struct map _plaintext_2_ID_CRED_R__map;
131
+ int32_t plaintext_2_ID_CRED_R_int;
132
+ struct zcbor_string plaintext_2_ID_CRED_R_bstr;
133
+ struct map plaintext_2_ID_CRED_R_map_m;
139
134
  };
140
135
  enum {
141
- _plaintext_2_ID_CRED_R_int,
142
- _plaintext_2_ID_CRED_R_bstr,
143
- _plaintext_2_ID_CRED_R__map,
144
- } _plaintext_2_ID_CRED_R_choice;
145
- struct zcbor_string _plaintext_2_Signature_or_MAC_2;
146
- struct ead_x_ _plaintext_2_EAD_2;
147
- bool _plaintext_2_EAD_2_present;
136
+ plaintext_2_ID_CRED_R_int_c,
137
+ plaintext_2_ID_CRED_R_bstr_c,
138
+ plaintext_2_ID_CRED_R_map_m_c,
139
+ } plaintext_2_ID_CRED_R_choice;
140
+ struct zcbor_string plaintext_2_Signature_or_MAC_2;
141
+ struct EAD_2 plaintext_2_EAD_2_m;
142
+ bool plaintext_2_EAD_2_m_present;
143
+ };
144
+
145
+ struct EAD_3 {
146
+ struct ead_y EAD_3[3];
147
+ size_t EAD_3_count;
148
148
  };
149
149
 
150
150
  struct plaintext_3 {
151
151
  union {
152
- int32_t _plaintext_3_ID_CRED_I_int;
153
- struct zcbor_string _plaintext_3_ID_CRED_I_bstr;
154
- struct map _plaintext_3_ID_CRED_I__map;
152
+ int32_t plaintext_3_ID_CRED_I_int;
153
+ struct zcbor_string plaintext_3_ID_CRED_I_bstr;
154
+ struct map plaintext_3_ID_CRED_I_map_m;
155
155
  };
156
156
  enum {
157
- _plaintext_3_ID_CRED_I_int,
158
- _plaintext_3_ID_CRED_I_bstr,
159
- _plaintext_3_ID_CRED_I__map,
160
- } _plaintext_3_ID_CRED_I_choice;
161
- struct zcbor_string _plaintext_3_Signature_or_MAC_3;
162
- struct ead_x_ _plaintext_3_EAD_3;
163
- bool _plaintext_3_EAD_3_present;
157
+ plaintext_3_ID_CRED_I_int_c,
158
+ plaintext_3_ID_CRED_I_bstr_c,
159
+ plaintext_3_ID_CRED_I_map_m_c,
160
+ } plaintext_3_ID_CRED_I_choice;
161
+ struct zcbor_string plaintext_3_Signature_or_MAC_3;
162
+ struct EAD_3 plaintext_3_EAD_3_m;
163
+ bool plaintext_3_EAD_3_m_present;
164
+ };
165
+
166
+ struct EAD_4 {
167
+ struct ead_y EAD_4[3];
168
+ size_t EAD_4_count;
169
+ };
170
+
171
+ struct plaintext_4 {
172
+ struct EAD_4 plaintext_4;
173
+ bool plaintext_4_present;
164
174
  };
165
175
 
166
176
  #ifdef __cplusplus
@@ -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_bstr_type_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,12 +22,16 @@ static bool decode_byte_string_type_bstr_type(zcbor_state_t *state, struct zcbor
21
22
  static bool decode_byte_string_type_bstr_type(
22
23
  zcbor_state_t *state, struct zcbor_string *result)
23
24
  {
24
- zcbor_print("%s\r\n", __func__);
25
+ zcbor_log("%s\r\n", __func__);
25
26
 
26
27
  bool tmp_result = (((zcbor_bstr_decode(state, (&(*result))))));
27
28
 
28
- if (!tmp_result)
29
- zcbor_trace();
29
+ if (!tmp_result) {
30
+ zcbor_trace_file(state);
31
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
32
+ } else {
33
+ zcbor_log("%s success\r\n", __func__);
34
+ }
30
35
 
31
36
  return tmp_result;
32
37
  }
@@ -40,20 +45,6 @@ int cbor_decode_byte_string_type_bstr_type(
40
45
  {
41
46
  zcbor_state_t states[2];
42
47
 
43
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 1);
44
-
45
- bool ret = decode_byte_string_type_bstr_type(states, result);
46
-
47
- if (ret && (payload_len_out != NULL)) {
48
- *payload_len_out = MIN(payload_len,
49
- (size_t)states[0].payload - (size_t)payload);
50
- }
51
-
52
- if (!ret) {
53
- int err = zcbor_pop_error(states);
54
-
55
- zcbor_print("Return error: %d\r\n", err);
56
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
57
- }
58
- return ZCBOR_SUCCESS;
48
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
49
+ (zcbor_decoder_t *)decode_byte_string_type_bstr_type, sizeof(states) / sizeof(zcbor_state_t), 1);
59
50
  }
@@ -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_bstr_type_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,12 +22,16 @@ static bool encode_byte_string_type_bstr_type(zcbor_state_t *state, const struct
21
22
  static bool encode_byte_string_type_bstr_type(
22
23
  zcbor_state_t *state, const struct zcbor_string *input)
23
24
  {
24
- zcbor_print("%s\r\n", __func__);
25
+ zcbor_log("%s\r\n", __func__);
25
26
 
26
27
  bool tmp_result = (((zcbor_bstr_encode(state, (&(*input))))));
27
28
 
28
- if (!tmp_result)
29
- zcbor_trace();
29
+ if (!tmp_result) {
30
+ zcbor_trace_file(state);
31
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
32
+ } else {
33
+ zcbor_log("%s success\r\n", __func__);
34
+ }
30
35
 
31
36
  return tmp_result;
32
37
  }
@@ -40,20 +45,6 @@ int cbor_encode_byte_string_type_bstr_type(
40
45
  {
41
46
  zcbor_state_t states[2];
42
47
 
43
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 1);
44
-
45
- bool ret = encode_byte_string_type_bstr_type(states, input);
46
-
47
- if (ret && (payload_len_out != NULL)) {
48
- *payload_len_out = MIN(payload_len,
49
- (size_t)states[0].payload - (size_t)payload);
50
- }
51
-
52
- if (!ret) {
53
- int err = zcbor_pop_error(states);
54
-
55
- zcbor_print("Return error: %d\r\n", err);
56
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
57
- }
58
- return ZCBOR_SUCCESS;
48
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
49
+ (zcbor_decoder_t *)encode_byte_string_type_bstr_type, sizeof(states) / sizeof(zcbor_state_t), 1);
59
50
  }
@@ -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,38 +10,47 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_decode.h"
12
12
  #include "backend_cbor_ead_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(zcbor_state_t *state, struct ead *result);
19
- static bool decode_ead(zcbor_state_t *state, struct ead_ *result);
19
+ static bool decode_ead_x(zcbor_state_t *state, struct ead_x *result);
20
+ static bool decode_ead(zcbor_state_t *state, struct ead *result);
20
21
 
21
22
 
22
- static bool decode_repeated_ead(
23
- zcbor_state_t *state, struct ead *result)
23
+ static bool decode_ead_x(
24
+ zcbor_state_t *state, struct ead_x *result)
24
25
  {
25
- zcbor_print("%s\r\n", __func__);
26
+ zcbor_log("%s\r\n", __func__);
26
27
 
27
- bool tmp_result = (((((zcbor_int32_decode(state, (&(*result)._ead_label))))
28
- && zcbor_present_decode(&((*result)._ead_value_present), (zcbor_decoder_t *)zcbor_bstr_decode, state, (&(*result)._ead_value)))));
28
+ bool tmp_result = (((((zcbor_int32_decode(state, (&(*result).ead_x_ead_label))))
29
+ && ((*result).ead_x_ead_value_present = ((zcbor_bstr_decode(state, (&(*result).ead_x_ead_value)))), 1))));
29
30
 
30
- if (!tmp_result)
31
- zcbor_trace();
31
+ if (!tmp_result) {
32
+ zcbor_trace_file(state);
33
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
34
+ } else {
35
+ zcbor_log("%s success\r\n", __func__);
36
+ }
32
37
 
33
38
  return tmp_result;
34
39
  }
35
40
 
36
41
  static bool decode_ead(
37
- zcbor_state_t *state, struct ead_ *result)
42
+ zcbor_state_t *state, struct ead *result)
38
43
  {
39
- zcbor_print("%s\r\n", __func__);
44
+ zcbor_log("%s\r\n", __func__);
40
45
 
41
- bool tmp_result = (zcbor_multi_decode(1, 3, &(*result)._ead_count, (zcbor_decoder_t *)decode_repeated_ead, state, (&(*result)._ead), sizeof(struct ead)));
46
+ bool tmp_result = (zcbor_multi_decode(1, 3, &(*result).ead_count, (zcbor_decoder_t *)decode_ead_x, state, (&(*result).ead), sizeof(struct ead_x)));
42
47
 
43
- if (!tmp_result)
44
- zcbor_trace();
48
+ if (!tmp_result) {
49
+ zcbor_trace_file(state);
50
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
51
+ } else {
52
+ zcbor_log("%s success\r\n", __func__);
53
+ }
45
54
 
46
55
  return tmp_result;
47
56
  }
@@ -50,25 +59,11 @@ static bool decode_ead(
50
59
 
51
60
  int cbor_decode_ead(
52
61
  const uint8_t *payload, size_t payload_len,
53
- struct ead_ *result,
62
+ struct ead *result,
54
63
  size_t *payload_len_out)
55
64
  {
56
65
  zcbor_state_t states[2];
57
66
 
58
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 6);
59
-
60
- bool ret = decode_ead(states, result);
61
-
62
- if (ret && (payload_len_out != NULL)) {
63
- *payload_len_out = MIN(payload_len,
64
- (size_t)states[0].payload - (size_t)payload);
65
- }
66
-
67
- if (!ret) {
68
- int err = zcbor_pop_error(states);
69
-
70
- zcbor_print("Return error: %d\r\n", err);
71
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
72
- }
73
- return ZCBOR_SUCCESS;
67
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
68
+ (zcbor_decoder_t *)decode_ead, sizeof(states) / sizeof(zcbor_state_t), 6);
74
69
  }
@@ -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,38 +10,47 @@
10
10
  #include <string.h>
11
11
  #include "zcbor_encode.h"
12
12
  #include "backend_cbor_ead_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(zcbor_state_t *state, const struct ead *input);
19
- static bool encode_ead(zcbor_state_t *state, const struct ead_ *input);
19
+ static bool encode_ead_x(zcbor_state_t *state, const struct ead_x *input);
20
+ static bool encode_ead(zcbor_state_t *state, const struct ead *input);
20
21
 
21
22
 
22
- static bool encode_repeated_ead(
23
- zcbor_state_t *state, const struct ead *input)
23
+ static bool encode_ead_x(
24
+ zcbor_state_t *state, const struct ead_x *input)
24
25
  {
25
- zcbor_print("%s\r\n", __func__);
26
+ zcbor_log("%s\r\n", __func__);
26
27
 
27
- bool tmp_result = (((((zcbor_int32_encode(state, (&(*input)._ead_label))))
28
- && zcbor_present_encode(&((*input)._ead_value_present), (zcbor_encoder_t *)zcbor_bstr_encode, state, (&(*input)._ead_value)))));
28
+ bool tmp_result = (((((zcbor_int32_encode(state, (&(*input).ead_x_ead_label))))
29
+ && (!(*input).ead_x_ead_value_present || zcbor_bstr_encode(state, (&(*input).ead_x_ead_value))))));
29
30
 
30
- if (!tmp_result)
31
- zcbor_trace();
31
+ if (!tmp_result) {
32
+ zcbor_trace_file(state);
33
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
34
+ } else {
35
+ zcbor_log("%s success\r\n", __func__);
36
+ }
32
37
 
33
38
  return tmp_result;
34
39
  }
35
40
 
36
41
  static bool encode_ead(
37
- zcbor_state_t *state, const struct ead_ *input)
42
+ zcbor_state_t *state, const struct ead *input)
38
43
  {
39
- zcbor_print("%s\r\n", __func__);
44
+ zcbor_log("%s\r\n", __func__);
40
45
 
41
- bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input)._ead_count, (zcbor_encoder_t *)encode_repeated_ead, state, (&(*input)._ead), sizeof(struct ead)));
46
+ bool tmp_result = (zcbor_multi_encode_minmax(1, 3, &(*input).ead_count, (zcbor_encoder_t *)encode_ead_x, state, (&(*input).ead), sizeof(struct ead_x)));
42
47
 
43
- if (!tmp_result)
44
- zcbor_trace();
48
+ if (!tmp_result) {
49
+ zcbor_trace_file(state);
50
+ zcbor_log("%s error: %s\r\n", __func__, zcbor_error_str(zcbor_peek_error(state)));
51
+ } else {
52
+ zcbor_log("%s success\r\n", __func__);
53
+ }
45
54
 
46
55
  return tmp_result;
47
56
  }
@@ -50,25 +59,11 @@ static bool encode_ead(
50
59
 
51
60
  int cbor_encode_ead(
52
61
  uint8_t *payload, size_t payload_len,
53
- const struct ead_ *input,
62
+ const struct ead *input,
54
63
  size_t *payload_len_out)
55
64
  {
56
65
  zcbor_state_t states[2];
57
66
 
58
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 6);
59
-
60
- bool ret = encode_ead(states, input);
61
-
62
- if (ret && (payload_len_out != NULL)) {
63
- *payload_len_out = MIN(payload_len,
64
- (size_t)states[0].payload - (size_t)payload);
65
- }
66
-
67
- if (!ret) {
68
- int err = zcbor_pop_error(states);
69
-
70
- zcbor_print("Return error: %d\r\n", err);
71
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
72
- }
73
- return ZCBOR_SUCCESS;
67
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
68
+ (zcbor_decoder_t *)encode_ead, sizeof(states) / sizeof(zcbor_state_t), 6);
74
69
  }
@@ -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_enc_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,15 +22,19 @@ static bool decode_enc_structure(zcbor_state_t *state, struct enc_structure *res
21
22
  static bool decode_enc_structure(
22
23
  zcbor_state_t *state, struct enc_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 *)"Encrypt0", tmp_str.len = sizeof("Encrypt0") - 1, &tmp_str)))))
28
- && ((zcbor_bstr_decode(state, (&(*result)._enc_structure_protected))))
29
- && ((zcbor_bstr_decode(state, (&(*result)._enc_structure_external_aad))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
30
-
31
- if (!tmp_result)
32
- zcbor_trace();
29
+ && ((zcbor_bstr_decode(state, (&(*result).enc_structure_protected))))
30
+ && ((zcbor_bstr_decode(state, (&(*result).enc_structure_external_aad))))) || (zcbor_list_map_end_force_decode(state), false)) && zcbor_list_end_decode(state))));
31
+
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
  }
@@ -43,20 +48,6 @@ int cbor_decode_enc_structure(
43
48
  {
44
49
  zcbor_state_t states[3];
45
50
 
46
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 1);
47
-
48
- bool ret = decode_enc_structure(states, result);
49
-
50
- if (ret && (payload_len_out != NULL)) {
51
- *payload_len_out = MIN(payload_len,
52
- (size_t)states[0].payload - (size_t)payload);
53
- }
54
-
55
- if (!ret) {
56
- int err = zcbor_pop_error(states);
57
-
58
- zcbor_print("Return error: %d\r\n", err);
59
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
60
- }
61
- return ZCBOR_SUCCESS;
51
+ return zcbor_entry_function(payload, payload_len, (void *)result, payload_len_out, states,
52
+ (zcbor_decoder_t *)decode_enc_structure, sizeof(states) / sizeof(zcbor_state_t), 1);
62
53
  }
@@ -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_enc_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,15 +22,19 @@ static bool encode_enc_structure(zcbor_state_t *state, const struct enc_structur
21
22
  static bool encode_enc_structure(
22
23
  zcbor_state_t *state, const struct enc_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, 3) && ((((zcbor_tstr_encode(state, ((tmp_str.value = (uint8_t *)"Encrypt0", tmp_str.len = sizeof("Encrypt0") - 1, &tmp_str)))))
28
- && ((zcbor_bstr_encode(state, (&(*input)._enc_structure_protected))))
29
- && ((zcbor_bstr_encode(state, (&(*input)._enc_structure_external_aad))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3))));
30
-
31
- if (!tmp_result)
32
- zcbor_trace();
29
+ && ((zcbor_bstr_encode(state, (&(*input).enc_structure_protected))))
30
+ && ((zcbor_bstr_encode(state, (&(*input).enc_structure_external_aad))))) || (zcbor_list_map_end_force_encode(state), false)) && zcbor_list_end_encode(state, 3))));
31
+
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
  }
@@ -43,20 +48,6 @@ int cbor_encode_enc_structure(
43
48
  {
44
49
  zcbor_state_t states[3];
45
50
 
46
- zcbor_new_state(states, sizeof(states) / sizeof(zcbor_state_t), payload, payload_len, 1);
47
-
48
- bool ret = encode_enc_structure(states, input);
49
-
50
- if (ret && (payload_len_out != NULL)) {
51
- *payload_len_out = MIN(payload_len,
52
- (size_t)states[0].payload - (size_t)payload);
53
- }
54
-
55
- if (!ret) {
56
- int err = zcbor_pop_error(states);
57
-
58
- zcbor_print("Return error: %d\r\n", err);
59
- return (err == ZCBOR_SUCCESS) ? ZCBOR_ERR_UNKNOWN : err;
60
- }
61
- return ZCBOR_SUCCESS;
51
+ return zcbor_entry_function(payload, payload_len, (void *)input, payload_len_out, states,
52
+ (zcbor_decoder_t *)encode_enc_structure, sizeof(states) / sizeof(zcbor_state_t), 1);
62
53
  }