diff --git a/lib/jose/jwe/enc/aescbc.c b/lib/jose/jwe/enc/aescbc.c index 9a72ab125..d15475d51 100755 --- a/lib/jose/jwe/enc/aescbc.c +++ b/lib/jose/jwe/enc/aescbc.c @@ -29,7 +29,7 @@ int lws_jwe_encrypt_cbc_hs(struct lws_jwe *jwe, uint8_t *cek, uint8_t *aad, int aad_len) { - int n, hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type); + int n, hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type); uint8_t digest[LWS_GENHASH_LARGEST]; struct lws_gencrypto_keyelem el; struct lws_genhmac_ctx hmacctx; @@ -100,7 +100,7 @@ lws_jwe_encrypt_cbc_hs(struct lws_jwe *jwe, uint8_t *cek, NULL, NULL, LWS_AES_CBC_BLOCKLEN); paddedlen = lws_gencrypto_padded_length(LWS_AES_CBC_BLOCKLEN, jwe->jws.map.len[LJWE_CTXT]); - jwe->jws.map.len[LJWE_CTXT] = paddedlen; + jwe->jws.map.len[LJWE_CTXT] = (uint32_t)paddedlen; lws_genaes_destroy(&aesctx, (uint8_t *)jwe->jws.map.buf[LJWE_CTXT] + paddedlen - LWS_AES_CBC_BLOCKLEN, LWS_AES_CBC_BLOCKLEN); if (n) { @@ -162,7 +162,7 @@ int lws_jwe_auth_and_decrypt_cbc_hs(struct lws_jwe *jwe, uint8_t *enc_cek, uint8_t *aad, int aad_len) { - int n, hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type); + int n, hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type); uint8_t digest[LWS_GENHASH_LARGEST]; struct lws_gencrypto_keyelem el; struct lws_genhmac_ctx hmacctx; diff --git a/lib/jose/jwe/enc/aeskw.c b/lib/jose/jwe/enc/aeskw.c index 43bbbeb61..78cf4f95c 100644 --- a/lib/jose/jwe/enc/aeskw.c +++ b/lib/jose/jwe/enc/aeskw.c @@ -41,7 +41,7 @@ lws_jwe_encrypt_aeskw_cbc_hs(struct lws_jwe *jwe, char *temp, int *temp_len) /* we are wrapping a key, so size for the worst case after wrap */ uint8_t enc_cek[LWS_JWE_LIMIT_KEY_ELEMENT_BYTES + LWS_JWE_RFC3394_OVERHEAD_BYTES]; - int n, m, hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type), + int n, m, hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type), ot = *temp_len; if (jwe->jws.jwk->kty != LWS_GENCRYPTO_KTY_OCT) { diff --git a/lib/jose/jwe/jwe-ecdh-es-aeskw.c b/lib/jose/jwe/jwe-ecdh-es-aeskw.c index 421be2eba..fc073b014 100644 --- a/lib/jose/jwe/jwe-ecdh-es-aeskw.c +++ b/lib/jose/jwe/jwe-ecdh-es-aeskw.c @@ -203,7 +203,7 @@ lws_jwe_encrypt_ecdh(struct lws_jwe *jwe, char *temp, int *temp_len, derived[LWS_JWE_LIMIT_KEY_ELEMENT_BYTES]; int m, n, ret = -1, ot = *temp_len, ss_len = sizeof(shared_secret), // kw_hlen = lws_genhash_size(jwe->jose.alg->hash_type), - enc_hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type), + enc_hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type), ekbytes = 32; //jwe->jose.alg->keybits_fixed / 8; struct lws_genec_ctx ecctx; struct lws_jwk *ephem = &jwe->jose.recipient[jwe->recip].jwk_ephemeral; @@ -378,7 +378,7 @@ int lws_jwe_encrypt_ecdh_cbc_hs(struct lws_jwe *jwe, char *temp, int *temp_len) { int ss_len, // kw_hlen = lws_genhash_size(jwe->jose.alg->hash_type), - enc_hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type); + enc_hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type); uint8_t cek[LWS_JWE_LIMIT_KEY_ELEMENT_BYTES]; int ekbytes = jwe->jose.alg->keybits_fixed / 8; int n, ot = *temp_len, ret = -1; @@ -455,7 +455,7 @@ lws_jwe_auth_and_decrypt_ecdh(struct lws_jwe *jwe) uint8_t shared_secret[LWS_JWE_LIMIT_KEY_ELEMENT_BYTES], derived[LWS_JWE_LIMIT_KEY_ELEMENT_BYTES]; int ekbytes = jwe->jose.enc_alg->keybits_fixed / 8, - enc_hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type); + enc_hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type); struct lws_genec_ctx ecctx; int n, ret = -1, ss_len = sizeof(shared_secret); diff --git a/lib/jose/jwe/jwe-rsa-aescbc.c b/lib/jose/jwe/jwe-rsa-aescbc.c index 4683772c1..c2ff06ffd 100644 --- a/lib/jose/jwe/jwe-rsa-aescbc.c +++ b/lib/jose/jwe/jwe-rsa-aescbc.c @@ -46,7 +46,8 @@ int lws_jwe_encrypt_rsa_aes_cbc_hs(struct lws_jwe *jwe, char *temp, int *temp_len) { - int n, hlen = lws_genhmac_size(jwe->jose.enc_alg->hmac_type), ot = *temp_len; + int n, hlen = (int)lws_genhmac_size(jwe->jose.enc_alg->hmac_type), + ot = *temp_len; char ekey[LWS_GENHASH_LARGEST]; struct lws_genrsa_ctx rsactx; diff --git a/lib/jose/jwe/jwe.c b/lib/jose/jwe/jwe.c index f4f8214b3..feb682f21 100755 --- a/lib/jose/jwe/jwe.c +++ b/lib/jose/jwe/jwe.c @@ -209,7 +209,7 @@ int lws_jwa_concat_kdf(struct lws_jwe *jwe, int direct, uint8_t *out, const uint8_t *shared_secret, int sslen) { - int hlen = lws_genhash_size(LWS_GENHASH_TYPE_SHA256), aidlen; + int hlen = (int)lws_genhash_size(LWS_GENHASH_TYPE_SHA256), aidlen; struct lws_genhash_ctx hash_ctx; uint32_t ctr = 1, t; const char *aid; @@ -236,7 +236,7 @@ lws_jwa_concat_kdf(struct lws_jwe *jwe, int direct, uint8_t *out, */ aid = direct ? jwe->jose.enc_alg->alg : jwe->jose.alg->alg; - aidlen = strlen(aid); + aidlen = (int)strlen(aid); /* * PartyUInfo (PartyVInfo is the same deal) @@ -284,7 +284,7 @@ lws_jwa_concat_kdf(struct lws_jwe *jwe, int direct, uint8_t *out, /* Z */ lws_genhash_update(&hash_ctx, shared_secret, sslen) || /* other info */ - lws_genhash_update(&hash_ctx, be32(strlen(aid), &t), 4) || + lws_genhash_update(&hash_ctx, be32((uint32_t)strlen(aid), &t), 4) || lws_genhash_update(&hash_ctx, aid, aidlen) || lws_genhash_update(&hash_ctx, be32(jwe->jose.e[LJJHI_APU].len, &t), 4) || @@ -541,7 +541,7 @@ lws_jwe_render_compact(struct lws_jwe *jwe, char *out, size_t out_len) *out++ = '\0'; out_len -= n; - return orig - out_len; + return (int)(orig - out_len); } int @@ -578,9 +578,9 @@ lws_jwe_create_packet(struct lws_jwe *jwe, const char *payload, size_t len, if (!jwe->jose.alg || !jwe->jose.alg->alg) goto bail; - p += lws_snprintf(p, end - p, "{\"alg\":\"%s\",\"jwk\":", + p += lws_snprintf(p, lws_ptr_diff(end, p), "{\"alg\":\"%s\",\"jwk\":", jwe->jose.alg->alg); - m = end - p; + m = lws_ptr_diff(end, p); n = lws_jwk_export(&jwe->jwk, 0, p, &m); if (n < 0) { lwsl_notice("failed to export jwk\n"); @@ -647,7 +647,7 @@ lws_jwe_create_packet(struct lws_jwe *jwe, const char *payload, size_t len, free(buf); - return p1 - out; + return lws_ptr_diff(p1, out); bail: lws_jws_destroy(&jws); @@ -782,7 +782,7 @@ lws_jwe_render_flattened(struct lws_jwe *jwe, char *out, size_t out_len) p1 += lws_snprintf(p1, end1 - p1, "\n}\n"); - return p1 - out; + return lws_ptr_diff(p1, out); bail: lws_jws_destroy(&jwe->jws); diff --git a/lib/jose/jwk/jwk.c b/lib/jose/jwk/jwk.c index a7d4f106b..fdd1717be 100644 --- a/lib/jose/jwk/jwk.c +++ b/lib/jose/jwk/jwk.c @@ -595,7 +595,7 @@ lws_jwk_generate(struct lws_context *context, struct lws_jwk *jwk, case LWS_GENCRYPTO_KTY_OCT: sn = lws_gencrypto_bits_to_bytes(bits); jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].buf = lws_malloc(sn, "oct"); - jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].len = sn; + jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].len = (uint32_t)sn; if (lws_get_random(context, jwk->e[LWS_GENCRYPTO_OCT_KEYEL_K].buf, sn) != sn) { lwsl_err("%s: problem getting random\n", __func__); @@ -646,7 +646,7 @@ lws_jwk_import(struct lws_jwk *jwk, lws_jwk_key_import_callback cb, void *user, lws_jwk_init_jps(&jctx, &jps, jwk, cb, user); - m = (int)(signed char)lejp_parse(&jctx, (uint8_t *)in, len); + m = (int)(signed char)lejp_parse(&jctx, (uint8_t *)in, (int)len); lejp_destruct(&jctx); if (m < 0) { @@ -789,7 +789,7 @@ lws_jwk_export(struct lws_jwk *jwk, int flags, char *p, int *len) lws_strnncpy(p, (const char *)jwk->e[l->idx].buf, jwk->e[l->idx].len, end - p); - m = strlen(p); + m = (int)strlen(p); } else m = lws_jws_base64_enc( (const char *)jwk->e[l->idx].buf, @@ -808,9 +808,9 @@ lws_jwk_export(struct lws_jwk *jwk, int flags, char *p, int *len) p += lws_snprintf(p, end - p, (flags & LWSJWKF_EXPORT_NOCRLF) ? "}" : "}\n"); - *len -= p - start; + *len -= lws_ptr_diff(p, start); - return p - start; + return lws_ptr_diff(p, start); } int diff --git a/lib/jose/jws/jose.c b/lib/jose/jws/jose.c index d7aa261f9..ff608138e 100644 --- a/lib/jose/jws/jose.c +++ b/lib/jose/jws/jose.c @@ -509,7 +509,7 @@ lws_jose_render(struct lws_jose *jose, struct lws_jwk *aux_jwk, sub = 1; m = lws_b64_encode_string_url((const char *) jose->e[n].buf, jose->e[n].len, - out, end - out); + out, lws_ptr_diff(end, out)); if (m < 0) return -1; out += m; @@ -528,7 +528,7 @@ lws_jose_render(struct lws_jose *jose, struct lws_jwk *aux_jwk, sub = 1; m = lws_b64_encode_string((const char *) jose->e[n].buf, jose->e[n].len, - out, end - out); + out, lws_ptr_diff(end, out)); if (m < 0) return -1; out += m; @@ -546,7 +546,7 @@ lws_jose_render(struct lws_jose *jose, struct lws_jwk *aux_jwk, out += lws_snprintf(out, end - out, "%s\"%s\":", sub ? ",\n" : "", jws_jose[n]); sub = 1; - vl = end - out; + vl = lws_ptr_diff(end, out); m = lws_jwk_export(jwk, 0, out, &vl); if (m < 0) { lwsl_notice("%s: failed to export key\n", @@ -598,7 +598,7 @@ lws_jose_render(struct lws_jose *jose, struct lws_jwk *aux_jwk, if (out > end - 2) return -1; - return out_len - (end - out) - 1; + return lws_ptr_diff(out_len, (end - out)) - 1; bail: return -1; diff --git a/lib/jose/jws/jws.c b/lib/jose/jws/jws.c index de0a57235..6cf9dccf6 100644 --- a/lib/jose/jws/jws.c +++ b/lib/jose/jws/jws.c @@ -200,10 +200,10 @@ lws_jws_dup_element(struct lws_jws_map *map, int idx, char *temp, int *temp_len, memcpy(temp, in, in_len); - map->len[idx] = in_len; + map->len[idx] = (uint32_t)in_len; map->buf[idx] = temp; - *temp_len -= actual_alloc; + *temp_len -= (int)actual_alloc; return 0; } @@ -241,7 +241,7 @@ lws_jws_randomize_element(struct lws_context *context, struct lws_jws_map *map, if ((size_t)*temp_len < actual_alloc) return -1; - map->len[idx] = random_len; + map->len[idx] = (uint32_t)random_len; map->buf[idx] = temp; if (lws_get_random(context, temp, random_len) != random_len) { @@ -249,7 +249,7 @@ lws_jws_randomize_element(struct lws_context *context, struct lws_jws_map *map, return -1; } - *temp_len -= actual_alloc; + *temp_len -= (int)actual_alloc; return 0; } @@ -264,9 +264,9 @@ lws_jws_alloc_element(struct lws_jws_map *map, int idx, char *temp, if ((size_t)*temp_len < actual_alloc) return -1; - map->len[idx] = len; + map->len[idx] = (uint32_t)len; map->buf[idx] = temp; - *temp_len -= actual_alloc; + *temp_len -= (int)actual_alloc; return 0; } @@ -276,7 +276,7 @@ lws_jws_base64_enc(const char *in, size_t in_len, char *out, size_t out_max) { int n; - n = lws_b64_encode_string_url(in, in_len, out, out_max - 1); + n = lws_b64_encode_string_url(in, (int)in_len, out, (int)out_max - 1); if (n < 0) { lwsl_notice("%s: in len %d too large for %d out buf\n", __func__, (int)in_len, (int)out_max); @@ -391,7 +391,7 @@ int lws_jws_encode_section(const char *in, size_t in_len, int first, char **p, char *end) { - int n, len = (end - *p) - 1; + int n, len = lws_ptr_diff(end, (*p)) - 1; char *p_entry = *p; if (len < 3) @@ -406,7 +406,7 @@ lws_jws_encode_section(const char *in, size_t in_len, int first, char **p, *p += n; - return (*p) - p_entry; + return lws_ptr_diff((*p), p_entry); } int @@ -542,7 +542,7 @@ lws_jws_sig_confirm(struct lws_jws_map *map_b64, struct lws_jws_map *map, /* SHA256/384/512 HMAC */ - h_len = lws_genhmac_size(jose.alg->hmac_type); + h_len = (int)lws_genhmac_size(jose.alg->hmac_type); /* 6) compute HMAC over payload */ @@ -629,7 +629,7 @@ lws_jws_sig_confirm(struct lws_jws_map *map_b64, struct lws_jws_map *map, return -1; } - h_len = lws_genhash_size(jose.alg->hash_type); + h_len = (int)lws_genhash_size(jose.alg->hash_type); if (lws_genecdsa_create(&ecdsactx, context, NULL)) { lwsl_notice("%s: lws_genrsa_public_decrypt_create\n", @@ -696,10 +696,10 @@ lws_jws_sig_confirm_compact_b64(const char *in, size_t len, struct lws_jws_map map_b64; int n; - if (lws_jws_b64_compact_map(in, len, &map_b64) < 0) + if (lws_jws_b64_compact_map(in, (int)len, &map_b64) < 0) return -1; - n = lws_jws_compact_decode(in, len, map, &map_b64, temp, temp_len); + n = lws_jws_compact_decode(in, (int)len, map, &map_b64, temp, temp_len); if (n > 3 || n < 0) return -1; @@ -727,7 +727,8 @@ lws_jws_sig_confirm_json(const char *in, size_t len, struct lws_context *context, char *temp, int *temp_len) { - if (lws_jws_json_parse(jws, (const uint8_t *)in, len, temp, temp_len)) { + if (lws_jws_json_parse(jws, (const uint8_t *)in, + (int)len, temp, temp_len)) { lwsl_err("%s: lws_jws_json_parse failed\n", __func__); return -1; diff --git a/lib/tls/openssl/openssl-x509.c b/lib/tls/openssl/openssl-x509.c index bd6e0162d..bf85120a4 100644 --- a/lib/tls/openssl/openssl-x509.c +++ b/lib/tls/openssl/openssl-x509.c @@ -474,7 +474,7 @@ static int lws_x509_jwk_privkey_pem_pp_cb(char *buf, int size, int rwflag, void *u) { const char *pp = (const char *)u; - int n = strlen(pp); + int n = (int)strlen(pp); if (n > size - 1) return -1; diff --git a/minimal-examples/api-tests/api-test-jose/jwe.c b/minimal-examples/api-tests/api-test-jose/jwe.c index 4ff5f5a1d..44f33f67b 100644 --- a/minimal-examples/api-tests/api-test-jose/jwe.c +++ b/minimal-examples/api-tests/api-test-jose/jwe.c @@ -82,7 +82,7 @@ test_jwe_a1(struct lws_context *context) } /* converts a compact serialization to jws b64 + decoded maps */ - if (lws_jws_compact_decode(ex_a1_compact, strlen(ex_a1_compact), + if (lws_jws_compact_decode(ex_a1_compact, (int)strlen(ex_a1_compact), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); @@ -100,7 +100,7 @@ test_jwe_a1(struct lws_context *context) /* allowing for trailing padding, confirm the plaintext */ if (jwe.jws.map.len[LJWE_CTXT] < strlen(ex_a1_ptext) || lws_timingsafe_bcmp(jwe.jws.map.buf[LJWE_CTXT], ex_a1_ptext, - strlen(ex_a1_ptext))) { + (uint32_t)strlen(ex_a1_ptext))) { lwsl_err("%s: plaintext AES decrypt wrong\n", __func__); lwsl_hexdump_notice(ex_a1_ptext, strlen(ex_a1_ptext)); lwsl_hexdump_notice(jwe.jws.map.buf[LJWE_CTXT], @@ -185,7 +185,7 @@ test_jwe_a1(struct lws_context *context) temp_len = sizeof(temp); /* converts a compact serialization to jws b64 + decoded maps */ - if (lws_jws_compact_decode(compact, strlen(compact), &jwe.jws.map, + if (lws_jws_compact_decode(compact, (int)strlen(compact), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); goto bail; @@ -299,7 +299,7 @@ test_jwe_a2(struct lws_context *context) /* converts a compact serialization to jws b64 + decoded maps */ if (lws_jws_compact_decode((const char *)ex_a2_compact, - strlen((char *)ex_a2_compact), + (int)strlen((char *)ex_a2_compact), &jwe.jws.map, &jwe.jws.map_b64, (char *)temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); @@ -527,7 +527,7 @@ test_jwe_ra_ptext_1024(struct lws_context *context, char *jwk_txt, int jwk_len) } jwe.jws.map.buf[LJWE_JOSE] = rsa256a128_jose; - jwe.jws.map.len[LJWE_JOSE] = strlen(rsa256a128_jose); + jwe.jws.map.len[LJWE_JOSE] = (uint32_t)strlen(rsa256a128_jose); n = lws_jwe_parse_jose(&jwe.jose, jwe.jws.map.buf[LJWE_JOSE], jwe.jws.map.len[LJWE_JOSE], @@ -657,7 +657,7 @@ test_jwe_r256a192_ptext(struct lws_context *context, char *jwk_txt, int jwk_len) } jwe.jws.map.buf[LJWE_JOSE] = rsa256a192_jose; - jwe.jws.map.len[LJWE_JOSE] = strlen(rsa256a192_jose); + jwe.jws.map.len[LJWE_JOSE] = (uint32_t)strlen(rsa256a192_jose); n = lws_jwe_parse_jose(&jwe.jose, jwe.jws.map.buf[LJWE_JOSE], jwe.jws.map.len[LJWE_JOSE], @@ -789,9 +789,10 @@ test_jwe_r256a256_ptext(struct lws_context *context, char *jwk_txt, int jwk_len) } jwe.jws.map.buf[LJWE_JOSE] = rsa256a256_jose; - jwe.jws.map.len[LJWE_JOSE] = strlen(rsa256a256_jose); + jwe.jws.map.len[LJWE_JOSE] = (int)strlen(rsa256a256_jose); - n = lws_jwe_parse_jose(&jwe.jose, rsa256a256_jose, strlen(rsa256a256_jose), + n = lws_jwe_parse_jose(&jwe.jose, rsa256a256_jose, + (int)strlen(rsa256a256_jose), lws_concat_temp(temp, temp_len), &temp_len); if (n < 0) { lwsl_err("%s: JOSE parse failed\n", __func__); @@ -1058,7 +1059,7 @@ test_jwe_r256a128_jwe_openssl(struct lws_context *context) /* converts a compact serialization to jws b64 + decoded maps */ if (lws_jws_compact_decode((const char *)jwe_compact_rsa_cbc_openssl, - strlen((char *)jwe_compact_rsa_cbc_openssl), + (int)strlen((char *)jwe_compact_rsa_cbc_openssl), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); @@ -1149,7 +1150,7 @@ test_jwe_r256a128_jwe_mbedtls(struct lws_context *context) /* converts a compact serialization to jws b64 + decoded maps */ if (lws_jws_compact_decode((const char *)jwe_compact_rsa_cbc_mbedtls, - strlen((char *)jwe_compact_rsa_cbc_mbedtls), + (int)strlen((char *)jwe_compact_rsa_cbc_mbedtls), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); @@ -1240,7 +1241,7 @@ test_jwe_a3(struct lws_context *context) /* converts a compact serialization to jws b64 + decoded maps */ if (lws_jws_compact_decode((const char *)ex_a3_compact, - strlen((char *)ex_a3_compact), + (int)strlen((char *)ex_a3_compact), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); @@ -1649,7 +1650,7 @@ test_jwa_c(struct lws_context *context) * See test_jwe_a3 above for a more normal usage pattern. */ - if (lws_jwe_parse_jose(&jwe.jose, ex_jwa_c_jose, strlen(ex_jwa_c_jose), + if (lws_jwe_parse_jose(&jwe.jose, ex_jwa_c_jose, (int)strlen(ex_jwa_c_jose), temp, &temp_len) < 0) { lwsl_err("%s: JOSE parse failed\n", __func__); @@ -1797,7 +1798,7 @@ test_ecdhes_t1(struct lws_context *context, const char *jose_hdr, jose_hdr, strlen(jose_hdr), 0)) goto bail; - if (lws_jwe_parse_jose(&jwe.jose, jose_hdr, strlen(jose_hdr), + if (lws_jwe_parse_jose(&jwe.jose, jose_hdr, (int)strlen(jose_hdr), temp, &temp_len) < 0) { lwsl_err("%s: JOSE parse failed\n", __func__); @@ -1873,7 +1874,7 @@ test_ecdhes_t1(struct lws_context *context, const char *jose_hdr, } /* converts a compact serialization to jws b64 + decoded maps */ - if (lws_jws_compact_decode(compact, strlen(compact), &jwe.jws.map, + if (lws_jws_compact_decode(compact, (int)strlen(compact), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); goto bail; @@ -1975,7 +1976,7 @@ test_akw_decrypt(struct lws_context *context, const char *test_name, } /* converts a compact serialization to jws b64 + decoded maps */ - if (lws_jws_compact_decode(ciphertext, strlen(ciphertext), + if (lws_jws_compact_decode(ciphertext, (int)strlen(ciphertext), &jwe.jws.map, &jwe.jws.map_b64, temp, &temp_len) != 5) { lwsl_err("%s: lws_jws_compact_decode failed\n", __func__); @@ -1992,7 +1993,7 @@ test_akw_decrypt(struct lws_context *context, const char *test_name, /* allowing for trailing padding, confirm the plaintext */ if (jwe.jws.map.len[LJWE_CTXT] < strlen(akw_ptext) || lws_timingsafe_bcmp(jwe.jws.map.buf[LJWE_CTXT], akw_ptext, - strlen(akw_ptext))) { + (int)strlen(akw_ptext))) { lwsl_err("%s: plaintext AES decrypt wrong\n", __func__); lwsl_hexdump_notice(akw_ptext, strlen(akw_ptext)); lwsl_hexdump_notice(jwe.jws.map.buf[LJWE_CTXT], @@ -2141,7 +2142,7 @@ test_jwe_json_complete(struct lws_context *context) lws_jwe_init(&jwe, context); - if (lws_jwe_parse_jose(&jwe.jose, complete, strlen(complete), + if (lws_jwe_parse_jose(&jwe.jose, complete, (int)strlen(complete), temp, &temp_len) < 0) { lwsl_err("%s: JOSE parse failed\n", __func__); @@ -2199,29 +2200,29 @@ test_jwe(struct lws_context *context) n |= test_jwe_a2(context); n |= test_jwe_ra_ptext_1024(context, (char *)lws_jwe_ex_a2_jwk_json, - strlen((char *)lws_jwe_ex_a2_jwk_json)); + (int)strlen((char *)lws_jwe_ex_a2_jwk_json)); n |= test_jwe_r256a192_ptext(context, (char *)lws_jwe_ex_a2_jwk_json, - strlen((char *)lws_jwe_ex_a2_jwk_json)); + (int)strlen((char *)lws_jwe_ex_a2_jwk_json)); n |= test_jwe_r256a256_ptext(context, (char *)lws_jwe_ex_a2_jwk_json, - strlen((char *)lws_jwe_ex_a2_jwk_json)); + (int)strlen((char *)lws_jwe_ex_a2_jwk_json)); n |= test_jwe_ra_ptext_1024(context, (char *)rsa_key_2048, - strlen((char *)rsa_key_2048)); + (int)strlen((char *)rsa_key_2048)); n |= test_jwe_r256a192_ptext(context, (char *)rsa_key_2048, - strlen((char *)rsa_key_2048)); + (int)strlen((char *)rsa_key_2048)); n |= test_jwe_r256a256_ptext(context, (char *)rsa_key_2048, - strlen((char *)rsa_key_2048)); + (int)strlen((char *)rsa_key_2048)); n |= test_jwe_ra_ptext_1024(context, (char *)rsa_key_4096, - strlen((char *)rsa_key_4096)); + (int)strlen((char *)rsa_key_4096)); n |= test_jwe_r256a192_ptext(context, (char *)rsa_key_4096, - strlen((char *)rsa_key_4096)); + (int)strlen((char *)rsa_key_4096)); n |= test_jwe_r256a256_ptext(context, (char *)rsa_key_4096, - strlen((char *)rsa_key_4096)); + (int)strlen((char *)rsa_key_4096)); n |= test_jwe_ra_ptext_1024(context, (char *)rsa_key_4096_no_optional, - strlen((char *)rsa_key_4096_no_optional)); + (int)strlen((char *)rsa_key_4096_no_optional)); n |= test_jwe_r256a192_ptext(context, (char *)rsa_key_4096_no_optional, - strlen((char *)rsa_key_4096_no_optional)); + (int)strlen((char *)rsa_key_4096_no_optional)); n |= test_jwe_r256a256_ptext(context, (char *)rsa_key_4096_no_optional, - strlen((char *)rsa_key_4096_no_optional)); + (int)strlen((char *)rsa_key_4096_no_optional)); /* AESKW decrypt all variations */ diff --git a/minimal-examples/api-tests/api-test-jose/jws.c b/minimal-examples/api-tests/api-test-jose/jws.c index 8fc6ad5ed..55ffcc971 100644 --- a/minimal-examples/api-tests/api-test-jose/jws.c +++ b/minimal-examples/api-tests/api-test-jose/jws.c @@ -46,7 +46,7 @@ test_jws_none(struct lws_context *context) /* A.5 Unsecured JSON "none" RFC7515 worked example */ /* decode the b64.b64[.b64] compact serialization blocks */ - n = lws_jws_compact_decode(none_cser, strlen(none_cser), &map, NULL, + n = lws_jws_compact_decode(none_cser, (int)strlen(none_cser), &map, NULL, temp, &temp_len); if (n != 2) { lwsl_err("%s: concat_map failed\n", __func__); @@ -131,8 +131,8 @@ test_jws_HS256(struct lws_context *context) /* parse the JOSE header */ - if (lws_jws_parse_jose(&jose, test1, strlen(test1), temp, &temp_len) < 0 || - !jose.alg) { + if (lws_jws_parse_jose(&jose, test1, (int)strlen(test1), temp, + &temp_len) < 0 || !jose.alg) { lwsl_err("%s: JOSE parse failed\n", __func__); goto bail; } @@ -314,7 +314,7 @@ test_jws_RS256(struct lws_context *context) goto bail; } - if (lws_jws_b64_compact_map(rfc7515_rsa_a1, strlen(rfc7515_rsa_a1), + if (lws_jws_b64_compact_map(rfc7515_rsa_a1, (int)strlen(rfc7515_rsa_a1), &jws.map_b64) != 3) { lwsl_notice("%s: lws_jws_b64_compact_map failed\n", __func__); goto bail; @@ -323,7 +323,7 @@ test_jws_RS256(struct lws_context *context) /* 2.3: generate our own signature for a copy of the test packet */ in = lws_concat_temp(temp, temp_len); - l = strlen(rfc7515_rsa_a1); + l = (int)strlen(rfc7515_rsa_a1); if (temp_len < l + 1) goto bail; memcpy(in, rfc7515_rsa_a1, l + 1); @@ -421,7 +421,7 @@ test_jws_ES256(struct lws_context *context) lws_jose_init(&jose); /* decode the b64.b64[.b64] compact serialization blocks */ - if (lws_jws_compact_decode(es256_cser, strlen(es256_cser), + if (lws_jws_compact_decode(es256_cser, (int)strlen(es256_cser), &jws.map, &jws.map_b64, temp, &temp_len) != 3) { lwsl_err("%s: concat_map failed\n", __func__); @@ -481,7 +481,7 @@ test_jws_ES256(struct lws_context *context) /* A.3 "ES256" RFC7515 worked example - sign */ - l = strlen(es256_cser); + l = (int)strlen(es256_cser); if (temp_len < l + 1) goto bail1; p = lws_concat_temp(temp, temp_len); @@ -582,7 +582,7 @@ test_jws_ES512(struct lws_context *context) lws_jose_init(&jose); /* decode the b64.b64[.b64] compact serialization blocks */ - if (lws_jws_compact_decode(es512_cser, strlen(es512_cser), + if (lws_jws_compact_decode(es512_cser, (int)strlen(es512_cser), &jws.map, &jws.map_b64, temp, &temp_len) != 3) { lwsl_err("%s: concat_map failed\n", __func__); @@ -642,7 +642,7 @@ test_jws_ES512(struct lws_context *context) /* A.3 "es512" RFC7515 worked example - sign */ - l = strlen(es512_cser); + l = (int)strlen(es512_cser); if (temp_len < l) goto bail1; p = lws_concat_temp(temp, temp_len); diff --git a/minimal-examples/crypto/minimal-crypto-jwe/main.c b/minimal-examples/crypto/minimal-crypto-jwe/main.c index 94856b8be..811b1f909 100644 --- a/minimal-examples/crypto/minimal-crypto-jwe/main.c +++ b/minimal-examples/crypto/minimal-crypto-jwe/main.c @@ -156,7 +156,7 @@ int main(int argc, const char **argv) /* account for padding as well */ - temp_len -= lws_gencrypto_padded_length(LWS_AES_CBC_BLOCKLEN, n); + temp_len -= (int)lws_gencrypto_padded_length(LWS_AES_CBC_BLOCKLEN, n); /* grab the key */ @@ -219,7 +219,11 @@ int main(int argc, const char **argv) if (lws_cmdline_option(argc, argv, "-c")) format_c(compact); else - if (write(1, compact, strlen(compact)) < 0) { + if (write(1, compact, +#if defined(WIN32) + (unsigned int) +#endif + strlen(compact)) < 0) { lwsl_err("Write stdout failed\n"); goto bail1; } diff --git a/minimal-examples/crypto/minimal-crypto-jwk/main.c b/minimal-examples/crypto/minimal-crypto-jwk/main.c index 5298c8128..97dd7c2a7 100644 --- a/minimal-examples/crypto/minimal-crypto-jwk/main.c +++ b/minimal-examples/crypto/minimal-crypto-jwk/main.c @@ -123,16 +123,16 @@ int main(int argc, const char **argv) } if ((p = lws_cmdline_option(argc, argv, "--kid"))) - lws_jwk_strdup_meta(&jwk, JWK_META_KID, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_KID, p, (int)strlen(p)); if ((p = lws_cmdline_option(argc, argv, "--use"))) - lws_jwk_strdup_meta(&jwk, JWK_META_USE, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_USE, p, (int)strlen(p)); if ((p = lws_cmdline_option(argc, argv, "--alg"))) - lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, (int)strlen(p)); if ((p = lws_cmdline_option(argc, argv, "--key-ops"))) - lws_jwk_strdup_meta(&jwk, JWK_META_KEY_OPS, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_KEY_OPS, p, (int)strlen(p)); if ((p = lws_cmdline_option(argc, argv, "--public")) && kty != LWS_GENCRYPTO_KTY_OCT) { @@ -156,7 +156,11 @@ int main(int argc, const char **argv) if (lws_cmdline_option(argc, argv, "-c")) format_c(fd, key); else { - if (write(fd, key, strlen(key)) < 0) { + if (write(fd, key, +#if defined(WIN32) + (unsigned int) +#endif + strlen(key)) < 0) { lwsl_err("Write public failed\n"); return 1; } @@ -177,7 +181,11 @@ int main(int argc, const char **argv) if (format_c(1, key) < 0) return 1; } else - if (write(1, key, strlen(key)) < 0) { + if (write(1, key, +#if defined(WIN32) + (unsigned int) +#endif + strlen(key)) < 0) { lwsl_err("Write stdout failed\n"); return 1; } diff --git a/minimal-examples/crypto/minimal-crypto-jws/main.c b/minimal-examples/crypto/minimal-crypto-jws/main.c index 5879fa9cb..f48b0b055 100644 --- a/minimal-examples/crypto/minimal-crypto-jws/main.c +++ b/minimal-examples/crypto/minimal-crypto-jws/main.c @@ -152,7 +152,11 @@ int main(int argc, const char **argv) /* dump the compact JWS representation on stdout */ - if (write(1, compact, strlen(compact)) < 0) { + if (write(1, compact, +#if defined(WIN32) + (unsigned int) +#endif + strlen(compact)) < 0) { lwsl_err("Write stdout failed\n"); goto bail1; } diff --git a/minimal-examples/crypto/minimal-crypto-x509/main.c b/minimal-examples/crypto/minimal-crypto-x509/main.c index 74aade746..d04f6c476 100644 --- a/minimal-examples/crypto/minimal-crypto-x509/main.c +++ b/minimal-examples/crypto/minimal-crypto-x509/main.c @@ -126,7 +126,7 @@ int main(int argc, const char **argv) } if ((p = lws_cmdline_option(argc, argv, "--alg"))) - lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, (int)strlen(p)); lwsl_info("JWK version of trusted cert:\n"); lws_jwk_dump(&jwk); @@ -143,7 +143,7 @@ int main(int argc, const char **argv) lwsl_info("JWK version of cert:\n"); if ((p = lws_cmdline_option(argc, argv, "--alg"))) - lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, (int)strlen(p)); lws_jwk_dump(&jwk); /* only print public if he doesn't provide private */ @@ -172,7 +172,7 @@ int main(int argc, const char **argv) } if ((p = lws_cmdline_option(argc, argv, "--alg"))) - lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, strlen(p)); + lws_jwk_strdup_meta(&jwk, JWK_META_ALG, p, (int)strlen(p)); lwsl_info("JWK version of cert + privkey:\n"); lws_jwk_dump(&jwk);