Auto-sync with upstream branch master
Upstream commit: 38b52865d4ccfee3647f27e969e539a4396a73b1 - Drop glibc-rh1670028.patch, applied upstream - elf: Add DF_1_KMOD, DF_1_WEAKFILTER, DF_1_NOCOMMON to <elf.h> - resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047] - C-SKY: add elf header definition for elfutils - C-SKY: mark lr as undefined to stop unwinding - C-SKY: remove user_regs definition - C-SKY: fix sigcontext miss match - Bug 24307: Update to Unicode 12.0.0 - Break lines before not after operators, batch 4. - check-wrapper-headers test: Adjust Fortran include file directory - Fix location where math-vector-fortran.h is installed.
This commit is contained in:
parent
97506ad65a
commit
70ec0cd8b9
@ -1,100 +0,0 @@
|
|||||||
resolv: Enable full ICMP error reporting for UDP DNS sockets
|
|
||||||
|
|
||||||
The Linux kernel suppresses some ICMP error messages by default for UDP
|
|
||||||
sockets. This commit enables full ICMP error reporting, hopefully
|
|
||||||
resulting in faster timeouts.
|
|
||||||
|
|
||||||
diff --git a/resolv/Makefile b/resolv/Makefile
|
|
||||||
index 8f22e6a154621238..ebe1b733f294a97c 100644
|
|
||||||
--- a/resolv/Makefile
|
|
||||||
+++ b/resolv/Makefile
|
|
||||||
@@ -105,7 +105,7 @@ libresolv-routines := res_comp res_debug \
|
|
||||||
res_data res_mkquery res_query res_send \
|
|
||||||
inet_net_ntop inet_net_pton inet_neta base64 \
|
|
||||||
ns_parse ns_name ns_netint ns_ttl ns_print \
|
|
||||||
- ns_samedomain ns_date \
|
|
||||||
+ ns_samedomain ns_date res_enable_icmp \
|
|
||||||
compat-hooks compat-gethnamaddr
|
|
||||||
|
|
||||||
libanl-routines := gai_cancel gai_error gai_misc gai_notify gai_suspend \
|
|
||||||
diff --git a/resolv/res_enable_icmp.c b/resolv/res_enable_icmp.c
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000..bdc9220f08cef71d
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/resolv/res_enable_icmp.c
|
|
||||||
@@ -0,0 +1,37 @@
|
|
||||||
+/* Enable full ICMP errors on a socket.
|
|
||||||
+ Copyright (C) 2019 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 <errno.h>
|
|
||||||
+#include <netinet/in.h>
|
|
||||||
+#include <sys/socket.h>
|
|
||||||
+
|
|
||||||
+int
|
|
||||||
+__res_enable_icmp (int family, int fd)
|
|
||||||
+{
|
|
||||||
+ int one = 1;
|
|
||||||
+ switch (family)
|
|
||||||
+ {
|
|
||||||
+ case AF_INET:
|
|
||||||
+ return setsockopt (fd, SOL_IP, IP_RECVERR, &one, sizeof (one));
|
|
||||||
+ case AF_INET6:
|
|
||||||
+ return setsockopt (fd, SOL_IPV6, IPV6_RECVERR, &one, sizeof (one));
|
|
||||||
+ default:
|
|
||||||
+ __set_errno (EAFNOSUPPORT);
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
diff --git a/resolv/res_send.c b/resolv/res_send.c
|
|
||||||
index fa040c1198fadce5..0f6ec83a7ba05986 100644
|
|
||||||
--- a/resolv/res_send.c
|
|
||||||
+++ b/resolv/res_send.c
|
|
||||||
@@ -943,6 +943,18 @@ reopen (res_state statp, int *terrno, int ns)
|
|
||||||
return (-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
+ /* Enable full ICMP error reporting for this
|
|
||||||
+ socket. */
|
|
||||||
+ if (__res_enable_icmp (nsap->sa_family,
|
|
||||||
+ EXT (statp).nssocks[ns]) < 0)
|
|
||||||
+ {
|
|
||||||
+ int saved_errno = errno;
|
|
||||||
+ __res_iclose (statp, false);
|
|
||||||
+ __set_errno (saved_errno);
|
|
||||||
+ *terrno = saved_errno;
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
/*
|
|
||||||
* On a 4.3BSD+ machine (client and server,
|
|
||||||
* actually), sending to a nameserver datagram
|
|
||||||
diff --git a/resolv/resolv-internal.h b/resolv/resolv-internal.h
|
|
||||||
index 6ab8f2af09a7ce0b..1500adc607f2ce3e 100644
|
|
||||||
--- a/resolv/resolv-internal.h
|
|
||||||
+++ b/resolv/resolv-internal.h
|
|
||||||
@@ -100,4 +100,10 @@ libc_hidden_proto (__inet_pton_length)
|
|
||||||
/* Called as part of the thread shutdown sequence. */
|
|
||||||
void __res_thread_freeres (void) attribute_hidden;
|
|
||||||
|
|
||||||
+/* The Linux kernel does not enable all ICMP messages on a UDP socket
|
|
||||||
+ by default. A call this function enables full error reporting for
|
|
||||||
+ the socket FD. FAMILY must be AF_INET or AF_INET6. Returns 0 on
|
|
||||||
+ success, -1 on failure. */
|
|
||||||
+int __res_enable_icmp (int family, int fd) attribute_hidden;
|
|
||||||
+
|
|
||||||
#endif /* _RESOLV_INTERNAL_H */
|
|
20
glibc.spec
20
glibc.spec
@ -1,4 +1,4 @@
|
|||||||
%define glibcsrcdir glibc-2.29.9000-114-g0ddb7ea842
|
%define glibcsrcdir glibc-2.29.9000-124-g38b52865d4
|
||||||
%define glibcversion 2.29.9000
|
%define glibcversion 2.29.9000
|
||||||
# Pre-release tarballs are pulled in from git using a command that is
|
# Pre-release tarballs are pulled in from git using a command that is
|
||||||
# effectively:
|
# effectively:
|
||||||
@ -87,7 +87,7 @@
|
|||||||
Summary: The GNU libc libraries
|
Summary: The GNU libc libraries
|
||||||
Name: glibc
|
Name: glibc
|
||||||
Version: %{glibcversion}
|
Version: %{glibcversion}
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
|
|
||||||
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
# In general, GPLv2+ is used by programs, LGPLv2+ is used for
|
||||||
# libraries.
|
# libraries.
|
||||||
@ -157,7 +157,6 @@ Patch17: glibc-cs-path.patch
|
|||||||
Patch18: glibc-c-utf8-locale.patch
|
Patch18: glibc-c-utf8-locale.patch
|
||||||
Patch23: glibc-python3.patch
|
Patch23: glibc-python3.patch
|
||||||
Patch28: glibc-rh1615608.patch
|
Patch28: glibc-rh1615608.patch
|
||||||
Patch29: glibc-rh1670028.patch
|
|
||||||
Patch30: glibc-warning-fix.patch
|
Patch30: glibc-warning-fix.patch
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -1892,6 +1891,21 @@ fi
|
|||||||
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
%files -f compat-libpthread-nonshared.filelist -n compat-libpthread-nonshared
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Mar 13 2019 Florian Weimer <fweimer@redhat.com> - 2.29.9000-5
|
||||||
|
- Drop glibc-rh1670028.patch, applied upstream
|
||||||
|
- Auto-sync with upstream branch master,
|
||||||
|
commit 38b52865d4ccfee3647f27e969e539a4396a73b1:
|
||||||
|
- elf: Add DF_1_KMOD, DF_1_WEAKFILTER, DF_1_NOCOMMON to <elf.h>
|
||||||
|
- resolv: Enable full ICMP errors for UDP DNS sockets [BZ #24047]
|
||||||
|
- C-SKY: add elf header definition for elfutils
|
||||||
|
- C-SKY: mark lr as undefined to stop unwinding
|
||||||
|
- C-SKY: remove user_regs definition
|
||||||
|
- C-SKY: fix sigcontext miss match
|
||||||
|
- Bug 24307: Update to Unicode 12.0.0
|
||||||
|
- Break lines before not after operators, batch 4.
|
||||||
|
- check-wrapper-headers test: Adjust Fortran include file directory
|
||||||
|
- Fix location where math-vector-fortran.h is installed.
|
||||||
|
|
||||||
* Wed Mar 06 2019 DJ Delorie <dj@redhat.com> - 2.29.9000-4
|
* Wed Mar 06 2019 DJ Delorie <dj@redhat.com> - 2.29.9000-4
|
||||||
- Auto-sync with upstream branch master,
|
- Auto-sync with upstream branch master,
|
||||||
commit 0ddb7ea842abf63516b74d4b057c052afc6ba863.
|
commit 0ddb7ea842abf63516b74d4b057c052afc6ba863.
|
||||||
|
Loading…
Reference in New Issue
Block a user