Browse code

glibc: version update to 2.26

* fix compilation issues for:
gcc, iproute2, libselinux, libtirpc, likewise-open, mesos, nfs-utils,
python-numpy, strace, strongswan, systemd, tcp_wrappers.

* toybox: fix use after free

Change-Id: If5f253fe2c2b79b4a8607825e636cf4522b98b88
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/3397
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>

Alexey Makhalov authored on 2017/08/03 07:44:30
Showing 17 changed files
... ...
@@ -2,7 +2,7 @@
2 2
 Summary:        Contains the GNU compiler collection
3 3
 Name:           gcc
4 4
 Version:        6.3.0
5
-Release:        2%{?dist}
5
+Release:        3%{?dist}
6 6
 License:        GPLv2+
7 7
 URL:            http://gcc.gnu.org
8 8
 Group:          Development/Tools
... ...
@@ -93,6 +93,22 @@ sed -i '/^NO_PIE_CFLAGS = /s/@NO_PIE_CFLAGS@//' gcc/Makefile.in
93 93
 
94 94
 install -vdm 755 ../gcc-build
95 95
 %build
96
+
97
+# Fix compilation issue for glibc-2.26.
98
+# TODO: remove these lines after gcc update to 7.2+
99
+#
100
+# 1. "typedef struct ucontext ucontext_t" was renamed to
101
+#    "typedef struct ucontext_t ucontext_t"
102
+sed -i 's/struct ucontext/ucontext_t/g' libgcc/config/i386/linux-unwind.h
103
+# 2. struct sigaltstack removed
104
+sed -i 's/struct sigaltstack/void/g' libsanitizer/sanitizer_common/sanitizer_linux.cc
105
+sed -i '/struct sigaltstack;/d' libsanitizer/sanitizer_common/sanitizer_linux.h
106
+sed -i 's/struct sigaltstack/void/g' libsanitizer/sanitizer_common/sanitizer_linux.h
107
+sed -i 's/struct sigaltstack/stack_t/g' libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
108
+sed -i 's/__res_state/struct __res_state/g' libsanitizer/tsan/tsan_platform_linux.cc
109
+
110
+export glibcxx_cv_c99_math_cxx98=yes glibcxx_cv_c99_math_cxx11=yes
111
+
96 112
 cd ../gcc-build
97 113
 SED=sed \
98 114
 ../%{name}-%{version}/configure \
... ...
@@ -244,6 +260,8 @@ make %{?_smp_mflags} check-gcc
244 244
 %endif
245 245
 
246 246
 %changelog
247
+*   Tue Aug 15 2017 Alexey Makhalov <amakhalov@vmware.com> 6.3.0-3
248
+-   Fix compilation issue for glibc-2.26
247 249
 *   Tue Aug 15 2017 Alexey Makhalov <amakhalov@vmware.com> 6.3.0-2
248 250
 -   Improve make check
249 251
 *   Thu Mar 9 2017 Alexey Makhalov <amakhalov@vmware.com> 6.3.0-1
250 252
deleted file mode 100644
... ...
@@ -1,344 +0,0 @@
1
-From f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d Mon Sep 17 00:00:00 2001
2
-From: Florian Weimer <fweimer@redhat.com>
3
-Date: Mon, 19 Jun 2017 17:09:55 +0200
4
-Subject: [PATCH 1/1] CVE-2017-1000366: Ignore LD_LIBRARY_PATH for AT_SECURE=1
5
- programs [BZ #21624]
6
-
7
-LD_LIBRARY_PATH can only be used to reorder system search paths, which
8
-is not useful functionality.
9
-
10
-This makes an exploitable unbounded alloca in _dl_init_paths unreachable
11
-for AT_SECURE=1 programs.
12
- elf/rtld.c | 3 ++-
13
- 1 files changed, 2 insertions(+), 1 deletion(-)
14
-
15
-diff --git a/elf/rtld.c b/elf/rtld.c
16
-index 2446a87..2269dbe 100644
17
-+++ b/elf/rtld.c
18
-@@ -2422,7 +2422,8 @@ process_envvars (enum mode *modep)
19
- 
20
- 	case 12:
21
- 	  /* The library search path.  */
22
--	  if (memcmp (envline, "LIBRARY_PATH", 12) == 0)
23
-+	  if (!__libc_enable_secure
24
-+	      && memcmp (envline, "LIBRARY_PATH", 12) == 0)
25
- 	    {
26
- 	      library_path = &envline[13];
27
- 	      break;
28
-From 6d0ba622891bed9d8394eef1935add53003b12e8 Mon Sep 17 00:00:00 2001
29
-From: Florian Weimer <fweimer@redhat.com>
30
-Date: Mon, 19 Jun 2017 22:31:04 +0200
31
-Subject: [PATCH] ld.so: Reject overly long LD_PRELOAD path elements
32
-
33
- elf/rtld.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++------------
34
- 1 files changed, 73 insertions(+), 16 deletions(-)
35
-
36
-diff --git a/elf/rtld.c b/elf/rtld.c
37
-index 2269dbe..86ae20c 100644
38
-+++ b/elf/rtld.c
39
-@@ -99,6 +99,35 @@ uintptr_t __pointer_chk_guard_local
40
- strong_alias (__pointer_chk_guard_local, __pointer_chk_guard)
41
- #endif
42
- 
43
-+/* Length limits for names and paths, to protect the dynamic linker,
44
-+   particularly when __libc_enable_secure is active.  */
45
-+#ifdef NAME_MAX
46
-+# define SECURE_NAME_LIMIT NAME_MAX
47
-+#else
48
-+# define SECURE_NAME_LIMIT 255
49
-+#endif
50
-+#ifdef PATH_MAX
51
-+# define SECURE_PATH_LIMIT PATH_MAX
52
-+#else
53
-+# define SECURE_PATH_LIMIT 1024
54
-+#endif
55
-+
56
-+/* Check that AT_SECURE=0, or that the passed name does not contain
57
-+   directories and is not overly long.  Reject empty names
58
-+   unconditionally.  */
59
-+static bool
60
-+dso_name_valid_for_suid (const char *p)
61
-+{
62
-+  if (__glibc_unlikely (__libc_enable_secure))
63
-+    {
64
-+      /* Ignore pathnames with directories for AT_SECURE=1
65
-+	 programs, and also skip overlong names.  */
66
-+      size_t len = strlen (p);
67
-+      if (len >= SECURE_NAME_LIMIT || memchr (p, '/', len) != NULL)
68
-+	return false;
69
-+    }
70
-+  return *p != '\0';
71
-+}
72
- 
73
- /* List of auditing DSOs.  */
74
- static struct audit_list
75
-@@ -718,6 +747,42 @@ static const char *preloadlist attribute_relro;
76
- /* Nonzero if information about versions has to be printed.  */
77
- static int version_info attribute_relro;
78
- 
79
-+/* The LD_PRELOAD environment variable gives list of libraries
80
-+   separated by white space or colons that are loaded before the
81
-+   executable's dependencies and prepended to the global scope list.
82
-+   (If the binary is running setuid all elements containing a '/' are
83
-+   ignored since it is insecure.)  Return the number of preloads
84
-+   performed.  */
85
-+unsigned int
86
-+handle_ld_preload (const char *preloadlist, struct link_map *main_map)
87
-+{
88
-+  unsigned int npreloads = 0;
89
-+  const char *p = preloadlist;
90
-+  char fname[SECURE_PATH_LIMIT];
91
-+
92
-+  while (*p != '\0')
93
-+    {
94
-+      /* Split preload list at space/colon.  */
95
-+      size_t len = strcspn (p, " :");
96
-+      if (len > 0 && len < sizeof (fname))
97
-+	{
98
-+	  memcpy (fname, p, len);
99
-+	  fname[len] = '\0';
100
-+	}
101
-+      else
102
-+	fname[0] = '\0';
103
-+
104
-+      /* Skip over the substring and the following delimiter.  */
105
-+      p += len;
106
-+      if (*p != '\0')
107
-+	++p;
108
-+
109
-+      if (dso_name_valid_for_suid (fname))
110
-+	npreloads += do_preload (fname, main_map, "LD_PRELOAD");
111
-+    }
112
-+  return npreloads;
113
-+}
114
-+
115
- static void
116
- dl_main (const ElfW(Phdr) *phdr,
117
- 	 ElfW(Word) phnum,
118
-@@ -1464,23 +1529,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
119
- 
120
-   if (__glibc_unlikely (preloadlist != NULL))
121
-     {
122
--      /* The LD_PRELOAD environment variable gives list of libraries
123
--	 separated by white space or colons that are loaded before the
124
--	 executable's dependencies and prepended to the global scope
125
--	 list.  If the binary is running setuid all elements
126
--	 containing a '/' are ignored since it is insecure.  */
127
--      char *list = strdupa (preloadlist);
128
--      char *p;
129
--
130
-       HP_TIMING_NOW (start);
131
--
132
--      /* Prevent optimizing strsep.  Speed is not important here.  */
133
--      while ((p = (strsep) (&list, " :")) != NULL)
134
--	if (p[0] != '\0'
135
--	    && (__builtin_expect (! __libc_enable_secure, 1)
136
--		|| strchr (p, '/') == NULL))
137
--	  npreloads += do_preload (p, main_map, "LD_PRELOAD");
138
--
139
-+      npreloads += handle_ld_preload (preloadlist, main_map);
140
-       HP_TIMING_NOW (stop);
141
-       HP_TIMING_DIFF (diff, start, stop);
142
-       HP_TIMING_ACCUM_NT (load_time, diff);
143
-From 81b82fb966ffbd94353f793ad17116c6088dedd9 Mon Sep 17 00:00:00 2001
144
-From: Florian Weimer <fweimer@redhat.com>
145
-Date: Mon, 19 Jun 2017 22:32:12 +0200
146
-Subject: [PATCH] ld.so: Reject overly long LD_AUDIT path elements
147
-
148
-Also only process the last LD_AUDIT entry.
149
- elf/rtld.c | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------
150
- 1 files changed, 106 insertions(+), 15 deletions(-)
151
-
152
-diff --git a/elf/rtld.c b/elf/rtld.c
153
-index 86ae20c..65647fb 100644
154
-+++ b/elf/rtld.c
155
-@@ -129,13 +129,91 @@ dso_name_valid_for_suid (const char *p)
156
-   return *p != '\0';
157
- }
158
- 
159
--/* List of auditing DSOs.  */
160
-+/* LD_AUDIT variable contents.  Must be processed before the
161
-+   audit_list below.  */
162
-+const char *audit_list_string;
163
-+
164
-+/* Cyclic list of auditing DSOs.  audit_list->next is the first
165
-+   element.  */
166
- static struct audit_list
167
- {
168
-   const char *name;
169
-   struct audit_list *next;
170
- } *audit_list;
171
- 
172
-+/* Iterator for audit_list_string followed by audit_list.  */
173
-+struct audit_list_iter
174
-+{
175
-+  /* Tail of audit_list_string still needing processing, or NULL.  */
176
-+  const char *audit_list_tail;
177
-+
178
-+  /* The list element returned in the previous iteration.  NULL before
179
-+     the first element.  */
180
-+  struct audit_list *previous;
181
-+
182
-+  /* Scratch buffer for returning a name which is part of
183
-+     audit_list_string.  */
184
-+  char fname[SECURE_NAME_LIMIT];
185
-+};
186
-+
187
-+/* Initialize an audit list iterator.  */
188
-+static void
189
-+audit_list_iter_init (struct audit_list_iter *iter)
190
-+{
191
-+  iter->audit_list_tail = audit_list_string;
192
-+  iter->previous = NULL;
193
-+}
194
-+
195
-+/* Iterate through both audit_list_string and audit_list.  */
196
-+static const char *
197
-+audit_list_iter_next (struct audit_list_iter *iter)
198
-+{
199
-+  if (iter->audit_list_tail != NULL)
200
-+    {
201
-+      /* First iterate over audit_list_string.  */
202
-+      while (*iter->audit_list_tail != '\0')
203
-+	{
204
-+	  /* Split audit list at colon.  */
205
-+	  size_t len = strcspn (iter->audit_list_tail, ":");
206
-+	  if (len > 0 && len < sizeof (iter->fname))
207
-+	    {
208
-+	      memcpy (iter->fname, iter->audit_list_tail, len);
209
-+	      iter->fname[len] = '\0';
210
-+	    }
211
-+	  else
212
-+	    /* Do not return this name to the caller.  */
213
-+	    iter->fname[0] = '\0';
214
-+
215
-+	  /* Skip over the substring and the following delimiter.  */
216
-+	  iter->audit_list_tail += len;
217
-+	  if (*iter->audit_list_tail == ':')
218
-+	    ++iter->audit_list_tail;
219
-+
220
-+	  /* If the name is valid, return it.  */
221
-+	  if (dso_name_valid_for_suid (iter->fname))
222
-+	    return iter->fname;
223
-+	  /* Otherwise, wrap around and try the next name.  */
224
-+	}
225
-+      /* Fall through to the procesing of audit_list.  */
226
-+    }
227
-+
228
-+  if (iter->previous == NULL)
229
-+    {
230
-+      if (audit_list == NULL)
231
-+	/* No pre-parsed audit list.  */
232
-+	return NULL;
233
-+      /* Start of audit list.  The first list element is at
234
-+	 audit_list->next (cyclic list).  */
235
-+      iter->previous = audit_list->next;
236
-+      return iter->previous->name;
237
-+    }
238
-+  if (iter->previous == audit_list)
239
-+    /* Cyclic list wrap-around.  */
240
-+    return NULL;
241
-+  iter->previous = iter->previous->next;
242
-+  return iter->previous->name;
243
-+}
244
-+
245
- #ifndef HAVE_INLINED_SYSCALLS
246
- /* Set nonzero during loading and initialization of executable and
247
-    libraries, cleared before the executable's entry point runs.  This
248
-@@ -1305,11 +1383,13 @@ of this helper program; chances are you did not intend to run this program.\n\
249
-     GL(dl_rtld_map).l_tls_modid = _dl_next_tls_modid ();
250
- 
251
-   /* If we have auditing DSOs to load, do it now.  */
252
--  if (__glibc_unlikely (audit_list != NULL))
253
-+  bool need_security_init = true;
254
-+  if (__glibc_unlikely (audit_list != NULL)
255
-+      || __glibc_unlikely (audit_list_string != NULL))
256
-     {
257
--      /* Iterate over all entries in the list.  The order is important.  */
258
-       struct audit_ifaces *last_audit = NULL;
259
--      struct audit_list *al = audit_list->next;
260
-+      struct audit_list_iter al_iter;
261
-+      audit_list_iter_init (&al_iter);
262
- 
263
-       /* Since we start using the auditing DSOs right away we need to
264
- 	 initialize the data structures now.  */
265
-@@ -1320,9 +1400,14 @@ of this helper program; chances are you did not intend to run this program.\n\
266
- 	 use different values (especially the pointer guard) and will
267
- 	 fail later on.  */
268
-       security_init ();
269
-+      need_security_init = false;
270
- 
271
--      do
272
-+      while (true)
273
- 	{
274
-+	  const char *name = audit_list_iter_next (&al_iter);
275
-+	  if (name == NULL)
276
-+	    break;
277
-+
278
- 	  int tls_idx = GL(dl_tls_max_dtv_idx);
279
- 
280
- 	  /* Now it is time to determine the layout of the static TLS
281
-@@ -1331,7 +1416,7 @@ of this helper program; chances are you did not intend to run this program.\n\
282
- 	     no DF_STATIC_TLS bit is set.  The reason is that we know
283
- 	     glibc will use the static model.  */
284
- 	  struct dlmopen_args dlmargs;
285
--	  dlmargs.fname = al->name;
286
-+	  dlmargs.fname = name;
287
- 	  dlmargs.map = NULL;
288
- 
289
- 	  const char *objname;
290
-@@ -1344,7 +1429,7 @@ of this helper program; chances are you did not intend to run this program.\n\
291
- 	    not_loaded:
292
- 	      _dl_error_printf ("\
293
- ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
294
--				al->name, err_str);
295
-+				name, err_str);
296
- 	      if (malloced)
297
- 		free ((char *) err_str);
298
- 	    }
299
-@@ -1448,10 +1533,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
300
- 		  goto not_loaded;
301
- 		}
302
- 	    }
303
--
304
--	  al = al->next;
305
- 	}
306
--      while (al != audit_list->next);
307
- 
308
-       /* If we have any auditing modules, announce that we already
309
- 	 have two objects loaded.  */
310
-@@ -1715,7 +1797,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
311
-   if (tcbp == NULL)
312
-     tcbp = init_tls ();
313
- 
314
--  if (__glibc_likely (audit_list == NULL))
315
-+  if (__glibc_likely (need_security_init))
316
-     /* Initialize security features.  But only if we have not done it
317
-        earlier.  */
318
-     security_init ();
319
-@@ -2346,9 +2428,7 @@ process_dl_audit (char *str)
320
-   char *p;
321
- 
322
-   while ((p = (strsep) (&str, ":")) != NULL)
323
--    if (p[0] != '\0'
324
--	&& (__builtin_expect (! __libc_enable_secure, 1)
325
--	    || strchr (p, '/') == NULL))
326
-+    if (dso_name_valid_for_suid (p))
327
-       {
328
- 	/* This is using the local malloc, not the system malloc.  The
329
- 	   memory can never be freed.  */
330
-@@ -2412,7 +2492,7 @@ process_envvars (enum mode *modep)
331
- 	      break;
332
- 	    }
333
- 	  if (memcmp (envline, "AUDIT", 5) == 0)
334
--	    process_dl_audit (&envline[6]);
335
-+	    audit_list_string = &envline[6];
336
- 	  break;
337
- 
338
- 	case 7:
... ...
@@ -3,20 +3,19 @@
3 3
 
