cfilter: send uint8_t bytes

Change the send parameter from `const void *` to `const uint8_t *` and
adapt calling code. Several had already unsigned chars and were casting.

Closes #19729
This commit is contained in:
Stefan Eissing 2025-11-27 15:13:11 +01:00 committed by Daniel Stenberg
parent 1e048e932a
commit 56e88e7c14
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
18 changed files with 53 additions and 54 deletions

View file

@ -246,7 +246,7 @@ static CURLcode send_CONNECT(struct Curl_cfilter *cf,
struct h1_tunnel_state *ts,
bool *done)
{
char *buf = curlx_dyn_ptr(&ts->request_data);
uint8_t *buf = curlx_dyn_uptr(&ts->request_data);
size_t request_len = curlx_dyn_len(&ts->request_data);
size_t blen = request_len;
CURLcode result = CURLE_OK;
@ -267,7 +267,7 @@ static CURLcode send_CONNECT(struct Curl_cfilter *cf,
DEBUGASSERT(blen >= nwritten);
ts->nsent += nwritten;
Curl_debug(data, CURLINFO_HEADER_OUT, buf, nwritten);
Curl_debug(data, CURLINFO_HEADER_OUT, (char *)buf, nwritten);
out:
if(result)

View file

@ -225,7 +225,7 @@ static void drain_tunnel(struct Curl_cfilter *cf,
}
static CURLcode proxy_h2_nw_out_writer(void *writer_ctx,
const unsigned char *buf, size_t buflen,
const uint8_t *buf, size_t buflen,
size_t *pnwritten)
{
struct Curl_cfilter *cf = writer_ctx;
@ -233,7 +233,7 @@ static CURLcode proxy_h2_nw_out_writer(void *writer_ctx,
if(cf) {
struct Curl_easy *data = CF_DATA_CURRENT(cf);
CURLcode result;
result = Curl_conn_cf_send(cf->next, data, (const char *)buf, buflen,
result = Curl_conn_cf_send(cf->next, data, buf, buflen,
FALSE, pnwritten);
CURL_TRC_CF(data, cf, "[0] nw_out_writer(len=%zu) -> %d, %zu",
buflen, result, *pnwritten);
@ -1356,7 +1356,7 @@ out:
static CURLcode cf_h2_proxy_send(struct Curl_cfilter *cf,
struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_h2_proxy_ctx *ctx = cf->ctx;

View file

@ -133,7 +133,7 @@ static CURLcode cf_haproxy_connect(struct Curl_cfilter *cf,
if(len > 0) {
size_t nwritten;
result = Curl_conn_cf_send(cf->next, data,
curlx_dyn_ptr(&ctx->data_out), len, FALSE,
curlx_dyn_uptr(&ctx->data_out), len, FALSE,
&nwritten);
if(result) {
if(result != CURLE_AGAIN)

View file

@ -1428,7 +1428,7 @@ static void win_update_sndbuf_size(struct cf_socket_ctx *ctx)
#endif /* USE_WINSOCK */
static CURLcode cf_socket_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_socket_ctx *ctx = cf->ctx;

View file

@ -85,7 +85,7 @@ bool Curl_cf_def_data_pending(struct Curl_cfilter *cf,
}
CURLcode Curl_cf_def_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
if(cf->next)
@ -296,12 +296,11 @@ CURLcode Curl_cf_recv_bufq(struct Curl_cfilter *cf,
}
static CURLcode cf_bufq_writer(void *writer_ctx,
const unsigned char *buf, size_t buflen,
const uint8_t *buf, size_t buflen,
size_t *pnwritten)
{
struct cf_io_ctx *io = writer_ctx;
return Curl_conn_cf_send(io->cf, io->data, (const char *)buf,
buflen, FALSE, pnwritten);
return Curl_conn_cf_send(io->cf, io->data, buf, buflen, FALSE, pnwritten);
}
CURLcode Curl_cf_send_bufq(struct Curl_cfilter *cf,
@ -422,7 +421,7 @@ void Curl_conn_cf_close(struct Curl_cfilter *cf, struct Curl_easy *data)
}
CURLcode Curl_conn_cf_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
if(cf)

View file

@ -89,7 +89,7 @@ typedef bool Curl_cft_data_pending(struct Curl_cfilter *cf,
typedef CURLcode Curl_cft_send(struct Curl_cfilter *cf,
struct Curl_easy *data, /* transfer */
const void *buf, /* data to write */
const uint8_t *buf, /* data to write */
size_t len, /* amount to write */
bool eos, /* last chunk */
size_t *pnwritten); /* how much sent */
@ -250,7 +250,7 @@ CURLcode Curl_cf_def_adjust_pollset(struct Curl_cfilter *cf,
bool Curl_cf_def_data_pending(struct Curl_cfilter *cf,
const struct Curl_easy *data);
CURLcode Curl_cf_def_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten);
CURLcode Curl_cf_def_recv(struct Curl_cfilter *cf, struct Curl_easy *data,
char *buf, size_t len, size_t *pnread);
@ -323,7 +323,7 @@ CURLcode Curl_conn_cf_connect(struct Curl_cfilter *cf,
bool *done);
void Curl_conn_cf_close(struct Curl_cfilter *cf, struct Curl_easy *data);
CURLcode Curl_conn_cf_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten);
CURLcode Curl_conn_cf_recv(struct Curl_cfilter *cf, struct Curl_easy *data,
char *buf, size_t len, size_t *pnread);

View file

@ -2258,7 +2258,7 @@ static CURLcode cf_h2_body_send(struct Curl_cfilter *cf,
static CURLcode h2_submit(struct h2_stream_ctx **pstream,
struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len,
const uint8_t *buf, size_t len,
bool eos, size_t *pnwritten)
{
struct cf_h2_ctx *ctx = cf->ctx;
@ -2281,7 +2281,7 @@ static CURLcode h2_submit(struct h2_stream_ctx **pstream,
if(result)
goto out;
result = Curl_h1_req_parse_read(&stream->h1, buf, len, NULL,
result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, len, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, &nwritten);
@ -2391,7 +2391,7 @@ out:
}
static CURLcode cf_h2_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_h2_ctx *ctx = cf->ctx;

View file

@ -211,7 +211,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
us_length = htons((unsigned short)gss_send_token.length);
memcpy(socksreq + 2, &us_length, sizeof(short));
code = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4,
code = Curl_conn_cf_send(cf->next, data, socksreq, 4,
FALSE, &nwritten);
if(code || (nwritten != 4)) {
failf(data, "Failed to send GSS-API authentication request.");
@ -222,7 +222,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
}
code = Curl_conn_cf_send(cf->next, data,
(char *)gss_send_token.value,
gss_send_token.value,
gss_send_token.length, FALSE, &nwritten);
if(code || (gss_send_token.length != nwritten)) {
failf(data, "Failed to send GSS-API authentication token.");
@ -409,8 +409,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
memcpy(socksreq + 2, &us_length, sizeof(short));
}
code = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, FALSE,
&nwritten);
code = Curl_conn_cf_send(cf->next, data, socksreq, 4, FALSE, &nwritten);
if(code || (nwritten != 4)) {
failf(data, "Failed to send GSS-API encryption request.");
gss_release_buffer(&gss_status, &gss_w_token);
@ -420,8 +419,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
if(data->set.socks5_gssapi_nec) {
memcpy(socksreq, &gss_enc, 1);
code = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 1, FALSE,
&nwritten);
code = Curl_conn_cf_send(cf->next, data, socksreq, 1, FALSE, &nwritten);
if(code || (nwritten != 1)) {
failf(data, "Failed to send GSS-API encryption type.");
Curl_gss_delete_sec_context(&gss_status, &gss_context, NULL);
@ -429,7 +427,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
}
}
else {
code = Curl_conn_cf_send(cf->next, data, (char *)gss_w_token.value,
code = Curl_conn_cf_send(cf->next, data, gss_w_token.value,
gss_w_token.length, FALSE, &nwritten);
if(code || (gss_w_token.length != nwritten)) {
failf(data, "Failed to send GSS-API encryption type.");

View file

@ -88,7 +88,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
unsigned char socksreq[4]; /* room for GSS-API exchange header only */
const char *service = data->set.str[STRING_PROXY_SERVICE_NAME] ?
data->set.str[STRING_PROXY_SERVICE_NAME] : "rcmd";
char *etbuf;
uint8_t *etbuf;
size_t etbuf_size;
/* GSS-API request looks like
@ -201,8 +201,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
us_length = htons((unsigned short)sspi_send_token.cbBuffer);
memcpy(socksreq + 2, &us_length, sizeof(short));
code = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, FALSE,
&written);
code = Curl_conn_cf_send(cf->next, data, socksreq, 4, FALSE, &written);
if(code || (written != 4)) {
failf(data, "Failed to send SSPI authentication request.");
result = CURLE_COULDNT_CONNECT;
@ -210,7 +209,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
}
code = Curl_conn_cf_send(cf->next, data,
(char *)sspi_send_token.pvBuffer,
sspi_send_token.pvBuffer,
sspi_send_token.cbBuffer, FALSE, &written);
if(code || (sspi_send_token.cbBuffer != written)) {
failf(data, "Failed to send SSPI authentication token.");
@ -433,8 +432,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
memcpy(socksreq + 2, &us_length, sizeof(short));
}
code = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, FALSE,
&written);
code = Curl_conn_cf_send(cf->next, data, socksreq, 4, FALSE, &written);
if(code || (written != 4)) {
failf(data, "Failed to send SSPI encryption request.");
result = CURLE_COULDNT_CONNECT;
@ -443,8 +441,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
if(data->set.socks5_gssapi_nec) {
memcpy(socksreq, &gss_enc, 1);
code = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 1, FALSE,
&written);
code = Curl_conn_cf_send(cf->next, data, socksreq, 1, FALSE, &written);
if(code || (written != 1)) {
failf(data, "Failed to send SSPI encryption type.");
result = CURLE_COULDNT_CONNECT;

View file

@ -1524,7 +1524,7 @@ cb_h3_read_req_body(nghttp3_conn *conn, int64_t stream_id,
static CURLcode h3_stream_open(struct Curl_cfilter *cf,
struct Curl_easy *data,
const void *buf, size_t len,
const uint8_t *buf, size_t len,
size_t *pnwritten)
{
struct cf_ngtcp2_ctx *ctx = cf->ctx;
@ -1552,7 +1552,7 @@ static CURLcode h3_stream_open(struct Curl_cfilter *cf,
goto out;
}
result = Curl_h1_req_parse_read(&stream->h1, buf, len, NULL,
result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, len, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, pnwritten);
@ -1656,7 +1656,7 @@ out:
}
static CURLcode cf_ngtcp2_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_ngtcp2_ctx *ctx = cf->ctx;

View file

@ -1877,7 +1877,7 @@ out:
static CURLcode h3_stream_open(struct Curl_cfilter *cf,
struct Curl_easy *data,
const void *buf, size_t len,
const uint8_t *buf, size_t len,
size_t *pnwritten)
{
struct cf_osslq_ctx *ctx = cf->ctx;
@ -1903,7 +1903,7 @@ static CURLcode h3_stream_open(struct Curl_cfilter *cf,
goto out;
}
result = Curl_h1_req_parse_read(&stream->h1, buf, len, NULL,
result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, len, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, pnwritten);
@ -2005,7 +2005,7 @@ out:
}
static CURLcode cf_osslq_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_osslq_ctx *ctx = cf->ctx;

View file

@ -911,7 +911,7 @@ out:
static CURLcode cf_quiche_send_body(struct Curl_cfilter *cf,
struct Curl_easy *data,
struct h3_stream_ctx *stream,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_quiche_ctx *ctx = cf->ctx;
@ -956,7 +956,7 @@ static CURLcode cf_quiche_send_body(struct Curl_cfilter *cf,
static CURLcode h3_open_stream(struct Curl_cfilter *cf,
struct Curl_easy *data,
const char *buf, size_t blen, bool eos,
const uint8_t *buf, size_t blen, bool eos,
size_t *pnwritten)
{
struct cf_quiche_ctx *ctx = cf->ctx;
@ -980,7 +980,7 @@ static CURLcode h3_open_stream(struct Curl_cfilter *cf,
DEBUGASSERT(stream);
result = Curl_h1_req_parse_read(&stream->h1, buf, blen, NULL,
result = Curl_h1_req_parse_read(&stream->h1, (const char *)buf, blen, NULL,
!data->state.http_ignorecustom ?
data->set.str[STRING_CUSTOMREQUEST] : NULL,
0, pnwritten);
@ -1076,7 +1076,7 @@ out:
}
static CURLcode cf_quiche_send(struct Curl_cfilter *cf, struct Curl_easy *data,
const void *buf, size_t len, bool eos,
const uint8_t *buf, size_t len, bool eos,
size_t *pnwritten)
{
struct cf_quiche_ctx *ctx = cf->ctx;

View file

@ -187,8 +187,7 @@ static int mbedtls_bio_cf_write(void *bio,
if(!data)
return 0;
result = Curl_conn_cf_send(cf->next, data, (const char *)buf, blen, FALSE,
&nwritten);
result = Curl_conn_cf_send(cf->next, data, buf, blen, FALSE, &nwritten);
CURL_TRC_CF(data, cf, "mbedtls_bio_cf_out_write(len=%zu) -> %d, %zu",
blen, result, nwritten);
if(CURLE_AGAIN == result)

View file

@ -597,7 +597,8 @@ static int ossl_bio_cf_out_write(BIO *bio, const char *buf, int blen)
if(blen < 0)
return 0;
result = Curl_conn_cf_send(cf->next, data, buf, (size_t)blen, FALSE,
result = Curl_conn_cf_send(cf->next, data,
(const uint8_t *)buf, (size_t)blen, FALSE,
&nwritten);
CURL_TRC_CF(data, cf, "ossl_bio_cf_out_write(len=%d) -> %d, %zu",
blen, result, nwritten);

View file

@ -133,7 +133,7 @@ write_cb(void *userdata, const uint8_t *buf, uintptr_t len, uintptr_t *out_n)
size_t nwritten;
result = Curl_conn_cf_send(io_ctx->cf->next, io_ctx->data,
(const char *)buf, len, FALSE, &nwritten);
buf, len, FALSE, &nwritten);
if(result) {
nwritten = 0;
if(CURLE_AGAIN == result)

View file

@ -1074,7 +1074,8 @@ schannel_connect_step1(struct Curl_cfilter *cf, struct Curl_easy *data)
/* send initial handshake data which is now stored in output buffer */
result = Curl_conn_cf_send(cf->next, data,
outbuf.pvBuffer, outbuf.cbBuffer, FALSE,
(const uint8_t *)outbuf.pvBuffer,
outbuf.cbBuffer, FALSE,
&written);
Curl_pSecFn->FreeContextBuffer(outbuf.pvBuffer);
if(result || (outbuf.cbBuffer != written)) {
@ -1307,7 +1308,8 @@ schannel_connect_step2(struct Curl_cfilter *cf, struct Curl_easy *data)
/* send handshake token to server */
result = Curl_conn_cf_send(cf->next, data,
outbuf[i].pvBuffer, outbuf[i].cbBuffer,
(const uint8_t *)outbuf[i].pvBuffer,
outbuf[i].cbBuffer,
FALSE, &written);
if(result || (outbuf[i].cbBuffer != written)) {
failf(data, "schannel: failed to send next handshake data: "
@ -2004,7 +2006,8 @@ schannel_send(struct Curl_cfilter *cf, struct Curl_easy *data,
/* socket is writable */
result = Curl_conn_cf_send(cf->next, data,
ptr + *pnwritten, len - *pnwritten,
(const uint8_t *)ptr + *pnwritten,
len - *pnwritten,
FALSE, &this_write);
if(result == CURLE_AGAIN)
continue;
@ -2450,7 +2453,8 @@ static CURLcode schannel_shutdown(struct Curl_cfilter *cf,
size_t written;
result = Curl_conn_cf_send(cf->next, data,
outbuf.pvBuffer, outbuf.cbBuffer,
(const uint8_t *)outbuf.pvBuffer,
outbuf.cbBuffer,
FALSE, &written);
Curl_pSecFn->FreeContextBuffer(outbuf.pvBuffer);
if(!result) {

View file

@ -1477,7 +1477,7 @@ static bool ssl_cf_data_pending(struct Curl_cfilter *cf,
static CURLcode ssl_cf_send(struct Curl_cfilter *cf,
struct Curl_easy *data,
const void *buf, size_t blen,
const uint8_t *buf, size_t blen,
bool eos, size_t *pnwritten)
{
struct ssl_connect_data *connssl = cf->ctx;
@ -1509,7 +1509,7 @@ static CURLcode ssl_cf_send(struct Curl_cfilter *cf,
}
else {
*pnwritten = connssl->earlydata_skip;
buf = ((const char *)buf) + connssl->earlydata_skip;
buf = buf + connssl->earlydata_skip;
blen -= connssl->earlydata_skip;
connssl->earlydata_skip = 0;
}

View file

@ -334,7 +334,8 @@ static int wssl_bio_cf_out_write(WOLFSSL_BIO *bio,
skiplen = (ssize_t)(blen - wssl->io_send_blocked_len);
blen = wssl->io_send_blocked_len;
}
result = Curl_conn_cf_send(cf->next, data, buf, blen, FALSE, &nwritten);
result = Curl_conn_cf_send(cf->next, data,
(const uint8_t *)buf, blen, FALSE, &nwritten);
wssl->io_result = result;
CURL_TRC_CF(data, cf, "bio_write(len=%d) -> %d, %zu",
blen, result, nwritten);