public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
* [meta][dunfell][PATCH] busybox: Make high ASCII chars printable
@ 2023-03-29  6:47 Nikhil R
  2023-03-29  7:20 ` [OE-core] " Richard Purdie
  2023-03-30  8:48 ` Michael Opdenacker
  0 siblings, 2 replies; 4+ messages in thread
From: Nikhil R @ 2023-03-29  6:47 UTC (permalink / raw)
  To: openembedded-core, sanak
  Cc: ranjitsinh.rathod, Nikhil R, Sana Kazi, Sana Kazi

Currently busybox utilty "ls" fails to display filenames contains
UTF-8 characters and replaces with "?".

Steps to reproduce:
bin/busybox touch utf_test-Ü
bin/busybox ls utf_test-* > sample.log
bin/busybox cat sample.log
utf_test-??
bin/busybox hexdump -C sample.log | grep "c3 9c"

Therefore, above hexdump command is unable to find matching hex value
for the umlaute character.
Hence, change the libbb's printable_string() function to allow high ASCII
characters so that unicode filenames are displayed correctly.
This issue is not observed in upstream busybox.

Signed-off-by: Sana Kazi <Sana.Kazi@kpit.com>
Signed-off-by: Sana Kazi <sanakazisk19@gmail.com>
Signed-off-by: Nikhil R <nikhilar2410@gmail.com>
---
 .../270-libbb_make_unicode_printable.patch    | 39 +++++++++++++++++++
 meta/recipes-core/busybox/busybox_1.31.1.bb   |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 meta/recipes-core/busybox/busybox/270-libbb_make_unicode_printable.patch

diff --git a/meta/recipes-core/busybox/busybox/270-libbb_make_unicode_printable.patch b/meta/recipes-core/busybox/busybox/270-libbb_make_unicode_printable.patch
new file mode 100644
index 0000000000..001d2847fe
--- /dev/null
+++ b/meta/recipes-core/busybox/busybox/270-libbb_make_unicode_printable.patch
@@ -0,0 +1,39 @@
+busybox: make high ASCII chars printable (#7993)
+
+Currently busybox utils like "ls" fail to display filenames containing UTF-8
+characters, replacing any special characters with "?".
+
+Change libbb's printable_string() function to allow high ASCII characters so
+that unicode filenames are displayed correctls.
+
+Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
+Upstream-Status: Pending [https://git.openwrt.org/?p=openwrt/svn-archive/archive.git;a=patch;h=bbca780ca657d894fc457cac8eaaaec9d414bfc8]
+
+SVN-Revision: 43084
+---
+ .../270-libbb_make_unicode_printable.patch    | 20 +++++++++++++++++++
+ create mode 100644 package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
+
+diff --git a/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch b/package/utils/busybox/patches/270-libbb_make_unicode_printable.patch
+--- a/libbb/printable_string.c
++++ b/libbb/printable_string.c
+@@ -28,8 +28,6 @@
+ 		}
+ 		if (c < ' ')
+ 			break;
+-		if (c >= 0x7f)
+-			break;
+ 		s++;
+ 	}
+ 
+@@ -42,7 +40,7 @@
+ 			unsigned char c = *d;
+ 			if (c == '\0')
+ 				break;
+-			if (c < ' ' || c >= 0x7f)
++                        if (c < ' ')
+ 				*d = '?';
+ 			d++;
+ 		}
+--
+2.20.1
diff --git a/meta/recipes-core/busybox/busybox_1.31.1.bb b/meta/recipes-core/busybox/busybox_1.31.1.bb
index d062f0f7dd..3e0d888b05 100644
--- a/meta/recipes-core/busybox/busybox_1.31.1.bb
+++ b/meta/recipes-core/busybox/busybox_1.31.1.bb
@@ -57,6 +57,7 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
            file://CVE-2021-423xx-awk.patch \
            file://0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch \
            file://0002-nslookup-sanitize-all-printed-strings-with-printable.patch \
+           file://270-libbb_make_unicode_printable.patch \
            "
 SRC_URI_append_libc-musl = " file://musl.cfg "
 
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-03-30  8:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-29  6:47 [meta][dunfell][PATCH] busybox: Make high ASCII chars printable Nikhil R
2023-03-29  7:20 ` [OE-core] " Richard Purdie
2023-03-29 18:07   ` Khem Raj
2023-03-30  8:48 ` Michael Opdenacker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox