* 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>
... | ... |
@@ -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 |