diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2022-09-26 19:43:54 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2022-09-27 06:59:45 +0200 |
commit | 98175558d7a0dcd6e001ae887a44c05cf7955d63 (patch) | |
tree | 234639cf4c451359a2e1378954d53ce601bba068 /source | |
parent | c1abff4356b1c0bde79b73b1c88adec821b09872 (diff) | |
download | current-98175558d7a0dcd6e001ae887a44c05cf7955d63.tar.gz |
Mon Sep 26 19:43:54 UTC 202220220926194354
a/bash-5.2.000-x86_64-1.txz: Upgraded.
ap/vim-9.0.0594-x86_64-1.txz: Upgraded.
Fixed stack-based buffer overflow.
Thanks to marav for the heads-up.
In addition, Mig21 pointed out an issue where the defaults.vim file might
need to be edited for some purposes as its contents will override the
settings in the system-wide vimrc. Usually this file is replaced whenever
vim is upgraded, which in those situations would be inconvenient for the
admin. So, I've added support for a file named defaults.vim.custom which
(if it exists) will be used instead of the defaults.vim file shipped in
the package and will persist through upgrades.
For more information, see:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-3296
(* Security fix *)
l/fluidsynth-2.3.0-x86_64-1.txz: Upgraded.
l/imagemagick-7.1.0_49-x86_64-1.txz: Upgraded.
l/libcap-2.66-x86_64-1.txz: Upgraded.
l/netpbm-10.99.03-x86_64-1.txz: Upgraded.
l/readline-8.2.000-x86_64-1.txz: Upgraded.
l/xapian-core-1.4.21-x86_64-1.txz: Upgraded.
n/dnsmasq-2.87-x86_64-1.txz: Upgraded.
Fix write-after-free error in DHCPv6 server code.
For more information, see:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-0934
(* Security fix *)
x/xterm-373-x86_64-1.txz: Upgraded.
xap/vim-gvim-9.0.0594-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source')
25 files changed, 41 insertions, 1446 deletions
diff --git a/source/a/bash/bash-5.1-patches/bash51-001 b/source/a/bash/bash-5.1-patches/bash51-001 deleted file mode 100644 index 6f29981d..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-001 +++ /dev/null @@ -1,80 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-001 - -Bug-Reported-by: Fazal Majid <fazal@majid.org> -Bug-Reference-ID: <DEAB7D2C-C626-450C-B2E5-281AFF2D26D4@majid.org> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00000.html - -Bug-Description: - -There is a missing dependency on a constructed file, which can cause highly -parellel builds to fail. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/Makefile.in 2020-12-04 09:51:19.000000000 -0500 ---- Makefile.in 2020-12-16 11:28:36.000000000 -0500 -*************** -*** 1316,1319 **** ---- 1316,1320 ---- - bashline.o: pcomplete.h ${BASHINCDIR}/chartypes.h input.h - bashline.o: ${BASHINCDIR}/shmbutil.h ${BASHINCDIR}/shmbchar.h -+ bashline.o: ${DEFDIR}/builtext.h - bracecomp.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h - bracecomp.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h -*************** -*** 1436,1439 **** ---- 1437,1441 ---- - builtins/evalstring.o: jobs.h builtins.h flags.h input.h execute_cmd.h - builtins/evalstring.o: bashhist.h $(DEFSRC)/common.h pathnames.h -+ builtins/evalstring.o: ${DEFDIR}/builtext.h - builtins/getopt.o: config.h ${BASHINCDIR}/memalloc.h - builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h - -*** ../bash-5.1-patched/builtins/Makefile.in 2019-07-25 08:03:45.000000000 -0400 ---- builtins/Makefile.in 2020-12-16 11:29:29.000000000 -0500 -*************** -*** 362,366 **** - evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h - evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h -! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h - #evalstring.o: $(topdir)/y.tab.h - getopt.o: ../config.h $(BASHINCDIR)/memalloc.h ---- 362,366 ---- - evalstring.o: $(topdir)/flags.h $(topdir)/input.h $(topdir)/execute_cmd.h - evalstring.o: $(topdir)/bashhist.h $(srcdir)/common.h -! evalstring.o: $(topdir)/trap.h $(topdir)/redir.h ../pathnames.h ./builtext.h - #evalstring.o: $(topdir)/y.tab.h - getopt.o: ../config.h $(BASHINCDIR)/memalloc.h - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 1,5 **** - /* patchlevel.h -- current bash patch level */ - -! /* Copyright (C) 2001-2016 Free Software Foundation, Inc. - - This file is part of GNU Bash, the Bourne Again SHell. ---- 1,5 ---- - /* patchlevel.h -- current bash patch level */ - -! /* Copyright (C) 2001-2020 Free Software Foundation, Inc. - - This file is part of GNU Bash, the Bourne Again SHell. -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 0 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-002 b/source/a/bash/bash-5.1-patches/bash51-002 deleted file mode 100644 index 8c991649..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-002 +++ /dev/null @@ -1,57 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-002 - -Bug-Reported-by: oguzismailuysal@gmail.com -Bug-Reference-ID: <CAH7i3LoHFUa4aSF5-AD2r80HG-p-YzD_9ZxomarZkhP8NMq63g@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00037.html - -Bug-Description: - -If there are no jobs, and the `-n' and `-p' options are both supplied to -`wait', bash can assign a value to the variable name specified with `-p' -instead of leaving it unset. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/builtins/wait.def 2020-04-09 15:13:57.000000000 -0400 ---- builtins/wait.def 2020-12-11 09:46:49.000000000 -0500 -*************** -*** 214,222 **** - - status = wait_for_any_job (wflags, &pstat); -- if (status < 0) -- status = 127; -- - if (vname && status >= 0) - bind_var_to_int (vname, pstat.pid); - if (list) - unset_waitlist (); ---- 214,222 ---- - - status = wait_for_any_job (wflags, &pstat); - if (vname && status >= 0) - bind_var_to_int (vname, pstat.pid); -+ -+ if (status < 0) -+ status = 127; - if (list) - unset_waitlist (); - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-003 b/source/a/bash/bash-5.1-patches/bash51-003 deleted file mode 100644 index 68e5dce6..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-003 +++ /dev/null @@ -1,53 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-003 - -Bug-Reported-by: oguzismailuysal@gmail.com -Bug-Reference-ID: <CAH7i3LpG91BnNcDtaTUm2Ph7a+PnJkuh6nAc87cVL7_38tOaMQ@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00050.html - -Bug-Description: - -Bash does not put a command substitution process that is started to perform an -expansion in a child process into the right process group where it can receive -keyboard-generated signals. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/subst.c 2020-11-16 10:33:15.000000000 -0500 ---- subst.c 2020-12-12 13:50:11.000000000 -0500 -*************** -*** 6357,6362 **** - #if defined (JOB_CONTROL) - old_pipeline_pgrp = pipeline_pgrp; -! /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline. */ -! if ((subshell_environment & SUBSHELL_PIPE) == 0) - pipeline_pgrp = shell_pgrp; - cleanup_the_pipeline (); ---- 6357,6364 ---- - #if defined (JOB_CONTROL) - old_pipeline_pgrp = pipeline_pgrp; -! /* Don't reset the pipeline pgrp if we're already a subshell in a pipeline or -! we've already forked to run a disk command (and are expanding redirections, -! for example). */ -! if ((subshell_environment & (SUBSHELL_FORK|SUBSHELL_PIPE)) == 0) - pipeline_pgrp = shell_pgrp; - cleanup_the_pipeline (); - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-004 b/source/a/bash/bash-5.1-patches/bash51-004 deleted file mode 100644 index 39a6c647..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-004 +++ /dev/null @@ -1,126 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-004 - -Bug-Reported-by: oguzismailuysal@gmail.com -Bug-Reference-ID: <CAH7i3LoHGmwaghDpCWRUfcY04gQmeDTH3RiG=bf2b=KbU=gyhw@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00039.html - -Bug-Description: - -If a key-value compound array assignment to an associative array is supplied -as an assignment statement argument to the `declare' command that declares the -array, the assignment doesn't perform the correct word expansions. - -This patch makes key-value assignment and subscript assignment perform the -same expansions when they're supplied as an argument to `declare'. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/arrayfunc.c 2020-10-09 11:38:58.000000000 -0400 ---- arrayfunc.c 2020-12-11 15:12:22.000000000 -0500 -*************** -*** 598,601 **** ---- 598,622 ---- - } - } -+ -+ /* Return non-zero if L appears to be a key-value pair associative array -+ compound assignment. */ -+ int -+ kvpair_assignment_p (l) -+ WORD_LIST *l; -+ { -+ return (l && (l->word->flags & W_ASSIGNMENT) == 0 && l->word->word[0] != '['); /*]*/ -+ } -+ -+ char * -+ expand_and_quote_kvpair_word (w) -+ char *w; -+ { -+ char *t, *r; -+ -+ t = w ? expand_assignment_string_to_string (w, 0) : 0; -+ r = sh_single_quote (t ? t : ""); -+ free (t); -+ return r; -+ } - #endif - -*************** -*** 641,645 **** - - #if ASSOC_KVPAIR_ASSIGNMENT -! if (assoc_p (var) && nlist && (nlist->word->flags & W_ASSIGNMENT) == 0 && nlist->word->word[0] != '[') /*]*/ - { - iflags = flags & ~ASS_APPEND; ---- 662,666 ---- - - #if ASSOC_KVPAIR_ASSIGNMENT -! if (assoc_p (var) && kvpair_assignment_p (nlist)) - { - iflags = flags & ~ASS_APPEND; -*** ../bash-5.1-patched/arrayfunc.h 2020-04-29 17:24:15.000000000 -0400 ---- arrayfunc.h 2020-12-11 14:23:50.000000000 -0500 -*************** -*** 68,71 **** ---- 68,74 ---- - extern void quote_compound_array_list PARAMS((WORD_LIST *, int)); - -+ extern int kvpair_assignment_p PARAMS((WORD_LIST *)); -+ extern char *expand_and_quote_kvpair_word PARAMS((char *)); -+ - extern int unbind_array_element PARAMS((SHELL_VAR *, char *, int)); - extern int skipsubscript PARAMS((const char *, int, int)); -*** ../bash-5.1-patched/subst.c 2020-11-16 10:33:15.000000000 -0500 ---- subst.c 2020-12-11 15:11:10.000000000 -0500 -*************** -*** 11605,11608 **** ---- 11605,11609 ---- - WORD_LIST *l, *nl; - char *t; -+ int kvpair; - - if (flags == 0) -*************** -*** 11619,11622 **** ---- 11620,11627 ---- - /* Associative array */ - l = parse_string_to_word_list (value, 1, "array assign"); -+ #if ASSOC_KVPAIR_ASSIGNMENT -+ kvpair = kvpair_assignment_p (l); -+ #endif -+ - /* For associative arrays, with their arbitrary subscripts, we have to - expand and quote in one step so we don't have to search for the -*************** -*** 11624,11627 **** ---- 11629,11638 ---- - for (nl = l; nl; nl = nl->next) - { -+ #if ASSOC_KVPAIR_ASSIGNMENT -+ if (kvpair) -+ /* keys and values undergo the same set of expansions */ -+ t = expand_and_quote_kvpair_word (nl->word->word); -+ else -+ #endif - if ((nl->word->flags & W_ASSIGNMENT) == 0) - t = sh_single_quote (nl->word->word ? nl->word->word : ""); - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-005 b/source/a/bash/bash-5.1-patches/bash51-005 deleted file mode 100644 index dee89561..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-005 +++ /dev/null @@ -1,100 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-005 - -Bug-Reported-by: Alexander Mescheryakov <alexander.s.m@gmail.com>, - konsolebox <konsolebox@gmail.com> -Bug-Reference-ID: <5ffd7f3d.1c69fb81.dee25.166c@mx.google.com>, - <CAJnmqwaVs7M6NBqZzcHy5c2+yHkTEg7p+o8ZWuA7sN+6N1q4CA@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-01/msg00082.html, - https://lists.gnu.org/archive/html/bug-bash/2021-04/msg00160.html - -Bug-Description: - -Fix two memory leaks when assigning arrays using compound assignment syntax. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/subst.c 2020-12-16 17:01:32.000000000 -0500 ---- subst.c 2021-01-24 17:48:40.000000000 -0500 -*************** -*** 11674,11677 **** ---- 11674,11679 ---- - - value = string_list (l); -+ dispose_words (l); -+ - wlen = STRLEN (value); - -*** ../bash-5.1-patched/arrayfunc.c 2020-12-16 17:01:32.000000000 -0500 ---- arrayfunc.c 2021-04-19 16:43:09.000000000 -0400 -*************** -*** 565,574 **** - WORD_LIST *list; - char *akey, *aval, *k, *v; -- int free_aval; - - for (list = nlist; list; list = list->next) - { -- free_aval = 0; -- - k = list->word->word; - v = list->next ? list->next->word->word : 0; ---- 565,571 ---- -*************** -*** 578,583 **** - - akey = expand_assignment_string_to_string (k, 0); -- aval = expand_assignment_string_to_string (v, 0); -- - if (akey == 0 || *akey == 0) - { ---- 575,578 ---- -*************** -*** 586,599 **** - continue; - } - if (aval == 0) - { - aval = (char *)xmalloc (1); - aval[0] = '\0'; /* like do_assignment_internal */ -- free_aval = 1; - } - - bind_assoc_var_internal (var, h, akey, aval, flags); -! if (free_aval) -! free (aval); - } - } ---- 581,594 ---- - continue; - } -+ -+ aval = expand_assignment_string_to_string (v, 0); - if (aval == 0) - { - aval = (char *)xmalloc (1); - aval[0] = '\0'; /* like do_assignment_internal */ - } - - bind_assoc_var_internal (var, h, akey, aval, flags); -! free (aval); - } - } -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-006 b/source/a/bash/bash-5.1-patches/bash51-006 deleted file mode 100644 index dcabf811..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-006 +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-006 - -Bug-Reported-by: oguzismailuysal@gmail.com -Bug-Reference-ID: <CAH7i3LoY7C+pV_yG2LxwPNtAw3kiRkxmB4KcL1dTsih0u2BdKA@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-12/msg00108.html - -Bug-Description: - -Make sure child processes forked to run command substitutions are in the -proper process group. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/subst.c 2020-12-16 17:01:32.000000000 -0500 ---- subst.c 2020-12-25 19:20:25.000000000 -0500 -*************** -*** 6413,6416 **** ---- 6413,6423 ---- - interactive = 0; - -+ #if defined (JOB_CONTROL) -+ /* Invariant: in child processes started to run command substitutions, -+ pipeline_pgrp == shell_pgrp. Other parts of the shell assume this. */ -+ if (pipeline_pgrp > 0 && pipeline_pgrp != shell_pgrp) -+ shell_pgrp = pipeline_pgrp; -+ #endif -+ - set_sigint_handler (); /* XXX */ - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-007 b/source/a/bash/bash-5.1-patches/bash51-007 deleted file mode 100644 index ffd04fa4..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-007 +++ /dev/null @@ -1,95 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-007 - -Bug-Reported-by: Tom Tromey <tom@tromey.com> -Bug-Reference-ID: <875z3u9fd0.fsf@tromey.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2021-01/msg00009.html - -Bug-Description: - -The code to check readline versions in an inputrc file had the sense of the -comparisons reversed. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/lib/readline/bind.c 2020-10-26 10:03:14.000000000 -0400 ---- lib/readline/bind.c 2021-01-18 16:38:48.000000000 -0500 -*************** -*** 1235,1239 **** - else if (_rl_strnicmp (args, "version", 7) == 0) - { -! int rlversion, versionarg, op, previ, major, minor; - - _rl_parsing_conditionalized_out = 1; ---- 1235,1239 ---- - else if (_rl_strnicmp (args, "version", 7) == 0) - { -! int rlversion, versionarg, op, previ, major, minor, opresult; - - _rl_parsing_conditionalized_out = 1; -*************** -*** 1295,1316 **** - { - case OP_EQ: -! _rl_parsing_conditionalized_out = rlversion == versionarg; - break; - case OP_NE: -! _rl_parsing_conditionalized_out = rlversion != versionarg; - break; - case OP_GT: -! _rl_parsing_conditionalized_out = rlversion > versionarg; - break; - case OP_GE: -! _rl_parsing_conditionalized_out = rlversion >= versionarg; - break; - case OP_LT: -! _rl_parsing_conditionalized_out = rlversion < versionarg; - break; - case OP_LE: -! _rl_parsing_conditionalized_out = rlversion <= versionarg; - break; - } - } - /* Check to see if the first word in ARGS is the same as the ---- 1295,1317 ---- - { - case OP_EQ: -! opresult = rlversion == versionarg; - break; - case OP_NE: -! opresult = rlversion != versionarg; - break; - case OP_GT: -! opresult = rlversion > versionarg; - break; - case OP_GE: -! opresult = rlversion >= versionarg; - break; - case OP_LT: -! opresult = rlversion < versionarg; - break; - case OP_LE: -! opresult = rlversion <= versionarg; - break; - } -+ _rl_parsing_conditionalized_out = 1 - opresult; - } - /* Check to see if the first word in ARGS is the same as the -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-008 b/source/a/bash/bash-5.1-patches/bash51-008 deleted file mode 100644 index ece214f0..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-008 +++ /dev/null @@ -1,61 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-008 - -Bug-Reported-by: Michael Felt <aixtools@gmail.com> -Bug-Reference-ID: <b82d9a2f-5d8a-ffb2-4115-420c09272da5@felt.demon.nl> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-03/msg00028.html - -Bug-Description: - -Process substitution FIFOs opened by child processes as targets of redirections -were not removed appropriately, leaving remnants in the file system. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/execute_cmd.c 2020-10-12 10:16:13.000000000 -0400 ---- execute_cmd.c 2021-05-04 11:12:39.000000000 -0400 -*************** -*** 5557,5565 **** - /* Try to remove named pipes that may have been created as the - result of redirections. */ -! unlink_fifo_list (); - #endif /* PROCESS_SUBSTITUTION */ - exit (EXECUTION_FAILURE); - } - - if (async) - interactive = old_interactive; ---- 5557,5571 ---- - /* Try to remove named pipes that may have been created as the - result of redirections. */ -! unlink_all_fifos (); - #endif /* PROCESS_SUBSTITUTION */ - exit (EXECUTION_FAILURE); - } - -+ #if defined (PROCESS_SUBSTITUTION) && !defined (HAVE_DEV_FD) -+ /* This should only contain FIFOs created as part of redirection -+ expansion. */ -+ unlink_all_fifos (); -+ #endif -+ - if (async) - interactive = old_interactive; -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-009 b/source/a/bash/bash-5.1-patches/bash51-009 deleted file mode 100644 index 2796c3b9..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-009 +++ /dev/null @@ -1,59 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-009 - -Bug-Reported-by: Julien Moutinho <julm+bash@sourcephile.fr> -Bug-Reference-ID: <20211004035906.5kiobuzkpeckmvwg@sourcephile.fr> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-10/msg00022.html - -Bug-Description: - -The bash malloc implementation of malloc_usable_size() does not follow the -specification. This can cause library functions that use it to overwrite -memory bounds checking. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/lib/malloc/malloc.c 2020-07-08 10:19:30.000000000 -0400 ---- lib/malloc/malloc.c 2021-10-05 16:10:55.000000000 -0400 -*************** -*** 1287,1297 **** - } - -! /* XXX - should we return 0 if ISFREE? */ -! maxbytes = binsize(p->mh_index); -! -! /* So the usable size is the maximum number of bytes in the bin less the -! malloc overhead */ -! maxbytes -= MOVERHEAD + MSLOP; -! return (maxbytes); - } - ---- 1358,1367 ---- - } - -! /* return 0 if ISFREE */ -! if (p->mh_alloc == ISFREE) -! return 0; -! -! /* Since we use bounds checking, the usable size is the last requested size. */ -! return (p->mh_nbytes); - } - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-010 b/source/a/bash/bash-5.1-patches/bash51-010 deleted file mode 100644 index cfe6fa46..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-010 +++ /dev/null @@ -1,59 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-010 - -Bug-Reported-by: Jonas Alfredsson <jonas.alfredsson@protonmail.com> -Bug-Reference-ID: <LjAfZaEuZncr2RaqhSSfcaiXdkuK6kdEYxshP3LApXbgMVQzggMGyWHO9knVkXicW2fP-ibsipJ_GZ-YaJRm96Rsozf6PgFmPsljRCtflls=@protonmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-05/msg00059.html - -Bug-Description: - -If `wait -n' is interrupted by a trapped signal other than SIGINT, it does -not completely clean up state, and that can prevent subsequent calls to -`wait -n' from working correctly. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/builtins/wait.def 2020-12-16 17:13:12.000000000 -0500 ---- builtins/wait.def 2021-11-17 10:25:15.000000000 -0500 -*************** -*** 112,116 **** - WORD_LIST *list; - { -! int status, code, opt, nflag, wflags; - char *vname; - SHELL_VAR *pidvar; ---- 112,117 ---- - WORD_LIST *list; - { -! int status, code, opt, nflag; -! volatile int wflags; - char *vname; - SHELL_VAR *pidvar; -*************** -*** 181,184 **** ---- 188,193 ---- - status = 128 + wait_signal_received; - wait_sigint_cleanup (); -+ if (wflags & JWAIT_WAITING) -+ unset_waitlist (); - WAIT_RETURN (status); - } - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-011 b/source/a/bash/bash-5.1-patches/bash51-011 deleted file mode 100644 index 655c7ec8..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-011 +++ /dev/null @@ -1,81 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-011 - -Bug-Reported-by: Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> -Bug-Reference-ID: <CAALKErFrm+yuwy=ioK+RmjCiwxTDmzeMFWqLF2BEWYtkGS5UFQ@mail.gmail.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-11/msg00064.html - -Bug-Description: - -When reading a compound assignment, and running it through the parser to -split it into words, we need to save and restore any alias we're currently -expanding. - -Patch (apply with `patch -p0'): - -*** ../bash-5.1-patched/parse.y 2020-11-28 12:10:06.000000000 -0500 ---- parse.y 2021-10-13 11:04:27.000000000 -0400 -*************** -*** 6494,6501 **** - - push_stream (1); -- #if 0 /* TAG: bash-5.2 Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 11/17/2020 */ - if (ea = expanding_alias ()) - parser_save_alias (); -- #endif - last_read_token = WORD; /* WORD to allow reserved words here */ - current_command_line_count = 0; ---- 6494,6499 ---- -*************** -*** 6532,6539 **** - pop_stream (); - -- #if 0 /* TAG: bash-5.2 */ - if (ea) - parser_restore_alias (); -- #endif - - #if defined (HISTORY) ---- 6530,6535 ---- -*** ../bash-5.1-patched/y.tab.c 2020-11-28 12:17:19.000000000 -0500 ---- y.tab.c 2021-11-17 10:47:35.000000000 -0500 -*************** -*** 8788,8795 **** - - push_stream (1); -- #if 0 /* TAG: bash-5.2 Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com> 11/17/2020 */ - if (ea = expanding_alias ()) - parser_save_alias (); -- #endif - last_read_token = WORD; /* WORD to allow reserved words here */ - current_command_line_count = 0; ---- 8777,8782 ---- -*************** -*** 8826,8833 **** - pop_stream (); - -- #if 0 /* TAG: bash-5.2 */ - if (ea) - parser_restore_alias (); -- #endif - - #if defined (HISTORY) ---- 8813,8818 ---- -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-012 b/source/a/bash/bash-5.1-patches/bash51-012 deleted file mode 100644 index 22249188..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-012 +++ /dev/null @@ -1,198 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-012 - -Bug-Reported-by: Nikolay Borisov <nborisov@suse.com> -Bug-Reference-ID: <1a715205-06ce-413b-c1c0-2f5639ce06c0@suse.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2020-11/msg00091.html - -Bug-Description: - -There is a possible race condition that arises when a child process receives -a signal trapped by the parent before it can reset the signal dispositions. -The child process is not supposed to trap the signal in this circumstance. - -Patch (apply with `patch -p0'): - -*** ../bash-20201118/command.h 2020-08-14 15:04:39.000000000 -0400 ---- command.h 2020-11-27 15:18:02.000000000 -0500 -*************** -*** 125,128 **** ---- 125,129 ---- - #define SUBSHELL_COPROC 0x40 /* subshell from a coproc pipeline */ - #define SUBSHELL_RESETTRAP 0x80 /* subshell needs to reset trap strings on first call to trap */ -+ #define SUBSHELL_IGNTRAP 0x100 /* subshell should reset trapped signals from trap_handler */ - - /* A structure which represents a word. */ - -*** ../bash-20201118/execute_cmd.c 2020-11-23 14:16:48.000000000 -0500 ---- execute_cmd.c 2020-11-27 16:43:25.000000000 -0500 -*************** -*** 1548,1551 **** ---- 1548,1554 ---- - reset_signal_handlers (); - subshell_environment |= SUBSHELL_RESETTRAP; -+ /* Note that signal handlers have been reset, so we should no longer -+ reset the handler and resend trapped signals to ourselves. */ -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - - /* We are in a subshell, so forget that we are running a trap handler or -*************** -*** 4321,4325 **** - cmdflags |= CMD_NO_FORK; - -! subshell_environment = SUBSHELL_FORK; /* XXX */ - if (pipe_in != NO_PIPE || pipe_out != NO_PIPE) - subshell_environment |= SUBSHELL_PIPE; ---- 4324,4329 ---- - cmdflags |= CMD_NO_FORK; - -! /* We redo some of what make_child() does with SUBSHELL_IGNTRAP */ -! subshell_environment = SUBSHELL_FORK|SUBSHELL_IGNTRAP; /* XXX */ - if (pipe_in != NO_PIPE || pipe_out != NO_PIPE) - subshell_environment |= SUBSHELL_PIPE; -*************** -*** 4575,4578 **** ---- 4580,4584 ---- - reset_signal_handlers (); - subshell_environment |= SUBSHELL_RESETTRAP; -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - - if (async) -*************** -*** 5515,5518 **** ---- 5521,5525 ---- - /* Cancel traps, in trap.c. */ - restore_original_signals (); -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - - #if defined (JOB_CONTROL) - -*** ../bash-20201118/jobs.c 2020-08-04 10:17:39.000000000 -0400 ---- jobs.c 2020-11-27 16:39:56.000000000 -0500 -*************** -*** 2218,2221 **** ---- 2218,2223 ---- - pid_t mypid; - -+ subshell_environment |= SUBSHELL_IGNTRAP; -+ - /* If this ends up being changed to modify or use `command' in the - child process, go back and change callers who free `command' in -diff -rC 2 ../bash-20201118/nojobs.c nojobs.c -*** ../bash-20201118/nojobs.c 2020-07-08 10:11:25.000000000 -0400 ---- nojobs.c 2020-11-27 16:38:36.000000000 -0500 -*************** -*** 576,579 **** ---- 576,581 ---- - #endif - -+ subshell_environment |= SUBSHELL_IGNTRAP; -+ - default_tty_job_signals (); - } - -*** ../bash-20201118/sig.c 2020-11-23 13:22:17.000000000 -0500 ---- sig.c 2020-11-28 10:21:43.000000000 -0500 -*************** -*** 56,60 **** - #endif - -! extern void initialize_siglist (); - - #if !defined (JOB_CONTROL) ---- 56,61 ---- - #endif - -! extern void initialize_siglist PARAMS((void)); -! extern void set_original_signal PARAMS((int, SigHandler *)); - - #if !defined (JOB_CONTROL) -*************** -*** 256,259 **** ---- 257,267 ---- - XHANDLER(i) = oact.sa_handler; - XSAFLAGS(i) = oact.sa_flags; -+ -+ #if 0 -+ set_original_signal (XSIG(i), XHANDLER(i)); /* optimization */ -+ #else -+ set_original_signal (XSIG(i), act.sa_handler); /* optimization */ -+ #endif -+ - /* Don't do anything with signals that are ignored at shell entry - if the shell is not interactive. */ - -*** ../bash-20201118/subst.c 2020-11-16 10:33:15.000000000 -0500 ---- subst.c 2020-11-27 16:07:00.000000000 -0500 -*************** -*** 5952,5955 **** ---- 5952,5956 ---- - /* Cancel traps, in trap.c. */ - restore_original_signals (); /* XXX - what about special builtins? bash-4.2 */ -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - QUIT; /* catch any interrupts we got post-fork */ - setup_async_signals (); -*************** -*** 6383,6386 **** ---- 6384,6388 ---- - QUIT; /* catch any interrupts we got post-fork */ - subshell_environment |= SUBSHELL_RESETTRAP; -+ subshell_environment &= ~SUBSHELL_IGNTRAP; - } - - -diff -rC 2 ../bash-20201118/trap.c trap.c -*** ../bash-20201118/trap.c 2020-11-28 12:04:07.000000000 -0500 ---- trap.c 2020-11-28 10:22:10.000000000 -0500 -*************** -*** 482,485 **** ---- 482,511 ---- - } - -+ /* This means we're in a subshell, but have not yet reset the handler for -+ trapped signals. We're not supposed to execute the trap in this situation; -+ we should restore the original signal and resend the signal to ourselves -+ to preserve the Posix "signal traps that are not being ignored shall be -+ set to the default action" semantics. */ -+ if ((subshell_environment & SUBSHELL_IGNTRAP) && trap_list[sig] != (char *)IGNORE_SIG) -+ { -+ sigset_t mask; -+ -+ /* Paranoia */ -+ if (original_signals[sig] == IMPOSSIBLE_TRAP_HANDLER) -+ original_signals[sig] = SIG_DFL; -+ -+ restore_signal (sig); -+ -+ /* Make sure we let the signal we just caught through */ -+ sigemptyset (&mask); -+ sigprocmask (SIG_SETMASK, (sigset_t *)NULL, &mask); -+ sigdelset (&mask, sig); -+ sigprocmask (SIG_SETMASK, &mask, (sigset_t *)NULL); -+ -+ kill (getpid (), sig); -+ -+ SIGRETURN (0); -+ } -+ - if ((sig >= NSIG) || - (trap_list[sig] == (char *)DEFAULT_SIG) || - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-013 b/source/a/bash/bash-5.1-patches/bash51-013 deleted file mode 100644 index f2413a58..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-013 +++ /dev/null @@ -1,43 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-013 - -Bug-Reported-by: Anders Kaseorg <andersk@mit.edu> -Bug-Reference-ID: <de65540274064d7b95f17e9c46a3a6d8@oc11expo7.exchange.mit.edu> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2021-11/msg00025.html - -Bug-Description: - -Bash did not always perform tilde expansion following an unquoted colon on -the rhs of an assignment statement in posix mode. - -Patch (apply with `patch -p0'): - -*** ../bash-20211028/subst.c 2021-10-18 16:09:58.000000000 -0400 ---- subst.c 2021-11-30 11:19:47.000000000 -0500 -*************** -*** 3826,3829 **** ---- 3826,3830 ---- - td.flags = W_ASSIGNRHS; - #endif -+ td.flags |= (W_NOGLOB|W_TILDEEXP); - td.word = savestring (string); - value = call_expand_word_internal (&td, quoted, 0, (int *)NULL, (int *)NULL); - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-014 b/source/a/bash/bash-5.1-patches/bash51-014 deleted file mode 100644 index cd8df23a..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-014 +++ /dev/null @@ -1,48 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-014 - -Bug-Reported-by: platon7pronko@gmail.com -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10035 - -Bug-Description: - -Bash may produce corrupted input if a multibyte character spans a 512-byte -boundary while reading the output of a command substitution. - -Patch (apply with `patch -p0'): - -*** ../bash-20210217/subst.c 2021-02-03 10:32:08.000000000 -0500 ---- subst.c 2021-03-01 16:47:52.000000000 -0500 -*************** -*** 6243,6247 **** - /* punt on the hard case for now */ - memset (&ps, '\0', sizeof (mbstate_t)); -! mblen = mbrtowc (&wc, bufp-1, bufn+1, &ps); - if (MB_INVALIDCH (mblen) || mblen == 0 || mblen == 1) - istring[istring_index++] = c; ---- 6243,6247 ---- - /* punt on the hard case for now */ - memset (&ps, '\0', sizeof (mbstate_t)); -! mblen = mbrtowc (&wc, bufp-1, bufn, &ps); - if (MB_INVALIDCH (mblen) || mblen == 0 || mblen == 1) - istring[istring_index++] = c; - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-015 b/source/a/bash/bash-5.1-patches/bash51-015 deleted file mode 100644 index 5ae65811..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-015 +++ /dev/null @@ -1,49 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-015 - -Bug-Reported-by: Volodymyr Prodan <vovcat@gmail.com> -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10076 - -Bug-Description: - -Patch (apply with `patch -p0'): - -There are some characters (e.g., cyrillic) that can't be displayed using -certain single-byte encodings (e.g., cp1251) because the negative signed -int is interpreted as EOF and not displayed. - -*** ../bash-20210524/lib/readline/display.c 2021-03-16 18:12:20.000000000 -0400 ---- lib/readline/display.c 2021-06-07 16:53:08.000000000 -0400 -*************** -*** 1599,1603 **** - - for (cur_face = FACE_NORMAL, i = 0; i < n; i++) -! putc_face (str[i], face[i], &cur_face); - putc_face (EOF, FACE_NORMAL, &cur_face); - } ---- 1599,1603 ---- - - for (cur_face = FACE_NORMAL, i = 0; i < n; i++) -! putc_face ((unsigned char) str[i], face[i], &cur_face); - putc_face (EOF, FACE_NORMAL, &cur_face); - } - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-5.1-patches/bash51-016 b/source/a/bash/bash-5.1-patches/bash51-016 deleted file mode 100644 index 4694498b..00000000 --- a/source/a/bash/bash-5.1-patches/bash51-016 +++ /dev/null @@ -1,64 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 5.1 -Patch-ID: bash51-016 - -Bug-Reported-by: Vincent Menegaux <vincent.menegaux@gmail.com> -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10070 - -Bug-Description: - -Multiple `!' tokens should toggle negation of an expression in a [[ -conditional command, instead of simply negating the expression. - -Patch (apply with `patch -p0'): - -*** ../bash-20210515/parse.y 2021-04-21 15:32:50.000000000 -0400 ---- parse.y 2021-05-24 11:53:30.000000000 -0400 -*************** -*** 4797,4801 **** - term = cond_term (); - if (term) -! term->flags |= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) ---- 4797,4801 ---- - term = cond_term (); - if (term) -! term->flags ^= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) - -*** ../bash-20210515/y.tab.c 2021-05-14 15:50:41.000000000 -0400 ---- y.tab.c 2021-05-24 16:35:55.000000000 -0400 -*************** -*** 7091,7095 **** - term = cond_term (); - if (term) -! term->flags |= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) ---- 7091,7095 ---- - term = cond_term (); - if (term) -! term->flags ^= CMD_INVERT_RETURN; - } - else if (tok == WORD && yylval.word->word[0] == '-' && yylval.word->word[1] && yylval.word->word[2] == 0 && test_unop (yylval.word->word)) - -*** ../bash-5.1/patchlevel.h 2020-06-22 14:51:03.000000000 -0400 ---- patchlevel.h 2020-10-01 11:01:28.000000000 -0400 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/ap/vim/doinst.sh b/source/ap/vim/doinst.sh new file mode 100644 index 00000000..ebb76cc2 --- /dev/null +++ b/source/ap/vim/doinst.sh @@ -0,0 +1,25 @@ +#!/bin/bash +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config usr/share/vim/vimrc.new + +# Responding to a report that in some cases the file +# /usr/share/vim/vim90/defaults.vim must be edited in order to change settings +# (some settings in the file will otherwise override those in +# /usr/share/vim/vimrc), we will support a file in the same directory named +# defaults.vim.custom. If this file exists, then it will replace the shipped +# version of defaults.vim. The original file will be preserved as +# defaults.vim.orig. +if [ -r usr/share/vim/vim90/defaults.vim.custom ]; then + cp -a usr/share/vim/vim90/defaults.vim usr/share/vim/vim90/defaults.vim.orig + cp -a usr/share/vim/vim90/defaults.vim.custom usr/share/vim/vim90/defaults.vim +fi diff --git a/source/ap/vim/vim.SlackBuild b/source/ap/vim/vim.SlackBuild index 503f5cf6..07676fe4 100755 --- a/source/ap/vim/vim.SlackBuild +++ b/source/ap/vim/vim.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2020, 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2013, 2016, 2018, 2019, 2020, 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -216,22 +216,8 @@ find $PKG/usr/doc/vim-$VERSION -type f | xargs chmod 644 ( cd $PKG/usr/doc/vim-$VERSION ; ln -sf /usr/share/vim/vim$(echo $VIMBRANCH | tr -d .) doc ) mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cat $CWD/slack-desc.vim > $PKG/install/slack-desc -cat << EOF > $PKG/install/doinst.sh -#!/bin/bash -config() { - NEW="\$1" - OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)" - # If there's no config file by that name, mv it over: - if [ ! -r \$OLD ]; then - mv \$NEW \$OLD - elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy - rm \$NEW - fi - # Otherwise, we leave the .new copy for the admin to consider... -} -config usr/share/vim/vimrc.new -EOF find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null diff --git a/source/installer/ChangeLog.txt b/source/installer/ChangeLog.txt index 30b51134..819c5b44 100644 --- a/source/installer/ChangeLog.txt +++ b/source/installer/ChangeLog.txt @@ -1,3 +1,7 @@ +Mon Sep 26 14:43:44 UTC 2022 + /sbin/probe: Fix duplicated enumeration of mmc storage devices (e.g. SD cards). + Thanks to gsl on LQ for the report. ++--------------------------+ Mon Sep 12 18:09:41 UTC 2022 Removed pcre, added pcre2. Needed for GNU grep. Thanks to EdGr. diff --git a/source/installer/sources/initrd/sbin/probe b/source/installer/sources/initrd/sbin/probe index 5ab7602f..2ba2e0f2 100755 --- a/source/installer/sources/initrd/sbin/probe +++ b/source/installer/sources/initrd/sbin/probe @@ -155,9 +155,10 @@ list_mmc() { local device # Filter out any partitions on the block device, as we'll use # fdisk to capture those: - lsblk -o name,type -ripnd /dev/mmcblk* | grep -E 'disk$' | awk '{print $1}' | while read device ; do - fdisk -l $device >> $TMP/SeTfdisk - done + grep -qE 'mmcblk[0-9]' /proc/partitions && { + lsblk -o name,type -ripnd /dev/mmcblk* | grep -E 'disk$' | awk '{print $1}' | while read device ; do + fdisk -l $device >> $TMP/SeTfdisk + done ;} } list_nvme() { @@ -324,6 +325,9 @@ list_lvm # List CRYPT volumes: list_crypt +# List MMC (e.g. SD cards) partitions: +list_mmc + ## This is obsolete, since fdisk handles GPT now. ## List GPT partitions: #cat /proc/partitions | while read line ; do @@ -412,8 +416,6 @@ if cat /proc/partitions | grep -E '/|[0-9]' 1>/dev/null 2>/dev/null ; then # new list_cciss $(( $MAJOR - 104 )) $MINOR elif [ "$MAJOR" = "114" ]; then list_ataraid $MAJOR $MINOR - elif [ "$MAJOR" = "179" ]; then - list_mmc $MAJOR $MINOR elif [ "$MAJOR" = "259" ]; then if echo $line | grep -q p; then list_nvme $DEVNAME diff --git a/source/l/fluidsynth/fluidsynth.SlackBuild b/source/l/fluidsynth/fluidsynth.SlackBuild index 2cb19551..da41285a 100755 --- a/source/l/fluidsynth/fluidsynth.SlackBuild +++ b/source/l/fluidsynth/fluidsynth.SlackBuild @@ -3,7 +3,7 @@ # Slackware build script for fluidsynth # Copyright 2008-2013 Heinz Wiesinger, Amsterdam, The Netherlands -# Copyright 2021 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2021, 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -91,8 +91,7 @@ cd build -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DLIB_SUFFIX="$LIBDIRSUFFIX" \ - -DDOC_INSTALL_DIR="doc" \ - -DMAN_INSTALL_DIR="man/man1" \ + -DCMAKE_INSTALL_MANDIR=/usr/man \ -Denable-ladspa=ON \ .. || exit 1 diff --git a/source/l/readline/readline-8.1-patches/readline81-001 b/source/l/readline/readline-8.1-patches/readline81-001 deleted file mode 100644 index 2f99282c..00000000 --- a/source/l/readline/readline-8.1-patches/readline81-001 +++ /dev/null @@ -1,92 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 8.1 -Patch-ID: readline81-001 - -Bug-Reported-by: Tom Tromey <tom@tromey.com> -Bug-Reference-ID: <875z3u9fd0.fsf@tromey.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2021-01/msg00009.html - -Bug-Description: - -The code to check readline versions in an inputrc file had the sense of the -comparisons reversed. - -Patch (apply with `patch -p0'): - -*** ../readline-8.1-patched/bind.c 2020-10-26 10:03:14.000000000 -0400 ---- bind.c 2021-01-18 16:38:48.000000000 -0500 -*************** -*** 1235,1239 **** - else if (_rl_strnicmp (args, "version", 7) == 0) - { -! int rlversion, versionarg, op, previ, major, minor; - - _rl_parsing_conditionalized_out = 1; ---- 1235,1239 ---- - else if (_rl_strnicmp (args, "version", 7) == 0) - { -! int rlversion, versionarg, op, previ, major, minor, opresult; - - _rl_parsing_conditionalized_out = 1; -*************** -*** 1295,1316 **** - { - case OP_EQ: -! _rl_parsing_conditionalized_out = rlversion == versionarg; - break; - case OP_NE: -! _rl_parsing_conditionalized_out = rlversion != versionarg; - break; - case OP_GT: -! _rl_parsing_conditionalized_out = rlversion > versionarg; - break; - case OP_GE: -! _rl_parsing_conditionalized_out = rlversion >= versionarg; - break; - case OP_LT: -! _rl_parsing_conditionalized_out = rlversion < versionarg; - break; - case OP_LE: -! _rl_parsing_conditionalized_out = rlversion <= versionarg; - break; - } - } - /* Check to see if the first word in ARGS is the same as the ---- 1295,1317 ---- - { - case OP_EQ: -! opresult = rlversion == versionarg; - break; - case OP_NE: -! opresult = rlversion != versionarg; - break; - case OP_GT: -! opresult = rlversion > versionarg; - break; - case OP_GE: -! opresult = rlversion >= versionarg; - break; - case OP_LT: -! opresult = rlversion < versionarg; - break; - case OP_LE: -! opresult = rlversion <= versionarg; - break; - } -+ _rl_parsing_conditionalized_out = 1 - opresult; - } - /* Check to see if the first word in ARGS is the same as the - -*** ../readline-8.1/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 0 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 1 diff --git a/source/l/readline/readline-8.1-patches/readline81-002 b/source/l/readline/readline-8.1-patches/readline81-002 deleted file mode 100644 index 3fbfb794..00000000 --- a/source/l/readline/readline-8.1-patches/readline81-002 +++ /dev/null @@ -1,45 +0,0 @@ - READLINE PATCH REPORT - ===================== - -Readline-Release: 8.1 -Patch-ID: readline81-002 - -Bug-Reported-by: Volodymyr Prodan <vovcat@gmail.com> -Bug-Reference-ID: -Bug-Reference-URL: https://savannah.gnu.org/patch/?10076 - -Bug-Description: - -There are some characters (e.g., cyrillic) that can't be displayed using -certain single-byte encodings (e.g., cp1251) because the negative signed -int is interpreted as EOF and not displayed. - -Patch (apply with `patch -p0'): - -*** ../readline-8.1-patched/display.c 2021-03-16 18:12:20.000000000 -0400 ---- display.c 2021-06-07 16:53:08.000000000 -0400 -*************** -*** 1599,1603 **** - - for (cur_face = FACE_NORMAL, i = 0; i < n; i++) -! putc_face (str[i], face[i], &cur_face); - putc_face (EOF, FACE_NORMAL, &cur_face); - } ---- 1599,1603 ---- - - for (cur_face = FACE_NORMAL, i = 0; i < n; i++) -! putc_face ((unsigned char) str[i], face[i], &cur_face); - putc_face (EOF, FACE_NORMAL, &cur_face); - } - -*** ../readline-8.1/patchlevel 2013-11-15 08:11:11.000000000 -0500 ---- patchlevel 2014-03-21 08:28:40.000000000 -0400 -*************** -*** 1,3 **** - # Do not edit -- exists only for use by patch - -! 1 ---- 1,3 ---- - # Do not edit -- exists only for use by patch - -! 2 diff --git a/source/n/dnsmasq/dnsmasq-2.80-SIOCGSTAMP.patch b/source/n/dnsmasq/dnsmasq-2.80-SIOCGSTAMP.patch deleted file mode 100644 index 3a32bb82..00000000 --- a/source/n/dnsmasq/dnsmasq-2.80-SIOCGSTAMP.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 31e14f6e52677c675ee4683f9daab5bf21c07dd6 Mon Sep 17 00:00:00 2001 -From: Petr Mensik <pemensik@redhat.com> -Date: Wed, 31 Jul 2019 20:35:35 +0200 -Subject: [PATCH] Recent kernel no longer supports SIOCGSTAMP - -Build without it defined by kernel headers. Do not try SO_TIMESTAMP -until fixed properly. ---- - src/dhcp.c | 32 ++++++++++++++++++-------------- - 1 file changed, 18 insertions(+), 14 deletions(-) - -diff --git a/src/dhcp.c b/src/dhcp.c -index f8d323b..9afdccf 100644 ---- a/src/dhcp.c -+++ b/src/dhcp.c -@@ -178,23 +178,27 @@ void dhcp_packet(time_t now, int pxe_fd) - (sz < (ssize_t)(sizeof(*mess) - sizeof(mess->options)))) - return; - -- #if defined (HAVE_LINUX_NETWORK) -- if (ioctl(fd, SIOCGSTAMP, &tv) == 0) -+#if defined (HAVE_LINUX_NETWORK) -+#ifdef SIOCGSTAMP -+ if (tv.tv_sec == 0 && ioctl(fd, SIOCGSTAMP, &tv) == 0) - recvtime = tv.tv_sec; -+#endif - - if (msg.msg_controllen >= sizeof(struct cmsghdr)) -- for (cmptr = CMSG_FIRSTHDR(&msg); cmptr; cmptr = CMSG_NXTHDR(&msg, cmptr)) -- if (cmptr->cmsg_level == IPPROTO_IP && cmptr->cmsg_type == IP_PKTINFO) -- { -- union { -- unsigned char *c; -- struct in_pktinfo *p; -- } p; -- p.c = CMSG_DATA(cmptr); -- iface_index = p.p->ipi_ifindex; -- if (p.p->ipi_addr.s_addr != INADDR_BROADCAST) -- unicast_dest = 1; -- } -+ { -+ for (cmptr = CMSG_FIRSTHDR(&msg); cmptr; cmptr = CMSG_NXTHDR(&msg, cmptr)) -+ if (cmptr->cmsg_level == IPPROTO_IP && cmptr->cmsg_type == IP_PKTINFO) -+ { -+ union { -+ unsigned char *c; -+ struct in_pktinfo *p; -+ } p; -+ p.c = CMSG_DATA(cmptr); -+ iface_index = p.p->ipi_ifindex; -+ if (p.p->ipi_addr.s_addr != INADDR_BROADCAST) -+ unicast_dest = 1; -+ } -+ } - - #elif defined(HAVE_BSD_NETWORK) - if (msg.msg_controllen >= sizeof(struct cmsghdr)) --- -2.20.1 - diff --git a/source/n/dnsmasq/dnsmasq.SlackBuild b/source/n/dnsmasq/dnsmasq.SlackBuild index 29a79927..99160f38 100755 --- a/source/n/dnsmasq/dnsmasq.SlackBuild +++ b/source/n/dnsmasq/dnsmasq.SlackBuild @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright 2008, 2009, 2010, 2015, 2017, 2018, 2020 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2015, 2017, 2018, 2020, 2022 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -69,9 +69,6 @@ zcat $CWD/dnsmasq.leasedir.diff.gz | patch -p1 --verbose --backup --suffix=.orig # Use libidn2: zcat $CWD/dnsmasq.libidn2.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 -# Fix build with Linux 5.4.x: -zcat $CWD/dnsmasq-2.80-SIOCGSTAMP.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 - make $NUMJOBS all-i18n PREFIX=/usr MANDIR=/usr/man COPTS="$EXTRA_BUILD_OPTS" || exit 1 make install-i18n PREFIX=/usr DESTDIR=$PKG MANDIR=/usr/man COPTS="$EXTRA_BUILD_OPTS" || exit 1 chmod 0755 $PKG/usr/sbin/dnsmasq |