* [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4
@ 2026-08-16 19:56 Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 2/4] package/gensio: add udev optional dependency Mattia Narducci
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Mattia Narducci @ 2026-08-16 19:56 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard
Changelog: https://sourceforge.net/p/ser2net/news
Static builds are no longer supported starting with version 2.6.0 [1]
even when compiling all modules (gensios) in the library.
Updated licenses hashes due to upstream commit:
https://github.com/cminyard/gensio/commit/859e4465cf5788cb99da1002a4c38cd8841c1bb7
Removed patch 0001 which is now upstream.
[1] https://github.com/cminyard/gensio/commit/7b3786f5fb733cd593e631a7b75d4b47f5a4b95f
Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
---
.checkpackageignore | 1 -
...PKEY_ED25519-build-error-on-libressl.patch | 105 ------------------
package/gensio/Config.in | 1 +
package/gensio/gensio.hash | 10 +-
package/gensio/gensio.mk | 3 +-
5 files changed, 8 insertions(+), 112 deletions(-)
delete mode 100644 package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index c3ec943075..2b61ff3bab 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -380,7 +380,6 @@ package/gdb/17.1/0007-fix-musl-build-on-riscv.patch lib_patch.Upstream
package/gdb/17.1/0008-gdbserver-Makefile.in-fix-NLS-build.patch lib_patch.Upstream
package/gdb/17.1/0009-gdb-Fix-native-build-on-xtensa.patch lib_patch.Upstream
package/genpart/0001-fix-return-code.patch lib_patch.Upstream
-package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch lib_patch.Upstream
package/gerbera/S99gerbera lib_sysv.Indent
package/git-crypt/0001-fix-build-with-libressl-3.5.0.patch lib_patch.Upstream
package/glorytun/0001-Add-support-for-Apple-silicon.patch lib_patch.Upstream
diff --git a/package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch b/package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch
deleted file mode 100644
index e9087aa3e5..0000000000
--- a/package/gensio/0001-Fix-missing-EVP_PKEY_ED25519-build-error-on-libressl.patch
+++ /dev/null
@@ -1,105 +0,0 @@
-From 1e7071684329f23ee3447310d203d193c283979e Mon Sep 17 00:00:00 2001
-From: James Hilliard <james.hilliard1@gmail.com>
-Date: Wed, 5 Oct 2022 15:30:32 -0600
-Subject: [PATCH] Fix missing EVP_PKEY_ED25519 build error on libressl
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Fixes:
-gensio_filter_certauth.c: In function ‘v3_certauth_add_challenge_rsp’:
-gensio_filter_certauth.c:838:44: error: ‘EVP_PKEY_ED25519’ undeclared (first use in this function); did you mean ‘EVP_PKEY_DSA1’?
- 838 | if (EVP_PKEY_base_id(sfilter->pkey) == EVP_PKEY_ED25519) {
- | ^~~~~~~~~~~~~~~~
- | EVP_PKEY_DSA1
-gensio_filter_certauth.c:838:44: note: each undeclared identifier is reported only once for each function it appears in
-gensio_filter_certauth.c: In function ‘certauth_add_challenge_rsp’:
-gensio_filter_certauth.c:901:44: error: ‘EVP_PKEY_ED25519’ undeclared (first use in this function); did you mean ‘EVP_PKEY_DSA1’?
- 901 | if (EVP_PKEY_base_id(sfilter->pkey) == EVP_PKEY_ED25519)
- | ^~~~~~~~~~~~~~~~
- | EVP_PKEY_DSA1
-gensio_filter_certauth.c: In function ‘certauth_check_challenge’:
-gensio_filter_certauth.c:1048:35: error: ‘EVP_PKEY_ED25519’ undeclared (first use in this function); did you mean ‘EVP_PKEY_DSA1’?
- 1048 | if (EVP_PKEY_base_id(pkey) == EVP_PKEY_ED25519)
- | ^~~~~~~~~~~~~~~~
- | EVP_PKEY_DSA1
-
-Signed-off-by: Corey Minyard <cminyard@mvista.com>
-[Retrieved from:
-https://github.com/cminyard/gensio/commit/1e7071684329f23ee3447310d203d193c283979e]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- lib/gensio_filter_certauth.c | 6 ++++++
- tools/gtlssh-keygen.c | 11 ++++++++++-
- 2 files changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/lib/gensio_filter_certauth.c b/lib/gensio_filter_certauth.c
-index 642379b6..c4552e79 100644
---- a/lib/gensio_filter_certauth.c
-+++ b/lib/gensio_filter_certauth.c
-@@ -835,11 +835,13 @@ v3_certauth_add_challenge_rsp(struct certauth_filter *sfilter)
- unsigned int lenpos, len;
- int rv = 0;
-
-+#ifdef EVP_PKEY_ED25519
- if (EVP_PKEY_base_id(sfilter->pkey) == EVP_PKEY_ED25519) {
- gca_log_err(sfilter,
- "Remote end or SSL too old to support ed25519 key");
- return GE_KEYINVALID;
- }
-+#endif
-
- certauth_write_byte(sfilter, CERTAUTH_CHALLENGE_RSP);
- lenpos = sfilter->write_buf_len;
-@@ -898,8 +900,10 @@ certauth_add_challenge_rsp(struct certauth_filter *sfilter)
- if (sfilter->version < 4 || sfilter->my_version < 4)
- return v3_certauth_add_challenge_rsp(sfilter);
-
-+#ifdef EVP_PKEY_ED25519
- if (EVP_PKEY_base_id(sfilter->pkey) == EVP_PKEY_ED25519)
- digest = NULL;
-+#endif
-
- certauth_write_byte(sfilter, CERTAUTH_CHALLENGE_RSP);
- lenpos = sfilter->write_buf_len;
-@@ -1045,8 +1049,10 @@ certauth_check_challenge(struct certauth_filter *sfilter)
- goto out_nomem;
- }
-
-+#ifdef EVP_PKEY_ED25519
- if (EVP_PKEY_base_id(pkey) == EVP_PKEY_ED25519)
- digest = NULL;
-+#endif
-
- if (!EVP_DigestVerifyInit(sign_ctx, NULL, digest, NULL, pkey)) {
- gca_logs_err(sfilter, "Digest verify init failed");
-diff --git a/tools/gtlssh-keygen.c b/tools/gtlssh-keygen.c
-index c8c28937..0779dd78 100644
---- a/tools/gtlssh-keygen.c
-+++ b/tools/gtlssh-keygen.c
-@@ -108,7 +108,12 @@ help(const char *progname)
- P(" The default is your username for normal certificates and\n");
- P(" the fully qualified domain name for server certificates.\n");
- P(" --algorithm <algname> - Set the algorithm to use for the key,\n");
-- P(" either ed25519, rsa or ec. The default is ed25519.\n");
-+ P(" either ed25519, rsa or ec. ");
-+#ifdef EVP_PKEY_ED25519
-+ P("The default is ed25519.\n");
-+#else
-+ P("The default is ec.\n");
-+#endif
- P(" --force, -f - Don't ask questions, just do the operation. This\n");
- P(" may overwrite data without asking.\n");
- P(" --version - Print the version number and exit.\n");
-@@ -831,7 +836,11 @@ genpkey_ed25519(const char *key)
- return rc != 0;
- }
-
-+#ifdef EVP_PKEY_ED25519
- static int (*genpkey)(const char *key) = genpkey_ed25519;
-+#else
-+static int (*genpkey)(const char *key) = genpkey_ec;
-+#endif
-
- /*
- * Create a single key. If name is NULL, it's a server key, otherwise
diff --git a/package/gensio/Config.in b/package/gensio/Config.in
index fd0e476970..d51ea99109 100644
--- a/package/gensio/Config.in
+++ b/package/gensio/Config.in
@@ -1,6 +1,7 @@
config BR2_PACKAGE_GENSIO
bool "gensio"
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_TOOLCHAIN_HAS_ATOMIC
help
A library to abstract stream I/O like serial port, TCP,
diff --git a/package/gensio/gensio.hash b/package/gensio/gensio.hash
index 84af3fdab1..7cbc4fb9ac 100644
--- a/package/gensio/gensio.hash
+++ b/package/gensio/gensio.hash
@@ -1,7 +1,7 @@
# From https://sourceforge.net/projects/ser2net/files/ser2net/
-md5 c8d65e1809ed5cd1138fa309e3ab0e94 gensio-2.5.5.tar.gz
-sha1 076fc8324dedb658972a88c738131a409968e2ba gensio-2.5.5.tar.gz
+md5 43a826835c044dada38a7fba6ae2afbe gensio-3.0.4.tar.gz
+sha1 76cb782125140db9d9f3c0bfd810c7b94d084a50 gensio-3.0.4.tar.gz
+sha256 e28c24fc5d9f3cb90005bc008fec8bb8eedce503753024ab650bed0ac250cbe3 gensio-3.0.4.tar.gz
# Locally computed:
-sha256 63c5fff536efd080fb7bc7fa084331c19fc64abd42b7f2bec86bd77b4fd10840 gensio-2.5.5.tar.gz
-sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING
-sha256 dcac7d447dd81ab96d28dce00a07a6486e623f7ded94e2a2a8e83312405cdf89 COPYING.LIB
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
+sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB
diff --git a/package/gensio/gensio.mk b/package/gensio/gensio.mk
index 2ba1b950d7..8fc21fab01 100644
--- a/package/gensio/gensio.mk
+++ b/package/gensio/gensio.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GENSIO_VERSION = 2.5.5
+GENSIO_VERSION = 3.0.4
GENSIO_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net
GENSIO_LICENSE = LGPL-2.1+ (library), GPL-2.0+ (tools)
GENSIO_LICENSE_FILES = COPYING.LIB COPYING
@@ -12,6 +12,7 @@ GENSIO_INSTALL_STAGING = YES
GENSIO_CONF_OPTS = \
--without-swig \
--without-python
+GENSIO_AUTORECONF = YES
ifeq ($(BR2_INSTALL_LIBSTDCPP),y)
GENSIO_CONF_OPTS += --with-cplusplus
--
2.55.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 2/4] package/gensio: add udev optional dependency
2026-08-16 19:56 [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Mattia Narducci
@ 2026-08-16 19:56 ` Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 3/4] package/gensio: add portaudio " Mattia Narducci
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Mattia Narducci @ 2026-08-16 19:56 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard
Udev is an optional dependency used to directly control cm108 sound
device gpios. It is enabled by default since version 2.6.3:
https://github.com/cminyard/gensio/commit/c1b5c0a214b85026f1d8c97bd79aae038fef733b
Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
---
package/gensio/gensio.mk | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/gensio/gensio.mk b/package/gensio/gensio.mk
index 8fc21fab01..0c3ca5e03b 100644
--- a/package/gensio/gensio.mk
+++ b/package/gensio/gensio.mk
@@ -34,6 +34,13 @@ else
GENSIO_CONF_OPTS += --without-mdns
endif
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
+GENSIO_DEPENDENCIES += udev
+GENSIO_CONF_OPTS += --with-udev
+else
+GENSIO_CONF_OPTS += --without-udev
+endif
+
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
GENSIO_DEPENDENCIES += host-pkgconf libglib2
GENSIO_CONF_OPTS += --with-glib
--
2.55.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 3/4] package/gensio: add portaudio optional dependency
2026-08-16 19:56 [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 2/4] package/gensio: add udev optional dependency Mattia Narducci
@ 2026-08-16 19:56 ` Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 4/4] package/ser2net: bump version to 4.6.8 Mattia Narducci
2026-08-29 22:24 ` [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Thomas Petazzoni via buildroot
3 siblings, 0 replies; 6+ messages in thread
From: Mattia Narducci @ 2026-08-16 19:56 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard
Portaudio is an optional dependency which is enabled by default since
version 2.7.3 when alsa-lib is not available:
https://github.com/cminyard/gensio/commit/71eef5e3cef2232eed85c5cb604bdf5fe3ebf580
Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
---
package/gensio/gensio.mk | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/package/gensio/gensio.mk b/package/gensio/gensio.mk
index 0c3ca5e03b..40cb0df514 100644
--- a/package/gensio/gensio.mk
+++ b/package/gensio/gensio.mk
@@ -62,6 +62,13 @@ else
GENSIO_CONF_OPTS += --without-openssl
endif
+ifeq ($(BR2_PACKAGE_PORTAUDIO),y)
+GENSIO_DEPENDENCIES += portaudio
+GENSIO_CONF_OPTS += --with-portaudio
+else
+GENSIO_CONF_OPTS += --without-portaudio
+endif
+
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
GENSIO_CONF_ENV += LIBS=-latomic
endif
--
2.55.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH 4/4] package/ser2net: bump version to 4.6.8
2026-08-16 19:56 [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 2/4] package/gensio: add udev optional dependency Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 3/4] package/gensio: add portaudio " Mattia Narducci
@ 2026-08-16 19:56 ` Mattia Narducci
2026-08-29 22:24 ` [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Thomas Petazzoni via buildroot
3 siblings, 0 replies; 6+ messages in thread
From: Mattia Narducci @ 2026-08-16 19:56 UTC (permalink / raw)
To: buildroot; +Cc: Francisco Gonzalez
Changelog: https://sourceforge.net/p/ser2net/news
Static builds are no longer supported after bumping gensio to 3.0.4.
Updated licenses hashes due to upstream commit:
https://github.com/cminyard/ser2net/commit/2bc83f09548dec25b0bec48e11a3ee1942fb3c3e
Drop patch 0001 that was a backport of a upstream security fix.
Add a upstream patch to fix build against uClibc.
Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
---
...-crypt-when-crypt_r-is-not-available.patch | 140 ++++++++++++++++++
...0001-Fix-authorization-path-handling.patch | 89 -----------
package/ser2net/Config.in | 2 +
package/ser2net/ser2net.hash | 8 +-
package/ser2net/ser2net.mk | 8 +-
5 files changed, 153 insertions(+), 94 deletions(-)
create mode 100644 package/ser2net/0001-Fallback-to-crypt-when-crypt_r-is-not-available.patch
delete mode 100644 package/ser2net/0001-Fix-authorization-path-handling.patch
diff --git a/package/ser2net/0001-Fallback-to-crypt-when-crypt_r-is-not-available.patch b/package/ser2net/0001-Fallback-to-crypt-when-crypt_r-is-not-available.patch
new file mode 100644
index 0000000000..a90095fd89
--- /dev/null
+++ b/package/ser2net/0001-Fallback-to-crypt-when-crypt_r-is-not-available.patch
@@ -0,0 +1,140 @@
+From 6af8ca88193b66b0309d9ca355d6c551e0fc1fbe Mon Sep 17 00:00:00 2001
+From: Mattia Narducci <mattianarducci1@gmail.com>
+Date: Fri, 14 Aug 2026 21:55:11 +0200
+Subject: [PATCH] Fallback to crypt() when crypt_r() is not available
+
+Use crypt(3) for hashed passwords on systems where libcrypt does not
+provide the reentrant crypt_r(3), eg. uClibc. Calls to crypt() are
+guarded by a global lock.
+
+Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
+Signed-off-by: Corey Minyard <corey@minyard.net>
+
+Upstream: https://github.com/cminyard/ser2net/commit/6af8ca88193b66b0309d9ca355d6c551e0fc1fbe
+
+Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
+---
+ auth.c | 12 ++++++++++++
+ configure.ac | 11 ++++++-----
+ ser2net.c | 14 ++++++++++++++
+ ser2net.h | 4 ++++
+ 4 files changed, 36 insertions(+), 5 deletions(-)
+
+diff --git a/auth.c b/auth.c
+index 7e53069..1af057b 100644
+--- a/auth.c
++++ b/auth.c
+@@ -33,6 +33,10 @@
+ #include <gensio/gensio_list.h>
+ #include "ser2net.h"
+
++#ifndef HAVE_CRYPT_R
++#include <gensio/gensio_os_funcs_public.h>
++#endif
++
+ #if defined(USE_PAM)
+ #include <pwd.h>
+ #include <security/pam_appl.h>
+@@ -288,7 +292,9 @@ handle_password(struct gensio *net, const char *authdir, const char *password)
+ char readpw[256], *s;
+ int err;
+ bool hashed = true;
++#ifdef HAVE_CRYPT_R
+ struct crypt_data cdata;
++#endif
+ char *newhash;
+
+ len = sizeof(username);
+@@ -341,7 +347,13 @@ handle_password(struct gensio *net, const char *authdir, const char *password)
+ return GE_NOTSUP;
+ }
+
++#ifdef HAVE_CRYPT_R
+ newhash = crypt_r(password, readpw, &cdata);
++#else
++ gensio_os_funcs_lock(so, crypt_lock);
++ newhash = crypt(password, readpw);
++ gensio_os_funcs_unlock(so, crypt_lock);
++#endif
+ if (!newhash)
+ return GE_NOTSUP;
+
+diff --git a/configure.ac b/configure.ac
+index 1ac44f2..1814286 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -39,11 +39,12 @@ if test "x$use_pam" != "xno"; then
+ AC_DEFINE([USE_PAM], [], [Enable PAM support])
+ fi
+
+-have_crypt_r=no
+-AC_CHECK_LIB(crypt, crypt_r, [have_crypt_r=yes], [])
+-if test $have_crypt_r != "yes"; then
+- AC_MSG_ERROR([No libcrypt with crypt_r()])
+-fi
++AC_CHECK_LIB(crypt, crypt_r,
++ [AC_DEFINE([HAVE_CRYPT_R], [1], [Define if you have crypt_r() in libcrypt])],
++ [AC_CHECK_LIB(crypt, crypt, [],
++ [AC_MSG_ERROR([No libcrypt with crypt_r() or crypt()])]
++ )]
++)
+ LIBS="$LIBS -lcrypt"
+
+ AC_ARG_WITH(sysfs-led-support,
+diff --git a/ser2net.c b/ser2net.c
+index 04cbb00..17e0c23 100644
+--- a/ser2net.c
++++ b/ser2net.c
+@@ -604,6 +604,9 @@ do_detach(void)
+
+ static struct gensio_lock *config_lock;
+ static struct gensio_lock *maint_lock;
++#ifndef HAVE_CRYPT_R
++struct gensio_lock *crypt_lock;
++#endif
+
+ static int in_config_read = 0;
+
+@@ -1011,6 +1014,14 @@ main(int argc, char *argv[])
+ return 1;
+ }
+
++#ifndef HAVE_CRYPT_R
++ crypt_lock = gensio_os_funcs_alloc_lock(so);
++ if (!crypt_lock) {
++ fprintf(stderr, "Could not alloc ser2net crypt lock\n");
++ return 1;
++ }
++#endif
++
+ err = init_dataxfer();
+ if (err) {
+ fprintf(stderr,
+@@ -1098,6 +1109,9 @@ main(int argc, char *argv[])
+ if (config_lines)
+ free(config_lines);
+
++#ifndef HAVE_CRYPT_R
++ gensio_os_funcs_free_lock(so, crypt_lock);
++#endif
+ gensio_os_funcs_free_lock(so, maint_lock);
+ gensio_os_funcs_free_lock(so, config_lock);
+ gensio_os_funcs_free(so);
+diff --git a/ser2net.h b/ser2net.h
+index 8bc9227..d9e361b 100644
+--- a/ser2net.h
++++ b/ser2net.h
+@@ -66,6 +66,10 @@ int sub_time(gensio_time *left, gensio_time *right);
+ integer was invalid. Spaces are not handled. */
+ int scan_int(const char *str);
+
++#ifndef HAVE_CRYPT_R
++/* Used to avoid races in crypt() when crypt_r() is not available */
++extern struct gensio_lock *crypt_lock;
++#endif
+ /*
+ * Handle authorization events from accepters.
+ */
+--
+2.55.0
+
diff --git a/package/ser2net/0001-Fix-authorization-path-handling.patch b/package/ser2net/0001-Fix-authorization-path-handling.patch
deleted file mode 100644
index a90130844f..0000000000
--- a/package/ser2net/0001-Fix-authorization-path-handling.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From fa6c2a8840cbc8d7622e46ce12ba15ecc0fb51b7 Mon Sep 17 00:00:00 2001
-From: Corey Minyard <corey@minyard.net>
-Date: Thu, 23 Jul 2026 10:51:25 -0500
-Subject: [PATCH] Fix authorization path handling
-
-The username is received from the remote end and thus untrusted. Make
-sure it doesn't have any characters that can cause it to escape the
-directory it is supposed to be in when constructing a path.
-
-Reported-by: TristanInSec
-Signed-off-by: Corey Minyard <corey@minyard.net>
-
-Upstream: https://github.com/cminyard/ser2net/commit/fa6c2a8840cbc8d7622e46ce12ba15ecc0fb51b7
-
-Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
----
- auth.c | 42 ++++++++++++++++++++++++++++++++++++++----
- 1 file changed, 38 insertions(+), 4 deletions(-)
-
-diff --git a/auth.c b/auth.c
-index 95c80b4..53c3186 100644
---- a/auth.c
-+++ b/auth.c
-@@ -185,6 +185,40 @@ handle_auth_begin(struct gensio *net, const char *authdir, const char *pamauth,
- return GE_NOTSUP;
- }
-
-+/*
-+ * Construct a secure authorization path.
-+ *
-+ * filename must be at least MAX_PATH.
-+ *
-+ * "username" is untrusted, the rest of the data is trusted.
-+ */
-+static bool
-+construct_auth_path(char *filename, const char *authdir, const char *username,
-+ const char *format, ...)
-+{
-+ size_t baselen;
-+ va_list ap;
-+
-+ /*
-+ * '/', '.', and '\' are all parts of things that can modify the base
-+ * path. Don't allow them in usernames.
-+ */
-+ if (strchr(username, '.') || strchr(username, '/')
-+ || strchr(username, '\\'))
-+ return false;
-+
-+ /* Get a good base path ending in / */
-+ baselen = snprintf(filename, PATH_MAX, "%s/%s/",
-+ authdir, username);
-+
-+ /* Now append the rest of the path. */
-+ va_start(ap, format);
-+ vsnprintf(filename + baselen, PATH_MAX - baselen, format, ap);
-+ va_end(ap);
-+
-+ return true;
-+}
-+
- static int
- handle_precert(struct gensio *net, const char *authdir)
- {
-@@ -228,8 +262,8 @@ handle_precert(struct gensio *net, const char *authdir)
- }
- }
-
-- snprintf(filename, sizeof(filename), "%s/%s/allowed_certs/",
-- authdir, s);
-+ if (!construct_auth_path(filename, authdir, s, "allowed_certs/"))
-+ return GE_AUTHREJECT;
- err = gensio_control(net, 0, false, GENSIO_CONTROL_CERT_AUTH,
- filename, &len);
- if (err && err != GE_CERTNOTFOUND) {
-@@ -258,8 +292,8 @@ handle_password(struct gensio *net, const char *authdir, const char *password)
- return GE_AUTHREJECT;
- }
-
-- snprintf(filename, sizeof(filename), "%s/%s/password",
-- authdir, username);
-+ if (!construct_auth_path(filename, authdir, username, "password"))
-+ return GE_AUTHREJECT;
- pwfile = fopen(filename, "r");
- if (!pwfile) {
- syslog(LOG_ERR, "Can't open password file %s: %s", filename,
---
-2.55.0
-
diff --git a/package/ser2net/Config.in b/package/ser2net/Config.in
index 1859d42c8f..fdab226e60 100644
--- a/package/ser2net/Config.in
+++ b/package/ser2net/Config.in
@@ -1,8 +1,10 @@
config BR2_PACKAGE_SER2NET
bool "ser2net"
depends on BR2_USE_MMU # fork()
+ depends on !BR2_STATIC_LIBS # gensio
depends on BR2_TOOLCHAIN_HAS_ATOMIC # gensio
select BR2_PACKAGE_GENSIO
+ select BR2_PACKAGE_LIBXCRYPT if BR2_TOOLCHAIN_USES_GLIBC
select BR2_PACKAGE_LIBYAML
help
Ser2net provides a way for a user to connect from a network
diff --git a/package/ser2net/ser2net.hash b/package/ser2net/ser2net.hash
index 50a2efdee8..19ced28655 100644
--- a/package/ser2net/ser2net.hash
+++ b/package/ser2net/ser2net.hash
@@ -1,6 +1,6 @@
# From https://sourceforge.net/projects/ser2net/files/ser2net/
-md5 73b4ccc7e9d89034f1a1a20a780b9da9 ser2net-4.3.8.tar.gz
-sha1 d1597d88d154489cb08bac69bb1772712d30cbcd ser2net-4.3.8.tar.gz
+md5 91594fb9c1d8e03a99a1739539919eba ser2net-4.6.8.tar.gz
+sha1 ee8c12ce23ee3ebc54a845c2416bee0b6f4ea18c ser2net-4.6.8.tar.gz
# Locally computed:
-sha256 e5620975523059a38709bb53c0567600adbbcb8011066a2d2fe1b4db9efe0ba3 ser2net-4.3.8.tar.gz
-sha256 501f3108e6c03e5a0a5585ebaaa369171aead5319cd0a7a4dc1f66211c1f09f1 COPYING
+sha256 e651adcc4cc0d0ceaa36e5997dab9ea7f8aea732b4c87ba6018d2dcc88fbe8e3 ser2net-4.6.8.tar.gz
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk
index 679aaec29a..bd8f9dc399 100644
--- a/package/ser2net/ser2net.mk
+++ b/package/ser2net/ser2net.mk
@@ -4,11 +4,17 @@
#
################################################################################
-SER2NET_VERSION = 4.3.8
+SER2NET_VERSION = 4.6.8
SER2NET_SITE = https://downloads.sourceforge.net/project/ser2net/ser2net
SER2NET_LICENSE = GPL-2.0+
SER2NET_LICENSE_FILES = COPYING
SER2NET_DEPENDENCIES = gensio libyaml
+# We are patching configure.ac
+SER2NET_AUTORECONF = YES
+
+ifeq ($(BR2_PACKAGE_LIBXCRYPT),y)
+SER2NET_DEPENDENCIES += libxcrypt
+endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
SER2NET_CONF_OPTS += --with-pthreads
--
2.55.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4
2026-08-16 19:56 [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Mattia Narducci
` (2 preceding siblings ...)
2026-08-16 19:56 ` [Buildroot] [PATCH 4/4] package/ser2net: bump version to 4.6.8 Mattia Narducci
@ 2026-08-29 22:24 ` Thomas Petazzoni via buildroot
2026-09-03 20:25 ` Mattia Narducci
3 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-29 22:24 UTC (permalink / raw)
To: Mattia Narducci; +Cc: buildroot, James Hilliard
Hello Mattia,
On Sun, Aug 16, 2026 at 09:56:06PM +0200, Mattia Narducci wrote:
> Changelog: https://sourceforge.net/p/ser2net/news
>
> Static builds are no longer supported starting with version 2.6.0 [1]
> even when compiling all modules (gensios) in the library.
>
> Updated licenses hashes due to upstream commit:
> https://github.com/cminyard/gensio/commit/859e4465cf5788cb99da1002a4c38cd8841c1bb7
>
> Removed patch 0001 which is now upstream.
>
> [1] https://github.com/cminyard/gensio/commit/7b3786f5fb733cd593e631a7b75d4b47f5a4b95f
>
> Signed-off-by: Mattia Narducci <mattianarducci1@gmail.com>
Thanks a lot for your patch series, which I have applied to next. I
had to fix two things:
1. In both package/gensio/Config.in and package/ser2net/Config, add a
Config.in comment about the dynamic library dependency
2. In PATCH 1/4, propagate the !BR2_STATIC_LIBS dependency to
ser2net. You had done so in PATCH 4/4, but logically speaking, it
belongs to PATCH 1/4, otherwise if we partially apply the series,
or bisect through the commits, the situation between PATCH 1/4 and
4/4 would be brokien
If you are interested by those two packages, don't hesitate to send a
patch adding yourself as a developer for them in the DEVELOPERS
file. This way you will receive e-mail notifications when there are
build failures, CVEs or new available upstream releases for those 2
packages.
Thanks a lot!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4
2026-08-29 22:24 ` [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Thomas Petazzoni via buildroot
@ 2026-09-03 20:25 ` Mattia Narducci
0 siblings, 0 replies; 6+ messages in thread
From: Mattia Narducci @ 2026-09-03 20:25 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: buildroot, James Hilliard
On Sunday, 30 August 2026 00:24:20 CEST Thomas Petazzoni wrote:
> Thanks a lot for your patch series, which I have applied to next. I
> had to fix two things:
>
> 1. In both package/gensio/Config.in and package/ser2net/Config, add a
> Config.in comment about the dynamic library dependency
>
> 2. In PATCH 1/4, propagate the !BR2_STATIC_LIBS dependency to
> ser2net. You had done so in PATCH 4/4, but logically speaking, it
> belongs to PATCH 1/4, otherwise if we partially apply the series,
> or bisect through the commits, the situation between PATCH 1/4 and
> 4/4 would be brokien
Thank you Thomas! I should have considered that.
Best regards,
Mattia
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2026-09-03 20:25 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-16 19:56 [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 2/4] package/gensio: add udev optional dependency Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 3/4] package/gensio: add portaudio " Mattia Narducci
2026-08-16 19:56 ` [Buildroot] [PATCH 4/4] package/ser2net: bump version to 4.6.8 Mattia Narducci
2026-08-29 22:24 ` [Buildroot] [PATCH 1/4] package/gensio: bump version to 3.0.4 Thomas Petazzoni via buildroot
2026-09-03 20:25 ` Mattia Narducci
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox