new file mode 100644
@@ -0,0 +1,111 @@
+From 8445ebac12f5863282b3a5fa31d6a7a085ec2d97 Mon Sep 17 00:00:00 2001
+From: Rudi Heitbaum <rudi@heitbaum.com>
+Date: Mon, 26 Jan 2026 02:13:40 +0000
+Subject: [PATCH] c23: fix initialization discards const qualifier from pointer
+ target type
+
+Since glibc-2.43:
+
+For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr,
+strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return
+pointers into their input arrays now have definitions as macros that
+return a pointer to a const-qualified type when the input argument is
+a pointer to a const-qualified type.
+
+https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html
+
+Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
+Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
+Upstream-Status: Backport [https://github.com/warmcat/libwebsockets/commit/54e67208976494a4a2235f2e0fc959d46bcb7452]
+---
+
+ lib/core-net/client/client.c | 11 ++++++-----
+ lib/plat/unix/unix-caps.c | 3 ++-
+ lib/roles/http/cookie.c | 3 ++-
+ lib/roles/http/server/server.c | 3 ++-
+ 4 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/lib/core-net/client/client.c b/lib/core-net/client/client.c
+index e3bc6d590..2a3b69ec8 100644
+--- a/lib/core-net/client/client.c
++++ b/lib/core-net/client/client.c
+@@ -31,7 +31,7 @@ lws_set_proxy(struct lws_vhost *vhost, const char *proxy)
+ {
+ char authstring[96];
+ int brackets = 0;
+- char *p;
++ const char *p;
+
+ if (!proxy)
+ return -1;
+@@ -84,15 +84,17 @@ lws_set_proxy(struct lws_vhost *vhost, const char *proxy)
+
+ #if defined(LWS_WITH_IPV6)
+ if (brackets) {
++ char *ncp;
++
+ /* original is IPv6 format "[::1]:443" */
+
+- p = strchr(vhost->http.http_proxy_address, ']');
+- if (!p) {
++ ncp = strchr(vhost->http.http_proxy_address, ']');
++ if (!ncp) {
+ lwsl_vhost_err(vhost, "malformed proxy '%s'", proxy);
+
+ return -1;
+ }
+- *p++ = '\0';
++ *ncp++ = '\0';
+ }
+ #endif
+
+@@ -103,7 +105,6 @@ lws_set_proxy(struct lws_vhost *vhost, const char *proxy)
+ return -1;
+ }
+ if (p) {
+- *p = '\0';
+ vhost->http.http_proxy_port = (unsigned int)atoi(p + 1);
+ }
+
+diff --git a/lib/plat/unix/unix-caps.c b/lib/plat/unix/unix-caps.c
+index 2f38854d5..0897a5e6d 100644
+--- a/lib/plat/unix/unix-caps.c
++++ b/lib/plat/unix/unix-caps.c
+@@ -51,7 +51,8 @@ _lws_plat_apply_caps(unsigned int mode, const cap_value_t *cv, int count)
+ int
+ lws_plat_user_colon_group_to_ids(const char *u_colon_g, uid_t *puid, gid_t *pgid)
+ {
+- char *colon = strchr(u_colon_g, ':'), u[33];
++ const char *colon = strchr(u_colon_g, ':');
++ char u[33];
+ struct group *g;
+ struct passwd *p;
+ size_t ulen;
+diff --git a/lib/roles/http/cookie.c b/lib/roles/http/cookie.c
+index 44ad6eb9b..1347f6f38 100644
+--- a/lib/roles/http/cookie.c
++++ b/lib/roles/http/cookie.c
+@@ -286,7 +286,8 @@ lws_cookie_write_nsc(struct lws *wsi, struct lws_cookie *c)
+ const char *ads, *path;
+ struct lws_cache_ttl_lru *l1;
+ struct client_info_stash *stash;
+- char *cookie_string = NULL, *dl;
++ char *cookie_string = NULL;
++ const char *dl;
+ /* 6 tabs + 20 for max time_t + 2 * TRUE/FALSE + null */
+ size_t size = 6 + 20 + 10 + 1;
+ time_t expires = 0;
+diff --git a/lib/roles/http/server/server.c b/lib/roles/http/server/server.c
+index 69e13f075..d0e6f44ab 100644
+--- a/lib/roles/http/server/server.c
++++ b/lib/roles/http/server/server.c
+@@ -2378,7 +2378,8 @@ raw_transition:
+ if (wsi->a.context->reject_service_keywords) {
+ const struct lws_protocol_vhost_options *rej =
+ wsi->a.context->reject_service_keywords;
+- char ua[384], *msg = NULL;
++ char ua[384];
++ const char *msg = NULL;
+
+ if (lws_hdr_copy(wsi, ua, sizeof(ua) - 1,
+ WSI_TOKEN_HTTP_USER_AGENT) > 0) {
@@ -7,7 +7,9 @@ DEPENDS = "zlib"
DEPENDS:append:class-native = " libcap-native"
SRCREV = "85c6f7959fd40d8aaf7a50be3c9b75f08389a01c"
-SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.5-stable;tag=v${PV}"
+SRC_URI = "git://github.com/warmcat/libwebsockets.git;protocol=https;branch=v4.5-stable;tag=v${PV} \
+ file://0001-c23-fix-initialization-discards-const-qualifier-from.patch \
+"
UPSTREAM_CHECK_URI = "https://github.com/warmcat/${BPN}/releases"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"