Hello community,

here is the log from the commit of package glibc for openSUSE:Factory checked 
in at 2015-11-22 10:57:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibc (Old)
 and      /work/SRC/openSUSE:Factory/.glibc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "glibc"

Changes:
--------
--- /work/SRC/openSUSE:Factory/glibc/glibc-testsuite.changes    2015-10-14 
16:35:10.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.glibc.new/glibc-testsuite.changes       
2015-11-22 10:57:22.000000000 +0100
@@ -1,0 +2,18 @@
+Wed Nov 18 15:09:30 UTC 2015 - sch...@suse.de
+
+- resolv-mem-leak.patch: Fix resource leak in resolver (BZ #19257)
+- tzset-tzname.patch: Force rereading TZDEFRULES after it was used to set
+  DST rules only (BZ #19253)
+
+-------------------------------------------------------------------
+Mon Oct 26 15:22:53 UTC 2015 - sch...@suse.de
+
+- glibc-2.3.90-noversion.diff: use stat64
+
+-------------------------------------------------------------------
+Mon Oct 19 12:28:58 UTC 2015 - sch...@suse.de
+
+- ld-pointer-guard.patch: Always enable pointer guard (bsc#950944, BZ
+  #18928)
+
+-------------------------------------------------------------------
glibc-utils.changes: same change
glibc.changes: same change

New:
----
  ld-pointer-guard.patch
  resolv-mem-leak.patch
  tzset-tzname.patch

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

Other differences:
------------------
++++++ glibc-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.H3DpWX/_old  2015-11-22 10:57:26.000000000 +0100
+++ /var/tmp/diff_new_pack.H3DpWX/_new  2015-11-22 10:57:26.000000000 +0100
@@ -240,6 +240,8 @@
 Patch1003:      opendir-o-directory-check.patch
 # PATCH-FIX-UPSTREAM strcoll: Remove incorrect STRDIFF-based optimization (BZ 
#18589)
 Patch1004:      strcoll-remove-strdiff-opt.patch
+# PATCH-FIX-UPSTREAM Always enable pointer guard (BZ #18928)
+Patch1005:      ld-pointer-guard.patch
 
 ### 
 # Patches awaiting upstream approval
@@ -264,6 +266,10 @@
 Patch2010:      
0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch
 # PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ 
#18830)
 Patch2011:      iconv-reset-input-buffer.patch
+# PATCH-FIX-UPSTREAM Force rereading TZDEFRULES after it was used to set DST 
rules only (BZ #19253)
+Patch2012:      tzset-tzname.patch
+# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
+Patch2013:      resolv-mem-leak.patch
 
 # Non-glibc patches
 # PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -468,6 +474,7 @@
 %patch1002 -p1
 %patch1003 -p1
 %patch1004 -p1
+%patch1005 -p1
 
 %patch2000 -p1
 %patch2002 -p1
@@ -479,6 +486,8 @@
 %patch2009 -p1
 %patch2010 -p1
 %patch2011 -p1
+%patch2012 -p1
+%patch2013 -p1
 
 %patch3000
 

glibc-utils.spec: same change
++++++ glibc.spec ++++++
--- /var/tmp/diff_new_pack.H3DpWX/_old  2015-11-22 10:57:26.000000000 +0100
+++ /var/tmp/diff_new_pack.H3DpWX/_new  2015-11-22 10:57:26.000000000 +0100
@@ -240,6 +240,8 @@
 Patch1003:      opendir-o-directory-check.patch
 # PATCH-FIX-UPSTREAM strcoll: Remove incorrect STRDIFF-based optimization (BZ 
#18589)
 Patch1004:      strcoll-remove-strdiff-opt.patch
+# PATCH-FIX-UPSTREAM Always enable pointer guard (BZ #18928)
+Patch1005:      ld-pointer-guard.patch
 
 ### 
 # Patches awaiting upstream approval
@@ -264,6 +266,10 @@
 Patch2010:      
0001-powerpc-Fix-a-race-condition-when-eliding-a-lock-20150730.patch
 # PATCH-FIX-UPSTREAM Fix iconv buffer handling with IGNORE error handler (BZ 
#18830)
 Patch2011:      iconv-reset-input-buffer.patch
+# PATCH-FIX-UPSTREAM Force rereading TZDEFRULES after it was used to set DST 
rules only (BZ #19253)
+Patch2012:      tzset-tzname.patch
+# PATCH-FIX-UPSTREAM Fix resource leak in resolver (BZ #19257)
+Patch2013:      resolv-mem-leak.patch
 
 # Non-glibc patches
 # PATCH-FIX-OPENSUSE Remove debianisms from manpages
@@ -468,6 +474,7 @@
 %patch1002 -p1
 %patch1003 -p1
 %patch1004 -p1
+%patch1005 -p1
 
 %patch2000 -p1
 %patch2002 -p1
@@ -479,6 +486,8 @@
 %patch2009 -p1
 %patch2010 -p1
 %patch2011 -p1
+%patch2012 -p1
+%patch2013 -p1
 
 %patch3000
 




++++++ glibc-2.3.90-noversion.diff ++++++
--- /var/tmp/diff_new_pack.H3DpWX/_old  2015-11-22 10:57:26.000000000 +0100
+++ /var/tmp/diff_new_pack.H3DpWX/_new  2015-11-22 10:57:26.000000000 +0100
@@ -24,7 +24,7 @@
 +      && (main_map->l_info[DT_DEBUG] != 0
 +          || !(GLRO(dl_debug_mask) & DL_DEBUG_PRELINK)))
 +    {
-+      struct stat test_st;
++      struct stat64 test_st;
 +      int test_fd;
 +      bool can_load;
 +
@@ -36,7 +36,7 @@
 +      can_load = false;
 +      else
 +      {
-+        if (__fxstat (_STAT_VER, test_fd, &test_st) < 0
++        if (__fxstat64 (_STAT_VER, test_fd, &test_st) < 0
 +            || test_st.st_size == 0)
 +          can_load = false;
 +        __close(test_fd);


++++++ ld-pointer-guard.patch ++++++
2015-10-15  Florian Weimer  <fwei...@redhat.com>

        [BZ #18928]
        * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Remove
        _dl_pointer_guard member.
        * elf/rtld.c (_rtld_global_ro): Remove _dl_pointer_guard
        initializer.
        (security_init): Always set up pointer guard.
        (process_envvars): Do not process LD_POINTER_GUARD.

Index: glibc-2.22/elf/rtld.c
===================================================================
--- glibc-2.22.orig/elf/rtld.c
+++ glibc-2.22/elf/rtld.c
@@ -162,7 +162,6 @@ struct rtld_global_ro _rtld_global_ro at
     ._dl_hwcap_mask = HWCAP_IMPORTANT,
     ._dl_lazy = 1,
     ._dl_fpu_control = _FPU_DEFAULT,
-    ._dl_pointer_guard = 1,
     ._dl_pagesize = EXEC_PAGESIZE,
     ._dl_inhibit_cache = 0,
 
@@ -709,15 +708,12 @@ security_init (void)
 #endif
 
   /* Set up the pointer guard as well, if necessary.  */
-  if (GLRO(dl_pointer_guard))
-    {
-      uintptr_t pointer_chk_guard = _dl_setup_pointer_guard (_dl_random,
-                                                            stack_chk_guard);
+  uintptr_t pointer_chk_guard
+    = _dl_setup_pointer_guard (_dl_random, stack_chk_guard);
 #ifdef THREAD_SET_POINTER_GUARD
-      THREAD_SET_POINTER_GUARD (pointer_chk_guard);
+  THREAD_SET_POINTER_GUARD (pointer_chk_guard);
 #endif
-      __pointer_chk_guard_local = pointer_chk_guard;
-    }
+  __pointer_chk_guard_local = pointer_chk_guard;
 
   /* We do not need the _dl_random value anymore.  The less
      information we leave behind, the better, so clear the
@@ -2517,9 +2513,6 @@ process_envvars (enum mode *modep)
              GLRO(dl_use_load_bias) = envline[14] == '1' ? -1 : 0;
              break;
            }
-
-         if (memcmp (envline, "POINTER_GUARD", 13) == 0)
-           GLRO(dl_pointer_guard) = envline[14] != '0';
          break;
 
        case 14:
Index: glibc-2.22/sysdeps/generic/ldsodefs.h
===================================================================
--- glibc-2.22.orig/sysdeps/generic/ldsodefs.h
+++ glibc-2.22/sysdeps/generic/ldsodefs.h
@@ -592,9 +592,6 @@ struct rtld_global_ro
   /* List of auditing interfaces.  */
   struct audit_ifaces *_dl_audit;
   unsigned int _dl_naudit;
-
-  /* 0 if internal pointer values should not be guarded, 1 if they should.  */
-  EXTERN int _dl_pointer_guard;
 };
 # define __rtld_global_attribute__
 # if IS_IN (rtld)
++++++ resolv-mem-leak.patch ++++++
Fix resource leak in resolver (bug 19257)

        * resolv/res_init.c (__res_iclose): Use statp->nscount instead of
        statp->_u._ext.nscount as loop count.
---
 resolv/res_init.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: glibc-2.22/resolv/res_init.c
===================================================================
--- glibc-2.22.orig/resolv/res_init.c
+++ glibc-2.22/resolv/res_init.c
@@ -593,7 +593,7 @@ __res_iclose(res_state statp, bool free_
                statp->_vcsock = -1;
                statp->_flags &= ~(RES_F_VC | RES_F_CONN);
        }
-       for (ns = 0; ns < statp->_u._ext.nscount; ns++)
+       for (ns = 0; ns < statp->nscount; ns++)
                if (statp->_u._ext.nsaddrs[ns]) {
                        if (statp->_u._ext.nssocks[ns] != -1) {
                                
close_not_cancel_no_status(statp->_u._ext.nssocks[ns]);
++++++ tzset-tzname.patch ++++++
Force rereading TZDEFRULES after it was used to set DST rules only (bug #19253)

If the TZDEFRULES file was used to set the DST rules when $TZ didn't
provide any we need to make sure that the next time it is used we
recompute everything as __tzfile_default changes some setting from what is
provided by TZDEFRULES.

        [BZ #19253]
        * time/tzfile.c (__tzfile_default): Invalidate tzfile attribute
        cache when TZDEFRULES was used.
        * time/tst-tzname.c: New file.
        * time/Makefile (test): Add tst-tzname.
        (tst-tzname-ENV, CFLAGS-tst-tzname.c): Define.
        * timezone/Makefile (test-zones): Add $(posixrules-file).
        ($(testdata)/$(posixrules-file)): New rule.

Index: glibc-2.22/time/Makefile
===================================================================
--- glibc-2.22.orig/time/Makefile
+++ glibc-2.22/time/Makefile
@@ -37,7 +37,8 @@ aux :=            era alt_digit lc-time-cleanup
 tests  := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \
           tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime \
           tst-mktime3 tst-strptime2 bug-asctime bug-asctime_r bug-mktime1 \
-          tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime
+          tst-strptime3 bug-getdate1 tst-strptime-whitespace tst-ftime \
+          tst-tzname
 
 include ../Rules
 
@@ -55,4 +56,7 @@ CFLAGS-test_time.c = -Wno-format
 tst-getdate-ENV= DATEMSK=datemsk TZDIR=${common-objpfx}timezone/testdata
 test_time-ARGS= EST5EDT CST
 
+tst-tzname-ENV = TZDIR=${common-objpfx}timezone/testdata
+CFLAGS-tst-tzname.c = -DTZDEFRULES='"$(posixrules-file)"'
+
 bug-getdate1-ARGS = ${objpfx}bug-getdate1-fmt
Index: glibc-2.22/time/tst-tzname.c
===================================================================
--- /dev/null
+++ glibc-2.22/time/tst-tzname.c
@@ -0,0 +1,50 @@
+/* Test that tzset sets tzname correctly (BZ #19253).
+   Copyright (C) 2015 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 <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+
+static int
+do_test (void)
+{
+  int result = 0;
+
+  setenv ("TZ", TZDEFRULES, 1);
+  tzset ();
+  const char *stdtz = strdup (tzname[0]);
+  setenv ("TZ", "STD-1DST", 1);
+  tzset ();
+  if (strcmp (tzname[0], "STD") != 0)
+    {
+      printf ("FAIL: TZ=STD-1DST, tzname[0] = %s\n", tzname[0]);
+      result = 1;
+    }
+  setenv ("TZ", TZDEFRULES, 1);
+  tzset ();
+  if (strcmp (tzname[0], stdtz) != 0)
+    {
+      printf ("FAIL: TZ=%s, tzname[0] = %s\n", TZDEFRULES, tzname[0]);
+      result = 1;
+    }
+  return result;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
Index: glibc-2.22/time/tzfile.c
===================================================================
--- glibc-2.22.orig/time/tzfile.c
+++ glibc-2.22/time/tzfile.c
@@ -628,6 +628,12 @@ __tzfile_default (const char *std, const
   __timezone = -types[0].offset;
 
   compute_tzname_max (stdlen + dstlen);
+
+  /* Invalidate the tzfile attribute cache to force rereading
+     TZDEFRULES the next time it is used.  */
+  tzfile_dev = 0;
+  tzfile_ino = 0;
+  tzfile_mtime = 0;
 }
 
 void
Index: glibc-2.22/timezone/Makefile
===================================================================
--- glibc-2.22.orig/timezone/Makefile
+++ glibc-2.22/timezone/Makefile
@@ -49,7 +49,8 @@ ifeq ($(run-built-tests),yes)
 # List zones generated by separate commands running zic on the host.
 # Each such zic run counts as a separate test.
 test-zones := America/New_York Etc/UTC UTC Europe/Berlin \
-             Australia/Melbourne America/Sao_Paulo Asia/Tokyo
+             Australia/Melbourne America/Sao_Paulo Asia/Tokyo \
+             $(posixrules-file)
 tests-special += $(addprefix $(testdata)/, $(test-zones))
 endif
 
@@ -101,6 +102,8 @@ zic-deps = $(objpfx)zic $(leapseconds) y
 
 $(testdata)/America/New_York: northamerica $(zic-deps)
        $(build-testdata)
+$(testdata)/$(posixrules-file): $(testdata)/America/New_York
+       $(make-link); $(evaluate-test)
 $(testdata)/Etc/UTC: etcetera $(zic-deps)
        $(build-testdata)
 # Use a pattern rule to indicate the command produces both targets at once.

Reply via email to