mirror of
https://github.com/curl/curl.git
synced 2026-08-25 16:33:38 +03:00
tidy-up: use more static, sizeof(), char[], double-const
- make `const` data `static`, where missing and possible. - replace `strlen()` on literal or const strings with `sizeof()`. While the latter is optimized by popular C compiler, e.g. MSVC only does it with `/O2`. - replace magic numbers with `sizeof()`, where missing. - introduce `CURL_CSTRLEN()` macro for `sizeof(char[]) - 1`. - use `CURL_CSTRLEN()` macro. - move `const` before integer types, where missing. - replace `char *var` with `var[]`, where missing and possible. - use double const, where missing. `static const char *` -> `static const char * const`. - lib1514: constify pointers. - unit3205: drop redundant cast, avoid another one. - unit1666: map `OID()` macro to identical `STRCONST()`. Closes #22406
This commit is contained in:
parent
573a6ec16b
commit
e1450d8fda
117 changed files with 311 additions and 287 deletions
|
|
@ -329,7 +329,7 @@ static CURLcode on_resp_header_udp(struct Curl_cfilter *cf,
|
|||
k->httpcode);
|
||||
}
|
||||
else {
|
||||
const char *p = header + strlen("Content-Length:");
|
||||
const char *p = header + CURL_CSTRLEN("Content-Length:");
|
||||
if(curlx_str_numblanks(&p, &ts->cl)) {
|
||||
failf(data, "Unsupported Content-Length value");
|
||||
return CURLE_WEIRD_SERVER_REPLY;
|
||||
|
|
@ -419,7 +419,7 @@ static CURLcode on_resp_header(struct Curl_cfilter *cf,
|
|||
k->httpcode);
|
||||
}
|
||||
else {
|
||||
const char *p = header + strlen("Content-Length:");
|
||||
const char *p = header + CURL_CSTRLEN("Content-Length:");
|
||||
if(curlx_str_numblanks(&p, &ts->cl)) {
|
||||
failf(data, "Unsupported Content-Length value");
|
||||
return CURLE_WEIRD_SERVER_REPLY;
|
||||
|
|
|
|||
|
|
@ -574,7 +574,7 @@ static int proxy_h2_on_header(nghttp2_session *session,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if(namelen == sizeof(HTTP_PSEUDO_STATUS) - 1 &&
|
||||
if(namelen == CURL_CSTRLEN(HTTP_PSEUDO_STATUS) &&
|
||||
!memcmp(HTTP_PSEUDO_STATUS, name, namelen)) {
|
||||
int http_status;
|
||||
struct http_resp *resp;
|
||||
|
|
|
|||
|
|
@ -1291,10 +1291,14 @@ typedef unsigned int curl_bit;
|
|||
#define CURLMAX(x, y) ((x) > (y) ? (x) : (y))
|
||||
#define CURLMIN(x, y) ((x) < (y) ? (x) : (y))
|
||||
|
||||
/* Convenience macro to provide the length of a string literal size without
|
||||
the null-terminator. Equivalent to strlen() for constant strings. */
|
||||
#define CURL_CSTRLEN(x) (sizeof(x) - 1)
|
||||
|
||||
/* A convenience macro to provide both the string literal and the length of
|
||||
the string literal in one go, useful for functions that take "string,len"
|
||||
as their argument */
|
||||
#define STRCONST(x) x, sizeof(x) - 1
|
||||
#define STRCONST(x) x, CURL_CSTRLEN(x)
|
||||
|
||||
#define CURL_ARRAYSIZE(A) (sizeof(A) / sizeof((A)[0]))
|
||||
|
||||
|
|
|
|||
12
lib/dict.c
12
lib/dict.c
|
|
@ -153,9 +153,9 @@ static CURLcode dict_do(struct Curl_easy *data, bool *done)
|
|||
if(result)
|
||||
return result;
|
||||
|
||||
if(curl_strnequal(path, DICT_MATCH, sizeof(DICT_MATCH) - 1) ||
|
||||
curl_strnequal(path, DICT_MATCH2, sizeof(DICT_MATCH2) - 1) ||
|
||||
curl_strnequal(path, DICT_MATCH3, sizeof(DICT_MATCH3) - 1)) {
|
||||
if(curl_strnequal(path, DICT_MATCH, CURL_CSTRLEN(DICT_MATCH)) ||
|
||||
curl_strnequal(path, DICT_MATCH2, CURL_CSTRLEN(DICT_MATCH2)) ||
|
||||
curl_strnequal(path, DICT_MATCH3, CURL_CSTRLEN(DICT_MATCH3))) {
|
||||
|
||||
word = strchr(path, ':');
|
||||
if(word) {
|
||||
|
|
@ -200,9 +200,9 @@ static CURLcode dict_do(struct Curl_easy *data, bool *done)
|
|||
}
|
||||
Curl_xfer_setup_recv(data, FIRSTSOCKET, -1);
|
||||
}
|
||||
else if(curl_strnequal(path, DICT_DEFINE, sizeof(DICT_DEFINE) - 1) ||
|
||||
curl_strnequal(path, DICT_DEFINE2, sizeof(DICT_DEFINE2) - 1) ||
|
||||
curl_strnequal(path, DICT_DEFINE3, sizeof(DICT_DEFINE3) - 1)) {
|
||||
else if(curl_strnequal(path, DICT_DEFINE, CURL_CSTRLEN(DICT_DEFINE)) ||
|
||||
curl_strnequal(path, DICT_DEFINE2, CURL_CSTRLEN(DICT_DEFINE2)) ||
|
||||
curl_strnequal(path, DICT_DEFINE3, CURL_CSTRLEN(DICT_DEFINE3))) {
|
||||
|
||||
word = strchr(path, ':');
|
||||
if(word) {
|
||||
|
|
|
|||
|
|
@ -5026,7 +5026,7 @@ CURLcode Curl_http_req_to_h2(struct dynhds *h2_headers,
|
|||
if(e->namelen == 2 && curl_strequal("TE", e->name)) {
|
||||
if(http_TE_has_token(e->value, "trailers"))
|
||||
result = Curl_dynhds_add(h2_headers, e->name, e->namelen,
|
||||
"trailers", sizeof("trailers") - 1);
|
||||
"trailers", CURL_CSTRLEN("trailers"));
|
||||
}
|
||||
else if(h2_permissible_field(e)) {
|
||||
result = Curl_dynhds_add(h2_headers, e->name, e->namelen,
|
||||
|
|
|
|||
|
|
@ -1427,7 +1427,7 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
|
|||
if(frame->hd.type == NGHTTP2_PUSH_PROMISE) {
|
||||
char *h;
|
||||
|
||||
if((namelen == (sizeof(HTTP_PSEUDO_AUTHORITY) - 1)) &&
|
||||
if((namelen == CURL_CSTRLEN(HTTP_PSEUDO_AUTHORITY)) &&
|
||||
!strncmp(HTTP_PSEUDO_AUTHORITY, (const char *)name, namelen)) {
|
||||
/* pseudo headers are lower case */
|
||||
int rc = 0;
|
||||
|
|
@ -1503,7 +1503,7 @@ static int on_header(nghttp2_session *session, const nghttp2_frame *frame,
|
|||
return 0;
|
||||
}
|
||||
|
||||
if(namelen == sizeof(HTTP_PSEUDO_STATUS) - 1 &&
|
||||
if(namelen == CURL_CSTRLEN(HTTP_PSEUDO_STATUS) &&
|
||||
!memcmp(HTTP_PSEUDO_STATUS, name, namelen)) {
|
||||
/* nghttp2 guarantees :status is received first and only once. */
|
||||
char buffer[32];
|
||||
|
|
|
|||
|
|
@ -623,7 +623,7 @@ static CURLcode calc_s3_payload_hash(struct Curl_easy *data,
|
|||
}
|
||||
else {
|
||||
/* Fall back to s3's UNSIGNED-PAYLOAD */
|
||||
size_t len = sizeof(S3_UNSIGNED_PAYLOAD) - 1;
|
||||
size_t len = CURL_CSTRLEN(S3_UNSIGNED_PAYLOAD);
|
||||
DEBUGASSERT(len < SHA256_HEX_LENGTH); /* 16 < 65 */
|
||||
memcpy(sha_hex, S3_UNSIGNED_PAYLOAD, len);
|
||||
sha_hex[len] = 0;
|
||||
|
|
@ -1143,7 +1143,7 @@ static CURLcode sign_and_set_auth_headers(struct Curl_easy *data,
|
|||
goto fail;
|
||||
|
||||
/* provider 0 uppercase */
|
||||
Curl_strntoupper(&auth_headers[sizeof("Authorization: ") - 1],
|
||||
Curl_strntoupper(&auth_headers[CURL_CSTRLEN("Authorization: ")],
|
||||
curlx_str(provider0), curlx_strlen(provider0));
|
||||
|
||||
curlx_free(data->req.hd_auth);
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ CURLcode Curl_input_digest(struct Curl_easy *data,
|
|||
if(!checkprefix("Digest", header) || !ISBLANK(header[6]))
|
||||
return CURLE_AUTH_ERROR;
|
||||
|
||||
header += strlen("Digest");
|
||||
header += CURL_CSTRLEN("Digest");
|
||||
curlx_str_passblanks(&header);
|
||||
|
||||
return Curl_auth_decode_digest_http_message(header, digest);
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ CURLcode Curl_input_negotiate(struct Curl_easy *data, struct connectdata *conn,
|
|||
return CURLE_OUT_OF_MEMORY;
|
||||
|
||||
/* Obtain the input token, if any */
|
||||
header += strlen("Negotiate");
|
||||
header += CURL_CSTRLEN("Negotiate");
|
||||
curlx_str_passblanks(&header);
|
||||
|
||||
len = strlen(header);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ CURLcode Curl_input_ntlm(struct Curl_easy *data,
|
|||
if(!ntlm)
|
||||
return CURLE_OUT_OF_MEMORY;
|
||||
|
||||
header += strlen("NTLM");
|
||||
header += CURL_CSTRLEN("NTLM");
|
||||
curlx_str_passblanks(&header);
|
||||
if(*header) {
|
||||
unsigned char *hdr;
|
||||
|
|
|
|||
|
|
@ -215,7 +215,7 @@ static CURLcode http_proxy_create_CONNECT(struct httpreq **preq,
|
|||
goto out;
|
||||
}
|
||||
|
||||
result = Curl_http_req_make(&req, "CONNECT", sizeof("CONNECT") - 1,
|
||||
result = Curl_http_req_make(&req, "CONNECT", CURL_CSTRLEN("CONNECT"),
|
||||
NULL, 0, authority, strlen(authority),
|
||||
NULL, 0);
|
||||
if(result)
|
||||
|
|
@ -340,7 +340,7 @@ static CURLcode http_proxy_create_CONNECTUDP(struct httpreq **preq,
|
|||
}
|
||||
|
||||
if(ver == PROXY_HTTP_V1) {
|
||||
result = Curl_http_req_make(&req, "GET", sizeof("GET")-1,
|
||||
result = Curl_http_req_make(&req, "GET", CURL_CSTRLEN("GET"),
|
||||
proxy_scheme, strlen(proxy_scheme),
|
||||
authority, strlen(authority),
|
||||
path, strlen(path));
|
||||
|
|
@ -348,7 +348,7 @@ static CURLcode http_proxy_create_CONNECTUDP(struct httpreq **preq,
|
|||
goto out;
|
||||
}
|
||||
else if(ver == PROXY_HTTP_V2 || ver == PROXY_HTTP_V3) {
|
||||
result = Curl_http_req_make(&req, "CONNECT", sizeof("CONNECT") - 1,
|
||||
result = Curl_http_req_make(&req, "CONNECT", CURL_CSTRLEN("CONNECT"),
|
||||
proxy_scheme, strlen(proxy_scheme),
|
||||
authority, strlen(authority),
|
||||
path, strlen(path));
|
||||
|
|
|
|||
|
|
@ -1357,7 +1357,7 @@ static CURLcode imap_state_select_resp(struct Curl_easy *data,
|
|||
size_t len = curlx_dyn_len(&imapc->pp.recvbuf);
|
||||
if((len >= 18) && checkprefix("OK [UIDVALIDITY ", &line[2])) {
|
||||
curl_off_t value;
|
||||
const char *p = &line[2] + strlen("OK [UIDVALIDITY ");
|
||||
const char *p = &line[2] + CURL_CSTRLEN("OK [UIDVALIDITY ");
|
||||
if(!curlx_str_number(&p, &value, UINT_MAX)) {
|
||||
imapc->mb_uidvalidity = (unsigned int)value;
|
||||
imapc->mb_uidvalidity_set = TRUE;
|
||||
|
|
|
|||
|
|
@ -976,9 +976,9 @@ void Curl_ldap_version(char *buf, size_t bufsz)
|
|||
curl_msnprintf(buf, bufsz, "WinLDAP");
|
||||
#else
|
||||
#ifdef LDAP_OPT_X_TLS_PASSPHRASE
|
||||
static const char *flavor = "/Apple";
|
||||
static const char flavor[] = "/Apple";
|
||||
#else
|
||||
static const char *flavor = "";
|
||||
static const char flavor[] = "";
|
||||
#endif
|
||||
LDAPAPIInfo api;
|
||||
api.ldapai_info_version = LDAP_API_INFO_VERSION;
|
||||
|
|
|
|||
|
|
@ -276,7 +276,7 @@ static CURLcode mqtt_connect(struct Curl_easy *data)
|
|||
size_t start_user = 0;
|
||||
size_t start_pwd = 0;
|
||||
char client_id[MQTT_CLIENTID_LEN + 1] = "curl";
|
||||
const size_t clen = strlen("curl");
|
||||
const size_t clen = CURL_CSTRLEN("curl");
|
||||
char *packet = NULL;
|
||||
|
||||
/* extracting username from request */
|
||||
|
|
@ -627,7 +627,7 @@ static bool mqtt_decode_len(size_t *lenp, const unsigned char *buf,
|
|||
}
|
||||
|
||||
#if defined(DEBUGBUILD) && defined(CURLVERBOSE)
|
||||
static const char *statenames[] = {
|
||||
static const char * const statenames[] = {
|
||||
"MQTT_FIRST",
|
||||
"MQTT_REMAINING_LENGTH",
|
||||
"MQTT_CONNACK",
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ UNITTEST char *max6out(curl_off_t bytes, char *max6, size_t mlen)
|
|||
if(bytes < 100000)
|
||||
curl_msnprintf(max6, mlen, "%6" CURL_FORMAT_CURL_OFF_T, bytes);
|
||||
else {
|
||||
const char unit[] = { 'k', 'M', 'G', 'T', 'P', 'E', 0 };
|
||||
static const char unit[] = { 'k', 'M', 'G', 'T', 'P', 'E', 0 };
|
||||
int k = 0;
|
||||
curl_off_t nbytes;
|
||||
curl_off_t rest;
|
||||
|
|
|
|||
|
|
@ -654,9 +654,10 @@ static CURLcode smb_send_negotiate(struct Curl_easy *data,
|
|||
struct smb_conn *smbc,
|
||||
struct smb_request *req)
|
||||
{
|
||||
const char *msg = "\x00\x0c\x00\x02NT LM 0.12";
|
||||
static const char msg[] = "\x00\x0c\x00\x02NT LM 0.12";
|
||||
|
||||
return smb_send_message(data, smbc, req, SMB_COM_NEGOTIATE, msg, 15);
|
||||
return smb_send_message(data, smbc, req, SMB_COM_NEGOTIATE, msg,
|
||||
sizeof(msg));
|
||||
}
|
||||
|
||||
static CURLcode smb_send_setup(struct Curl_easy *data)
|
||||
|
|
@ -678,7 +679,7 @@ static CURLcode smb_send_setup(struct Curl_easy *data)
|
|||
|
||||
byte_count = sizeof(lm) + sizeof(nt) +
|
||||
strlen(smbc->user) + strlen(smbc->domain) +
|
||||
strlen(CURL_OS) + strlen(CLIENTNAME) + 4; /* 4 null chars */
|
||||
CURL_CSTRLEN(CURL_OS) + CURL_CSTRLEN(CLIENTNAME) + 4; /* 4 null chars */
|
||||
if(byte_count > sizeof(msg.bytes))
|
||||
return CURLE_FILESIZE_EXCEEDED;
|
||||
|
||||
|
|
@ -724,7 +725,7 @@ static CURLcode smb_send_tree_connect(struct Curl_easy *data,
|
|||
char *p = msg.bytes;
|
||||
const size_t byte_count = strlen(conn->origin->hostname) +
|
||||
strlen(smbc->share) +
|
||||
strlen(SERVICENAME) + 5; /* 2 nulls and 3 backslashes */
|
||||
CURL_CSTRLEN(SERVICENAME) + 5; /* 2 nulls and 3 backslashes */
|
||||
|
||||
if(byte_count > sizeof(msg.bytes))
|
||||
return CURLE_FILESIZE_EXCEEDED;
|
||||
|
|
|
|||
|
|
@ -278,7 +278,7 @@ static CURLcode tftp_parse_option_ack(struct tftp_conn *state,
|
|||
|
||||
infof(data, "got option=(%s) value=(%s)", option, value);
|
||||
|
||||
if((strlen(TFTP_OPTION_BLKSIZE) == olen) &&
|
||||
if((CURL_CSTRLEN(TFTP_OPTION_BLKSIZE) == olen) &&
|
||||
checkprefix(TFTP_OPTION_BLKSIZE, option)) {
|
||||
curl_off_t blksize;
|
||||
if(curlx_str_number(&value, &blksize, TFTP_BLKSIZE_MAX)) {
|
||||
|
|
@ -308,7 +308,7 @@ static CURLcode tftp_parse_option_ack(struct tftp_conn *state,
|
|||
infof(data, "blksize parsed from OACK (%u) requested (%u)",
|
||||
state->blksize, state->requested_blksize);
|
||||
}
|
||||
else if((strlen(TFTP_OPTION_TSIZE) == olen) &&
|
||||
else if((CURL_CSTRLEN(TFTP_OPTION_TSIZE) == olen) &&
|
||||
checkprefix(TFTP_OPTION_TSIZE, option)) {
|
||||
curl_off_t tsize = 0;
|
||||
/* tsize should be ignored on upload: Who cares about the size of the
|
||||
|
|
|
|||
|
|
@ -1298,9 +1298,8 @@ static CURLcode cf_quiche_ctx_open(struct Curl_cfilter *cf,
|
|||
10 * QUIC_MAX_STREAMS * H3_STREAM_WINDOW_SIZE);
|
||||
quiche_config_set_max_stream_window(ctx->cfg, 10 * H3_STREAM_WINDOW_SIZE);
|
||||
quiche_config_set_application_protos(ctx->cfg,
|
||||
(uint8_t *)CURL_UNCONST(QUICHE_H3_APPLICATION_PROTOCOL),
|
||||
sizeof(QUICHE_H3_APPLICATION_PROTOCOL)
|
||||
- 1);
|
||||
(uint8_t *)CURL_UNCONST(QUICHE_H3_APPLICATION_PROTOCOL),
|
||||
CURL_CSTRLEN(QUICHE_H3_APPLICATION_PROTOCOL));
|
||||
|
||||
result = Curl_vquic_tls_init(&ctx->tls, cf, data, &ctx->ssl_peer,
|
||||
&ALPN_SPEC_H3, NULL, NULL, cf, NULL);
|
||||
|
|
@ -1351,7 +1350,7 @@ static CURLcode cf_quiche_ctx_open(struct Curl_cfilter *cf,
|
|||
unsigned alpn_len, offset = 0;
|
||||
|
||||
/* Replace each ALPN length prefix by a comma. */
|
||||
while(offset < sizeof(alpn_protocols) - 1) {
|
||||
while(offset < CURL_CSTRLEN(alpn_protocols)) {
|
||||
alpn_len = alpn_protocols[offset];
|
||||
alpn_protocols[offset] = ',';
|
||||
offset += 1 + alpn_len;
|
||||
|
|
|
|||
|
|
@ -1768,7 +1768,7 @@ static CURLcode ssh_state_sftp_realpath(struct Curl_easy *data,
|
|||
return CURLE_FAILED_INIT;
|
||||
|
||||
rc = libssh2_sftp_symlink_ex(sshc->sftp_session, ".",
|
||||
curlx_uztoui(strlen(".")),
|
||||
curlx_uztoui(CURL_CSTRLEN(".")),
|
||||
sshp->readdir_filename, CURL_PATH_MAX,
|
||||
LIBSSH2_SFTP_REALPATH);
|
||||
if(rc == LIBSSH2_ERROR_EAGAIN)
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
|
||||
/* Text for cipher suite parts (max 64 entries),
|
||||
keep indexes below in sync with this! */
|
||||
static const char *cs_txt =
|
||||
static const char cs_txt[] =
|
||||
"\0"
|
||||
"TLS" "\0"
|
||||
"WITH" "\0"
|
||||
|
|
|
|||
|
|
@ -591,7 +591,7 @@ static struct gtls_shared_creds *gtls_get_cached_creds(struct Curl_cfilter *cf,
|
|||
if(data->multi) {
|
||||
shared_creds = Curl_hash_pick(&data->multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_GTLS_X509_KEY),
|
||||
sizeof(MPROTO_GTLS_X509_KEY) - 1);
|
||||
CURL_CSTRLEN(MPROTO_GTLS_X509_KEY));
|
||||
if(shared_creds && shared_creds->creds &&
|
||||
!gtls_shared_creds_expired(data, shared_creds) &&
|
||||
!gtls_shared_creds_different(cf, shared_creds)) {
|
||||
|
|
@ -604,7 +604,7 @@ static struct gtls_shared_creds *gtls_get_cached_creds(struct Curl_cfilter *cf,
|
|||
static void gtls_shared_creds_hash_free(void *key, size_t key_len, void *p)
|
||||
{
|
||||
struct gtls_shared_creds *sc = p;
|
||||
DEBUGASSERT(key_len == (sizeof(MPROTO_GTLS_X509_KEY) - 1));
|
||||
DEBUGASSERT(key_len == CURL_CSTRLEN(MPROTO_GTLS_X509_KEY));
|
||||
DEBUGASSERT(!memcmp(MPROTO_GTLS_X509_KEY, key, key_len));
|
||||
(void)key;
|
||||
(void)key_len;
|
||||
|
|
@ -635,7 +635,7 @@ static void gtls_set_cached_creds(struct Curl_cfilter *cf,
|
|||
|
||||
if(!Curl_hash_add2(&data->multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_GTLS_X509_KEY),
|
||||
sizeof(MPROTO_GTLS_X509_KEY) - 1,
|
||||
CURL_CSTRLEN(MPROTO_GTLS_X509_KEY),
|
||||
sc, gtls_shared_creds_hash_free)) {
|
||||
Curl_gtls_shared_creds_free(&sc); /* down reference again */
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
***************************************************************************/
|
||||
#include "curl_setup.h"
|
||||
|
||||
#define KEYLOG_LABEL_MAXLEN (sizeof("CLIENT_HANDSHAKE_TRAFFIC_SECRET") - 1)
|
||||
#define KEYLOG_LABEL_MAXLEN CURL_CSTRLEN("CLIENT_HANDSHAKE_TRAFFIC_SECRET")
|
||||
|
||||
#define CLIENT_RANDOM_SIZE 32
|
||||
|
||||
|
|
|
|||
|
|
@ -248,7 +248,7 @@ static CURLcode X509V3_ext(struct Curl_easy *data,
|
|||
|
||||
if(asn1_object_dump(obj, namebuf, sizeof(namebuf)))
|
||||
/* make sure the name is null-terminated */
|
||||
namebuf[sizeof(namebuf) - 1] = 0;
|
||||
namebuf[CURL_CSTRLEN(namebuf)] = 0;
|
||||
|
||||
if(!X509V3_EXT_print(bio_out, ext, 0, 0))
|
||||
ASN1_STRING_print(bio_out,
|
||||
|
|
@ -1176,7 +1176,7 @@ static int engineload(struct Curl_easy *data,
|
|||
}
|
||||
|
||||
if(data->state.engine) {
|
||||
const char *cmd_name = "LOAD_CERT_CTRL";
|
||||
static const char cmd_name[] = "LOAD_CERT_CTRL";
|
||||
struct {
|
||||
const char *cert_id;
|
||||
X509 *cert;
|
||||
|
|
@ -2965,7 +2965,7 @@ static CURLcode ossl_windows_load_anchors(struct Curl_cfilter *cf,
|
|||
https://stackoverflow.com/questions/9507184/
|
||||
https://github.com/d3x0r/SACK/blob/ff15424d3c581b86d40f818532e5a400c516d39d/src/netlib/ssl_layer.c#L1410
|
||||
https://datatracker.ietf.org/doc/html/rfc5280 */
|
||||
const char *win_stores[] = {
|
||||
static const char * const win_stores[] = {
|
||||
"ROOT", /* Trusted Root Certification Authorities */
|
||||
"CA" /* Intermediate Certification Authorities */
|
||||
};
|
||||
|
|
@ -3180,7 +3180,7 @@ struct ossl_x509_share {
|
|||
static void oss_x509_share_free(void *key, size_t key_len, void *p)
|
||||
{
|
||||
struct ossl_x509_share *share = p;
|
||||
DEBUGASSERT(key_len == (sizeof(MPROTO_OSSL_X509_KEY) - 1));
|
||||
DEBUGASSERT(key_len == CURL_CSTRLEN(MPROTO_OSSL_X509_KEY));
|
||||
DEBUGASSERT(!memcmp(MPROTO_OSSL_X509_KEY, key, key_len));
|
||||
(void)key;
|
||||
(void)key_len;
|
||||
|
|
@ -3231,7 +3231,7 @@ static X509_STORE *ossl_get_cached_x509_store(struct Curl_cfilter *cf,
|
|||
*pempty = TRUE;
|
||||
share = multi ? Curl_hash_pick(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_OSSL_X509_KEY),
|
||||
sizeof(MPROTO_OSSL_X509_KEY) - 1) : NULL;
|
||||
CURL_CSTRLEN(MPROTO_OSSL_X509_KEY)) : NULL;
|
||||
if(share && share->store &&
|
||||
!ossl_cached_x509_store_expired(data, share) &&
|
||||
!ossl_cached_x509_store_different(cf, data, share)) {
|
||||
|
|
@ -3256,7 +3256,7 @@ static void ossl_set_cached_x509_store(struct Curl_cfilter *cf,
|
|||
return;
|
||||
share = Curl_hash_pick(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_OSSL_X509_KEY),
|
||||
sizeof(MPROTO_OSSL_X509_KEY) - 1);
|
||||
CURL_CSTRLEN(MPROTO_OSSL_X509_KEY));
|
||||
|
||||
if(!share) {
|
||||
share = curlx_calloc(1, sizeof(*share));
|
||||
|
|
@ -3264,7 +3264,7 @@ static void ossl_set_cached_x509_store(struct Curl_cfilter *cf,
|
|||
return;
|
||||
if(!Curl_hash_add2(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_OSSL_X509_KEY),
|
||||
sizeof(MPROTO_OSSL_X509_KEY) - 1,
|
||||
CURL_CSTRLEN(MPROTO_OSSL_X509_KEY),
|
||||
share, oss_x509_share_free)) {
|
||||
curlx_free(share);
|
||||
return;
|
||||
|
|
@ -5283,7 +5283,7 @@ static CURLcode ossl_get_channel_binding(struct Curl_easy *data,
|
|||
unsigned int length;
|
||||
unsigned char buf[EVP_MAX_MD_SIZE];
|
||||
|
||||
const char prefix[] = "tls-server-end-point:";
|
||||
static const char prefix[] = "tls-server-end-point:";
|
||||
struct connectdata *conn = data->conn;
|
||||
struct Curl_cfilter *cf = conn->cfilter[sockindex];
|
||||
struct ossl_ctx *octx = NULL;
|
||||
|
|
@ -5405,7 +5405,7 @@ static CURLcode ossl_get_channel_binding(struct Curl_easy *data,
|
|||
}
|
||||
|
||||
/* Append "tls-server-end-point:" */
|
||||
result = curlx_dyn_addn(binding, prefix, sizeof(prefix) - 1);
|
||||
result = curlx_dyn_addn(binding, prefix, CURL_CSTRLEN(prefix));
|
||||
if(result)
|
||||
goto out;
|
||||
|
||||
|
|
@ -5423,9 +5423,9 @@ size_t Curl_ossl_version(char *buffer, size_t size)
|
|||
char *p;
|
||||
size_t count;
|
||||
const char *ver = OpenSSL_version(OPENSSL_VERSION);
|
||||
const char expected[] = OSSL_PACKAGE " "; /* ie "LibreSSL " */
|
||||
if(curl_strnequal(ver, expected, sizeof(expected) - 1)) {
|
||||
ver += sizeof(expected) - 1;
|
||||
static const char expected[] = OSSL_PACKAGE " "; /* ie "LibreSSL " */
|
||||
if(curl_strnequal(ver, expected, CURL_CSTRLEN(expected))) {
|
||||
ver += CURL_CSTRLEN(expected);
|
||||
}
|
||||
count = curl_msnprintf(buffer, size, "%s/%s", OSSL_PACKAGE, ver);
|
||||
for(p = buffer; *p; ++p) {
|
||||
|
|
|
|||
|
|
@ -291,9 +291,9 @@ static CURLcode set_ssl_ciphers(SCHANNEL_CRED *schannel_cred, char *ciphers,
|
|||
if(alg)
|
||||
algIds[algCount++] = (ALG_ID)alg;
|
||||
else if(!strncmp(startCur, "USE_STRONG_CRYPTO",
|
||||
sizeof("USE_STRONG_CRYPTO") - 1) ||
|
||||
CURL_CSTRLEN("USE_STRONG_CRYPTO")) ||
|
||||
!strncmp(startCur, "SCH_USE_STRONG_CRYPTO",
|
||||
sizeof("SCH_USE_STRONG_CRYPTO") - 1))
|
||||
CURL_CSTRLEN("SCH_USE_STRONG_CRYPTO")))
|
||||
schannel_cred->dwFlags |= SCH_USE_STRONG_CRYPTO;
|
||||
else
|
||||
return CURLE_SSL_CIPHER;
|
||||
|
|
@ -2736,7 +2736,7 @@ HCERTSTORE Curl_schannel_get_cached_cert_store(struct Curl_cfilter *cf,
|
|||
|
||||
share = Curl_hash_pick(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_SCHANNEL_CERT_SHARE_KEY),
|
||||
sizeof(MPROTO_SCHANNEL_CERT_SHARE_KEY) - 1);
|
||||
CURL_CSTRLEN(MPROTO_SCHANNEL_CERT_SHARE_KEY));
|
||||
if(!share || !share->cert_store) {
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -2785,7 +2785,7 @@ HCERTSTORE Curl_schannel_get_cached_cert_store(struct Curl_cfilter *cf,
|
|||
static void schannel_cert_share_free(void *key, size_t key_len, void *p)
|
||||
{
|
||||
struct schannel_cert_share *share = p;
|
||||
DEBUGASSERT(key_len == (sizeof(MPROTO_SCHANNEL_CERT_SHARE_KEY) - 1));
|
||||
DEBUGASSERT(key_len == CURL_CSTRLEN(MPROTO_SCHANNEL_CERT_SHARE_KEY));
|
||||
DEBUGASSERT(!memcmp(MPROTO_SCHANNEL_CERT_SHARE_KEY, key, key_len));
|
||||
(void)key;
|
||||
(void)key_len;
|
||||
|
|
@ -2828,7 +2828,7 @@ bool Curl_schannel_set_cached_cert_store(struct Curl_cfilter *cf,
|
|||
|
||||
share = Curl_hash_pick(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_SCHANNEL_CERT_SHARE_KEY),
|
||||
sizeof(MPROTO_SCHANNEL_CERT_SHARE_KEY) - 1);
|
||||
CURL_CSTRLEN(MPROTO_SCHANNEL_CERT_SHARE_KEY));
|
||||
if(!share) {
|
||||
share = curlx_calloc(1, sizeof(*share));
|
||||
if(!share) {
|
||||
|
|
@ -2837,7 +2837,7 @@ bool Curl_schannel_set_cached_cert_store(struct Curl_cfilter *cf,
|
|||
}
|
||||
if(!Curl_hash_add2(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_SCHANNEL_CERT_SHARE_KEY),
|
||||
sizeof(MPROTO_SCHANNEL_CERT_SHARE_KEY) - 1,
|
||||
CURL_CSTRLEN(MPROTO_SCHANNEL_CERT_SHARE_KEY),
|
||||
share, schannel_cert_share_free)) {
|
||||
curlx_free(share);
|
||||
curlx_free(CAfile);
|
||||
|
|
|
|||
|
|
@ -119,8 +119,8 @@ static CURLcode add_certs_data_to_store(HCERTSTORE trust_store,
|
|||
const char *ca_file_text,
|
||||
struct Curl_easy *data)
|
||||
{
|
||||
const size_t begin_cert_len = strlen(BEGIN_CERT);
|
||||
const size_t end_cert_len = strlen(END_CERT);
|
||||
const size_t begin_cert_len = CURL_CSTRLEN(BEGIN_CERT);
|
||||
const size_t end_cert_len = CURL_CSTRLEN(END_CERT);
|
||||
CURLcode result = CURLE_OK;
|
||||
int num_certs = 0;
|
||||
bool more_certs = 1;
|
||||
|
|
|
|||
|
|
@ -483,8 +483,8 @@ CURLcode Curl_pin_peer_pubkey(struct Curl_easy *data,
|
|||
|
||||
pinned_hash = pinnedpubkey;
|
||||
while(pinned_hash &&
|
||||
!strncmp(pinned_hash, "sha256//", (sizeof("sha256//") - 1))) {
|
||||
pinned_hash = pinned_hash + (sizeof("sha256//") - 1);
|
||||
!strncmp(pinned_hash, "sha256//", CURL_CSTRLEN("sha256//"))) {
|
||||
pinned_hash = pinned_hash + CURL_CSTRLEN("sha256//");
|
||||
end_pos = strchr(pinned_hash, ';');
|
||||
pinned_hash_len = end_pos ?
|
||||
(size_t)(end_pos - pinned_hash) : strlen(pinned_hash);
|
||||
|
|
|
|||
|
|
@ -686,7 +686,7 @@ struct wssl_x509_share {
|
|||
static void wssl_x509_share_free(void *key, size_t key_len, void *p)
|
||||
{
|
||||
struct wssl_x509_share *share = p;
|
||||
DEBUGASSERT(key_len == (sizeof(MPROTO_WSSL_X509_KEY) - 1));
|
||||
DEBUGASSERT(key_len == CURL_CSTRLEN(MPROTO_WSSL_X509_KEY));
|
||||
DEBUGASSERT(!memcmp(MPROTO_WSSL_X509_KEY, key, key_len));
|
||||
(void)key;
|
||||
(void)key_len;
|
||||
|
|
@ -730,7 +730,7 @@ static WOLFSSL_X509_STORE *wssl_get_cached_x509_store(struct Curl_cfilter *cf,
|
|||
DEBUGASSERT(multi);
|
||||
share = multi ? Curl_hash_pick(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_WSSL_X509_KEY),
|
||||
sizeof(MPROTO_WSSL_X509_KEY) - 1) : NULL;
|
||||
CURL_CSTRLEN(MPROTO_WSSL_X509_KEY)) : NULL;
|
||||
if(share && share->store &&
|
||||
!wssl_cached_x509_store_expired(data, share) &&
|
||||
!wssl_cached_x509_store_different(cf, share)) {
|
||||
|
|
@ -753,7 +753,7 @@ static void wssl_set_cached_x509_store(struct Curl_cfilter *cf,
|
|||
return;
|
||||
share = Curl_hash_pick(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_WSSL_X509_KEY),
|
||||
sizeof(MPROTO_WSSL_X509_KEY) - 1);
|
||||
CURL_CSTRLEN(MPROTO_WSSL_X509_KEY));
|
||||
|
||||
if(!share) {
|
||||
share = curlx_calloc(1, sizeof(*share));
|
||||
|
|
@ -761,7 +761,7 @@ static void wssl_set_cached_x509_store(struct Curl_cfilter *cf,
|
|||
return;
|
||||
if(!Curl_hash_add2(&multi->proto_hash,
|
||||
CURL_UNCONST(MPROTO_WSSL_X509_KEY),
|
||||
sizeof(MPROTO_WSSL_X509_KEY) - 1,
|
||||
CURL_CSTRLEN(MPROTO_WSSL_X509_KEY),
|
||||
share, wssl_x509_share_free)) {
|
||||
curlx_free(share);
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue