From: fred.w.bacon@gmail.com
To: openembedded-core@lists.openembedded.org
Cc: Fred Bacon <fred.w.bacon@gmail.com>, Fred Bacon <bacon@aerodyne.com>
Subject: [scarthgap][PATCH 1/1] lighttpd: Fix trailing slash on files in mod_dirlisting
Date: Tue, 20 Jan 2026 10:57:48 -0500 [thread overview]
Message-ID: <20260120155748.32482-2-fred.w.bacon@gmail.com> (raw)
In-Reply-To: <20260120155748.32482-1-fred.w.bacon@gmail.com>
From: Fred Bacon <fred.w.bacon@gmail.com>
Fixes [YOCTO #16128]
Backport of upstream bug fix from lighttpd-1.4.75. Version 1.4.74 introduced a bug that
would append a trailing slash to files in a directory listing. When the user attempts to
download one of these files, the web browser could not save the file with a trailing
slash. As a consequence, every web browser tested would generate a random character string
for the saved file name.
Upstream-Status: Backport [1.4.75]
Signed-off-by: Fred Bacon <bacon@aerodyne.com>
---
.../lighttpd/0001-mod_dirlisting.patch | 48 +++++++++++++++++++
.../lighttpd/lighttpd_1.4.74.bb | 1 +
2 files changed, 49 insertions(+)
create mode 100644 meta/recipes-extended/lighttpd/lighttpd/0001-mod_dirlisting.patch
diff --git a/meta/recipes-extended/lighttpd/lighttpd/0001-mod_dirlisting.patch b/meta/recipes-extended/lighttpd/lighttpd/0001-mod_dirlisting.patch
new file mode 100644
index 0000000000..8afdc1ecd0
--- /dev/null
+++ b/meta/recipes-extended/lighttpd/lighttpd/0001-mod_dirlisting.patch
@@ -0,0 +1,48 @@
+From 3d400ce06dcb950a61363f87330324db244f4bac Mon Sep 17 00:00:00 2001
+From: Glenn Strauss <gstrauss@gluelogic.com>
+Date: Thu, 29 Feb 2024 20:59:57 -0500
+Subject: [PATCH] [mod_dirlisting] fix suffix display of '/' on file (fixes
+ #3242)
+
+fix incorrect suffix display of '/' on files
+
+(regression in lighttpd 1.4.74)
+
+(thx guy)
+
+Upstream-Status: Backport [1.4.75]
+
+References:
+[1] https://redmine.lighttpd.net/issues/3242
+
+Signed-off-by: Glenn Strauss <gstrauss@gluelogic.com>
+---
+ src/mod_dirlisting.c | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/mod_dirlisting.c b/src/mod_dirlisting.c
+index a3432211..2686cd3e 100644
+--- a/src/mod_dirlisting.c
++++ b/src/mod_dirlisting.c
+@@ -1022,10 +1022,19 @@ static void http_list_directory_dirname(buffer * const out, const dirls_entry_t
+ buffer_append_string_len(out, CONST_STR_LEN("</td><td class=\"s\">- </td><td class=\"t\">Directory</td></tr>\n"));
+ }
+
++static void http_list_file_ent(buffer * const out, const dirls_entry_t * const ent, const char * const name) {
++ buffer_append_string_encoded(out, name, ent->namelen, ENCODING_REL_URI_PART);
++ buffer_append_string_len(out, CONST_STR_LEN("\">"));
++ buffer_append_string_encoded(out, name, ent->namelen, ENCODING_MINIMAL_XML);
++ buffer_append_string_len(out, CONST_STR_LEN("</a></td><td class=\"m\">"));
++
++ http_list_directory_mtime(out, ent);
++}
++
+ static void http_list_directory_filename(buffer * const out, const dirls_entry_t * const ent, const char * const name, handler_ctx * const hctx) {
+ buffer_append_string_len(out, CONST_STR_LEN("<tr><td class=\"n\"><a href=\""));
+
+- http_list_directory_ent(out, ent, name);
++ http_list_file_ent(out, ent, name);
+
+ const buffer *content_type;
+ #if defined(HAVE_XATTR) || defined(HAVE_EXTATTR) /*(pass full path)*/
+
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb
index 7460d3d716..e48fd16514 100644
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb
+++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.74.bb
@@ -14,6 +14,7 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t
file://index.html.lighttpd \
file://lighttpd.conf \
file://lighttpd \
+ file://0001-mod_dirlisting.patch \
"
SRC_URI[sha256sum] = "5c08736e83088f7e019797159f306e88ec729abe976dc98fb3bed71b9d3e53b5"
next prev parent reply other threads:[~2026-01-20 15:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-20 15:57 [scarthgap][PATCH 0/1] lighttpd: fix trailing '/' on files in dirlisting fred.w.bacon
2026-01-20 15:57 ` fred.w.bacon [this message]
2026-02-08 22:52 ` [OE-core] [scarthgap][PATCH 1/1] lighttpd: Fix trailing slash on files in mod_dirlisting Yoann Congal
2026-02-09 14:59 ` Fred Bacon
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=20260120155748.32482-2-fred.w.bacon@gmail.com \
--to=fred.w.bacon@gmail.com \
--cc=bacon@aerodyne.com \
--cc=openembedded-core@lists.openembedded.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox