From bugzilla at busybox.net Wed Apr 3 14:02:42 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Wed, 03 Apr 2024 14:02:42 +0000
Subject: [Bug 16018] New: busybox tar allows un-escaped filenames to be
printed to stdout/stderr
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16018
Bug ID: 16018
Summary: busybox tar allows un-escaped filenames to be printed
to stdout/stderr
Product: Busybox
Version: 1.30.x
Hardware: All
OS: All
Status: NEW
Severity: major
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: ian.norton at entrust.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
It is possible to create an archive with filenames that are terminal escape
sequences and use this to hide other files from the file list or verbose
output.
The example output below is from running inside ubuntu 22.04 using busybox
1.30.1
root at 1f91a2b8747c:/tmp/hack# ls -l
total 0
-rw-r--r-- 1 root root 0 Apr 3 13:30
''$'\033''[1A'$'\033''[1Ksome-innocent-filename.txt'
-rw-r--r-- 1 root root 0 Apr 3 13:31 some-innocent-filename.txt
root at 1f91a2b8747c:/tmp/hack# busybox tar -cf ../bad.tar /etc/passwd $(echo -e
'\033[1A\033[1Ksome-innocent-filename.txt') some-innocent-filename.txt
tar: removing leading '/' from member names
busybox will not report the etc/passwd item
root at 1f91a2b8747c:/tmp/hack# busybox tar -tf ../bad.tar
some-innocent-filename.txt
some-innocent-filename.txt
GNU tar will correctly report the escaped version of each member
root at 1f91a2b8747c:/tmp/hack# tar -tf ../bad.tar
etc/passwd
\033[1A\033[1Ksome-innocent-filename.txt
some-innocent-filename.txt
If a root user were to use busybox to untar files from / you could see how this
could be abused to unwittingly overwrite root files even if the listed the tar
content first.
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Wed Apr 3 16:02:02 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Wed, 03 Apr 2024 16:02:02 +0000
Subject: [Bug 16018] busybox tar allows un-escaped filenames to be printed to
stdout/stderr
In-Reply-To:
References:
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16018
Ian Norton changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P5 |P1
Severity|major |critical
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Mon Apr 8 23:31:54 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Mon, 08 Apr 2024 23:31:54 +0000
Subject: [Bug 16021] New: 3/30 git worked 4/9 fails with TC errors.
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16021
Bug ID: 16021
Summary: 3/30 git worked 4/9 fails with TC errors.
Product: Busybox
Version: 1.37.x
Hardware: All
OS: Linux
Status: NEW
Severity: major
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: mikes at guam.net
CC: busybox-cvs at busybox.net
Target Milestone: ---
Generally download and build new git updates from time to time.
Last one was on 3/30 and it worked fine.
Now did same on 4/9, and download works fine, but build fails.
networking/tc.c: In function ?cbq_print_opt?:
networking/tc.c:236:27: error: ?TCA_CBQ_MAX? undeclared (first use in this
function); did you mean ?TCA_CBS_MAX??
236 | struct rtattr *tb[TCA_CBQ_MAX+1];
| ^~~~~~~~~~~
| TCA_CBS_MAX
networking/tc.c:236:27: note: each undeclared identifier is reported only once
for each function it appears in
networking/tc.c:249:16: error: ?TCA_CBQ_RATE? undeclared (first use in this
function); did you mean ?TCA_TBF_RATE64??
249 | if (tb[TCA_CBQ_RATE]) {
| ^~~~~~~~~~~~
| TCA_TBF_RATE64
networking/tc.c:255:16: error: ?TCA_CBQ_LSSOPT? undeclared (first use in this
function)
255 | if (tb[TCA_CBQ_LSSOPT]) {
| ^~~~~~~~~~~~~~
networking/tc.c:256:61: error: invalid application of ?sizeof? to incomplete
type ?struct tc_cbq_lssopt?
256 | if (RTA_PAYLOAD(tb[TCA_CBQ_LSSOPT]) < sizeof(*lss))
| ^
networking/tc.c:261:16: error: ?TCA_CBQ_WRROPT? undeclared (first use in this
function)
261 | if (tb[TCA_CBQ_WRROPT]) {
| ^~~~~~~~~~~~~~
networking/tc.c:262:61: error: invalid application of ?sizeof? to incomplete
type ?struct tc_cbq_wrropt?
262 | if (RTA_PAYLOAD(tb[TCA_CBQ_WRROPT]) < sizeof(*wrr))
| ^
networking/tc.c:267:16: error: ?TCA_CBQ_FOPT? undeclared (first use in this
function)
267 | if (tb[TCA_CBQ_FOPT]) {
| ^~~~~~~~~~~~
networking/tc.c:268:59: error: invalid application of ?sizeof? to incomplete
type ?struct tc_cbq_fopt?
268 | if (RTA_PAYLOAD(tb[TCA_CBQ_FOPT]) < sizeof(*fopt))
| ^
networking/tc.c:273:16: error: ?TCA_CBQ_OVL_STRATEGY? undeclared (first use in
this function)
273 | if (tb[TCA_CBQ_OVL_STRATEGY]) {
| ^~~~~~~~~~~~~~~~~~~~
networking/tc.c:274:67: error: invalid application of ?sizeof? to incomplete
type ?struct tc_cbq_ovl?
274 | if (RTA_PAYLOAD(tb[TCA_CBQ_OVL_STRATEGY]) <
sizeof(*ovl))
| ^
networking/tc.c:277:50: error: invalid application of ?sizeof? to incomplete
type ?struct tc_cbq_ovl?
277 | (unsigned) sizeof(*ovl));
| ^
networking/tc.c:293:23: error: invalid use of undefined type ?struct
tc_cbq_lssopt?
293 | if (lss && lss->flags) {
| ^~
networking/tc.c:296:24: error: invalid use of undefined type ?struct
tc_cbq_lssopt?
296 | if (lss->flags&TCF_CBQ_LSS_BOUNDED) {
| ^~
networking/tc.c:296:32: error: ?TCF_CBQ_LSS_BOUNDED? undeclared (first use in
this function)
296 | if (lss->flags&TCF_CBQ_LSS_BOUNDED) {
| ^~~~~~~~~~~~~~~~~~~
networking/tc.c:300:24: error: invalid use of undefined type ?struct
tc_cbq_lssopt?
300 | if (lss->flags&TCF_CBQ_LSS_ISOLATED) {
| ^~
networking/tc.c:300:32: error: ?TCF_CBQ_LSS_ISOLATED? undeclared (first use in
this function)
300 | if (lss->flags&TCF_CBQ_LSS_ISOLATED) {
| ^~~~~~~~~~~~~~~~~~~~
networking/tc.c:308:24: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
308 | if (wrr->priority != TC_CBQ_MAXPRIO)
| ^~
networking/tc.c:308:38: error: ?TC_CBQ_MAXPRIO? undeclared (first use in this
function)
308 | if (wrr->priority != TC_CBQ_MAXPRIO)
| ^~~~~~~~~~~~~~
networking/tc.c:309:46: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
309 | printf("prio %u", wrr->priority);
| ^~
networking/tc.c:313:43: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
313 | printf("/%u ", wrr->cpriority);
| ^~
networking/tc.c:314:32: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
314 | if (wrr->weight != 1) {
| ^~
networking/tc.c:315:65: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
315 | print_rate(buf, sizeof(buf),
wrr->weight);
| ^~
networking/tc.c:318:32: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
318 | if (wrr->allot)
| ^~
networking/tc.c:319:57: error: invalid use of undefined type ?struct
tc_cbq_wrropt?
319 | printf("allot %ub ", wrr->allot);
| ^~
networking/tc.c:236:24: warning: unused variable ?tb? [-Wunused-variable]
236 | struct rtattr *tb[TCA_CBQ_MAX+1];
| ^~
make[1]: *** [scripts/Makefile.build:198: networking/tc.o] Error 1
make: *** [Makefile:744: networking] Error 2
If I manually disable the two TC options in .config, the build works fine.
not sure why?
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Tue Apr 9 14:51:46 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Tue, 09 Apr 2024 14:51:46 +0000
Subject: [Bug 16024] New: ash: sleep as a builtin may abort the shell
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16024
Bug ID: 16024
Summary: ash: sleep as a builtin may abort the shell
Product: Busybox
Version: unspecified
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: sinbad_4273 at yahoo.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
For ash builtin sleep, the following aborts the shell
sleep --help // if help isn't on
sleep 0.5 // if float duration isn't on
sleep 1n // typo should have been 1m with fancy sleep on
This is known to busybox developers as shown by this comment in sleep.c
//FIXME: in ash, "sleep 123qwerty" as a builtin aborts the shell
https://git.busybox.net/busybox/tree/coreutils/sleep.c#n91
If any sleep argument is deemed invalid, bb_error_msg_and_die() is called but
in the case of a builtin the entire ash shell is what dies not sleep as
intended.
https://git.busybox.net/busybox/tree/libbb/xatonum_template.c#n74
This was noticed in the dd-wrt project as discussed here:
https://forum.dd-wrt.com/phpBB2/viewtopic.php?t=336142
Workaround:
Use /bin/sleep instead of builtin sleep so bb_error_msg_and_die() will
terminate the sleep process not the terminate the ash process.
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Thu Apr 11 18:01:53 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Thu, 11 Apr 2024 18:01:53 +0000
Subject: [Bug 16033] New: CVE-2023-39810: directory traversal in cpio
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16033
Bug ID: 16033
Summary: CVE-2023-39810: directory traversal in cpio
Product: Busybox
Version: 1.36.x
Hardware: All
OS: Linux
Status: NEW
Severity: major
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: bake.earmuffs at gmail.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
Hi
CVE reported some time ago:
https://nvd.nist.gov/vuln/detail/CVE-2023-39810
https://www.pentagrid.ch/en/blog/busybox-cpio-directory-traversal-vulnerability/
Thanks!
--
You are receiving this mail because:
You are on the CC list for the bug.
From vda.linux at googlemail.com Sat Apr 13 15:57:46 2024
From: vda.linux at googlemail.com (Denys Vlasenko)
Date: Sat, 13 Apr 2024 17:57:46 +0200
Subject: [git commit] docproc: avoid segfault during file closing
Message-ID: <20240413155957.BFF9986004@busybox.osuosl.org>
commit: https://git.busybox.net/busybox/commit/?id=681e4f5d922b9f0ea968238750d5c5d748eac809
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
In the function find_export_symbols, since the fopen file does not
exit when it fails, there is a dereference problem in fclose(fp),
which will cause a segmentation fault.
Signed-off-by: Yan Zhu
Signed-off-by: Denys Vlasenko
---
scripts/basic/docproc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c
index 4464e1874..8828901a1 100644
--- a/scripts/basic/docproc.c
+++ b/scripts/basic/docproc.c
@@ -180,6 +180,7 @@ void find_export_symbols(char * filename)
{
fprintf(stderr, "docproc: ");
perror(real_filename);
+ exit(1);
}
while (fgets(line, MAXLINESZ, fp)) {
unsigned char *p;
From vda.linux at googlemail.com Sat Apr 13 16:40:20 2024
From: vda.linux at googlemail.com (Denys Vlasenko)
Date: Sat, 13 Apr 2024 18:40:20 +0200
Subject: [git commit] lineedit: print prompt and editing operations to stderr
Message-ID: <20240413164123.888AC8603C@busybox.osuosl.org>
commit: https://git.busybox.net/busybox/commit/?id=fd47f056765aed515f4c71118813f07be1402bee
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
For shells, this is mandated by standards
function old new delta
input_backward 215 231 +16
read_line_input 3015 3028 +13
draw_custom 66 78 +12
put_cur_glyph_and_inc_cursor 149 159 +10
put_prompt_custom 47 56 +9
show_history 40 46 +6
input_tab 927 933 +6
input_delete 136 142 +6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/0 up/down: 78/0) Total: 78 bytes
Signed-off-by: Denys Vlasenko
---
libbb/lineedit.c | 62 +++++++++++++++++++++++++++++++-------------------------
1 file changed, 34 insertions(+), 28 deletions(-)
diff --git a/libbb/lineedit.c b/libbb/lineedit.c
index bdae10914..543a3f11c 100644
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -345,7 +345,7 @@ static unsigned save_string(char *dst, unsigned maxsize)
return i;
}
}
-/* I thought just fputwc(c, stdout) would work. But no... */
+/* I thought just fputwc(c, stderr) would work. But no... */
static void BB_PUTCHAR(wchar_t c)
{
if (unicode_status == UNICODE_ON) {
@@ -354,11 +354,11 @@ static void BB_PUTCHAR(wchar_t c)
ssize_t len = wcrtomb(buf, c, &mbst);
if (len > 0) {
buf[len] = '\0';
- fputs_stdout(buf);
+ fputs(buf, stderr);
}
} else {
/* In this case, c is always one byte */
- putchar(c);
+ bb_putchar_stderr(c);
}
}
# if ENABLE_UNICODE_COMBINING_WCHARS || ENABLE_UNICODE_WIDE_WCHARS
@@ -404,7 +404,7 @@ static void save_string(char *dst, unsigned maxsize)
safe_strncpy(dst, command_ps, maxsize);
}
# endif
-# define BB_PUTCHAR(c) bb_putchar(c)
+# define BB_PUTCHAR(c) bb_putchar_stderr(c)
/* Should never be called: */
int adjust_width_and_validate_wc(unsigned *width_adj, int wc);
#endif
@@ -463,7 +463,7 @@ static void put_cur_glyph_and_inc_cursor(void)
if (c == BB_NUL)
c = ' ';
BB_PUTCHAR(c);
- bb_putchar('\b');
+ bb_putchar_stderr('\b');
#endif
cmdedit_y++;
if (!ENABLE_UNICODE_WIDE_WCHARS || ofs_to_right == 0) {
@@ -489,12 +489,12 @@ static void goto_new_line(void)
put_till_end_and_adv_cursor();
/* "cursor == 0" is only if prompt is "" and user input is empty */
if (cursor == 0 || cmdedit_x != 0)
- bb_putchar('\n');
+ bb_putchar_stderr('\n');
}
static void beep(void)
{
- bb_putchar('\007');
+ bb_putchar_stderr('\007');
}
/* Full or last/sole prompt line, reset edit cursor, calculate terminal cursor.
@@ -502,7 +502,10 @@ static void beep(void)
*/
static void put_prompt_custom(bool is_full)
{
- fputs_stdout((is_full ? cmdedit_prompt : prompt_last_line));
+ /* https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
+ * says that shells must write $PSn to stderr, not stdout.
+ */
+ fputs((is_full ? cmdedit_prompt : prompt_last_line), stderr);
cursor = 0;
cmdedit_y = cmdedit_prmt_len / cmdedit_termw; /* new quasireal y */
cmdedit_x = cmdedit_prmt_len % cmdedit_termw;
@@ -539,15 +542,15 @@ static void input_backward(unsigned num)
/* This is longer by 5 bytes on x86.
* Also gets miscompiled for ARM users
* (busybox.net/bugs/view.php?id=2274).
- * printf(("\b\b\b\b" + 4) - num);
+ * fprintf(("\b\b\b\b" + 4) - num, stderr);
* return;
*/
do {
- bb_putchar('\b');
+ bb_putchar_stderr('\b');
} while (--num);
return;
}
- printf(ESC"[%uD", num);
+ fprintf(stderr, ESC"[%uD", num);
return;
}
@@ -572,7 +575,7 @@ static void input_backward(unsigned num)
*/
unsigned sv_cursor;
/* go to 1st column; go up to first line */
- printf("\r" ESC"[%uA", cmdedit_y);
+ fprintf(stderr, "\r" ESC"[%uA", cmdedit_y);
cmdedit_y = 0;
sv_cursor = cursor;
put_prompt_last_line(); /* sets cursor to 0 */
@@ -587,12 +590,12 @@ static void input_backward(unsigned num)
cmdedit_x = (cmdedit_termw * cmdedit_y - num) % cmdedit_termw;
cmdedit_y -= lines_up;
/* go to 1st column; go up */
- printf("\r" ESC"[%uA", lines_up);
+ fprintf(stderr, "\r" ESC"[%uA", lines_up);
/* go to correct column.
* xterm, konsole, Linux VT interpret 0 as 1 below! wow.
* need to *make sure* we skip it if cmdedit_x == 0 */
if (cmdedit_x)
- printf(ESC"[%uC", cmdedit_x);
+ fprintf(stderr, ESC"[%uC", cmdedit_x);
}
}
@@ -600,11 +603,11 @@ static void input_backward(unsigned num)
static void draw_custom(int y, int back_cursor, bool is_full)
{
if (y > 0) /* up y lines */
- printf(ESC"[%uA", y);
- bb_putchar('\r');
+ fprintf(stderr, ESC"[%uA", y);
+ bb_putchar_stderr('\r');
put_prompt_custom(is_full);
put_till_end_and_adv_cursor();
- printf(SEQ_CLEAR_TILL_END_OF_SCREEN);
+ fputs(SEQ_CLEAR_TILL_END_OF_SCREEN, stderr);
input_backward(back_cursor);
}
@@ -649,7 +652,7 @@ static void input_delete(int save)
command_len--;
put_till_end_and_adv_cursor();
/* Last char is still visible, erase it (and more) */
- printf(SEQ_CLEAR_TILL_END_OF_SCREEN);
+ fputs(SEQ_CLEAR_TILL_END_OF_SCREEN, stderr);
input_backward(cursor - j); /* back to old pos cursor */
}
@@ -984,8 +987,8 @@ static void remove_chunk(int16_t *int_buf, int beg, int end)
if (dbg_bmp) {
int i;
for (i = 0; int_buf[i]; i++)
- bb_putchar((unsigned char)int_buf[i]);
- bb_putchar('\n');
+ bb_putchar_stderr((unsigned char)int_buf[i]);
+ bb_putchar_stderr('\n');
}
}
/* Caller ensures that match_buf points to a malloced buffer
@@ -1162,7 +1165,7 @@ static void showfiles(void)
int nc;
for (nc = 1; nc < ncols && n+nrows < nfiles; n += nrows, nc++) {
- printf("%s%-*s", matches[n],
+ fprintf(stderr, "%s%-*s", matches[n],
(int)(column_width - unicode_strwidth(matches[n])), ""
);
}
@@ -1460,7 +1463,7 @@ void FAST_FUNC show_history(const line_input_t *st)
if (!st)
return;
for (i = 0; i < st->cnt_history; i++)
- printf("%4d %s\n", i, st->history[i]);
+ fprintf(stderr, "%4d %s\n", i, st->history[i]);
}
# if ENABLE_FEATURE_EDITING_SAVEHISTORY
@@ -1900,7 +1903,7 @@ static void ask_terminal(void)
pfd.events = POLLIN;
if (safe_poll(&pfd, 1, 0) == 0) {
S.sent_ESC_br6n = 1;
- fputs_stdout(ESC"[6n");
+ fputs(ESC"[6n", stderr);
fflush_all(); /* make terminal see it ASAP! */
}
}
@@ -2639,13 +2642,13 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
/* Control-k -- clear to end of line */
command_ps[cursor] = BB_NUL;
command_len = cursor;
- printf(SEQ_CLEAR_TILL_END_OF_SCREEN);
+ fputs(SEQ_CLEAR_TILL_END_OF_SCREEN, stderr);
break;
case CTRL('L'):
vi_case(CTRL('L')|VI_CMDMODE_BIT:)
/* Control-l -- clear screen */
/* cursor to top,left; clear to the end of screen */
- printf(ESC"[H" ESC"[J");
+ fputs(ESC"[H" ESC"[J", stderr);
draw_full(command_len - cursor);
break;
#if MAX_HISTORY > 0
@@ -2832,8 +2835,8 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
beep();
} else {
command_ps[cursor] = ic;
- bb_putchar(ic);
- bb_putchar('\b');
+ bb_putchar_stderr(ic);
+ bb_putchar_stderr('\b');
}
break;
case '\x1b': /* ESC */
@@ -3027,7 +3030,10 @@ int FAST_FUNC read_line_input(line_input_t *st, const char *prompt, char *comman
#undef read_line_input
int FAST_FUNC read_line_input(const char* prompt, char* command, int maxsize)
{
- fputs_stdout(prompt);
+ /* https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html
+ * says that shells must write $PSn to stderr, not stdout.
+ */
+ fputs(prompt, stderr);
fflush_all();
if (!fgets(command, maxsize, stdin))
return -1;
From bugzilla at busybox.net Wed Apr 17 15:57:16 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Wed, 17 Apr 2024 15:57:16 +0000
Subject: [Bug 16039] New: chown misinterprets "." as group separator
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16039
Bug ID: 16039
Summary: chown misinterprets "." as group separator
Product: Busybox
Version: 1.36.x
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: foo at mafoo.org.uk
CC: busybox-cvs at busybox.net
Target Milestone: ---
Created attachment 9736
--> https://bugs.busybox.net/attachment.cgi?id=9736&action=edit
possible fix
In uidgid_get.c there is a parse_chown_usergroup_or_die() function which
continues to implement a very old BSD(?) notation of user.group as well as
user:group -- the code assumes that the first "." is a separater.
I don't know what else calls it but, for the chown applet, the implementation
precludes support of users with "."s in (such as "test.test") when invoked with
"chown test.test file":
# chown test.test /tmp/test
chown: unknown user/group test:test
https://github.com/mirror/busybox/blame/master/libpwdgrp/uidgid_get.c#L96
There is no reference to this interpretation in the code comment of the usage
string:
Usage: chown [-RhLHPcvf]... USER[:[GRP]] FILE...
Given that this notation appears to have been deprecated back in 2001, is now
the time to remove this?
Possible patch to fix attached
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Thu Apr 18 21:11:40 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Thu, 18 Apr 2024 21:11:40 +0000
Subject: [Bug 16042] New: 1.36.1 fails to build after removal of CBQ headers
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16042
Bug ID: 16042
Summary: 1.36.1 fails to build after removal of CBQ headers
Product: Busybox
Version: 1.36.x
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Networking
Assignee: unassigned at busybox.net
Reporter: dave.jones at canonical.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
busybox 1.36.1 is currently failing to build across all architectures in Ubuntu
[1] due to the removal of the CBQ (class based queue) headers from the current
kernel in [2]. I've worked around this temporarily by simply patching the
defines back in, in a compatibility header (see debdiff in [3]) but I'd guess a
more permanent solution is desired?
[1]:
https://launchpad.net/ubuntu/+source/busybox/1:1.36.1-6ubuntu2/+build/28036868
[2]:
https://github.com/torvalds/linux/commit/33241dca486264193ed68167c8eeae1fb197f3df
[3]: https://bugs.launchpad.net/ubuntu/+source/busybox/+bug/2062414
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Sun Apr 21 13:57:44 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Sun, 21 Apr 2024 13:57:44 +0000
Subject: [Bug 16045] New: find -size handling not
POSIX compliant
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16045
Bug ID: 16045
Summary: find -size handling not POSIX
compliant
Product: Busybox
Version: 1.37.x
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Standard Compliance
Assignee: unassigned at busybox.net
Reporter: stephane+bb at chazelas.org
CC: busybox-cvs at busybox.net
Target Milestone: ---
Per POSIX
(https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/find.html)
find . -size n
is meant to return the files whose size rounded up to an integer number of
512-byte units is 1.
For instance, `find . -size 1` is meant to report the files whose size ranges
from 1 to 512 bytes (the ones that would typically occupy one sector of disk
space in the olden days).
But for busybox (and toybox, which shares the same non-conformance), it only
reports files whose size is exactly 512.
There are similar problems for `find . -size +n` and `find . -size -n`.
Note the behaviour when using suffixes other than `c` is fine as out of the
POSIX scope and is aligned with most other implementations that support those
or some of those suffixes (except GNU `find`).
See
https://unix.stackexchange.com/questions/774817/what-are-the-file-size-options-for-find-size-command/774840#774840
for more of the gory details including comparison with other implementations.
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Tue Apr 23 12:32:16 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Tue, 23 Apr 2024 12:32:16 +0000
Subject: [Bug 16048] New: unzip cannot extract big zip files
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16048
Bug ID: 16048
Summary: unzip cannot extract big zip files
Product: Busybox
Version: 1.36.x
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: diego.ml at zoho.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
busybox unzip cannot extract or even list files in big zip archives.
Example file: https://testfile.org/files-5GB-zip
Steps to reproduce:
~~~
$ busybox unzip -v
BusyBox v1.36.1 (Debian 1:1.36.1-6) multi-call binary.
Usage: unzip [-lnojpqK] FILE[.zip] [FILE]... [-x FILE]... [-d DIR]
Extract FILEs from ZIP archive
-l List contents (with -q for short form)
-n Never overwrite files (default: ask)
-o Overwrite
-j Do not restore paths
-p Write to stdout
-t Test
-q Quiet
-K Do not clear SUID bit
-x FILE Exclude FILEs
-d DIR Extract into DIR
$ busybox unzip -l files-5GB-zip
Archive: files-5GB-zip
Length Date Time Name
--------- ---------- ----- ----
unzip: short read
~~~
Official unzip and python3 -m zipfile
(https://docs.python.org/3/library/zipfile.html#command-line-interface) can
list and extract the same zip file.
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Thu Apr 25 06:17:53 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Thu, 25 Apr 2024 06:17:53 +0000
Subject: [Bug 15751] `time` function reports more `maxrss` usage than GNU time
In-Reply-To:
References:
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=15751
herano1999 at gmail.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Component|Other |Standard Compliance
--
You are receiving this mail because:
You are on the CC list for the bug.
From bugzilla at busybox.net Tue Apr 30 14:59:44 2024
From: bugzilla at busybox.net (bugzilla at busybox.net)
Date: Tue, 30 Apr 2024 14:59:44 +0000
Subject: [Bug 16051] New: "make menuconfig" fails to find ncurses library
installed by package manager on Fedora
Message-ID:
https://bugs.busybox.net/show_bug.cgi?id=16051
Bug ID: 16051
Summary: "make menuconfig" fails to find ncurses library
installed by package manager on Fedora
Product: Busybox
Version: 1.36.x
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P5
Component: Other
Assignee: unassigned at busybox.net
Reporter: hunterwnorman at gmail.com
CC: busybox-cvs at busybox.net
Target Milestone: ---
I tried configuring a BusyBox install on a new Fedora system where I installed
ncurses like so: "sudo dnf install ncurses-devel" and I got this error when
running "make menuconfig":
*** Unable to find the ncurses libraries or the
*** required header files.
*** 'make menuconfig' requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
***
make[2]: ***
[/home/test/kdev/busybox-1.36.1/scripts/kconfig/lxdialog/Makefile:15:
scripts/kconfig/lxdialog/dochecklxdialog] Error 1
make[1]: *** [/home/test/kdev/busybox-1.36.1/scripts/kconfig/Makefile:14:
menuconfig] Error 2
make: *** [Makefile:444: menuconfig] Error 2
After investigating, I modified the file "check-lxdialog.sh" at line 50 in the
check() function:
Before:
check() {
$cc -x c - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
main() {}
EOF
if [ $? != 0 ]; then
echo " *** Unable to find the ncurses libraries or the" 1>&2
echo " *** required header files." 1>&2
echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
echo " *** " 1>&2
echo " *** Install ncurses (ncurses-devel) and try again." 1>&2
echo " *** " 1>&2
exit 1
fi
}
After:
check() {
$cc -x c - -o $tmp 2>/dev/null <<'EOF'
#include CURSES_LOC
int main() {}
EOF
if [ $? != 0 ]; then
echo " *** Unable to find the ncurses libraries or the" 1>&2
echo " *** required header files." 1>&2
echo " *** 'make menuconfig' requires the ncurses libraries." 1>&2
echo " *** " 1>&2
echo " *** Install ncurses (ncurses-devel) and try again." 1>&2
echo " *** " 1>&2
exit 1
fi
}
Making this modification caused the ncurses library to be found properly and I
was able to run "make menuconfig" successfully.
--
You are receiving this mail because:
You are on the CC list for the bug.