4 4
 Summary:	Main C library
5 5
 Name:		glibc
6
-Version:	2.25
7
-Release:	4%{?dist}
6
+Version:	2.26
7
+Release:	1%{?dist}
8 8
 License:	LGPLv2+
9 9
 URL:		http://www.gnu.org/software/libc
10 10
 Group:		Applications/System
11 11
 Vendor:		VMware, Inc.
12 12
 Distribution: 	Photon
13 13
 Source0:	http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz
14
-%define sha1 glibc=5fff5a94ef4470bf48fe1b79093185f19f5c827a
14
+%define sha1 glibc=7cf7d521f5ebece5dd27cfb3ca5e5f6b84da4bfd
15 15
 Source1:	locale-gen.sh
16 16
 Source2:	locale-gen.conf
17 17
 Patch0:   	http://www.linuxfromscratch.org/patches/downloads/glibc/glibc-2.25-fhs-1.patch
18 18
 Patch1:		glibc-2.24-bindrsvport-blacklist.patch
19
-Patch2:         glibc-fix-CVE-2017-1000366.patch
20 19
 Provides:	rtld(GNU_HASH)
21 20
 Requires:       filesystem
22 21
 %description
... ...
@@ -72,7 +71,6 @@ Name Service Cache Daemon
72 72
 sed -i 's/\\$$(pwd)/`pwd`/' timezone/Makefile
