diff options
author | Louis Collard <louiscollard@chromium.org> | 2020-02-12 14:44:48 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-15 03:38:58 +0000 |
commit | 1a1129b5f9baf0dcef98d7c9f57fbb2d199af942 (patch) | |
tree | 251c6ac84528c77c6df1f57f4612726b283674a8 | |
parent | 1be9bec56ff870ace0ffbeca525d6143052f2bd5 (diff) | |
download | chrome-ec-1a1129b5f9baf0dcef98d7c9f57fbb2d199af942.tar.gz |
ec: Remove typedefs from u2f.h
BUG=b:123686979
TEST=make buildall -j
Cq-Depend: chromium:2051792
Signed-off-by: Louis Collard <louiscollard@chromium.org>
Change-Id: I9558ebcf5a83ae8a422a43b776147bececea70ba
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2102091
Tested-by: Leo Lai <cylai@google.com>
Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>
Commit-Queue: Leo Lai <cylai@google.com>
-rw-r--r-- | common/u2f.c | 45 | ||||
-rw-r--r-- | include/u2f.h | 30 |
2 files changed, 38 insertions, 37 deletions
diff --git a/common/u2f.c b/common/u2f.c index 3bfae15fe6..79ad69c01a 100644 --- a/common/u2f.c +++ b/common/u2f.c @@ -83,8 +83,8 @@ int g2f_attestation_cert(uint8_t *buf) static enum vendor_cmd_rc u2f_generate(enum vendor_cmd_cc code, void *buf, size_t input_size, size_t *response_size) { - U2F_GENERATE_REQ *req = buf; - U2F_GENERATE_RESP *resp; + struct u2f_generate_req *req = buf; + struct u2f_generate_resp *resp; /* Origin keypair */ uint8_t od_seed[P256_NBYTES]; @@ -100,8 +100,8 @@ static enum vendor_cmd_rc u2f_generate(enum vendor_cmd_cc code, void *buf, *response_size = 0; - if (input_size != sizeof(U2F_GENERATE_REQ) || - response_buf_size < sizeof(U2F_GENERATE_RESP)) + if (input_size != sizeof(struct u2f_generate_req) || + response_buf_size < sizeof(struct u2f_generate_resp)) return VENDOR_RC_BOGUS_ARGS; /* Maybe enforce user presence, w/ optional consume */ @@ -147,10 +147,10 @@ static enum vendor_cmd_rc u2f_generate(enum vendor_cmd_cc code, void *buf, DECLARE_VENDOR_COMMAND(VENDOR_CC_U2F_GENERATE, u2f_generate); static int verify_kh_pubkey(const uint8_t *key_handle, - const U2F_EC_POINT *public_key, int *matches) + const struct u2f_ec_point *public_key, int *matches) { int rc; - U2F_EC_POINT kh_pubkey; + struct u2f_ec_point kh_pubkey; p256_int od, opk_x, opk_y; rc = u2f_origin_user_keypair(key_handle, &od, &opk_x, &opk_y); @@ -162,8 +162,8 @@ static int verify_kh_pubkey(const uint8_t *key_handle, p256_to_bin(&opk_y, kh_pubkey.y); kh_pubkey.pointFormat = U2F_POINT_UNCOMPRESSED; - *matches = safe_memcmp(&kh_pubkey, public_key, sizeof(U2F_EC_POINT)) == - 0; + *matches = safe_memcmp(&kh_pubkey, public_key, + sizeof(struct u2f_ec_point)) == 0; return EC_SUCCESS; } @@ -212,14 +212,14 @@ static int verify_legacy_kh_owned(const uint8_t *app_id, } /* Below, we depend on the response not being larger than than the request. */ -BUILD_ASSERT(sizeof(U2F_SIGN_RESP) <= sizeof(U2F_SIGN_REQ)); +BUILD_ASSERT(sizeof(struct u2f_sign_resp) <= sizeof(struct u2f_sign_req)); /* U2F SIGN command */ static enum vendor_cmd_rc u2f_sign(enum vendor_cmd_cc code, void *buf, size_t input_size, size_t *response_size) { - const U2F_SIGN_REQ *req = buf; - U2F_SIGN_RESP *resp; + const struct u2f_sign_req *req = buf; + struct u2f_sign_resp *resp; struct drbg_ctx ctx; @@ -239,7 +239,7 @@ static enum vendor_cmd_rc u2f_sign(enum vendor_cmd_cc code, void *buf, /* Response is smaller than request, so no need to check this. */ *response_size = 0; - if (input_size != sizeof(U2F_SIGN_REQ)) + if (input_size != sizeof(struct u2f_sign_req)) return VENDOR_RC_BOGUS_ARGS; if (verify_kh_owned(req->userSecret, req->appId, req->keyHandle, @@ -307,22 +307,22 @@ static enum vendor_cmd_rc u2f_sign(enum vendor_cmd_cc code, void *buf, } DECLARE_VENDOR_COMMAND(VENDOR_CC_U2F_SIGN, u2f_sign); -struct G2F_REGISTER_MSG { +struct g2f_register_msg { uint8_t reserved; uint8_t app_id[U2F_APPID_SIZE]; uint8_t challenge[U2F_CHAL_SIZE]; uint8_t key_handle[U2F_APPID_SIZE + sizeof(p256_int)]; - U2F_EC_POINT public_key; + struct u2f_ec_point public_key; }; static inline int u2f_attest_verify_reg_resp(const uint8_t *user_secret, uint8_t data_size, const uint8_t *data) { - struct G2F_REGISTER_MSG *msg = (void *)data; + struct g2f_register_msg *msg = (void *)data; int verified; - if (data_size != sizeof(struct G2F_REGISTER_MSG)) + if (data_size != sizeof(struct g2f_register_msg)) return VENDOR_RC_NOT_ALLOWED; if (msg->reserved != 0) @@ -360,7 +360,7 @@ static inline size_t u2f_attest_format_size(uint8_t format) { switch (format) { case U2F_ATTEST_FORMAT_REG_RESP: - return sizeof(struct G2F_REGISTER_MSG); + return sizeof(struct g2f_register_msg); default: return 0; } @@ -370,8 +370,8 @@ static inline size_t u2f_attest_format_size(uint8_t format) static enum vendor_cmd_rc u2f_attest(enum vendor_cmd_cc code, void *buf, size_t input_size, size_t *response_size) { - const U2F_ATTEST_REQ *req = buf; - U2F_ATTEST_RESP *resp; + const struct u2f_attest_req *req = buf; + struct u2f_attest_resp *resp; int verify_ret; @@ -388,9 +388,10 @@ static enum vendor_cmd_rc u2f_attest(enum vendor_cmd_cc code, void *buf, *response_size = 0; - if (input_size < offsetof(U2F_ATTEST_REQ, data) || - input_size < (offsetof(U2F_ATTEST_REQ, data) + req->dataLen) || - input_size > sizeof(U2F_ATTEST_REQ) || + if (input_size < offsetof(struct u2f_attest_req, data) || + input_size < + (offsetof(struct u2f_attest_req, data) + req->dataLen) || + input_size > sizeof(struct u2f_attest_req) || response_buf_size < sizeof(*resp)) return VENDOR_RC_BOGUS_ARGS; diff --git a/include/u2f.h b/include/u2f.h index 99b435d9b2..2bb243dea6 100644 --- a/include/u2f.h +++ b/include/u2f.h @@ -38,11 +38,11 @@ extern "C" { #define U2F_POINT_UNCOMPRESSED 0x04 // Uncompressed point format -typedef struct { +struct u2f_ec_point { uint8_t pointFormat; // Point type uint8_t x[U2F_EC_KEY_SIZE]; // X-value uint8_t y[U2F_EC_KEY_SIZE]; // Y-value -} U2F_EC_POINT; +}; // Request Flags. @@ -52,41 +52,41 @@ typedef struct { // TODO(louiscollard): Add Descriptions. -typedef struct { +struct u2f_generate_req { uint8_t appId[U2F_APPID_SIZE]; // Application id uint8_t userSecret[U2F_P256_SIZE]; uint8_t flags; -} U2F_GENERATE_REQ; +}; -typedef struct { - U2F_EC_POINT pubKey; // Generated public key +struct u2f_generate_resp { + struct u2f_ec_point pubKey; // Generated public key uint8_t keyHandle[U2F_FIXED_KH_SIZE]; // Key handle -} U2F_GENERATE_RESP; +}; -typedef struct { +struct u2f_sign_req { uint8_t appId[U2F_APPID_SIZE]; // Application id uint8_t userSecret[U2F_P256_SIZE]; uint8_t keyHandle[U2F_FIXED_KH_SIZE]; // Key handle uint8_t hash[U2F_P256_SIZE]; uint8_t flags; -} U2F_SIGN_REQ; +}; -typedef struct { +struct u2f_sign_resp { uint8_t sig_r[U2F_P256_SIZE]; // Signature uint8_t sig_s[U2F_P256_SIZE]; // Signature -} U2F_SIGN_RESP; +}; -typedef struct { +struct u2f_attest_req { uint8_t userSecret[U2F_P256_SIZE]; uint8_t format; uint8_t dataLen; uint8_t data[U2F_MAX_ATTEST_SIZE]; -} U2F_ATTEST_REQ; +}; -typedef struct { +struct u2f_attest_resp { uint8_t sig_r[U2F_P256_SIZE]; uint8_t sig_s[U2F_P256_SIZE]; -} U2F_ATTEST_RESP; +}; // Command status responses |