[Buildroot] [PATCH] package/sslh: add upstream patch to fix build w/ gcc-15

Peter Korsgaard peter at korsgaard.com
Thu Sep 4 20:16:29 UTC 2025


Add an upstream patch to fix a build issue related to struct
sockaddr_storage:

udp-listener.c: In function 'cnx_cmp':
udp-listener.c:39:30: error: initialization of 'struct sockaddr *' from incompatible pointer type 'struct sockaddr_storage *' [-Wincompatible-pointer-types]
   39 |     struct sockaddr* addr1 = &cnx1->client_addr;
      |                              ^
udp-listener.c:42:30: error: initialization of 'struct sockaddr *' from incompatible pointer type 'struct sockaddr_storage *' [-Wincompatible-pointer-types]
   42 |     struct sockaddr* addr2 = &cnx2->client_addr;
      |                              ^
udp-listener.c: In function 'hash_make_key':
udp-listener.c:55:29: error: initialization of 'struct sockaddr *' from incompatible pointer type 'struct sockaddr_storage *' [-Wincompatible-pointer-types]
   55 |     struct sockaddr* addr = &new->client_addr;
      |                             ^
udp-listener.c: In function 'udp_s2c_forward':
udp-listener.c:330:18: error: passing argument 5 of 'sendto' from incompatible pointer type [-Wincompatible-pointer-types]
  330 |                  &cnx->client_addr, cnx->addrlen);
      |                  ^~~~~~~~~~~~~~~~~
      |                  |
      |                  struct sockaddr_storage *

Fixes:

  https://autobuild.buildroot.net/results/0cbbb75c4aab19b9d5f42695359ac6fe97e5989b/

Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
 ...002-fix-warnings-on-sockaddr-storage.patch | 56 +++++++++++++++++++
 1 file changed, 56 insertions(+)
 create mode 100644 package/sslh/0002-fix-warnings-on-sockaddr-storage.patch

diff --git a/package/sslh/0002-fix-warnings-on-sockaddr-storage.patch b/package/sslh/0002-fix-warnings-on-sockaddr-storage.patch
new file mode 100644
index 0000000000..4df920f718
--- /dev/null
+++ b/package/sslh/0002-fix-warnings-on-sockaddr-storage.patch
@@ -0,0 +1,56 @@
+From 402ca5219b5dcf7a502cd3f75906423527837a7a Mon Sep 17 00:00:00 2001
+From: Yves Rutschle <git1 at rutschle.net>
+Date: Thu, 4 Jan 2024 23:22:44 +0100
+Subject: [PATCH] fix warnings on sockaddr storage
+
+Upstream: https://github.com/yrutschle/sslh/commit/402ca5219b5dcf7a502cd3f75906423527837a7a
+Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
+---
+ udp-listener.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/udp-listener.c b/udp-listener.c
+index 570e480..bc7a3f4 100644
+--- a/udp-listener.c
++++ b/udp-listener.c
+@@ -36,10 +36,10 @@
+ 
+ static int cnx_cmp(struct connection* cnx1, struct connection* cnx2)
+ {
+-    struct sockaddr* addr1 = &cnx1->client_addr;
++    struct sockaddr_storage* addr1 = &cnx1->client_addr;
+     socklen_t addrlen1 = cnx1->addrlen;
+ 
+-    struct sockaddr* addr2 = &cnx2->client_addr;
++    struct sockaddr_storage* addr2 = &cnx2->client_addr;
+     socklen_t addrlen2 = cnx2->addrlen;
+ 
+     if (addrlen1 != addrlen2) return -1;
+@@ -52,13 +52,13 @@ static int cnx_cmp(struct connection* cnx1, struct connection* cnx2)
+  * lowest bytes of remote port */
+ static int hash_make_key(hash_item new)
+ {
+-    struct sockaddr* addr = &new->client_addr;
++    struct sockaddr_storage* addr = &new->client_addr;
+     //socklen_t addrlen = new->addrlen;
+     struct sockaddr_in* addr4;
+     struct sockaddr_in6* addr6;
+     int out;
+ 
+-    switch (addr->sa_family) {
++    switch (((struct sockaddr*)addr)->sa_family) {
+     case AF_INET:
+         addr4 = (struct sockaddr_in*)addr;
+         out = addr4->sin_port;
+@@ -327,7 +327,7 @@ void udp_s2c_forward(struct connection* cnx)
+     if ((res == -1) && ((errno == EAGAIN) || (errno == EWOULDBLOCK))) return;
+     CHECK_RES_DIE(res, "udp_listener/recvfrom");
+     res = sendto(cnx->local_endpoint, data, res, 0,
+-                 &cnx->client_addr, cnx->addrlen);
++                 (struct sockaddr*)&cnx->client_addr, cnx->addrlen);
+     mark_active(cnx);
+ }
+ 
+-- 
+2.39.5
+
-- 
2.39.5



More information about the buildroot mailing list