73 73
 %patch0 -p1
74 74
 %patch1 -p1
75
-%patch2 -p1
76 75
 install -vdm 755 %{_builddir}/%{name}-build
77 76
 # do not try to explicitly provide GLIBC_PRIVATE versioned libraries
78 77
 %define __find_provides %{_builddir}/%{name}-%{version}/find_provides.sh
... ...
@@ -108,6 +106,8 @@ cd %{_builddir}/%{name}-build
108 108
 	--disable-profile \
109 109
 	--enable-kernel=2.6.32 \
110 110
 	--enable-obsolete-rpc \
111
+	--enable-obsolete-nsl \
112
+	--enable-bind-now \
111 113
 	--disable-silent-rules
112 114
 
113 115
 # Sometimes we have false "out of memory" make error
... ...
@@ -115,6 +115,8 @@ cd %{_builddir}/%{name}-build
115 115
 make %{?_smp_mflags} || make %{?_smp_mflags} || make %{?_smp_mflags}
116 116
 
117 117
 %check
118
+# disable security hardening for tests
119
+rm -f $(dirname $(gcc -print-libgcc-file-name))/../specs
118 120
 cd %{_builddir}/glibc-build
119 121
 make %{?_smp_mflags} check
120 122
 
... ...
@@ -255,6 +257,8 @@ sed -i 's@#!/bin/bash@#!/bin/sh@' %{buildroot}/usr/bin/tzselect
255 255
 
256 256
 
257 257
 %changelog
258
+*   Tue Aug 15 2017 Alexey Makhalov <amakhalov@vmware.com> 2.26-1
259
+-   Version update
258 260
 *   Tue Aug 08 2017 Anish Swaminathan <anishs@vmware.com> 2.25-4
259 261
 -   Apply fix for CVE-2017-1000366
260 262
 *   Thu May 4  2017 Bo Gan <ganb@vmware.com> 2.25-3
