From: Bernd Kuhls <bernd@kuhls.net>
To: buildroot@buildroot.org
Cc: "André Zwing" <nerv@dawncrow.de>,
"Jérôme Pouiller" <jezz@sysmic.org>,
"Pieter De Gendt" <pieter.degendt@gmail.com>,
"Petr Vorel" <petr.vorel@gmail.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Adrian Perez de Castro" <aperez@igalia.com>,
"Giulio Benetti" <giulio.benetti@benettiengineering.com>,
"Romain Naour" <romain.naour@gmail.com>
Subject: [Buildroot] [PATCH/next 04/14] package/libkrb5: fix build with glibc 2.43
Date: Tue, 3 Mar 2026 21:00:43 +0100 [thread overview]
Message-ID: <20260303200054.784253-5-bernd@kuhls.net> (raw)
In-Reply-To: <20260303200054.784253-1-bernd@kuhls.net>
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../0001-Fix-strchr-conformance-to-C23.patch | 189 ++++++++++++++++++
1 file changed, 189 insertions(+)
create mode 100644 package/libkrb5/0001-Fix-strchr-conformance-to-C23.patch
diff --git a/package/libkrb5/0001-Fix-strchr-conformance-to-C23.patch b/package/libkrb5/0001-Fix-strchr-conformance-to-C23.patch
new file mode 100644
index 0000000000..693ec7258a
--- /dev/null
+++ b/package/libkrb5/0001-Fix-strchr-conformance-to-C23.patch
@@ -0,0 +1,189 @@
+From ad4dcf1856dadc4b352b5c8ff08e51c7290fb41f Mon Sep 17 00:00:00 2001
+From: Alexander Bokovoy <abokovoy@redhat.com>
+Date: Wed, 10 Dec 2025 10:42:02 +0200
+Subject: [PATCH] Fix strchr() conformance to C23
+
+C23 7.28.5.1 specifies search functions such as strchr() as generic,
+returning const char * if the first argument is of type const char *.
+Fix uses of strchr() to conform to this change.
+
+[jrische@redhat.com: altered changes to avoid casts; fixed an
+additional case]
+[ghudson@mit.edu: condensed some declarations; rewrote commit message]
+
+ticket: 9191 (new)
+
+Upstream: https://github.com/krb5/krb5/commit/ad4dcf1856dadc4b352b5c8ff08e51c7290fb41f
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ src/lib/krb5/ccache/ccbase.c | 4 ++--
+ src/lib/krb5/os/expand_path.c | 3 ++-
+ src/lib/krb5/os/locate_kdc.c | 15 +++++++--------
+ src/plugins/preauth/pkinit/pkinit_crypto.h | 2 +-
+ .../preauth/pkinit/pkinit_crypto_openssl.c | 6 +++---
+ src/plugins/preauth/pkinit/pkinit_identity.c | 2 +-
+ src/plugins/preauth/pkinit/pkinit_matching.c | 2 +-
+ src/tests/responder.c | 3 +--
+ 8 files changed, 18 insertions(+), 19 deletions(-)
+
+diff --git a/src/lib/krb5/ccache/ccbase.c b/src/lib/krb5/ccache/ccbase.c
+index 696b681812d..30a0a410c50 100644
+--- a/src/lib/krb5/ccache/ccbase.c
++++ b/src/lib/krb5/ccache/ccbase.c
+@@ -201,8 +201,8 @@ krb5_cc_register(krb5_context context, const krb5_cc_ops *ops,
+ krb5_error_code KRB5_CALLCONV
+ krb5_cc_resolve (krb5_context context, const char *name, krb5_ccache *cache)
+ {
+- char *pfx, *cp;
+- const char *resid;
++ char *pfx;
++ const char *cp, *resid;
+ unsigned int pfxlen;
+ krb5_error_code err;
+ const krb5_cc_ops *ops;
+diff --git a/src/lib/krb5/os/expand_path.c b/src/lib/krb5/os/expand_path.c
+index 5cbccf08c8b..6569b8820bd 100644
+--- a/src/lib/krb5/os/expand_path.c
++++ b/src/lib/krb5/os/expand_path.c
+@@ -454,7 +454,8 @@ k5_expand_path_tokens_extra(krb5_context context, const char *path_in,
+ {
+ krb5_error_code ret;
+ struct k5buf buf;
+- char *tok_begin, *tok_end, *tok_val, **extra_tokens = NULL, *path;
++ const char *tok_begin, *tok_end;
++ char *tok_val, **extra_tokens = NULL, *path;
+ const char *path_left;
+ size_t nargs = 0, i;
+ va_list ap;
+diff --git a/src/lib/krb5/os/locate_kdc.c b/src/lib/krb5/os/locate_kdc.c
+index c186bce51c5..0cceff80006 100644
+--- a/src/lib/krb5/os/locate_kdc.c
++++ b/src/lib/krb5/os/locate_kdc.c
+@@ -214,8 +214,8 @@ add_host_to_list(struct serverlist *list, const char *hostname, int port,
+ }
+
+ static void
+-parse_uri_if_https(const char *host_or_uri, k5_transport *transport,
+- const char **host, const char **uri_path)
++parse_uri_if_https(char *host_or_uri, k5_transport *transport,
++ char **host, const char **uri_path)
+ {
+ char *cp;
+
+@@ -257,8 +257,7 @@ locate_srv_conf_1(krb5_context context, const krb5_data *realm,
+ k5_transport transport, int udpport)
+ {
+ const char *realm_srv_names[4];
+- char **hostlist = NULL, *realmstr = NULL, *host = NULL;
+- const char *hostspec;
++ char **hostlist = NULL, *realmstr = NULL, *host = NULL, *hostspec;
+ krb5_error_code code;
+ size_t i;
+ int default_port;
+@@ -587,8 +586,8 @@ prof_locate_server(krb5_context context, const krb5_data *realm,
+ * Return a NULL *host_out if there are any problems parsing the URI.
+ */
+ static void
+-parse_uri_fields(const char *uri, k5_transport *transport_out,
+- const char **host_out, int *primary_out)
++parse_uri_fields(char *uri, k5_transport *transport_out,
++ char **host_out, int *primary_out)
+
+ {
+ k5_transport transport;
+@@ -656,8 +655,8 @@ locate_uri(krb5_context context, const krb5_data *realm,
+ krb5_error_code ret;
+ k5_transport transport, host_trans;
+ struct srv_dns_entry *answers, *entry;
+- char *host, *sitename;
+- const char *host_field, *path;
++ char *host, *sitename, *host_field;
++ const char *path;
+ int port, def_port, primary;
+
+ ret = get_sitename(context, realm, &sitename);
+diff --git a/src/plugins/preauth/pkinit/pkinit_crypto.h b/src/plugins/preauth/pkinit/pkinit_crypto.h
+index 57bb3cb840b..be2d02c227a 100644
+--- a/src/plugins/preauth/pkinit/pkinit_crypto.h
++++ b/src/plugins/preauth/pkinit/pkinit_crypto.h
+@@ -440,7 +440,7 @@ krb5_error_code crypto_load_cas_and_crls
+ defines the storage type (file, directory, etc) */
+ int catype, /* IN
+ defines the ca type (anchor, intermediate, crls) */
+- char *id); /* IN
++ const char *id); /* IN
+ defines the location (filename, directory name, etc) */
+
+ /*
+diff --git a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+index bd25bae4789..d1fe18e5abf 100644
+--- a/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
++++ b/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+@@ -4999,7 +4999,7 @@ load_cas_and_crls(krb5_context context,
+ pkinit_req_crypto_context req_cryptoctx,
+ pkinit_identity_crypto_context id_cryptoctx,
+ int catype,
+- char *filename)
++ const char *filename)
+ {
+ STACK_OF(X509_INFO) *sk = NULL;
+ STACK_OF(X509) *ca_certs = NULL;
+@@ -5157,7 +5157,7 @@ load_cas_and_crls_dir(krb5_context context,
+ pkinit_req_crypto_context req_cryptoctx,
+ pkinit_identity_crypto_context id_cryptoctx,
+ int catype,
+- char *dirname)
++ const char *dirname)
+ {
+ krb5_error_code retval = EINVAL;
+ char **fnames = NULL, *filename;
+@@ -5201,7 +5201,7 @@ crypto_load_cas_and_crls(krb5_context context,
+ pkinit_identity_crypto_context id_cryptoctx,
+ int idtype,
+ int catype,
+- char *id)
++ const char *id)
+ {
+ switch (idtype) {
+ case IDTYPE_FILE:
+diff --git a/src/plugins/preauth/pkinit/pkinit_identity.c b/src/plugins/preauth/pkinit/pkinit_identity.c
+index 0dcfcfc46a6..ad65f237b07 100644
+--- a/src/plugins/preauth/pkinit/pkinit_identity.c
++++ b/src/plugins/preauth/pkinit/pkinit_identity.c
+@@ -473,7 +473,7 @@ process_option_ca_crl(krb5_context context,
+ const char *value,
+ int catype)
+ {
+- char *residual;
++ const char *residual;
+ unsigned int typelen;
+ int idtype;
+
+diff --git a/src/plugins/preauth/pkinit/pkinit_matching.c b/src/plugins/preauth/pkinit/pkinit_matching.c
+index 0ea072c8876..b3c8df1610f 100644
+--- a/src/plugins/preauth/pkinit/pkinit_matching.c
++++ b/src/plugins/preauth/pkinit/pkinit_matching.c
+@@ -262,7 +262,7 @@ parse_rule_component(krb5_context context,
+ char err_buf[128];
+ int ret;
+ struct keyword_desc *kw, *nextkw;
+- char *nk;
++ const char *nk;
+ int found_next_kw = 0;
+ char *value = NULL;
+ size_t len;
+diff --git a/src/tests/responder.c b/src/tests/responder.c
+index 82f870ea5d4..4221a20283d 100644
+--- a/src/tests/responder.c
++++ b/src/tests/responder.c
+@@ -282,8 +282,7 @@ responder(krb5_context ctx, void *rawdata, krb5_responder_context rctx)
+ /* Provide a particular response for an OTP challenge. */
+ if (data->otp_answer != NULL) {
+ if (krb5_responder_otp_get_challenge(ctx, rctx, &ochl) == 0) {
+- key = strchr(data->otp_answer, '=');
+- if (key != NULL) {
++ if (strchr(data->otp_answer, '=') != NULL) {
+ /* Make a copy of the answer that we can chop up. */
+ key = strdup(data->otp_answer);
+ if (key == NULL)
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next prev parent reply other threads:[~2026-03-03 20:02 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 20:00 [Buildroot] [PATCH/next 00/14] package/{glibc, localedef}: bump version to 2.43 Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 01/14] package/socat: bump version to 1.8.1.1 Bernd Kuhls
2026-03-04 5:47 ` Baruch Siach via buildroot
2026-03-03 20:00 ` [Buildroot] [PATCH/next 02/14] package/lxc: bump version to 6.0.6 Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 03/14] package/foot: bump version to 1.26.0 Bernd Kuhls
2026-03-03 20:00 ` Bernd Kuhls [this message]
2026-03-03 20:00 ` [Buildroot] [PATCH/next 05/14] package/wlroots: fix build with glibc 2.43 Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 06/14] package/ntp: " Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 07/14] package/waffle: " Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 08/14] package/links: Fix " Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 09/14] package/ltp-testsuite: fix " Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 10/14] package/libvips: " Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 11/14] package/freeswitch: disable mod_enum to " Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 12/14] DEVELOPERS: remove Bernd Kuhls from libldns Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 13/14] package/gcc/15.2.0: fix build with glibc 2.43 Bernd Kuhls
2026-03-03 20:00 ` [Buildroot] [PATCH/next 14/14] package/{glibc, localedef}: bump version to 2.43 Bernd Kuhls
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260303200054.784253-5-bernd@kuhls.net \
--to=bernd@kuhls.net \
--cc=aperez@igalia.com \
--cc=buildroot@buildroot.org \
--cc=giulio.benetti@benettiengineering.com \
--cc=jezz@sysmic.org \
--cc=nerv@dawncrow.de \
--cc=petr.vorel@gmail.com \
--cc=pieter.degendt@gmail.com \
--cc=romain.naour@gmail.com \
--cc=thomas.petazzoni@bootlin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.