* [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