Commit 7c75acfedc for openssl.org
commit 7c75acfedc2cc2f4d5973a7e8c2a4aca55abb8db
Author: Milan Broz <gmazyland@gmail.com>
Date: Tue Jan 20 14:18:14 2026 +0100
Fix const spec in apps
This patch fixes several const specifiers
(visible with non-default const-qual warning).
- Functions like SSL_set_tlsext_host_name takes
non-cost hostname parameter.
- packet buffer is read in BIO_read, so it
cannot be const
The rest is missing const specifiers where casting
to non-cost is not needed.
Signed-off-by: Milan Broz <gmazyland@gmail.com>
Reviewed-by: Saša NedvÄ›dický <sashan@openssl.org>
Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
MergeDate: Wed Feb 4 19:49:15 2026
(Merged from https://github.com/openssl/openssl/pull/29796)
diff --git a/apps/lib/apps.c b/apps/lib/apps.c
index 69b0d6ecbc..adab4d94a7 100644
--- a/apps/lib/apps.c
+++ b/apps/lib/apps.c
@@ -2663,7 +2663,7 @@ BIO *app_http_tls_cb(BIO *bio, void *arg, int connect, int detail)
BIO *sbio = NULL;
X509_STORE *ts = SSL_CTX_get_cert_store(ssl_ctx);
X509_VERIFY_PARAM *vpm = X509_STORE_get0_param(ts);
- const char *host = vpm == NULL ? NULL : X509_VERIFY_PARAM_get0_host(vpm, 0 /* first hostname */);
+ char *host = vpm == NULL ? NULL : X509_VERIFY_PARAM_get0_host(vpm, 0 /* first hostname */);
/* adapt after fixing callback design flaw, see #17088 */
if ((info->use_proxy
diff --git a/apps/lib/s_cb.c b/apps/lib/s_cb.c
index 0cca3a8fed..c1e9e673ab 100644
--- a/apps/lib/s_cb.c
+++ b/apps/lib/s_cb.c
@@ -471,7 +471,7 @@ long bio_dump_callback(BIO *bio, int cmd, const char *argp, size_t len,
int argi, long argl, int ret, size_t *processed)
{
BIO *out;
- BIO_MMSG_CB_ARGS *mmsgargs;
+ const BIO_MMSG_CB_ARGS *mmsgargs;
size_t i;
out = (BIO *)BIO_get_callback_arg(bio);
@@ -502,14 +502,14 @@ long bio_dump_callback(BIO *bio, int cmd, const char *argp, size_t len,
break;
case (BIO_CB_RECVMMSG | BIO_CB_RETURN):
- mmsgargs = (BIO_MMSG_CB_ARGS *)argp;
+ mmsgargs = (const BIO_MMSG_CB_ARGS *)argp;
if (ret > 0) {
for (i = 0; i < *(mmsgargs->msgs_processed); i++) {
BIO_MSG *msg = (BIO_MSG *)((char *)mmsgargs->msg
+ (i * mmsgargs->stride));
BIO_printf(out, "read from %p [%p] (%zu bytes => %zu (0x%zX))\n",
- (void *)bio, (void *)msg->data, msg->data_len,
+ (void *)bio, msg->data, msg->data_len,
msg->data_len, msg->data_len);
if (msg->data_len <= INT_MAX)
BIO_dump(out, msg->data, (int)msg->data_len);
@@ -518,19 +518,19 @@ long bio_dump_callback(BIO *bio, int cmd, const char *argp, size_t len,
BIO_MSG *msg = mmsgargs->msg;
BIO_printf(out, "read from %p [%p] (%zu bytes => %d)\n",
- (void *)bio, (void *)msg->data, msg->data_len, ret);
+ (void *)bio, msg->data, msg->data_len, ret);
}
break;
case (BIO_CB_SENDMMSG | BIO_CB_RETURN):
- mmsgargs = (BIO_MMSG_CB_ARGS *)argp;
+ mmsgargs = (const BIO_MMSG_CB_ARGS *)argp;
if (ret > 0) {
for (i = 0; i < *(mmsgargs->msgs_processed); i++) {
BIO_MSG *msg = (BIO_MSG *)((char *)mmsgargs->msg
+ (i * mmsgargs->stride));
BIO_printf(out, "write to %p [%p] (%zu bytes => %zu (0x%zX))\n",
- (void *)bio, (void *)msg->data, msg->data_len,
+ (void *)bio, msg->data, msg->data_len,
msg->data_len, msg->data_len);
if (msg->data_len <= INT_MAX)
BIO_dump(out, msg->data, (int)msg->data_len);
@@ -539,7 +539,7 @@ long bio_dump_callback(BIO *bio, int cmd, const char *argp, size_t len,
BIO_MSG *msg = mmsgargs->msg;
BIO_printf(out, "write to %p [%p] (%zu bytes => %d)\n",
- (void *)bio, (void *)msg->data, msg->data_len, ret);
+ (void *)bio, msg->data, msg->data_len, ret);
}
break;
diff --git a/apps/s_client.c b/apps/s_client.c
index 7fd6fa229b..f152fcef1a 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -995,7 +995,7 @@ int s_client_main(int argc, char **argv)
#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_MSDOS)
struct timeval tv;
#endif
- const char *servername = NULL;
+ char *servername = NULL;
char *sname_alloc = NULL;
int noservername = 0;
const char *alpn_in = NULL;
@@ -2648,10 +2648,10 @@ re_start:
int bytes = 0;
int ssl_flg = 0x800;
int pos;
- const unsigned char *packet = (const unsigned char *)sbuf;
+ unsigned char *packet = (unsigned char *)sbuf;
/* Receiving Initial Handshake packet. */
- bytes = BIO_read(sbio, (void *)packet, BUFSIZZ);
+ bytes = BIO_read(sbio, packet, BUFSIZZ);
if (bytes < 0) {
BIO_printf(bio_err, "BIO_read failed\n");
goto shut;
@@ -3689,7 +3689,7 @@ static int ocsp_resp_cb(SSL *s, void *arg)
rsp = d2i_OCSP_RESPONSE(NULL, &p, len);
if (rsp == NULL) {
BIO_puts(arg, "OCSP response parse error\n");
- BIO_dump_indent(arg, (char *)p, len, 4);
+ BIO_dump_indent(arg, p, len, 4);
return 0;
}
print_ocsp_response(arg, rsp);