Skip to content

error unknown type name 'curve25519_key' #133

Description

@wisonlau
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:20:7: error: unknown type name 'curve25519_key'
   20 | const curve25519_key cache_curve25519_key[CACHE_CURVE25519_KEY_SIZE];
      |       ^~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:79:19: error: unknown type name 'Srp'
   79 | int wc_SrpSetKeyH(Srp *srp, byte *secret, word32 size) {
      |                   ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:100:1: error: unknown type name 'Srp'
  100 | Srp *crypto_srp_new() {
      | ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_srp_new':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:102:5: error: unknown type name 'Srp'
  102 |     Srp *srp = malloc(sizeof(Srp));
      |     ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:102:30: error: 'Srp' undeclared (first use in this function); did you mean 'srp'?
  102 |     Srp *srp = malloc(sizeof(Srp));
      |                              ^~~
      |                              srp
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:102:30: note: each undeclared identifier is reported only once for each function it appears in
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:105:29: error: 'SRP_TYPE_SHA512' undeclared (first use in this function); did you mean 'WC_HASH_TYPE_SHA512'?
  105 |     int r = wc_SrpInit(srp, SRP_TYPE_SHA512, SRP_CLIENT_SIDE);
      |                             ^~~~~~~~~~~~~~~
      |                             WC_HASH_TYPE_SHA512
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:105:46: error: 'SRP_CLIENT_SIDE' undeclared (first use in this function)
  105 |     int r = wc_SrpInit(srp, SRP_TYPE_SHA512, SRP_CLIENT_SIDE);
      |                                              ^~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:110:8: error: request for member 'keyGenFunc_cb' in something not a structure or union
  110 |     srp->keyGenFunc_cb = wc_SrpSetKeyH;
      |        ^~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:110:26: error: 'wc_SrpSetKeyH' undeclared (first use in this function)
  110 |     srp->keyGenFunc_cb = wc_SrpSetKeyH;
      |                          ^~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: At top level:
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:116:22: error: unknown type name 'Srp'
  116 | void crypto_srp_free(Srp *srp) {
      |                      ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:122:21: error: unknown type name 'Srp'
  122 | int crypto_srp_init(Srp *srp, const char *username, const char *password) {
      |                     ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:179:25: error: unknown type name 'Srp'
  179 | int crypto_srp_get_salt(Srp *srp, byte *buffer, size_t *buffer_size) {
      |                         ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:194:31: error: unknown type name 'Srp'
  194 | int crypto_srp_get_public_key(Srp *srp, byte *buffer, size_t *buffer_size) {
      |                               ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:221:5: error: unknown type name 'Srp'
  221 |     Srp *srp,
      |     ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:239:23: error: unknown type name 'Srp'
  239 | int crypto_srp_verify(Srp *srp, const byte *proof, size_t proof_size) {
      |                       ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:250:26: error: unknown type name 'Srp'
  250 | int crypto_srp_get_proof(Srp *srp, byte *proof, size_t *proof_size) {
      |                          ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_hkdf':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:284:9: error: 'SHA512' undeclared (first use in this function); did you mean 'WC_SHA512'?
  284 |         SHA512,
      |         ^~~~~~
      |         WC_SHA512
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: At top level:
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:297:5: error: unknown type name 'Srp'
  297 |     Srp *srp,
      |     ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_chacha20poly1305_decrypt':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:316:25: error: 'CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE' undeclared (first use in this function)
  316 |     if (message_size <= CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE) {
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_chacha20poly1305_encrypt':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:349:33: error: 'CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE' undeclared (first use in this function)
  349 |     size_t len = message_size + CHACHA20_POLY1305_AEAD_AUTHTAG_SIZE;
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_ed25519_new':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:368:38: error: invalid application of 'sizeof' to incomplete type 'ed25519_key'
  368 |     ed25519_key *key = malloc(sizeof(ed25519_key));
      |                                      ^~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_ed25519_generate':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:390:12: error: storage size of 'rng' isn't known
  390 |     WC_RNG rng;
      |            ^~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:391:39: error: 'ED25519_KEY_SIZE' undeclared (first use in this function); did you mean 'ED25519_TYPE'?
  391 |     int r = wc_ed25519_make_key(&rng, ED25519_KEY_SIZE, key);
      |                                       ^~~~~~~~~~~~~~~~
      |                                       ED25519_TYPE
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_ed25519_import_key':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:403:15: error: 'ED25519_KEY_SIZE' undeclared (first use in this function); did you mean 'ED25519_TYPE'?
  403 |         data, ED25519_KEY_SIZE,
      |               ^~~~~~~~~~~~~~~~
      |               ED25519_TYPE
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:404:34: error: 'ED25519_PUB_KEY_SIZE' undeclared (first use in this function)
  404 |         data + ED25519_KEY_SIZE, ED25519_PUB_KEY_SIZE,
      |                                  ^~~~~~~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_ed25519_export_key':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:413:17: error: 'ED25519_KEY_SIZE' undeclared (first use in this function); did you mean 'ED25519_TYPE'?
  413 |     if (*size < ED25519_KEY_SIZE + ED25519_PUB_KEY_SIZE) {
      |                 ^~~~~~~~~~~~~~~~
      |                 ED25519_TYPE
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:413:36: error: 'ED25519_PUB_KEY_SIZE' undeclared (first use in this function)
  413 |     if (*size < ED25519_KEY_SIZE + ED25519_PUB_KEY_SIZE) {
      |                                    ^~~~~~~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_ed25519_export_public_key':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:433:17: error: 'ED25519_PUB_KEY_SIZE' undeclared (first use in this function)
  433 |     if (*size < ED25519_PUB_KEY_SIZE) {
      |                 ^~~~~~~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_ed25519_sign':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:454:27: error: 'ED25519_SIG_SIZE' undeclared (first use in this function)
  454 |     if (*signature_size < ED25519_SIG_SIZE) {
      |                           ^~~~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: At top level:
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:485:1: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  485 | curve25519_key *crypto_curve25519_getcached(int idx) {
      | ^~~~~~~~~~~~~~
      | ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:491:1: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  491 | curve25519_key *crypto_curve25519_new() {
      | ^~~~~~~~~~~~~~
      | ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_curve25519_new':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:492:5: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  492 |     curve25519_key *key = malloc(sizeof(curve25519_key));
      |     ^~~~~~~~~~~~~~
      |     ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:492:41: error: 'curve25519_key' undeclared (first use in this function); did you mean 'ed25519_key'?
  492 |     curve25519_key *key = malloc(sizeof(curve25519_key));
      |                                         ^~~~~~~~~~~~~~
      |                                         ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: At top level:
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:502:29: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  502 | void crypto_curve25519_free(curve25519_key *key) {
      |                             ^~~~~~~~~~~~~~
      |                             ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:509:28: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  509 | int crypto_curve25519_init(curve25519_key *key) {
      |                            ^~~~~~~~~~~~~~
      |                            ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:516:29: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  516 | void crypto_curve25519_done(curve25519_key *key) {
      |                             ^~~~~~~~~~~~~~
      |                             ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:522:32: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  522 | int crypto_curve25519_generate(curve25519_key *key) {
      |                                ^~~~~~~~~~~~~~
      |                                ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:540:37: error: unknown type name 'curve25519_key'; did you mean 'ed25519_key'?
  540 | int crypto_curve25519_import_public(curve25519_key *key, const byte *data, size_t size) {
      |                                     ^~~~~~~~~~~~~~
      |                                     ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:545:43: error: unknown type name 'curve25519_key'
  545 | int crypto_curve25519_export_public(const curve25519_key *key, byte *buffer, size_t *size) {
      |                                           ^~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_curve25519_export_public':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:549:14: error: 'curve25519_key' undeclared (first use in this function); did you mean 'ed25519_key'?
  549 |             (curve25519_key *)key,
      |              ^~~~~~~~~~~~~~
      |              ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:549:30: error: expected expression before ')' token
  549 |             (curve25519_key *)key,
      |                              ^
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:559:26: error: expected expression before ')' token
  559 |         (curve25519_key *)key,
      |                          ^
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: At top level:
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:568:43: error: unknown type name 'curve25519_key'
  568 | int crypto_curve25519_shared_secret(const curve25519_key *private_key, const curve25519_key *public_key, byte *buffer, size_t *size) {
      |                                           ^~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:568:78: error: unknown type name 'curve25519_key'
  568 | int crypto_curve25519_shared_secret(const curve25519_key *private_key, const curve25519_key *public_key, byte *buffer, size_t *size) {
      |                                                                              ^~~~~~~~~~~~~~
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c: In function 'crypto_curve25519_shared_secret':
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:569:17: error: 'CURVE25519_KEYSIZE' undeclared (first use in this function); did you mean 'CACHE_CURVE25519_KEY_SIZE'?
  569 |     if (*size < CURVE25519_KEYSIZE) {
      |                 ^~~~~~~~~~~~~~~~~~
      |                 CACHE_CURVE25519_KEY_SIZE
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:576:10: error: 'curve25519_key' undeclared (first use in this function); did you mean 'ed25519_key'?
  576 |         (curve25519_key *)private_key,
      |          ^~~~~~~~~~~~~~
      |          ed25519_key
/Users/wisonlau/Documents/Arduino/libraries/ESPHap/crypto.c:576:26: error: expected expression before ')' token
  576 |         (curve25519_key *)private_key,
      |                          ^
exit status 1
为开发板 Generic ESP8266 Module 编译时出错。
arduino version 1.8.19
os macos 12.6.1
esphap version 1.1.0

May I ask how to solve the problem?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions