Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package busybox for openSUSE:Factory checked 
in at 2023-06-07 23:06:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/busybox (Old)
 and      /work/SRC/openSUSE:Factory/.busybox.new.15902 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "busybox"

Wed Jun  7 23:06:29 2023 rev:83 rq:1091097 version:1.36.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/busybox/busybox.changes  2023-01-10 
14:59:19.861052400 +0100
+++ /work/SRC/openSUSE:Factory/.busybox.new.15902/busybox.changes       
2023-06-07 23:06:58.487187540 +0200
@@ -1,0 +2,10 @@
+Fri Jun  2 21:08:22 UTC 2023 - Dirk Müller <[email protected]>
+
+- update to 1.36.1:
+  * fixes for line editing, detection of hardware sha1/sha256
+    support, unzip
+   (do not create suid/sgid files unless -K),
+    shell (printf and sleep with no args, handing of SIGINT
+    in sleep), ed. 
+
+-------------------------------------------------------------------

Old:
----
  busybox-1.36.0.tar.bz2
  busybox-1.36.0.tar.bz2.sig

New:
----
  busybox-1.36.1.tar.bz2
  busybox-1.36.1.tar.bz2.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ busybox.spec ++++++
--- /var/tmp/diff_new_pack.OEJYe4/_old  2023-06-07 23:06:59.227191838 +0200
+++ /var/tmp/diff_new_pack.OEJYe4/_new  2023-06-07 23:06:59.231191860 +0200
@@ -24,7 +24,7 @@
 %bcond_without  static
 
 Name:           busybox
-Version:        1.36.0
+Version:        1.36.1
 Release:        0
 Summary:        Minimalist variant of UNIX utilities linked in a single 
executable
 License:        GPL-2.0-or-later

++++++ busybox-1.36.0.tar.bz2 -> busybox-1.36.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/Makefile new/busybox-1.36.1/Makefile
--- old/busybox-1.36.0/Makefile 2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/Makefile 2023-05-19 00:31:00.000000000 +0200
@@ -1,6 +1,6 @@
 VERSION = 1
 PATCHLEVEL = 36
-SUBLEVEL = 0
+SUBLEVEL = 1
 EXTRAVERSION =
 NAME = Unnamed
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/archival/unzip.c 
new/busybox-1.36.1/archival/unzip.c
--- old/busybox-1.36.0/archival/unzip.c 2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/archival/unzip.c 2023-03-28 17:42:00.000000000 +0200
@@ -56,7 +56,7 @@
 //kbuild:lib-$(CONFIG_UNZIP) += unzip.o
 
 //usage:#define unzip_trivial_usage
-//usage:       "[-lnojpq] FILE[.zip] [FILE]... [-x FILE]... [-d DIR]"
+//usage:       "[-lnojpqK] FILE[.zip] [FILE]... [-x FILE]... [-d DIR]"
 //usage:#define unzip_full_usage "\n\n"
 //usage:       "Extract FILEs from ZIP archive\n"
 //usage:     "\n       -l      List contents (with -q for short form)"
@@ -66,6 +66,7 @@
 //usage:     "\n       -p      Write to stdout"
 //usage:     "\n       -t      Test"
 //usage:     "\n       -q      Quiet"
+//usage:     "\n       -K      Do not clear SUID bit"
 //usage:     "\n       -x FILE Exclude FILEs"
 //usage:     "\n       -d DIR  Extract into DIR"
 
@@ -494,6 +495,7 @@
                OPT_l = (1 << 0),
                OPT_x = (1 << 1),
                OPT_j = (1 << 2),
+               OPT_K = (1 << 3),
        };
        unsigned opts;
        smallint quiet = 0;
@@ -559,7 +561,7 @@
 
        opts = 0;
        /* '-' makes getopt return 1 for non-options */
-       while ((i = getopt(argc, argv, "-d:lnotpqxjv")) != -1) {
+       while ((i = getopt(argc, argv, "-d:lnotpqxjvK")) != -1) {
                switch (i) {
                case 'd':  /* Extract to base directory */
                        base_dir = optarg;
@@ -602,6 +604,10 @@
                        opts |= OPT_j;
                        break;
 
+               case 'K':
+                       opts |= OPT_K;
+                       break;
+
                case 1:
                        if (!src_fn) {
                                /* The zip file */
@@ -819,7 +825,10 @@
 # endif
                        if ((cdf.fmt.version_made_by >> 8) == 3) {
                                /* This archive is created on Unix */
-                               dir_mode = file_mode = 
(cdf.fmt.external_attributes >> 16);
+                               file_mode = (cdf.fmt.external_attributes >> 16);
+                               if (!(opts & OPT_K))
+                                       file_mode &= ~(mode_t)(S_ISUID | 
S_ISGID);
+                               dir_mode = file_mode;
                        }
                }
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/coreutils/printf.c 
new/busybox-1.36.1/coreutils/printf.c
--- old/busybox-1.36.0/coreutils/printf.c       2023-01-03 15:17:01.000000000 
+0100
+++ new/busybox-1.36.1/coreutils/printf.c       2023-04-25 16:47:22.000000000 
+0200
@@ -428,7 +428,7 @@
        if (argv[1] && argv[1][0] == '-' && argv[1][1] == '-' && !argv[1][2])
                argv++;
        if (!argv[1]) {
-               if (ENABLE_ASH_PRINTF
+               if ((ENABLE_ASH_PRINTF || ENABLE_HUSH_PRINTF)
                 && applet_name[0] != 'p'
                ) {
                        bb_simple_error_msg("usage: printf FORMAT 
[ARGUMENT...]");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/coreutils/sleep.c 
new/busybox-1.36.1/coreutils/sleep.c
--- old/busybox-1.36.0/coreutils/sleep.c        2023-01-03 15:17:01.000000000 
+0100
+++ new/busybox-1.36.1/coreutils/sleep.c        2023-04-25 16:47:22.000000000 
+0200
@@ -65,15 +65,29 @@
 {
        duration_t duration;
 
+       /* Note: sleep_main may be directly called from ash as a builtin.
+        * This brings some complications:
+        * + we can't use xfunc here
+        * + we can't use bb_show_usage
+        * + applet_name can be the name of the shell
+        */
        ++argv;
-       if (!*argv)
+       if (!*argv) {
+               /* Without this, bare "sleep" in ash shows _ash_ --help */
+               /* (ash can be the "sh" applet as well, so check 2nd char) */
+               if (ENABLE_ASH_SLEEP && applet_name[1] != 'l') {
+                       bb_simple_error_msg("sleep: missing operand");
+                       return EXIT_FAILURE;
+               }
                bb_show_usage();
+       }
 
        /* GNU sleep accepts "inf", "INF", "infinity" and "INFINITY" */
        if (strncasecmp(argv[0], "inf", 3) == 0)
                for (;;)
                        sleep(INT_MAX);
 
+//FIXME: in ash, "sleep 123qwerty" as a builtin aborts the shell
 #if ENABLE_FEATURE_FANCY_SLEEP
        duration = 0;
        do {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/editors/ed.c 
new/busybox-1.36.1/editors/ed.c
--- old/busybox-1.36.0/editors/ed.c     2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/editors/ed.c     2023-01-05 16:26:49.000000000 +0100
@@ -720,7 +720,7 @@
                if (deltaLen <= 0) {
                        memcpy(&lp->data[offset], newStr, newLen);
                        if (deltaLen) {
-                               memcpy(&lp->data[offset + newLen],
+                               memmove(&lp->data[offset + newLen],
                                        &lp->data[offset + oldLen],
                                        lp->len - offset - oldLen);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/libbb/duration.c 
new/busybox-1.36.1/libbb/duration.c
--- old/busybox-1.36.0/libbb/duration.c 2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/libbb/duration.c 2023-04-25 16:47:22.000000000 +0200
@@ -76,16 +76,14 @@
                ts.tv_sec = duration;
                ts.tv_nsec = (duration - ts.tv_sec) * 1000000000;
        }
-       /* NB: if ENABLE_ASH_SLEEP, we end up here if "sleep N"
-        * is run in ash. ^C will still work, because ash's signal handler
-        * does not return (it longjumps), the below loop
-        * will not continue looping.
-        * (This wouldn't work in hush)
+       /* NB: ENABLE_ASH_SLEEP requires that we do NOT loop on EINTR here:
+        * otherwise, traps won't execute until we finish looping.
         */
-       do {
-               errno = 0;
-               nanosleep(&ts, &ts);
-       } while (errno == EINTR);
+       //do {
+       //      errno = 0;
+       //      nanosleep(&ts, &ts);
+       //} while (errno == EINTR);
+       nanosleep(&ts, &ts);
 }
 #else
 duration_t FAST_FUNC parse_duration_str(char *str)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/libbb/hash_md5_sha.c 
new/busybox-1.36.1/libbb/hash_md5_sha.c
--- old/busybox-1.36.0/libbb/hash_md5_sha.c     2023-01-03 15:17:01.000000000 
+0100
+++ new/busybox-1.36.1/libbb/hash_md5_sha.c     2023-03-29 15:50:40.000000000 
+0200
@@ -1178,7 +1178,7 @@
                if (!shaNI) {
                        unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx;
                        cpuid(&eax, &ebx, &ecx, &edx);
-                       shaNI = ((ebx >> 29) << 1) - 1;
+                       shaNI = ((ebx >> 28) & 2) - 1; /* bit 29 -> 1 or -1 */
                }
                if (shaNI > 0)
                        ctx->process_block = sha1_process_block64_shaNI;
@@ -1232,7 +1232,7 @@
                if (!shaNI) {
                        unsigned eax = 7, ebx = ebx, ecx = 0, edx = edx;
                        cpuid(&eax, &ebx, &ecx, &edx);
-                       shaNI = ((ebx >> 29) << 1) - 1;
+                       shaNI = ((ebx >> 28) & 2) - 1; /* bit 29 -> 1 or -1 */
                }
                if (shaNI > 0)
                        ctx->process_block = sha256_process_block64_shaNI;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/libbb/lineedit.c 
new/busybox-1.36.1/libbb/lineedit.c
--- old/busybox-1.36.0/libbb/lineedit.c 2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/libbb/lineedit.c 2023-04-25 16:47:22.000000000 +0200
@@ -254,7 +254,7 @@
        const char *home;
 
 # if ENABLE_SHELL_ASH || ENABLE_SHELL_HUSH
-       home = state->sh_get_var ? state->sh_get_var("HOME") : getenv("HOME");
+       home = state && state->sh_get_var ? state->sh_get_var("HOME") : 
getenv("HOME");
 # else
        home = getenv("HOME");
 # endif
@@ -825,8 +825,8 @@
                res[npth++] = tmp;
        }
        /* special case: "match subdirectories of the current directory" */
-       /*res[npth++] = NULL; - filled by xzalloc() */
-       return npth;
+       /*res[npth] = NULL; - filled by xzalloc() */
+       return npth + 1;
 }
 
 /* Complete command, directory or file name.
@@ -2038,7 +2038,7 @@
                                        if (!cwd_buf) {
                                                const char *home;
 # if EDITING_HAS_sh_get_var
-                                               cwd_buf = state->sh_get_var
+                                               cwd_buf = state && 
state->sh_get_var
                                                        ? 
xstrdup(state->sh_get_var("PWD"))
                                                        : 
xrealloc_getcwd_or_warn(NULL);
 # else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/procps/kill.c 
new/busybox-1.36.1/procps/kill.c
--- old/busybox-1.36.0/procps/kill.c    2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/procps/kill.c    2023-04-25 16:47:22.000000000 +0200
@@ -85,8 +85,8 @@
  * This brings some complications:
  *
  * + we can't use xfunc here
- * + we can't use applet_name
  * + we can't use bb_show_usage
+ * + applet_name can be the name of the shell
  * (doesn't apply for killall[5], still should be careful b/c NOFORK)
  *
  * kill %n gets translated into kill ' -<process group>' by shell (note space!)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/busybox-1.36.0/shell/ash.c 
new/busybox-1.36.1/shell/ash.c
--- old/busybox-1.36.0/shell/ash.c      2023-01-03 15:17:01.000000000 +0100
+++ new/busybox-1.36.1/shell/ash.c      2023-04-25 16:47:22.000000000 +0200
@@ -11264,8 +11264,8 @@
 /*
  * Print appropriate message(s) if mail has arrived.
  * If mail_var_path_changed is set,
- * then the value of MAIL has mail_var_path_changed,
- * so we just update the values.
+ * then the value of MAIL has changed,
+ * so we just update the hash value.
  */
 static void
 chkmail(void)
@@ -11284,10 +11284,9 @@
                int len;
 
                len = padvance_magic(&mpath, nullstr, 2);
-               if (!len)
+               if (len < 0)
                        break;
                p = stackblock();
-                       break;
                if (*p == '\0')
                        continue;
                for (q = p; *q; q++)
@@ -11306,8 +11305,8 @@
        if (!mail_var_path_changed && mailtime_hash != new_hash) {
                if (mailtime_hash != 0)
                        out2str("you have mail\n");
-               mailtime_hash = new_hash;
        }
+       mailtime_hash = new_hash;
        mail_var_path_changed = 0;
        popstackmark(&smark);
 }

Reply via email to