diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2014-03-03 18:55:57 +0800 |
---|---|---|
committer | Andreas Oberritter <obi@opendreambox.org> | 2015-02-23 17:15:26 +0100 |
commit | bbb56bf4c29ed46058a57ec513802d5693fcb0db (patch) | |
tree | 374a8dd92402d4d9cc85eb8084f82aeb67c6aaf7 /meta/recipes-extended/bash | |
parent | a490dca7415b8b6d18cb1753c378df8d08757e48 (diff) | |
download | openembedded-core-contrib-bbb56bf4c29ed46058a57ec513802d5693fcb0db.tar.gz |
bash: upgrade to 4.3
The bash-4.2-patches is obsolete.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 31eb09a888729fcfd17d02f2a47375e10e87f79a)
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Diffstat (limited to 'meta/recipes-extended/bash')
12 files changed, 18 insertions, 717 deletions
diff --git a/meta/recipes-extended/bash/bash-4.2/Fix-for-bash-exported-function-namespace-change.patch b/meta/recipes-extended/bash/bash-4.2/Fix-for-bash-exported-function-namespace-change.patch deleted file mode 100644 index 0fb2ad5d89..0000000000 --- a/meta/recipes-extended/bash/bash-4.2/Fix-for-bash-exported-function-namespace-change.patch +++ /dev/null @@ -1,212 +0,0 @@ -Fix for exported function namespace change - -Upstream-Status: Backport - -Downloaded from: http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-050 - -Author: Chet Ramey <chet.ramey@case.edu> -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - - - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-050 - -Bug-Reported-by: Florian Weimer <fweimer@redhat.com> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -This patch changes the encoding bash uses for exported functions to avoid -clashes with shell variables and to avoid depending only on an environment -variable's contents to determine whether or not to interpret it as a shell -function. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2.49/variables.c 2014-09-16 19:35:45.000000000 -0400 ---- variables.c 2014-09-27 20:54:00.000000000 -0400 -*************** -*** 80,83 **** ---- 80,88 ---- - #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0') - -+ #define BASHFUNC_PREFIX "BASH_FUNC_" -+ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */ -+ #define BASHFUNC_SUFFIX "%%" -+ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */ -+ - extern char **environ; - -*************** -*** 269,273 **** - static void dispose_temporary_env __P((sh_free_func_t *)); - -! static inline char *mk_env_string __P((const char *, const char *)); - static char **make_env_array_from_var_list __P((SHELL_VAR **)); - static char **make_var_export_array __P((VAR_CONTEXT *)); ---- 274,278 ---- - static void dispose_temporary_env __P((sh_free_func_t *)); - -! static inline char *mk_env_string __P((const char *, const char *, int)); - static char **make_env_array_from_var_list __P((SHELL_VAR **)); - static char **make_var_export_array __P((VAR_CONTEXT *)); -*************** -*** 339,357 **** - /* If exported function, define it now. Don't import functions from - the environment in privileged mode. */ -! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4)) - { - string_length = strlen (string); -! temp_string = (char *)xmalloc (3 + string_length + char_index); - -! strcpy (temp_string, name); -! temp_string[char_index] = ' '; -! strcpy (temp_string + char_index + 1, string); - - /* Don't import function names that are invalid identifiers from the - environment. */ -! if (legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); - -! if (temp_var = find_function (name)) - { - VSETATTR (temp_var, (att_exported|att_imported)); ---- 344,373 ---- - /* If exported function, define it now. Don't import functions from - the environment in privileged mode. */ -! if (privmode == 0 && read_but_dont_execute == 0 && -! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && -! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && -! STREQN ("() {", string, 4)) - { -+ size_t namelen; -+ char *tname; /* desired imported function name */ -+ -+ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN; -+ -+ tname = name + BASHFUNC_PREFLEN; /* start of func name */ -+ tname[namelen] = '\0'; /* now tname == func name */ -+ - string_length = strlen (string); -! temp_string = (char *)xmalloc (namelen + string_length + 2); - -! memcpy (temp_string, tname, namelen); -! temp_string[namelen] = ' '; -! memcpy (temp_string + namelen + 1, string, string_length + 1); - - /* Don't import function names that are invalid identifiers from the - environment. */ -! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname))) -! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); - -! if (temp_var = find_function (tname)) - { - VSETATTR (temp_var, (att_exported|att_imported)); -*************** -*** 359,363 **** - } - else -! report_error (_("error importing function definition for `%s'"), name); - } - #if defined (ARRAY_VARS) ---- 375,382 ---- - } - else -! report_error (_("error importing function definition for `%s'"), tname); -! -! /* Restore original suffix */ -! tname[namelen] = BASHFUNC_SUFFIX[0]; - } - #if defined (ARRAY_VARS) -*************** -*** 2538,2542 **** - - INVALIDATE_EXPORTSTR (var); -! var->exportstr = mk_env_string (name, value); - - array_needs_making = 1; ---- 2557,2561 ---- - - INVALIDATE_EXPORTSTR (var); -! var->exportstr = mk_env_string (name, value, 0); - - array_needs_making = 1; -*************** -*** 3390,3408 **** - - static inline char * -! mk_env_string (name, value) - const char *name, *value; - { -! int name_len, value_len; -! char *p; - - name_len = strlen (name); - value_len = STRLEN (value); -! p = (char *)xmalloc (2 + name_len + value_len); -! strcpy (p, name); -! p[name_len] = '='; - if (value && *value) -! strcpy (p + name_len + 1, value); - else -! p[name_len + 1] = '\0'; - return (p); - } ---- 3409,3448 ---- - - static inline char * -! mk_env_string (name, value, isfunc) - const char *name, *value; -+ int isfunc; - { -! size_t name_len, value_len; -! char *p, *q; - - name_len = strlen (name); - value_len = STRLEN (value); -! -! /* If we are exporting a shell function, construct the encoded function -! name. */ -! if (isfunc && value) -! { -! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2); -! q = p; -! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN); -! q += BASHFUNC_PREFLEN; -! memcpy (q, name, name_len); -! q += name_len; -! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN); -! q += BASHFUNC_SUFFLEN; -! } -! else -! { -! p = (char *)xmalloc (2 + name_len + value_len); -! memcpy (p, name, name_len); -! q = p + name_len; -! } -! -! q[0] = '='; - if (value && *value) -! memcpy (q + 1, value, value_len + 1); - else -! q[1] = '\0'; -! - return (p); - } -*************** -*** 3490,3494 **** - using the cached exportstr... */ - list[list_index] = USE_EXPORTSTR ? savestring (value) -! : mk_env_string (var->name, value); - - if (USE_EXPORTSTR == 0) ---- 3530,3534 ---- - using the cached exportstr... */ - list[list_index] = USE_EXPORTSTR ? savestring (value) -! : mk_env_string (var->name, value, function_p (var)); - - if (USE_EXPORTSTR == 0) diff --git a/meta/recipes-extended/bash/bash-4.2/cve-2014-6271.patch b/meta/recipes-extended/bash/bash-4.2/cve-2014-6271.patch deleted file mode 100644 index 20530adf6c..0000000000 --- a/meta/recipes-extended/bash/bash-4.2/cve-2014-6271.patch +++ /dev/null @@ -1,95 +0,0 @@ -Fix CVE-2014-6271, aka ShellShock. This is the upstream 4.2 patchlevel 48, minus the hunk to -set the patch level. - -Upstream-Status: Backport -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-048 - -Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -Under certain circumstances, bash will execute user code while processing the -environment for exported function definitions. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2.47/builtins/common.h 2010-05-30 18:31:51.000000000 -0400 ---- builtins/common.h 2014-09-16 19:35:45.000000000 -0400 -*************** -*** 36,39 **** ---- 36,41 ---- - - /* Flags for describe_command, shared between type.def and command.def */ -+ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ -+ #define SEVAL_ONECMD 0x100 /* only allow a single command */ - #define CDESC_ALL 0x001 /* type -a */ - #define CDESC_SHORTDESC 0x002 /* command -V */ -*** ../bash-4.2.47/builtins/evalstring.c 2010-11-23 08:22:15.000000000 -0500 ---- builtins/evalstring.c 2014-09-16 19:35:45.000000000 -0400 -*************** -*** 262,265 **** ---- 262,273 ---- - struct fd_bitmap *bitmap; - -+ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) -+ { -+ internal_warning ("%s: ignoring function definition attempt", from_file); -+ should_jump_to_top_level = 0; -+ last_result = last_command_exit_value = EX_BADUSAGE; -+ break; -+ } -+ - bitmap = new_fd_bitmap (FD_BITMAP_SIZE); - begin_unwind_frame ("pe_dispose"); -*************** -*** 322,325 **** ---- 330,336 ---- - dispose_fd_bitmap (bitmap); - discard_unwind_frame ("pe_dispose"); -+ -+ if (flags & SEVAL_ONECMD) -+ break; - } - } -*** ../bash-4.2.47/variables.c 2011-03-01 16:15:20.000000000 -0500 ---- variables.c 2014-09-16 19:35:45.000000000 -0400 -*************** -*** 348,357 **** - strcpy (temp_string + char_index + 1, string); - -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); -! -! /* Ancient backwards compatibility. Old versions of bash exported -! functions like name()=() {...} */ -! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') -! name[char_index - 2] = '\0'; - - if (temp_var = find_function (name)) ---- 348,355 ---- - strcpy (temp_string + char_index + 1, string); - -! /* Don't import function names that are invalid identifiers from the -! environment. */ -! if (legal_identifier (name)) -! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); - - if (temp_var = find_function (name)) -*************** -*** 362,369 **** - else - report_error (_("error importing function definition for `%s'"), name); -- -- /* ( */ -- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0') -- name[char_index - 2] = '('; /* ) */ - } - #if defined (ARRAY_VARS) ---- 360,363 ---- diff --git a/meta/recipes-extended/bash/bash-4.2/cve-2014-6277.patch b/meta/recipes-extended/bash/bash-4.2/cve-2014-6277.patch deleted file mode 100644 index 83b40027cf..0000000000 --- a/meta/recipes-extended/bash/bash-4.2/cve-2014-6277.patch +++ /dev/null @@ -1,44 +0,0 @@ -bash: Fix CVE-2014-6277 (shellshock) - -Upstream-status: backport - -Downloaded from: -ftp://ftp.gnu.org/pub/bash/bash-4.3-patches/bash43-029 - -Author: Chet Ramey <chet.ramey@case.edu> -Signed-off-by: Catalin Popeanga <catalin.popeanga@enea.com> - - BASH PATCH REPORT - ================= - -Bash-Release: 4.3 -Patch-ID: bash43-029 - -Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -When bash is parsing a function definition that contains a here-document -delimited by end-of-file (or end-of-string), it leaves the closing delimiter -uninitialized. This can result in an invalid memory access when the parsed -function is later copied. ---- ---- a/make_cmd.c 2011-12-16 08:08:01.000000000 -0500 -+++ b/make_cmd.c 2014-10-02 11:24:23.000000000 -0400 -@@ -693,4 +693,5 @@ - temp->redirector = source; - temp->redirectee = dest_and_filename; -+ temp->here_doc_eof = 0; - temp->instruction = instruction; - temp->flags = 0; ---- a/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400 -+++ b/copy_cmd.c 2014-10-02 11:24:23.000000000 -0400 -@@ -127,5 +127,5 @@ - case r_reading_until: - case r_deblank_reading_until: -- new_redirect->here_doc_eof = savestring (redirect->here_doc_eof); -+ new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0; - /*FALLTHROUGH*/ - case r_reading_string: diff --git a/meta/recipes-extended/bash/bash-4.2/cve-2014-6278.patch b/meta/recipes-extended/bash/bash-4.2/cve-2014-6278.patch deleted file mode 100644 index b25314fcd7..0000000000 --- a/meta/recipes-extended/bash/bash-4.2/cve-2014-6278.patch +++ /dev/null @@ -1,127 +0,0 @@ -bash: Fix CVE-2014-6278 (shellshock) - -Upstream-status: backport - -Downloaded from: -http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-053 - -Author: Chet Ramey <chet.ramey@case.edu> -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-053 - -Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -A combination of nested command substitutions and function importing from -the environment can cause bash to execute code appearing in the environment -variable value following the function definition. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2.52/builtins/evalstring.c 2014-09-16 19:35:45.000000000 -0400 ---- builtins/evalstring.c 2014-10-04 15:00:26.000000000 -0400 -*************** -*** 262,271 **** - struct fd_bitmap *bitmap; - -! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) - { -! internal_warning ("%s: ignoring function definition attempt", from_file); -! should_jump_to_top_level = 0; -! last_result = last_command_exit_value = EX_BADUSAGE; -! break; - } - ---- 262,284 ---- - struct fd_bitmap *bitmap; - -! if (flags & SEVAL_FUNCDEF) - { -! char *x; -! -! /* If the command parses to something other than a straight -! function definition, or if we have not consumed the entire -! string, or if the parser has transformed the function -! name (as parsing will if it begins or ends with shell -! whitespace, for example), reject the attempt */ -! if (command->type != cm_function_def || -! ((x = parser_remaining_input ()) && *x) || -! (STREQ (from_file, command->value.Function_def->name->word) == 0)) -! { -! internal_warning (_("%s: ignoring function definition attempt"), from_file); -! should_jump_to_top_level = 0; -! last_result = last_command_exit_value = EX_BADUSAGE; -! reset_parser (); -! break; -! } - } - -*************** -*** 332,336 **** - - if (flags & SEVAL_ONECMD) -! break; - } - } ---- 345,352 ---- - - if (flags & SEVAL_ONECMD) -! { -! reset_parser (); -! break; -! } - } - } -*** ../bash-4.2.52/parse.y 2014-09-30 19:24:19.000000000 -0400 ---- parse.y 2014-10-04 15:00:26.000000000 -0400 -*************** -*** 2436,2439 **** ---- 2436,2449 ---- - } - -+ char * -+ parser_remaining_input () -+ { -+ if (shell_input_line == 0) -+ return 0; -+ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len) -+ return '\0'; /* XXX */ -+ return (shell_input_line + shell_input_line_index); -+ } -+ - #ifdef INCLUDE_UNUSED - /* Back the input pointer up by one, effectively `ungetting' a character. */ -*************** -*** 3891,3896 **** - /* reset_parser clears shell_input_line and associated variables */ - restore_input_line_state (&ls); -! if (interactive) -! token_to_read = 0; - - /* Need to find how many characters parse_and_execute consumed, update ---- 3901,3906 ---- - /* reset_parser clears shell_input_line and associated variables */ - restore_input_line_state (&ls); -! -! token_to_read = 0; - - /* Need to find how many characters parse_and_execute consumed, update -*** ../bash-4.2.52/shell.h 2011-11-21 18:03:32.000000000 -0500 ---- shell.h 2014-10-04 15:00:26.000000000 -0400 -*************** -*** 178,181 **** ---- 178,183 ---- - - /* Let's try declaring these here. */ -+ extern char *parser_remaining_input __P((void)); -+ - extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); - extern void restore_parser_state __P((sh_parser_state_t *)); diff --git a/meta/recipes-extended/bash/bash-4.2/cve-2014-7169.patch b/meta/recipes-extended/bash/bash-4.2/cve-2014-7169.patch deleted file mode 100644 index 3c69121767..0000000000 --- a/meta/recipes-extended/bash/bash-4.2/cve-2014-7169.patch +++ /dev/null @@ -1,16 +0,0 @@ -Taken from http://www.openwall.com/lists/oss-security/2016/09/25/10 - -Upstream-Status: Backport -Index: bash-4.3/parse.y -=================================================================== ---- bash-4.3.orig/parse.y 2014-09-26 13:10:44.340080056 -0700 -+++ bash-4.3/parse.y 2014-09-26 13:11:44.764080056 -0700 -@@ -2953,6 +2953,8 @@ - FREE (word_desc_to_read); - word_desc_to_read = (WORD_DESC *)NULL; - -+ eol_ungetc_lookahead = 0; -+ - current_token = '\n'; /* XXX */ - last_read_token = '\n'; - token_to_read = '\n'; diff --git a/meta/recipes-extended/bash/bash-4.2/cve-2014-7186_cve-2014-7187.patch b/meta/recipes-extended/bash/bash-4.2/cve-2014-7186_cve-2014-7187.patch deleted file mode 100644 index b51ce5f444..0000000000 --- a/meta/recipes-extended/bash/bash-4.2/cve-2014-7186_cve-2014-7187.patch +++ /dev/null @@ -1,167 +0,0 @@ -bash: Fix for CVE-2014-7186 and CVE-2014-7187 - -Upstream-Status: Backport {GNU Patch-ID: bash42-051} - -Downloaded from: http://ftp.gnu.org/gnu/bash/bash-4.2-patches/bash42-051 - -Author: Chet Ramey <chet.ramey@case.edu> -Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> - - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-051 - -Bug-Reported-by: Florian Weimer <fweimer@redhat.com> -Bug-Reference-ID: -Bug-Reference-URL: - -Bug-Description: - -There are two local buffer overflows in parse.y that can cause the shell -to dump core when given many here-documents attached to a single command -or many nested loops. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2.50/parse.y 2014-09-27 12:18:53.000000000 -0400 ---- parse.y 2014-09-30 19:24:19.000000000 -0400 -*************** -*** 168,171 **** ---- 168,174 ---- - static int reserved_word_acceptable __P((int)); - static int yylex __P((void)); -+ -+ static void push_heredoc __P((REDIRECT *)); -+ static char *mk_alexpansion __P((char *)); - static int alias_expand_token __P((char *)); - static int time_command_acceptable __P((void)); -*************** -*** 265,269 **** - /* Variables to manage the task of reading here documents, because we need to - defer the reading until after a complete command has been collected. */ -! static REDIRECT *redir_stack[10]; - int need_here_doc; - ---- 268,274 ---- - /* Variables to manage the task of reading here documents, because we need to - defer the reading until after a complete command has been collected. */ -! #define HEREDOC_MAX 16 -! -! static REDIRECT *redir_stack[HEREDOC_MAX]; - int need_here_doc; - -*************** -*** 307,311 **** - index is decremented after a case, select, or for command is parsed. */ - #define MAX_CASE_NEST 128 -! static int word_lineno[MAX_CASE_NEST]; - static int word_top = -1; - ---- 312,316 ---- - index is decremented after a case, select, or for command is parsed. */ - #define MAX_CASE_NEST 128 -! static int word_lineno[MAX_CASE_NEST+1]; - static int word_top = -1; - -*************** -*** 520,524 **** - redir.filename = $2; - $$ = make_redirection (source, r_reading_until, redir, 0); -! redir_stack[need_here_doc++] = $$; - } - | NUMBER LESS_LESS WORD ---- 525,529 ---- - redir.filename = $2; - $$ = make_redirection (source, r_reading_until, redir, 0); -! push_heredoc ($$); - } - | NUMBER LESS_LESS WORD -*************** -*** 527,531 **** - redir.filename = $3; - $$ = make_redirection (source, r_reading_until, redir, 0); -! redir_stack[need_here_doc++] = $$; - } - | REDIR_WORD LESS_LESS WORD ---- 532,536 ---- - redir.filename = $3; - $$ = make_redirection (source, r_reading_until, redir, 0); -! push_heredoc ($$); - } - | REDIR_WORD LESS_LESS WORD -*************** -*** 534,538 **** - redir.filename = $3; - $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); -! redir_stack[need_here_doc++] = $$; - } - | LESS_LESS_MINUS WORD ---- 539,543 ---- - redir.filename = $3; - $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); -! push_heredoc ($$); - } - | LESS_LESS_MINUS WORD -*************** -*** 541,545 **** - redir.filename = $2; - $$ = make_redirection (source, r_deblank_reading_until, redir, 0); -! redir_stack[need_here_doc++] = $$; - } - | NUMBER LESS_LESS_MINUS WORD ---- 546,550 ---- - redir.filename = $2; - $$ = make_redirection (source, r_deblank_reading_until, redir, 0); -! push_heredoc ($$); - } - | NUMBER LESS_LESS_MINUS WORD -*************** -*** 548,552 **** - redir.filename = $3; - $$ = make_redirection (source, r_deblank_reading_until, redir, 0); -! redir_stack[need_here_doc++] = $$; - } - | REDIR_WORD LESS_LESS_MINUS WORD ---- 553,557 ---- - redir.filename = $3; - $$ = make_redirection (source, r_deblank_reading_until, redir, 0); -! push_heredoc ($$); - } - | REDIR_WORD LESS_LESS_MINUS WORD -*************** -*** 555,559 **** - redir.filename = $3; - $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); -! redir_stack[need_here_doc++] = $$; - } - | LESS_LESS_LESS WORD ---- 560,564 ---- - redir.filename = $3; - $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); -! push_heredoc ($$); - } - | LESS_LESS_LESS WORD -*************** -*** 2534,2537 **** ---- 2539,2557 ---- - static int esacs_needed_count; - -+ static void -+ push_heredoc (r) -+ REDIRECT *r; -+ { -+ if (need_here_doc >= HEREDOC_MAX) -+ { -+ last_command_exit_value = EX_BADUSAGE; -+ need_here_doc = 0; -+ report_syntax_error (_("maximum here-document count exceeded")); -+ reset_parser (); -+ exit_shell (last_command_exit_value); -+ } -+ redir_stack[need_here_doc++] = r; -+ } -+ - void - gather_here_documents () diff --git a/meta/recipes-extended/bash/bash-4.2/execute_cmd.patch b/meta/recipes-extended/bash/bash/execute_cmd.patch index 81f8f0a9cd..81f8f0a9cd 100644 --- a/meta/recipes-extended/bash/bash-4.2/execute_cmd.patch +++ b/meta/recipes-extended/bash/bash/execute_cmd.patch diff --git a/meta/recipes-extended/bash/bash-4.2/mkbuiltins_have_stringize.patch b/meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch index a9391d6cac..a9391d6cac 100644 --- a/meta/recipes-extended/bash/bash-4.2/mkbuiltins_have_stringize.patch +++ b/meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch diff --git a/meta/recipes-extended/bash/bash-4.2/run-ptest b/meta/recipes-extended/bash/bash/run-ptest index 8dd3b9981d..8dd3b9981d 100644 --- a/meta/recipes-extended/bash/bash-4.2/run-ptest +++ b/meta/recipes-extended/bash/bash/run-ptest diff --git a/meta/recipes-extended/bash/bash-4.2/test-output.patch b/meta/recipes-extended/bash/bash/test-output.patch index 2b09b7d977..2b09b7d977 100644 --- a/meta/recipes-extended/bash/bash-4.2/test-output.patch +++ b/meta/recipes-extended/bash/bash/test-output.patch diff --git a/meta/recipes-extended/bash/bash_4.2.bb b/meta/recipes-extended/bash/bash_4.2.bb deleted file mode 100644 index e2d391d81c..0000000000 --- a/meta/recipes-extended/bash/bash_4.2.bb +++ /dev/null @@ -1,56 +0,0 @@ -require bash.inc - -# GPLv2+ (< 4.0), GPLv3+ (>= 4.0) -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -PR = "r6" - -SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-001;apply=yes;striplevel=0;name=patch001 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-002;apply=yes;striplevel=0;name=patch002 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-003;apply=yes;striplevel=0;name=patch003 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-004;apply=yes;striplevel=0;name=patch004 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-005;apply=yes;striplevel=0;name=patch005 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-006;apply=yes;striplevel=0;name=patch006 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-007;apply=yes;striplevel=0;name=patch007 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-008;apply=yes;striplevel=0;name=patch008 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-009;apply=yes;striplevel=0;name=patch009 \ - ${GNU_MIRROR}/bash/bash-4.2-patches/bash42-010;apply=yes;striplevel=0;name=patch010 \ - file://execute_cmd.patch;striplevel=0 \ - file://mkbuiltins_have_stringize.patch \ - file://build-tests.patch \ - file://test-output.patch \ - file://cve-2014-6271.patch;striplevel=0 \ - file://cve-2014-7169.patch \ - file://Fix-for-bash-exported-function-namespace-change.patch;striplevel=0 \ - file://cve-2014-7186_cve-2014-7187.patch;striplevel=0 \ - file://cve-2014-6277.patch \ - file://cve-2014-6278.patch;striplevel=0 \ - file://run-ptest \ - " - -SRC_URI[tarball.md5sum] = "3fb927c7c33022f1c327f14a81c0d4b0" -SRC_URI[tarball.sha256sum] = "a27a1179ec9c0830c65c6aa5d7dab60f7ce1a2a608618570f96bfa72e95ab3d8" -SRC_URI[patch001.md5sum] = "1100bc1dda2cdc06ac44d7e5d17864a3" -SRC_URI[patch001.sha256sum] = "8d6ca028576c4af23e660a2fbc2112221a11c8a785c0b37f033967e5cd12b47a" -SRC_URI[patch002.md5sum] = "30e7948079921d3261efcc6a40722135" -SRC_URI[patch002.sha256sum] = "febac927e199aceeba2004908d971d4afb49b521796c3f42d1166f9fbbfbcef9" -SRC_URI[patch003.md5sum] = "9ea06decec43a198f3d7cf29acc602f8" -SRC_URI[patch003.sha256sum] = "5a0a7c15018c87348ea87cb0beea14345faf878dbb0e25c17fa70677194cb4cd" -SRC_URI[patch004.md5sum] = "fb48f6134d7b013135929476aa0c250c" -SRC_URI[patch004.sha256sum] = "4e34b0f830d2583d56e14225a66937abc81f45bbafcd2eb49daf61c9462140c1" -SRC_URI[patch005.md5sum] = "e70e45de33426b38153b390be0dbbcd4" -SRC_URI[patch005.sha256sum] = "a81749e73004b81cfdf0fe075bec365dc1fef756ee5e3fd142821e317d1459a0" -SRC_URI[patch006.md5sum] = "ce4e5c484993705b27daa151eca242c2" -SRC_URI[patch006.sha256sum] = "c91148945a2ddafa792682d7c8668c59e7e645eae1334b15b0d5d9ad22634bd1" -SRC_URI[patch007.md5sum] = "88d1f96db29461767602e2546803bda7" -SRC_URI[patch007.sha256sum] = "405826acf443dd1084f236a15cb76d7f0ee2dbe5edff45c5fb836db571fb7e95" -SRC_URI[patch008.md5sum] = "24c574bf6d6a581e300823d9c1276af6" -SRC_URI[patch008.sha256sum] = "23080d11a60a78941210e2477f6bca066b45db03defa60da86fd765107ba2437" -SRC_URI[patch009.md5sum] = "4c5835f2fbab36c4292bb334977e5b6d" -SRC_URI[patch009.sha256sum] = "e7ed5440b4c19765786e90e4f1ded43195d38b3e4d1c4b39fcc23de9a74ccb20" -SRC_URI[patch010.md5sum] = "0a51602b535ef661ee707be6c8bdb373" -SRC_URI[patch010.sha256sum] = "acfc5482c25e6923116fcf4b4f7f6345b80f75ad7299749db4b736ad67aa43dc" - -BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb new file mode 100644 index 0000000000..25b7410c52 --- /dev/null +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -0,0 +1,18 @@ +require bash.inc + +# GPLv2+ (< 4.0), GPLv3+ (>= 4.0) +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ + file://execute_cmd.patch;striplevel=0 \ + file://mkbuiltins_have_stringize.patch \ + file://build-tests.patch \ + file://test-output.patch \ + file://run-ptest \ + " + +SRC_URI[tarball.md5sum] = "81348932d5da294953e15d4814c74dd1" +SRC_URI[tarball.sha256sum] = "afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4" + +BBCLASSEXTEND = "nativesdk" |