!7 update c-ares version to 1.16.1
Merge pull request !7 from eaglegai/master
This commit is contained in:
commit
593da70999
25
0001-Fix-invalid-read-in-ares_parse_soa_reply.patch
Normal file
25
0001-Fix-invalid-read-in-ares_parse_soa_reply.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
commit 1b98172b141fe874ad43e679e67506f9b2139043
|
||||||
|
Author: lutianxiong <50396812+ltx2018@users.noreply.github.com>
|
||||||
|
Date: Fri May 22 20:02:21 2020 +0800
|
||||||
|
|
||||||
|
avoid read-heap-buffer-overflow (#332)
|
||||||
|
|
||||||
|
Fix invalid read in ares_parse_soa_reply.c found during fuzzing
|
||||||
|
|
||||||
|
Fixes Bug: #333
|
||||||
|
Fix By: lutianxiong (@ltx2018)
|
||||||
|
|
||||||
|
diff --git a/ares_parse_soa_reply.c b/ares_parse_soa_reply.c
|
||||||
|
index 2a2cac8..7cfaed2 100644
|
||||||
|
--- a/ares_parse_soa_reply.c
|
||||||
|
+++ b/ares_parse_soa_reply.c
|
||||||
|
@@ -69,6 +69,9 @@ ares_parse_soa_reply(const unsigned char *abuf, int alen,
|
||||||
|
status = ares__expand_name_for_response(aptr, abuf, alen, &qname, &len);
|
||||||
|
if (status != ARES_SUCCESS)
|
||||||
|
goto failed_stat;
|
||||||
|
+
|
||||||
|
+ if (alen <= len + HFIXEDSZ + 1)
|
||||||
|
+ goto failed;
|
||||||
|
aptr += len;
|
||||||
|
|
||||||
|
qclass = DNS_QUESTION_TYPE(aptr);
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
From 4c02944ef1cedb9460825d28b4e5c27988d04dba Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ivan Baidakou <the.dmol@yandex.by>
|
||||||
|
Date: Tue, 12 May 2020 14:22:33 +0300
|
||||||
|
Subject: [PATCH] Fix: sizeof(sizeof(addr.saX)) -> sizeof(addr.saX) in
|
||||||
|
readaddrinfo (#331)
|
||||||
|
|
||||||
|
Looks like a sed-gone-wrong, a sizeof inside of a sizeof.
|
||||||
|
|
||||||
|
Fix By: Ivan Baidakou (@basiliscos)
|
||||||
|
---
|
||||||
|
ares__readaddrinfo.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ares__readaddrinfo.c b/ares__readaddrinfo.c
|
||||||
|
index dd3abe2..89fea83 100644
|
||||||
|
--- a/ares__readaddrinfo.c
|
||||||
|
+++ b/ares__readaddrinfo.c
|
||||||
|
@@ -179,7 +179,7 @@ int ares__readaddrinfo(FILE *fp,
|
||||||
|
}
|
||||||
|
|
||||||
|
node->ai_family = addr.sa.sa_family = AF_INET;
|
||||||
|
- node->ai_addrlen = sizeof(sizeof(addr.sa4));
|
||||||
|
+ node->ai_addrlen = sizeof(addr.sa4);
|
||||||
|
node->ai_addr = ares_malloc(sizeof(addr.sa4));
|
||||||
|
if (!node->ai_addr)
|
||||||
|
{
|
||||||
|
@@ -200,7 +200,7 @@ int ares__readaddrinfo(FILE *fp,
|
||||||
|
}
|
||||||
|
|
||||||
|
node->ai_family = addr.sa.sa_family = AF_INET6;
|
||||||
|
- node->ai_addrlen = sizeof(sizeof(addr.sa6));
|
||||||
|
+ node->ai_addrlen = sizeof(addr.sa6);
|
||||||
|
node->ai_addr = ares_malloc(sizeof(addr.sa6));
|
||||||
|
if (!node->ai_addr)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
38
0003-Avoid-buffer-overflow-in-RC4-loop-comparison-336.patch
Normal file
38
0003-Avoid-buffer-overflow-in-RC4-loop-comparison-336.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
From 6d6cd5daf63b812734343bd020677829b13db2ac Mon Sep 17 00:00:00 2001
|
||||||
|
From: Fionn Fitzmaurice <1897918+fionn@users.noreply.github.com>
|
||||||
|
Date: Fri, 3 Jul 2020 07:39:54 +0800
|
||||||
|
Subject: [PATCH] Avoid buffer overflow in RC4 loop comparison (#336)
|
||||||
|
|
||||||
|
The rc4 function iterates over a buffer of size buffer_len who's maximum
|
||||||
|
value is INT_MAX with a counter of type short that is not guaranteed to
|
||||||
|
have maximum size INT_MAX.
|
||||||
|
|
||||||
|
In circumstances where short is narrower than int and where buffer_len
|
||||||
|
is larger than the maximum value of a short, it may be possible to loop
|
||||||
|
infinitely as counter will overflow and never be greater than or equal
|
||||||
|
to buffer_len.
|
||||||
|
|
||||||
|
The solution is to make the comparison be between types of equal width.
|
||||||
|
This commit defines counter as an int.
|
||||||
|
|
||||||
|
Fix By: Fionn Fitzmaurice (@fionn)
|
||||||
|
---
|
||||||
|
ares_query.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/ares_query.c b/ares_query.c
|
||||||
|
index b38b8a6..5bbb2f5 100644
|
||||||
|
--- a/ares_query.c
|
||||||
|
+++ b/ares_query.c
|
||||||
|
@@ -45,7 +45,7 @@ static void rc4(rc4_key* key, unsigned char *buffer_ptr, int buffer_len)
|
||||||
|
unsigned char y;
|
||||||
|
unsigned char* state;
|
||||||
|
unsigned char xorIndex;
|
||||||
|
- short counter;
|
||||||
|
+ int counter;
|
||||||
|
|
||||||
|
x = key->x;
|
||||||
|
y = key->y;
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
Binary file not shown.
BIN
c-ares-1.16.1.tar.gz
Normal file
BIN
c-ares-1.16.1.tar.gz
Normal file
Binary file not shown.
16
c-ares.spec
16
c-ares.spec
@ -1,5 +1,5 @@
|
|||||||
Name: c-ares
|
Name: c-ares
|
||||||
Version: 1.15.0
|
Version: 1.16.1
|
||||||
Release: 1
|
Release: 1
|
||||||
Summary: A C library for asynchronous DNS requests
|
Summary: A C library for asynchronous DNS requests
|
||||||
|
|
||||||
@ -9,7 +9,10 @@ Source0: https://github.com/c-ares/c-ares/releases/tag/%{name}-%{version}
|
|||||||
|
|
||||||
BuildRequires: gcc autoconf automake libtool
|
BuildRequires: gcc autoconf automake libtool
|
||||||
# Patch0 from Redhat is applied for stopping overriding AC_CONFIG_MACRO_DIR
|
# Patch0 from Redhat is applied for stopping overriding AC_CONFIG_MACRO_DIR
|
||||||
Patch0: 0001-Use-RPM-compiler-options.patch
|
Patch0000: 0000-Use-RPM-compiler-options.patch
|
||||||
|
Patch0001: 0001-Fix-invalid-read-in-ares_parse_soa_reply.patch
|
||||||
|
Patch0002: 0002-Fix-sizeof-sizeof-addr.saX-sizeof-addr.saX-in-readad.patch
|
||||||
|
Patch0003: 0003-Avoid-buffer-overflow-in-RC4-loop-comparison-336.patch
|
||||||
%description
|
%description
|
||||||
This is c-ares, an asynchronous resolver library. It is intended for applications
|
This is c-ares, an asynchronous resolver library. It is intended for applications
|
||||||
which need to perform DNS queries without blocking, or need to perform multiple
|
which need to perform DNS queries without blocking, or need to perform multiple
|
||||||
@ -39,8 +42,7 @@ make %{?_smp_mflags}
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%doc CHANGES LICENSE.md
|
%doc CHANGES LICENSE.md
|
||||||
%{_libdir}/libcares.so.2.3.0
|
%{_libdir}/*.so.*
|
||||||
%{_libdir}/libcares.so.2
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%{_libdir}/pkgconfig/*.pc
|
%{_libdir}/pkgconfig/*.pc
|
||||||
@ -53,5 +55,11 @@ make %{?_smp_mflags}
|
|||||||
%{_mandir}/man3/*
|
%{_mandir}/man3/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 22 2020 gaihuiying <gaihuiying1@huawei.com> - 1.16.1-1
|
||||||
|
- Type:requirement
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:update c-ares version to 1.16.1
|
||||||
|
|
||||||
* Mon Sep 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.15.0-1
|
* Mon Sep 09 2019 openEuler Buildteam <buildteam@openeuler.org> - 1.15.0-1
|
||||||
- Package Init
|
- Package Init
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user