]> git.pld-linux.org Git - packages/glibc.git/commitdiff
- update to 2.21; fixes CVE-2015-1472, CVE-2104-7817, CVE-2012-3406, CVE-2014-9402...
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 6 Feb 2015 17:58:24 +0000 (18:58 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Fri, 6 Feb 2015 17:58:24 +0000 (18:58 +0100)
glibc-Os-fail-workaround.patch [deleted file]
glibc-autoconf.patch
glibc-format.patch [deleted file]
glibc-git.patch [deleted file]
glibc-no-bash-nls.patch
glibc-origin.patch [deleted file]
glibc.spec

diff --git a/glibc-Os-fail-workaround.patch b/glibc-Os-fail-workaround.patch
deleted file mode 100644 (file)
index 3678cbc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
---- glibc-2.13/sysdeps/unix/sysv/linux/faccessat.c~    2011-02-06 19:53:12.355202896 +0100
-+++ glibc-2.13/sysdeps/unix/sysv/linux/faccessat.c     2011-02-06 19:53:14.418536233 +0100
-@@ -17,6 +17,11 @@
-    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-    02111-1307 USA.  */
-+#ifndef __USE_EXTERN_INLINES
-+# define __USE_EXTERN_INLINES
-+# include <sys/stat.h>
-+# undef __USE_EXTERN_INLINES
-+#endif
- #include <errno.h>
- #include <fcntl.h>
- #include <stddef.h>
index b3332ee40b0f481b4639f3e8970f134cdb05643c..78574ee43acc9678a0c528930953d2c85cec2dfe 100644 (file)
@@ -3,7 +3,7 @@
 @@ -2,11 +2,6 @@
  dnl the internal functions defined and used by the main configure script
  dnl match those expected by the fragments.
- m4_define([GLIBC_AUTOCONF_VERSION], [2.68])
+ m4_define([GLIBC_AUTOCONF_VERSION], [2.69])
 -m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
 -      [m4_fatal(m4_flatten(
 -Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
diff --git a/glibc-format.patch b/glibc-format.patch
deleted file mode 100644 (file)
index dd3c5f5..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
---- glibc-2.17/stdio-common/test-vfprintf.c~   2012-12-25 04:02:13.000000000 +0100
-+++ glibc-2.17/stdio-common/test-vfprintf.c    2013-01-09 22:34:39.763896649 +0100
-@@ -92,7 +92,7 @@
-       fprintf (fp, "%s", large);
-       fprintf (fp, "%.*s", 30000, large);
-       large[20000] = '\0';
--      fprintf (fp, large);
-+      fprintf (fp, "%s", large);
-       fprintf (fp, "%-1.300000000s", "hello");
-       if (fflush (fp) != 0 || ferror (fp) != 0 || fclose (fp) != 0)
---- glibc-2.17/posix/regexbug1.c~      2012-12-25 04:02:13.000000000 +0100
-+++ glibc-2.17/posix/regexbug1.c       2013-01-09 22:36:56.763888226 +0100
-@@ -18,7 +18,7 @@
-     {
-       char buf[100];
-       regerror (reerr, &re, buf, sizeof buf);
--      error (EXIT_FAILURE, 0, buf);
-+      error (EXIT_FAILURE, 0, "%s", buf);
-     }
-   if (regexec (&re, "002", 2, ma, 0) != 0)
-@@ -35,7 +35,7 @@
-     {
-       char buf[100];
-       regerror (reerr, &re, buf, sizeof buf);
--      error (EXIT_FAILURE, 0, buf);
-+      error (EXIT_FAILURE, 0, "%s", buf);
-     }
-   if (regexec (&re, "002", 2, ma, 0) != 0)
---- glibc-2.17/misc/tst-error1.c~      2012-12-25 04:02:13.000000000 +0100
-+++ glibc-2.17/misc/tst-error1.c       2013-01-09 22:38:17.262508638 +0100
-@@ -15,10 +15,10 @@
-   static const char str[] = "hello world! ";
-   for (int i = 0; i < 1000; ++i)
-     memcpy (&buf[i * (sizeof (str) - 1)], str, sizeof (str));
--  error (0, 0, str);
--  error (0, 0, buf);
--  error (0, 0, buf);
--  error (0, 0, str);
-+  error (0, 0, "%s", str);
-+  error (0, 0, "%s", buf);
-+  error (0, 0, "%s", buf);
-+  error (0, 0, "%s", str);
-   return 0;
- }
diff --git a/glibc-git.patch b/glibc-git.patch
deleted file mode 100644 (file)
index f7483b8..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-commit 58b930ae216bfa98cd60212b954b07b9963d6d04
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Wed Sep 10 21:51:50 2014 +0530
-
-    Return failure in getnetgrent only when all netgroups have been searched (#17363)
-    
-    The netgroups lookup code fails when one of the groups in the search
-    tree is empty.  In such a case it only returns the leaves of the tree
-    after the blank netgroup.  This is because the line parser returns a
-    NOTFOUND status when the netgroup exists but is empty.  The
-    __getnetgrent_internal implementation needs to be fixed to try
-    remaining groups if the current group is entry.  This patch implements
-    this fix.  Tested on x86_64.
-    
-       [BZ #17363]
-       * inet/getnetgrent_r.c (__internal_getnetgrent_r): Try next
-       group if the current group is empty.
-
-diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c
-index f6d064d..e101537 100644
---- a/inet/getnetgrent_r.c
-+++ b/inet/getnetgrent_r.c
-@@ -297,7 +297,10 @@ __internal_getnetgrent_r (char **hostp, char **userp, char **domainp,
-     {
-       status = DL_CALL_FCT (*fct, (datap, buffer, buflen, &errno));
--      if (status == NSS_STATUS_RETURN)
-+      if (status == NSS_STATUS_RETURN
-+        /* The service returned a NOTFOUND, but there are more groups that we
-+           need to resolve before we give up.  */
-+        || (status == NSS_STATUS_NOTFOUND && datap->needed_groups != NULL))
-       {
-         /* This was the last one for this group.  Look at next group
-            if available.  */
-commit 984c0ea97f649c869130a1ff099098e2b6f70aad
-Author: Tim Lammens <tim.lammens@gmail.com>
-Date:   Thu Sep 11 10:35:54 2014 +0530
-
-    Fix memory leak in libio/wfileops.c do_ftell_wide [BZ #17370]
-
-diff --git a/libio/wfileops.c b/libio/wfileops.c
-index f123add..ebc06e8 100644
---- a/libio/wfileops.c
-+++ b/libio/wfileops.c
-@@ -711,6 +711,7 @@ do_ftell_wide (_IO_FILE *fp)
-               return WEOF;
-             offset += outstop - out;
-+            free (out);
-           }
-         /* We don't trust _IO_read_end to represent the current file offset
-commit 52ffbdf25a1100986f4ae27bb0febbe5a722ab25
-Author: Florian Weimer <fweimer@redhat.com>
-Date:   Wed Sep 10 20:29:15 2014 +0200
-
-    malloc: additional unlink hardening for non-small bins [BZ #17344]
-    
-    Turn two asserts into a conditional call to malloc_printerr.  The
-    memory locations are accessed later anyway, so the performance
-    impact is minor.
-
-diff --git a/malloc/malloc.c b/malloc/malloc.c
-index 6ee3840..6cbe9f3 100644
---- a/malloc/malloc.c
-+++ b/malloc/malloc.c
-@@ -1418,8 +1418,10 @@ typedef struct malloc_chunk *mbinptr;
-         BK->fd = FD;                                                        \
-         if (!in_smallbin_range (P->size)                                    \
-             && __builtin_expect (P->fd_nextsize != NULL, 0)) {                      \
--            assert (P->fd_nextsize->bk_nextsize == P);                              \
--            assert (P->bk_nextsize->fd_nextsize == P);                              \
-+          if (__builtin_expect (P->fd_nextsize->bk_nextsize != P, 0)        \
-+              || __builtin_expect (P->bk_nextsize->fd_nextsize != P, 0))    \
-+            malloc_printerr (check_action,                                  \
-+                             "corrupted double-linked list (not small)", P);\
-             if (FD->fd_nextsize == NULL) {                                  \
-                 if (P->fd_nextsize == P)                                    \
-                   FD->fd_nextsize = FD->bk_nextsize = FD;                   \
-commit a7b872687073decdcc7effc2289877d69058aca9
-Author: Andreas Schwab <schwab@linux-m68k.org>
-Date:   Sat Sep 13 10:10:29 2014 +0200
-
-    Handle zero prefix length in getifaddrs (BZ #17371)
-
-diff --git a/sysdeps/unix/sysv/linux/ifaddrs.c b/sysdeps/unix/sysv/linux/ifaddrs.c
-index 2c04e17..a47b2ed 100644
---- a/sysdeps/unix/sysv/linux/ifaddrs.c
-+++ b/sysdeps/unix/sysv/linux/ifaddrs.c
-@@ -770,20 +770,17 @@ getifaddrs_internal (struct ifaddrs **ifap)
-                 if (cp != NULL)
-                   {
--                    char c;
-                     unsigned int preflen;
--                    if ((max_prefixlen > 0) &&
--                        (ifam->ifa_prefixlen > max_prefixlen))
-+                    if (ifam->ifa_prefixlen > max_prefixlen)
-                       preflen = max_prefixlen;
-                     else
-                       preflen = ifam->ifa_prefixlen;
--                    for (i = 0; i < ((preflen - 1) / 8); i++)
-+                    for (i = 0; i < preflen / 8; i++)
-                       *cp++ = 0xff;
--                    c = 0xff;
--                    c <<= ((128 - preflen) % 8);
--                    *cp = c;
-+                    if (preflen % 8)
-+                      *cp = 0xff << (8 - preflen % 8);
-                   }
-               }
-           }
-commit 545583d664b64ff234b99aca0d85e99c8a55808f
-Author: Siddhesh Poyarekar <siddhesh@redhat.com>
-Date:   Tue Sep 16 14:20:45 2014 +0530
-
-    Fix memory leak in error path of do_ftell_wide (BZ #17370)
-
-diff --git a/libio/wfileops.c b/libio/wfileops.c
-index ebc06e8..c5ec5f7 100644
---- a/libio/wfileops.c
-+++ b/libio/wfileops.c
-@@ -708,7 +708,10 @@ do_ftell_wide (_IO_FILE *fp)
-                sequences must be complete since they are accepted as
-                wchar_t; if not, then that is an error.  */
-             if (__glibc_unlikely (status != __codecvt_ok))
--              return WEOF;
-+              {
-+                free (out);
-+                return WEOF;
-+              }
-             offset += outstop - out;
-             free (out);
-commit 04b76b5aa8b2d1d19066e42dd1a56a38f34e274c
-Author: Andreas Schwab <schwab@suse.de>
-Date:   Thu Oct 30 12:18:48 2014 +0100
-
-    Don't error out writing a multibyte character to an unbuffered stream (bug 17522)
-
-diff --git a/libio/Makefile b/libio/Makefile
-index 56952ce..2742128 100644
---- a/libio/Makefile
-+++ b/libio/Makefile
-@@ -61,7 +61,7 @@ tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc   \
-       bug-memstream1 bug-wmemstream1 \
-       tst-setvbuf1 tst-popen1 tst-fgetwc bug-wsetpos tst-fseek \
-       tst-fwrite-error tst-ftell-partial-wide tst-ftell-active-handler \
--      tst-ftell-append
-+      tst-ftell-append tst-fputws
- ifeq (yes,$(build-shared))
- # Add test-fopenloc only if shared library is enabled since it depends on
- # shared localedata objects.
-diff --git a/libio/tst-fputws.c b/libio/tst-fputws.c
-new file mode 100644
-index 0000000..09f53df
---- /dev/null
-+++ b/libio/tst-fputws.c
-@@ -0,0 +1,39 @@
-+/* Test that we can write a multibyte character to an unbuffered stream.
-+   Copyright (C) 2014 Free Software Foundation, Inc.
-+   This file is part of the GNU C Library.
-+
-+   The GNU C Library is free software; you can redistribute it and/or
-+   modify it under the terms of the GNU Lesser General Public
-+   License as published by the Free Software Foundation; either
-+   version 2.1 of the License, or (at your option) any later version.
-+
-+   The GNU C Library is distributed in the hope that it will be useful,
-+   but WITHOUT ANY WARRANTY; without even the implied warranty of
-+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-+   Lesser General Public License for more details.
-+
-+   You should have received a copy of the GNU Lesser General Public
-+   License along with the GNU C Library; if not, see
-+   <http://www.gnu.org/licenses/>.  */
-+
-+#include <locale.h>
-+#include <stdio.h>
-+#include <wchar.h>
-+
-+static int
-+do_test (void)
-+{
-+  const wchar_t str[] = L"\xbe\n";
-+
-+  setlocale (LC_ALL, "en_US.UTF-8");
-+  setvbuf (stdout, NULL, _IONBF, 0);
-+
-+  if (fputws (str, stdout) < 0)
-+    return 1;
-+
-+  return 0;
-+}
-+
-+#define TEST_FUNCTION do_test ()
-+
-+#include <test-skeleton.c>
-diff --git a/libio/wfileops.c b/libio/wfileops.c
-index c5ec5f7..6a088b1 100644
---- a/libio/wfileops.c
-+++ b/libio/wfileops.c
-@@ -75,17 +75,32 @@ _IO_wdo_write (fp, data, to_do)
-       {
-         enum __codecvt_result result;
-         const wchar_t *new_data;
-+        char mb_buf[MB_LEN_MAX];
-+        char *write_base, *write_ptr, *buf_end;
-+
-+        if (fp->_IO_write_ptr - fp->_IO_write_base < sizeof (mb_buf))
-+          {
-+            /* Make sure we have room for at least one multibyte
-+               character.  */
-+            write_ptr = write_base = mb_buf;
-+            buf_end = mb_buf + sizeof (mb_buf);
-+          }
-+        else
-+          {
-+            write_ptr = fp->_IO_write_ptr;
-+            write_base = fp->_IO_write_base;
-+            buf_end = fp->_IO_buf_end;
-+          }
-         /* Now convert from the internal format into the external buffer.  */
-         result = (*cc->__codecvt_do_out) (cc, &fp->_wide_data->_IO_state,
-                                           data, data + to_do, &new_data,
--                                          fp->_IO_write_ptr,
--                                          fp->_IO_buf_end,
--                                          &fp->_IO_write_ptr);
-+                                          write_ptr,
-+                                          buf_end,
-+                                          &write_ptr);
-         /* Write out what we produced so far.  */
--        if (_IO_new_do_write (fp, fp->_IO_write_base,
--                              fp->_IO_write_ptr - fp->_IO_write_base) == EOF)
-+        if (_IO_new_do_write (fp, write_base, write_ptr - write_base) == EOF)
-           /* Something went wrong.  */
-           return WEOF;
-commit a39208bd7fb76c1b01c127b4c61f9bfd915bfe7c
-Author: Carlos O'Donell <carlos@redhat.com>
-Date:   Wed Nov 19 11:44:12 2014 -0500
-
-    CVE-2014-7817: wordexp fails to honour WRDE_NOCMD.
-    
-    The function wordexp() fails to properly handle the WRDE_NOCMD
-    flag when processing arithmetic inputs in the form of "$((... ``))"
-    where "..." can be anything valid. The backticks in the arithmetic
-    epxression are evaluated by in a shell even if WRDE_NOCMD forbade
-    command substitution. This allows an attacker to attempt to pass
-    dangerous commands via constructs of the above form, and bypass
-    the WRDE_NOCMD flag. This patch fixes this by checking for WRDE_NOCMD
-    in exec_comm(), the only place that can execute a shell. All other
-    checks for WRDE_NOCMD are superfluous and removed.
-    
-    We expand the testsuite and add 3 new regression tests of roughly
-    the same form but with a couple of nested levels.
-    
-    On top of the 3 new tests we add fork validation to the WRDE_NOCMD
-    testing. If any forks are detected during the execution of a wordexp()
-    call with WRDE_NOCMD, the test is marked as failed. This is slightly
-    heuristic since vfork might be used in the future, but it provides a
-    higher level of assurance that no shells were executed as part of
-    command substitution with WRDE_NOCMD in effect. In addition it doesn't
-    require libpthread or libdl, instead we use the public implementation
-    namespace function __register_atfork (already part of the public ABI
-    for libpthread).
-    
-    Tested on x86_64 with no regressions.
-
-diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
-index 4957006..bdd65e4 100644
---- a/posix/wordexp-test.c
-+++ b/posix/wordexp-test.c
-@@ -27,6 +27,25 @@
- #define IFS " \n\t"
-+extern void *__dso_handle __attribute__ ((__weak__, __visibility__ ("hidden")));
-+extern int __register_atfork (void (*) (void), void (*) (void), void (*) (void), void *);
-+
-+static int __app_register_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void))
-+{
-+  return __register_atfork (prepare, parent, child,
-+                          &__dso_handle == NULL ? NULL : __dso_handle);
-+}
-+
-+/* Number of forks seen.  */
-+static int registered_forks;
-+
-+/* For each fork increment the fork count.  */
-+static void
-+register_fork (void)
-+{
-+  registered_forks++;
-+}
-+
- struct test_case_struct
- {
-   int retval;
-@@ -206,6 +225,12 @@ struct test_case_struct
-     { WRDE_SYNTAX, NULL, "$((2+))", 0, 0, { NULL, }, IFS },
-     { WRDE_SYNTAX, NULL, "`", 0, 0, { NULL, }, IFS },
-     { WRDE_SYNTAX, NULL, "$((010+4+))", 0, 0, { NULL }, IFS },
-+    /* Test for CVE-2014-7817. We test 3 combinations of command
-+       substitution inside an arithmetic expression to make sure that
-+       no commands are executed and error is returned.  */
-+    { WRDE_CMDSUB, NULL, "$((`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
-+    { WRDE_CMDSUB, NULL, "$((1+`echo 1`))", WRDE_NOCMD, 0, { NULL, }, IFS },
-+    { WRDE_CMDSUB, NULL, "$((1+$((`echo 1`))))", WRDE_NOCMD, 0, { NULL, }, IFS },
-     { -1, NULL, NULL, 0, 0, { NULL, }, IFS },
-   };
-@@ -258,6 +283,15 @@ main (int argc, char *argv[])
-         return -1;
-     }
-+  /* If we are not allowed to do command substitution, we install
-+     fork handlers to verify that no forks happened.  No forks should
-+     happen at all if command substitution is disabled.  */
-+  if (__app_register_atfork (register_fork, NULL, NULL) != 0)
-+    {
-+      printf ("Failed to register fork handler.\n");
-+      return -1;
-+    }
-+
-   for (test = 0; test_case[test].retval != -1; test++)
-     if (testit (&test_case[test]))
-       ++fail;
-@@ -367,6 +401,9 @@ testit (struct test_case_struct *tc)
-   printf ("Test %d (%s): ", ++tests, tc->words);
-+  if (tc->flags & WRDE_NOCMD)
-+    registered_forks = 0;
-+
-   if (tc->flags & WRDE_APPEND)
-     {
-       /* initial wordexp() call, to be appended to */
-@@ -378,6 +415,13 @@ testit (struct test_case_struct *tc)
-     }
-   retval = wordexp (tc->words, &we, tc->flags);
-+  if ((tc->flags & WRDE_NOCMD)
-+      && (registered_forks > 0))
-+    {
-+        printf ("FAILED fork called for WRDE_NOCMD\n");
-+        return 1;
-+    }
-+
-   if (tc->flags & WRDE_DOOFFS)
-       start_offs = sav_we.we_offs;
-diff --git a/posix/wordexp.c b/posix/wordexp.c
-index b6b65dd..26f3a26 100644
---- a/posix/wordexp.c
-+++ b/posix/wordexp.c
-@@ -893,6 +893,10 @@ exec_comm (char *comm, char **word, size_t *word_length, size_t *max_length,
-   pid_t pid;
-   int noexec = 0;
-+  /* Do nothing if command substitution should not succeed.  */
-+  if (flags & WRDE_NOCMD)
-+    return WRDE_CMDSUB;
-+
-   /* Don't fork() unless necessary */
-   if (!comm || !*comm)
-     return 0;
-@@ -2082,9 +2086,6 @@ parse_dollars (char **word, size_t *word_length, size_t *max_length,
-           }
-       }
--      if (flags & WRDE_NOCMD)
--      return WRDE_CMDSUB;
--
-       (*offset) += 2;
-       return parse_comm (word, word_length, max_length, words, offset, flags,
-                        quoted? NULL : pwordexp, ifs, ifs_white);
-@@ -2196,9 +2197,6 @@ parse_dquote (char **word, size_t *word_length, size_t *max_length,
-         break;
-       case '`':
--        if (flags & WRDE_NOCMD)
--          return WRDE_CMDSUB;
--
-         ++(*offset);
-         error = parse_backtick (word, word_length, max_length, words,
-                                 offset, flags, NULL, NULL, NULL);
-@@ -2357,12 +2355,6 @@ wordexp (const char *words, wordexp_t *pwordexp, int flags)
-       break;
-       case '`':
--      if (flags & WRDE_NOCMD)
--        {
--          error = WRDE_CMDSUB;
--          goto do_error;
--        }
--
-       ++words_offset;
-       error = parse_backtick (&word, &word_length, &max_length, words,
-                               &words_offset, flags, pwordexp, ifs,
index 29a2f9311755de81957d0612ef0331182ea75e98..c0a3e030c23d76672d3692729a85ac6b1c927b21 100644 (file)
@@ -1,12 +1,12 @@
---- glibc-2.10.1/elf/ldd.bash.in       2009-06-08 23:02:27.663745478 +0300
-+++ glibc-2.10.1/elf/ldd.bash.in       2009-06-08 23:04:15.706861781 +0300
+--- glibc-2.21/elf/ldd.bash.in.org     2015-02-06 16:35:42.258090169 +0100
++++ glibc-2.21/elf/ldd.bash.in 2015-02-06 16:35:57.491784092 +0100
 @@ -1,4 +1,4 @@
 -#! @BASH@
-+#! /bin/sh
- # Copyright (C) 1996-2014 Free Software Foundation, Inc.
++#!/bin/sh
+ # Copyright (C) 1996-2015 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
  
-@@ -35,16 +35,16 @@
+@@ -35,16 +35,16 @@ while test $# -gt 0; do
    case "$1" in
    --vers | --versi | --versio | --version)
      echo 'ldd @PKGVERSION@@VERSION@'
@@ -14,7 +14,7 @@
 +    printf "Copyright (C) %s Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- " "2014"
+ " "2015"
 -    printf $"Written by %s and %s.
 +    printf "Written by %s and %s.
  " "Roland McGrath" "Ulrich Drepper"
      result=1
    fi
  done
---- glibc-2.20/elf/sotruss.sh.orig     2015-01-10 09:10:21.870731775 +0100
-+++ glibc-2.20/elf/sotruss.sh  2015-01-10 09:12:10.734060537 +0100
+--- glibc-2.21/elf/sotruss.sh~ 2015-02-06 16:36:52.000000000 +0100
++++ glibc-2.21/elf/sotruss.sh  2015-02-06 16:40:23.484746243 +0100
 @@ -1,4 +1,4 @@
 -#! @BASH@
-+#! /bin/sh
- # Copyright (C) 2011-2014 Free Software Foundation, Inc.
++#!/bin/sh
+ # Copyright (C) 2011-2015 Free Software Foundation, Inc.
  # This file is part of the GNU C Library.
  
-@@ -29,7 +29,7 @@
- lib='@PREFIX@/$LIB/audit/sotruss-lib.so'
- do_help() {
--  echo $"Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...]
-+  echo "Usage: sotruss [OPTION...] [--] EXECUTABLE [EXECUTABLE-OPTION...]
-   -F, --from FROMLIST     Trace calls from objects on FROMLIST
-   -T, --to TOLIST         Trace calls to objects on TOLIST
-@@ -43,28 +43,28 @@
-       --version           Print program version"
-   echo
--  printf $"Mandatory arguments to long options are also mandatory for any corresponding\nshort options.\n"
-+  printf "Mandatory arguments to long options are also mandatory for any corresponding\nshort options.\n"
-   echo
--  printf $"For bug reporting instructions, please see:\\n%s.\\n" \
-+  printf "For bug reporting instructions, please see:\\n%s.\\n" \
-     "@REPORT_BUGS_TO@"
-   exit 0
- }
- do_missing_arg() {
--  printf >&2 $"%s: option requires an argument -- '%s'\n" sotruss "$1"
--  printf >&2 $"Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss
-+  printf >&2 "%s: option requires an argument -- '%s'\n" sotruss "$1"
-+  printf >&2 "Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss
-   exit 1
- }
- do_ambiguous() {
--  printf >&2 $"%s: option is ambiguous; possibilities:"
-+  printf >&2 "%s: option is ambiguous; possibilities:"
-   while test $# -gt 0; do
-     printf >&2 " '%s'" $1
-     shift
-   done
-   printf >&2 "\n"
--  printf >&2 $"Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss
-+  printf >&2 "Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss
-   exit 1
- }
-@@ -72,18 +72,18 @@
+@@ -72,18 +72,18 @@ while test $# -gt 0; do
    case "$1" in
    --v | --ve | --ver | --vers | --versi | --versio | --version)
      echo "sotruss @PKGVERSION@@VERSION@"
 +    printf "Copyright (C) %s Free Software Foundation, Inc.
  This is free software; see the source for copying conditions.  There is NO
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- " "2014"
+ " "2015"
 -    printf $"Written by %s.\n" "Ulrich Drepper"
 +    printf "Written by %s.\n" "Ulrich Drepper"
      exit 0
            [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]
            [--help] [--usage] [--version] [--]
            EXECUTABLE [EXECUTABLE-OPTION...]\n" sotruss
-@@ -131,8 +131,8 @@
-     break
-     ;;
-   -*)
--    printf >&2 $"%s: unrecognized option '%c%s'\n" sotruss '-' ${1#-}
--    printf >&2 $"Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss
-+    printf >&2 "%s: unrecognized option '%c%s'\n" sotruss '-' ${1#-}
-+    printf >&2 "Try \`%s --help' or \`%s --usage' for more information.\n" sotruss sotruss
-     exit 1
-     ;;
-   *)
diff --git a/glibc-origin.patch b/glibc-origin.patch
deleted file mode 100644 (file)
index ce089b4..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From d14e6b09d60d52cc12f0396c3106b14e1bd0fe8f Mon Sep 17 00:00:00 2001
-From: Andreas Schwab <schwab@redhat.com>
-Date: Thu, 9 Dec 2010 15:00:59 +0100
-Subject: [PATCH 1/1] Ignore origin of privileged program
-
----
- ChangeLog       |    5 +++++
- elf/dl-object.c |    3 +++
- 2 files changed, 8 insertions(+), 0 deletions(-)
-
-diff --git a/elf/dl-object.c b/elf/dl-object.c
-index 22a1635..7674d49 100644
---- a/elf/dl-object.c
-+++ b/elf/dl-object.c
-@@ -214,6 +214,9 @@ _dl_new_object (char *realname, const char *libname, int type,
-     out:
-       new->l_origin = origin;
-     }
-+  else if (INTUSE(__libc_enable_secure) && type == lt_executable)
-+    /* The origin of a privileged program cannot be trusted.  */
-+    new->l_origin = (char *) -1;
-   return new;
- }
--- 
-1.7.2
index 57977c9ec9ff79e93dbf3086cf41dc686277d423..52c602d7b016639dcd7899622df93d0f0baea942 100644 (file)
@@ -27,7 +27,7 @@
 %undefine      with_memusage
 %endif
 
-%define                core_version    2.20
+%define                core_version    2.21
 %define                llh_version     7:2.6.32.1-1
 
 Summary:       GNU libc
@@ -41,12 +41,12 @@ Summary(tr.UTF-8):  GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       %{core_version}
-Release:       8
+Release:       0.1
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
 Source0:       http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
-# Source0-md5: 948a6e06419a01bd51e97206861595b0
+# Source0-md5: 9cb398828e8f84f57d1f7d5588cf40cd
 Source2:       nscd.init
 Source3:       nscd.sysconfig
 Source4:       nscd.logrotate
@@ -57,7 +57,6 @@ Source6:      %{name}-localedb-gen
 Source7:       %{name}-LD-path.c
 Source8:       nscd.upstart
 Source9:       nscd.tmpfiles
-Patch0:                %{name}-git.patch
 # against GNU TP (libc domain)
 #Patch1:               %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
@@ -70,7 +69,6 @@ Patch8:               %{name}-missing-nls.patch
 Patch9:                %{name}-nss_include_dirs.patch
 Patch10:       %{name}-info.patch
 Patch11:       %{name}-autoconf.patch
-Patch12:       %{name}-format.patch
 
 Patch14:       %{name}-sparc-errno_fix.patch
 Patch15:       %{name}-new-charsets.patch
@@ -89,8 +87,7 @@ Patch27:      %{name}-locale-C.patch.xz
 Patch28:       %{name}-locale-C-pld.patch
 Patch29:       %{name}-arm-alignment-fix.patch
 Patch30:       glibc-rh1124987.patch
-Patch31:       %{name}-origin.patch
-Patch32:       %{name}-Os-fail-workaround.patch
+
 Patch33:       fix-broken-echo.patch
 Patch38:       1055_all_glibc-resolv-dynamic.patch
 URL:           http://www.gnu.org/software/libc/
@@ -104,7 +101,7 @@ BuildRequires:      binutils >= 2:2.15.90.0.3
 %endif
 %{!?with_cross:BuildRequires:  dietlibc-static}
 BuildRequires: gawk
-BuildRequires: gcc >= 6:4.3
+BuildRequires: gcc >= 6:4.6
 %{?with_memusage:BuildRequires:        gd-devel >= 2.0.1}
 BuildRequires: gettext-tools >= 0.10.36
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
@@ -957,7 +954,6 @@ echo "Minimal supported kernel is 2.6.32" >&2
 exit 1
 %endif
 
-%patch0 -p1
 %patch2 -p1
 %patch3 -p0
 %{!?with_bash_nls:%patch4 -p1}
@@ -969,12 +965,12 @@ exit 1
 
 %patch10 -p1
 %patch11 -p1
-%patch12 -p1
 
 %patch14 -p0
 %patch15 -p1
 %patch16 -p1
-%patch17 -p1
+# TODO
+#%patch17 -p1
 %patch18 -p1
 %patch19 -p1
 %patch20 -p1
@@ -986,8 +982,7 @@ exit 1
 %patch28 -p1
 %patch29 -p1
 %patch30 -p1
-%patch31 -p1
-%patch32 -p1
+
 %patch33 -p1
 
 %patch38 -p1
@@ -1134,7 +1129,7 @@ install %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/nscd.conf
 rm -rf documentation
 install -d documentation
 
-for f in ChangeLog.old DESIGN-{barrier,condvar,rwlock,sem}.txt TODO{,-kernel,-testing}; do
+for f in ChangeLog.old DESIGN-{barrier,condvar,rwlock,systemtap-probes}.txt TODO{,-kernel,-testing}; do
        cp -af nptl/$f documentation/$f.nptl
 done
 cp -af crypt/README.ufc-crypt ChangeLog* documentation
This page took 0.088782 seconds and 4 git commands to generate.