261 263
new file mode 100644
... ...
@@ -0,0 +1,32 @@
0
+From 3c885d87befc706bb923933b9819de6fe2de897e Mon Sep 17 00:00:00 2001
1
+From: Khem Raj <raj.khem@gmail.com>
2
+Date: Sat, 20 May 2017 14:03:19 -0700
3
+Subject: [PATCH] include stdint.h explicitly for UINT16_MAX)
4
+
5
+Fixes
6
+| tc_core.c:190:29: error: 'UINT16_MAX' undeclared (first use in this function); did you mean '__INT16_MAX__'?
7
+|    if ((sz >> s->size_log) > UINT16_MAX) {
8
+|                              ^~~~~~~~~~
9
+
10
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
11
+---
12
+Upstream-Status: Pending
13
+
14
+ tc/tc_core.c | 1 +
15
+ 1 file changed, 1 insertion(+)
16
+
17
+diff --git a/tc/tc_core.c b/tc/tc_core.c
18
+index 7bbe0d7..821b741 100644
19
+--- a/tc/tc_core.c
20
+@@ -12,6 +12,7 @@
21
+ 
22
+ #include <stdio.h>
23
+ #include <stdlib.h>
24
++#include <stdint.h>
25
+ #include <unistd.h>
26
+ #include <syslog.h>
27
+ #include <fcntl.h>
28
+-- 
29
+2.13.0
30
+
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Basic and advanced IPV4-based networking
2 2
 Name:           iproute2
3 3
 Version:        4.10.0
4
-Release:        2%{?dist}
4
+Release:        3%{?dist}
5 5
 License:        GPLv2+
6 6
 URL:            http://www.kernel.org/pub/linux/utils/net/iproute2
7 7
 Group:          Applications/System
... ...
@@ -10,6 +10,7 @@ Distribution:   Photon
10 10
 Source0:        http://www.kernel.org/pub/linux/utils/net/iproute2/%{name}-%{version}.tar.xz
11 11
 %define sha1    iproute2=9e578675f6938359a3036d7886b91d48c0403a40
12 12
 Patch0:         replace_killall_by_pkill.patch
13
+Patch1:         0001-include-stdint.h-explicitly-for-UINT16_MAX.patch
13 14
 
14 15
 %description
15 16
 The IPRoute2 package contains programs for basic and advanced
... ...
@@ -31,6 +32,7 @@ sed -i 's/arpd.8//' man/man8/Makefile
31 31
 rm -v doc/arpd.sgml
32 32
 sed -i 's/m_ipt.o//' tc/Makefile
33 33
 %patch0 -p1
34
+%patch1 -p1
34 35
 
35 36
 %build
36 37
 make VERBOSE=1 %{?_smp_mflags} DESTDIR= LIBDIR=%{_libdir}
... ...
@@ -57,6 +59,8 @@ make    DESTDIR=%{buildroot} \
57 57
 %{_mandir}/man3/*
58 58
 
59 59
 %changelog
60
+*   Tue Aug 15 2017 Alexey Makhalov <amakhalov@vmware.com> 4.10.0-3
61
+-   Fix compilation issue for glibc-2.26
60 62
 *   Fri Jun 23 2017 Xiaolin Li <xiaolinl@vmware.com> 4.10.0-2
61 63
 -   Move man3 to devel package.
62 64
 *   Tue Mar 28 2017 Dheeraj Shetty <dheerajs@vmware.com> 4.10.0-1
... ...
@@ -3,7 +3,7 @@
3 3
 Summary:        SELinux library and simple utilities
4 4
 Name:           libselinux
5 5
 Version:        2.6
6
-Release:        3%{?dist}
6
+Release:        4%{?dist}
7 7
 License:        Public Domain
8 8
 Group:          System Environment/Libraries
9 9
 Source0:        https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20160107/%{name}-%{version}.tar.gz
... ...
@@ -78,6 +78,7 @@ SELinux applications.
78 78
 %setup -qn %{name}-%{version}
79 79
 
80 80
 %build
81
+sed '/unistd.h/a#include <sys/uio.h>' -i src/setrans_client.c
81 82
 make clean
82 83
 make %{?_smp_mflags} swigify
83 84
 make LIBDIR="%{_libdir}" %{?_smp_mflags} PYTHON=/usr/bin/python2 pywrap
... ...
@@ -129,9 +130,11 @@ rm -rf %{buildroot}
129 129
 %{python3_sitelib}/*
130 130
 
131 131
 %changelog
132
+*   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 2.6-4
133
+-   Fix compilation issue for glibc-2.26
132 134
 *   Wed May 31 2017 Xiaolin Li <xiaolinl@vmware.com> 2.6-3
133 135
 -   Include pytho3 packages.
134
-*   Wed May 22 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 2.6-2
136
+*   Mon May 22 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 2.6-2
135 137
 -   Include python subpackage.
136 138
 *   Wed May 03 2017 Harish Udaiya Kumar <hudaiyakumar@vmware.com> 2.6-1
137 139
 -   Upgraded to version 2.6
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Libraries for Transport Independent RPC
2 2
 Name:           libtirpc
3 3
 Version:        1.0.1
4
-Release:        6%{?dist}
4
+Release:        7%{?dist}
5 5
 Source0:        http://downloads.sourceforge.net/project/libtirpc/libtirpc/0.3.2/%{name}-%{version}.tar.bz2
6 6
 %define sha1    libtirpc=8da1636f98b5909c0d587e7534bc1e91f5c1a970
7 7
 Patch0:         libtirpc-1.0.1-bindrsvport-blacklist.patch
... ...
@@ -43,6 +43,7 @@ This package includes header files and libraries necessary for developing progra
43 43
 
44 44
 %build
45 45
 ./configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir}
46
+sed '/stdlib.h/a#include <stdint.h>' -i src/xdr_sizeof.c
46 47
 
47 48
 make %{?_smp_mflags}
48 49
 
... ...
@@ -69,6 +70,8 @@ make install DESTDIR=%{buildroot}
69 69
 %{_libdir}/*.la
70 70
 
71 71
 %changelog
72
+*   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 1.0.1-7
73
+-   Fix compilation issue for glibc-2.26
72 74
 *   Thu May 18 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.0.1-6
73 75
 -   Fix CVE-2017-8779
74 76
 *   Wed Dec 07 2016 Xiaolin Li <xiaolinl@vmware.com> 1.0.1-5
... ...
@@ -1,7 +1,7 @@
1 1
 Name: 		likewise-open
2 2
 Summary: 	Likewise Open
3 3
 Version: 	6.2.11.4
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 Group: 		Development/Libraries
6 6
 Vendor:         VMware, Inc.
7 7
 License: 	GPL 2.0,LGPL 2.1
... ...
@@ -47,6 +47,8 @@ This package provides files for developing against the Likewise APIs
47 47
 %setup -q
48 48
 
49 49
 %build
50
+# hack against glibc-2.26 to avoid getopt declaration mismatch
51
+sed -i '/stdio.h/a#define _GETOPT_CORE_H 1' dcerpc/demos/echo_server/echo_server.c
50 52
 cd release
51 53
 export CWD=`pwd`
52 54
 
... ...
@@ -286,6 +288,8 @@ rm -rf %{buildroot}/*
286 286
 /opt/likewise/lib64/pkgconfig/libedit.pc
287 287
 
288 288
 %changelog
289
+*   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 6.2.11.4-2
290
+-   Fix compilation issue for glibc-2.26
289 291
 *   Wed Aug 09 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 6.2.11.4-1
290 292
 -   Update to 6.2.11.4.
291 293
 *   Wed Mar 29 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 6.2.11-1
... ...
@@ -3,7 +3,7 @@
3 3
 Summary:        Mesos
4 4
 Name:           mesos
5 5
 Version:        1.2.0
6
-Release:        4%{?dist}
6
+Release:        5%{?dist}
7 7
 License:        Apache
8 8
 URL:            http://mesos.apache.org
9 9
 Group:          Applications/System
... ...
@@ -56,6 +56,8 @@ Requires:   %{name} = %{version}
56 56
 %build
57 57
 sed -i 's/gzip -d -c $^ | tar xf -/tar --no-same-owner -xf $^/' 3rdparty/Makefile.am
58 58
 sed -i 's/gzip -d -c $^ | tar xf -/tar --no-same-owner -xf $^/' 3rdparty/libprocess/3rdparty/Makefile.am
59
+sed -i "/xlocale.h/d" 3rdparty/stout/include/stout/jsonify.hpp
60
+
59 61
 ./configure \
60 62
     CFLAGS="%{optflags} -Wno-deprecated-declarations"  \
61 63
     CXXFLAGS="%{optflags} -Wno-deprecated-declarations -Wno-strict-aliasing" \
... ...
@@ -103,6 +105,8 @@ find %{buildroot}%{_libdir} -name '*.la' -delete
103 103
 %exclude %{_libdir}/debug/
104 104
 
105 105
 %changelog
106
+*   Tue Aug 15 2017 Alexey Makhalov <amakhalov@vmware.com> 1.2.0-5
107
+-   Fix compilation issue for glibc-2.26
106 108
 *   Thu Aug 10 2017 Xiaolin Li <xiaolinl@vmware.com> 1.2.0-4
107 109
 -   Disable make check because Segfault in ProcessTest.Spawn with GCC 6+.
108 110
 -   For more details, please refer to https://issues.apache.org/jira/browse/MESOS-4983.
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        NFS client utils
2 2
 Name:           nfs-utils
3 3
 Version:        2.1.1
4
-Release:        4%{?dist}
4
+Release:        5%{?dist}
5 5
 License:        GPLv2+
6 6
 URL:            http://sourceforge.net/projects/nfs
7 7
 Group:          Applications/Nfs-utils-client
... ...
@@ -31,6 +31,7 @@ The nfs-utils package contains simple nfs client service
31 31
 %setup -q -n %{name}-%{version}
32 32
 #not prevent statd to start
33 33
 sed -i "/daemon_init/s:\!::" utils/statd/statd.c
34
+sed '/unistd.h/a#include <stdint.h>' -i support/nsm/rpc.c
34 35
 find . -iname "*.py" | xargs -I file sed -i '1s/python/python3/g' file
35 36
 
36 37
 %build
... ...
@@ -79,6 +80,8 @@ make check
79 79
 /lib/systemd/system/*
80 80
 
81 81
 %changelog
82
+*   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 2.1.1-5
83
+-   Fix compilation issue for glibc-2.26
82 84
 *   Wed Aug 16 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.1.1-4
83 85
 -   Add check and ignore test that fails.
84 86
 *   Tue Aug 8 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.1.1-3
... ...
@@ -4,7 +4,7 @@
4 4
 Summary:        Array processing for numbers, strings, records, and objects
5 5
 Name:           python-numpy
6 6
 Version:        1.12.1
7
-Release:        4%{?dist}
7
+Release:        5%{?dist}
8 8
 License:        BSD
9 9
 Group:          Development/Languages/Python
10 10
 Vendor:         VMware, Inc.
... ...
@@ -42,6 +42,10 @@ Python 3 version.
42 42
 %setup -q -n numpy-%{version}
43 43
 
44 44
 %build
45
+# xlocale.h has been removed from glibc 2.26
46
+# The above include of locale.h is sufficient
47
+# Further details: https://sourceware.org/git/?p=glibc.git;a=commit;h=f0be25b6336db7492e47d2e8e72eb8af53b5506d */
48
+sed -i "/xlocale.h/d" numpy/core/src/multiarray/numpyos.c
45 49
 python2 setup.py build
46 50
 python3 setup.py build
47 51
 
... ...
@@ -76,6 +80,8 @@ rm -rf test
76 76
 %{_bindir}/f2py3
77 77
 
78 78
 %changelog
79
+*   Fri Aug 25 2017 Alexey Makhalov <amakhalov@vmware.com> 1.12.1-5
80
+-   Fix compilation issue for glibc-2.26
79 81
 *   Wed Jul 26 2017 Divya Thaluru <dthaluru@vmware.com> 1.12.1-4
80 82
 -   Fixed rpm check errors
81 83
 *   Wed Jun 07 2017 Xiaolin Li <xiaolinl@vmware.com> 1.12.1-3
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	Tracks system calls that are made by a running process
2 2
 Name:		strace
3 3
 Version:	4.16
4
-Release:	1%{?dist}
4
+Release:	2%{?dist}
5 5
 License:	BSD
6 6
 URL:		http://sourceforge.net/p/strace/code/ci/master/tree/
7 7
 Group:		Development/Debuggers
... ...
@@ -23,6 +23,9 @@ all the arugments and return values from the system calls. This is useful in deb
23 23
 ./configure \
24 24
 	--prefix=%{_prefix} \
25 25
 
26
+# to resolve build issue with glibc-2.26
27
+sed -i 's/struct ucontext/ucontext_t/g' linux/x86_64/arch_sigreturn.c
28
+
26 29
 make %{?_smp_mflags}
27 30
 
28 31
 %install
... ...
@@ -41,13 +44,15 @@ rm -rf %{buildroot}/*
41 41
 %{_mandir}/man1/*
42 42
 
43 43
 %changelog
44
-*	Wed Apr 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 4.16-1
45
--	Update to version 4.16
46
-*	Thu Oct 20 2016 Alexey Makhalov <amakhalov@vmware.com> 4.11-3
47
--	Exclude perl dependency
48
-*	Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 4.11-2
49
--	GA - Bump release of all rpms
50
-*   	Wed Jan 20 2016 Anish Swaminathan <anishs@vmware.com> 4.11-1
51
--   	Upgrade version.
52
-*	Thu Oct 09 2014 Divya Thaluru <dthaluru@vmware.com> 4.10-1
53
--	Initial build.	First version
44
+*   Wed Aug 23 2017 Alexey Makhalov <amakhalov@vmware.com> 4.16-2
45
+-   Fix compilation issue for glibc-2.26
46
+*   Wed Apr 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 4.16-1
47
+-   Update to version 4.16
48
+*   Thu Oct 20 2016 Alexey Makhalov <amakhalov@vmware.com> 4.11-3
49
+-   Exclude perl dependency
50
+*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 4.11-2
51
+-   GA - Bump release of all rpms
52
+*   Wed Jan 20 2016 Anish Swaminathan <anishs@vmware.com> 4.11-1
53
+-   Upgrade version.
54
+*   Thu Oct 09 2014 Divya Thaluru <dthaluru@vmware.com> 4.10-1
55
+-   Initial build. First version
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:          The OpenSource IPsec-based VPN Solution
2 2
 Name:             strongswan
3 3
 Version:          5.5.2
4
-Release:          1%{?dist}
4
+Release:          2%{?dist}
5 5
 License:          GPLv2+
6 6
 URL:              https://www.strongswan.org/
7 7
 Group:            System Environment/Security
... ...
@@ -20,6 +20,7 @@ strongSwan is a complete IPsec implementation for Linux 2.6, 3.x, and 4.x kernel
20 20
 
21 21
 %build
22 22
 ./configure --prefix=%{_prefix} --sysconfdir=%{_sysconfdir}
23
+sed -i '/stdlib.h/a #include <stdint.h>' src/libstrongswan/utils/utils.h &&
23 24
 make %{?_smp_mflags}
24 25
 
25 26
 %install
... ...
@@ -45,6 +46,8 @@ rm -rf %{buildroot}/*
45 45
 %{_datadir}/strongswan/*
46 46
 
47 47
 %changelog
48
+*   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 5.5.2-2
49
+-   Fix compilation issue for glibc-2.26
48 50
 *   Wed Apr 12 2017 Vinay Kulkarni <kulkarniv@vmware.com> 5.5.2-1
49 51
 -   Update to version 5.5.2
50 52
 *   Wed Dec 21 2016 Xiaolin Li <xiaolinl@vmware.com>  5.5.1-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:          Systemd-233
2 2
 Name:             systemd
3 3
 Version:          233
4
-Release:          6%{?dist}
4
+Release:          7%{?dist}
5 5
 License:          LGPLv2+ and GPLv2+ and MIT
6 6
 URL:              http://www.freedesktop.org/wiki/Software/systemd/
7 7
 Group:            System Environment/Security
... ...
@@ -71,6 +71,10 @@ BLKID_CFLAGS="-I/usr/include/blkid"
71 71
 cc_cv_CFLAGS__flto=no
72 72
 EOF
73 73
 sed -i "s:blkid/::" $(grep -rl "blkid/blkid.h")
74
+# xlocale.h has been removed from glibc 2.26
75
+# The above include of locale.h is sufficient
76
+# Further details: https://sourceware.org/git/?p=glibc.git;a=commit;h=f0be25b6336db7492e47d2e8e72eb8af53b5506d */
77
+sed -i "/xlocale.h/d" src/basic/parse-util.c
74 78
 
75 79
 %patch0 -p1
76 80
 %patch1 -p1
... ...
@@ -230,6 +234,8 @@ rm -rf %{buildroot}/*
230 230
 %files lang -f %{name}.lang
231 231
 
232 232
 %changelog
233
+*    Tue Aug 15 2017 Alexey Makhalov <amakhalov@vmware.com> 233-7
234
+-    Fix compilation issue for glibc-2.26
233 235
 *    Fri Jul 20 2017 Vinay Kulkarni <kulkarniv@vmware.com>  233-6
234 236
 -    Fix for CVE-2017-1000082.
235 237
 *    Fri Jul 07 2017 Vinay Kulkarni <kulkarniv@vmware.com>  233-5
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	TCP/IP daemon wrapper package
2 2
 Name:		tcp_wrappers
3 3
 Version:	7.6
4
-Release:	2%{?dist}
4
+Release:	3%{?dist}
5 5
 License: 	BSD
6 6
 Group: 		System Environment/Networking
7 7
 URL: 		ftp://ftp.porcupine.org/pub/security/index.html
... ...
@@ -25,7 +25,8 @@ The libraries and header files needed for tcp_wrappers development.
25 25
 
26 26
 %build
27 27
 sed -i -e "s,^extern char \*malloc();,/* & */," scaffold.c &&
28
-make REAL_DAEMON_DIR=%{_sbindir}STYLE=-DPROCESS_OPTIONS linux
28
+sed -i 's/-O2/-O2 -DUSE_GETDOMAIN/g' Makefile &&
29
+make REAL_DAEMON_DIR=%{_sbindir} STYLE=-DPROCESS_OPTIONS linux
29 30
 
30 31
 %install
31 32
 mkdir -p %{buildroot}%{_libdir}
... ...
@@ -52,8 +53,10 @@ make DESTDIR=%{buildroot} install
52 52
 %{_includedir}/*.h
53 53
 
54 54
 %changelog
55
-*	Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.6-2
56
--	GA - Bump release of all rpms
55
+* Wed Aug 23 2017 Alexey Makhalov <amakhalov@vmware.com> 7.6-3
56
+- Fix compilation issue for glibc-2.26
57
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.6-2
58
+- GA - Bump release of all rpms
57 59
 * Fri Aug 28 2015 Divya Thaluru <dthaluru@vmware.com> 7.6-1
58 60
 - Initial version
59 61
 
60 62
new file mode 100644
... ...
@@ -0,0 +1,39 @@
0
+--- a/scripts/config2help.c	2017-08-24 17:14:30.000000000 -0700
1
+@@ -248,7 +248,7 @@
2
+   // entry until we run out of matching pairs.
3
+   for (;;) {
4
+     struct symbol *throw = 0, *catch;
5
+-    char *this, *that, *cusage, *tusage, *name;
6
++    char *this, *that, *cusage, *tusage, *name = NULL, *that_start;
7
+     int len;
8
+ 
9
+     // find a usage: name and collate all enabled entries with that name
10
+@@ -261,11 +261,16 @@
11
+ 
12
+         // Align usage: lines, finding a matching pair so we can suck help
13
+         // text out of throw into catch, copying from this to that
14
+-        if (!throw) name = that;
15
++        if (!throw) {
16
++          if (name)
17
++            free(name);
18
++          name = strdup(that);
19
++          that_start = that;
20
++        }
21
+         else if (strncmp(name, that, len) || !isspace(that[len])) continue;
22
+         catch->enabled++;
23
+         while (!isspace(*that) && *that) that++;
24
+-        if (!throw) len = that-name;
25
++        if (!throw) len = that-that_start;
26
+         that = trim(that);
27
+         if (!throw) {
28
+           throw = catch;
29
+@@ -370,6 +375,8 @@
30
+       }
31
+     }
32
+ 
33
++    if (name)
34
++      free(name);
35
+     // Did we find one?
36
+ 
37
+     if (!throw) break;
... ...
@@ -1,6 +1,6 @@
1 1
 Name:           toybox
2 2
 Version:        0.7.3
3
-Release:        3%{?dist}
3
+Release:        4%{?dist}
4 4
 License:        BSD
5 5
 Summary:        Common Linux command line utilities in a single executable
6 6
 Url:            http://landley.net/toybox/
... ...
@@ -10,6 +10,7 @@ Distribution:   Photon
10 10
 Source0:        http://landley.net/toybox/downloads/%{name}-%{version}.tar.gz
11 11
 %define sha1 toybox=f3d9f5396a210fb2ad7d6309acb237751c50812f
12 12
 Source1:	config-%{version}
13
+Patch0:         config2help_use_after_free_fix.patch
13 14
 %description
14 15
 Toybox combines common Linux command line utilities together into a single
15 16
 BSD-licensed executable that's simple, small, fast, reasonably
... ...
@@ -18,6 +19,7 @@ environment.
18 18
 
19 19
 %prep
20 20
 %setup -q -n toybox-%{version}
21
+%patch0 -p1
21 22
 
22 23
 %build
23 24
 cp %{SOURCE1} .config
... ...
@@ -46,6 +48,8 @@ tests_to_run=`echo  $tests_to_run | sed -e 's/pkill//g'`
46 46
 %{_sbindir}/*
47 47
 
48 48
 %changelog
49
+*   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 0.7.3-4
50
+-   Fix compilation issue for glibc-2.26
49 51
 *   Thu Jun 01 2017 Chang Lee <changlee@vmware.com> 0.7.3-3
50 52
 -   Remove pkill test in %check
51 53
 *   Thu Apr 27 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 0.7.3-2