Sync from SUSE:SLFO:Main c-ares revision 373263a038e531483bef71f5cc775a00

This commit is contained in:
Adrian Schröter 2024-05-03 11:27:59 +02:00
commit dc1230800a
8 changed files with 1001 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<flavor>testsuite</flavor>
</multibuild>

1
baselibs.conf Normal file
View File

@ -0,0 +1 @@
libcares2

BIN
c-ares-1.27.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

11
c-ares-1.27.0.tar.gz.asc Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEEJ+3q8i86vOtQ25oSXMkI/bceEsIFAmXYSD0ACgkQXMkI/bce
EsIrPAgAsE8zpviLmbuAS9TvBG+mRYhr/Q0Bix9ZpBke/V+4XUpGrlNPcyD5Y1wX
KmTWRFxQWfj/wau8uI1pMYkIQlq7GxU1MaIWiyqEk+4GPEry945PA/YesLiQWuCo
ny/1xA9FNdffCLDpH5OYQtTrKYhZ9wrU4Ae4bh2Mo0V5pwTkX2BviAj9R3SUtXnD
sQi+kRAuhii/3aVPLDURw3MWgGYV1n1dRBWQr1yaeUey3PCn+aUfSsDRHCy6mBIy
5rm2YiiWBaSF89u6PFqqEYI57xDHz7eJa6CYk/nwKktse43zTlWSY2NpAgYR3iW7
mRCAt3/6KVx5pPyzeq3+ZGBmGY0qng==
=hubf
-----END PGP SIGNATURE-----

785
c-ares.changes Normal file
View File

@ -0,0 +1,785 @@
-------------------------------------------------------------------
Mon Feb 26 13:25:59 UTC 2024 - Adam Majer <adam.majer@suse.de>
- c-ares 1.27.0
Security:
* Moderate. CVE-2024-25629. Reading malformatted /etc/resolv.conf,
/etc/nsswitch.conf or the HOSTALIASES file could result in a crash.
GHSA-mg26-v6qh-x48q (CVE-2024-25629, bsc#1220279)
Features:
* New function ares_queue_active_queries() to retrieve number of in-flight
queries. PR #712
* New function ares_queue_wait_empty() to wait for the number of in-flight
queries to reach zero. PR #710
* New ARES_FLAG_NO_DEFLT_SVR for ares_init_options() to return a failure if
no DNS servers can be found rather than attempting to use 127.0.0.1. This
also introduces a new ares status code of ARES_ENOSERVER. PR #713
Changes:
* EDNS Packet size should be 1232 as per DNS Flag Day. PR #705
Bugfixes:
* Fix warning due to ignoring return code of write(). PR #709
* CMake: don't override target output locations if not top-level. Issue #708
* Fix building c-ares without thread support. PR #700
-------------------------------------------------------------------
Fri Feb 9 07:35:39 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- Ensure multibuild flavors result in different src names.
-------------------------------------------------------------------
Sat Feb 3 09:40:16 UTC 2024 - Andreas Stieger <andreas.stieger@gmx.de>
- c-ares 1.26.0:
* Event Thread support. Integrators are no longer required to
monitor the file descriptors registered by c-ares for events
and call ares_process() when enabling the event thread feature
via ARES_OPT_EVENT_THREAD passed to ares_init_options().
* Added flags to are_dns_parse() to force RAW packet parsing
* Mark ares_fds() as deprecated
* Bug fixes
- move tests into a build flavor to avoid gtest/gmock build loop
-------------------------------------------------------------------
Mon Jan 8 10:16:54 UTC 2024 - Adam Majer <adam.majer@suse.de> - 1.25
- Update to version 1.25
Changes:
o Rewrite ares_strsplit() as a wrapper for ares__buf_split() for memory
safety reasons.
o The ahost utility now uses ares_getaddrinfo() and returns both IPv4 and
IPv6 addresses by default.
Bug Fixes:
o Tests: Live reverse lookups for Google's public DNS servers no longer
return results, replace with CloudFlare pubic DNS servers.
o Connection failures should increment the server failure count first or a
retry might be enqueued to the same server
o On systems that don't implement the ability to enumerate network interfaces
the stubs used the wrong prototype.
o Fix minor warnings and documentation typos
o Fix support for older GoogleTest versions
o getrandom() may require sys/random.h on some systems.
o Fix building tests with symbol hiding enabled.
- 0001-Use-RPM-compiler-options.patch: dropped, obsolete
-------------------------------------------------------------------
Tue Jan 2 11:35:57 UTC 2024 - Adam Majer <adam.majer@suse.de> - 1.24
- Update to version 1.24
Features:
* Add support for IPv6 link-local DNS servers. Nameserver formats
can now accept the 0face suffix, and a new ares_get_servers_csv()
function was added to return servers that can contain the link-local
interface name.
Changes:
* Unbundle GoogleTest for test cases. Package maintainers will now
need torequire GoogleTest (GMock) as a build dependency if
building tests. New GoogleTest versions require C++14 or later.
* Replace nameserver parsing code to use new memory-safe functions.
* Replace the sortlist parser with new memory-safe functions.
* Various warning fixes and dead code removal.
Bugfixes:
* Old Linux versions require POSIX_C_SOURCE or _GNU_SOURCE to
compile with thread safety support
* A non-responsive DNS server that caused timeouts wouldn't
increment thefailure count, this would lead to other servers
not being tried. Regression introduced in 1.22.0
* Some projects that depend on c-ares expect invalid parameter
option valuespassed into ares_init_options() to simply be
ignored. This behavior has been restored
* getrandom() can fail if the kernel doesn't support
the syscall, fall back to another random source
* ares_cancel() when performing ares_gethostbyname() or
ares_getaddrinfo()with AF_UNSPEC, if called after one address
class was returned but before the other address class, it
would return ARES_SUCCESS rather than ARES_ECANCELLED
- disable-live-tests.patch: dropped, not needed
-------------------------------------------------------------------
Fri Dec 1 13:04:38 UTC 2023 - Adam Majer <adam.majer@suse.de> - 1.23
- Update to version 1.23
Features:
Introduce optional (but on by default) thread-safety for the c-ares library. This has no API nor ABI implications.
resolv.conf in modern systems uses attempts and timeouts options instead of the old retrans and retry options.
Query caching support based on TTL of responses. Can be enabled via ares_init_options() with ARES_OPT_QUERY_CACHE.
Bugfixes:
ares_init_options() for ARES_OPT_UDP_PORT and ARES_OPT_TCP_PORT accept theport in host byte order, but it was reading it as network byte order. Regression introduced in 1.20.0.
ares_init_options() for ARES_FLAG_NOSEARCH was not being honored forares_getaddrinfo() or ares_gethostbyname(). Regression introduced in 1.16.0.
Autotools MacOS and iOS version check was failing
Environment variables passed to c-ares are meant to be an override for system configuration. Regression introduced in 1.22.0.
Spelling fixes as detected by codespell.
The timeout returned by ares_timeout() was truncated to milliseconds butvalidated to microseconds which could cause a user to attempt to process timeouts prior to the timeout actually expiring.
CMake was not honoring CXXFLAGS passed in via the environment which couldcause compile and link errors with distribution hardening flags during packaging.
Fix Windows UWP and Cygwin compilation.
ares_set_servers_*() for legacy reasons needs to accept an empty server listand zero out all servers. This results in an inoperable channel and thus is only used in simulation testing, but we don't want to break users. Regression introduced in 1.21.0.
Changes in version 1.22.1
Bugfixes:
Fix /etc/hosts processing performance with all entries using same IPaddress. Large hosts files using the same IP address for all entries could use exponential time.
Fix typos in manpages
Fix OpenWatcom building
Changes in version 1.22.0
Features:
ares_reinit() is now implemented to re-read any system configuration and immediately apply to an existing ares channel
The adig command line program has been rewritten and its format now more closely matches that of BIND's dig utility
The new DNS message parser and writer functions have now been made public
RFC9460 HTTPS and SVCB records are now supported
RFC6698 TLSA records are now supported
The server list is now internally dynamic and can be changed without impacting existing queries
Hosts file processing is now cached until the file is detected to be changed to speed up repetitive lookups of large hosts files
Changes:
Internally all DNS messages are now written using the new DNS writing functions
EDNS is now enabled by default
Internal cleanups in function prototypes
Bugfixes:
Randomize retry penalties to prevent thundering herd issues when dns servers throttle requests
Fix Windows build error for missing if_indextoname()
-------------------------------------------------------------------
Sat Oct 28 16:45:26 UTC 2023 - Andreas Stieger <andreas.stieger@gmx.de>
- update to 1.21.0:
* Replace multiple DNS hand-made parsers with new memory-safe DNS
message parser
* developer visible changes and bug fixes
-------------------------------------------------------------------
Tue Oct 10 09:31:38 UTC 2023 - Adam Majer <adam.majer@suse.de> - 1.20.1
- Update to version 1.20.1
* Remove bin/acountry from built tools as nerd.dk is gone
* Default per-query timeout has been reduced to 2s with a 3x retry count
* rand: add support for getrandom()
Bug fixes:
* TCP back to back queries were broken
* Ensure queries for ares_getaddrinfo() are not requeued during
destruction
* ares_getaddrinfo() should not retry other address classes if
one address class has already been returned
* Avoid production ill-formed result when qualifying a name
with the root domain
* Fix missing prefix for CMake generated libcares.pc
* DNS server ports can now be read from system configuration
instead of defaulting to port 53, aka openBSD resolv.conf format
* Replace usages of sprintf with snprintf
-------------------------------------------------------------------
Mon May 22 13:56:59 UTC 2023 - Adam Majer <adam.majer@suse.de>
- Update to version 1.19.1
Security:
* CVE-2023-32067. High. 0-byte UDP payload causes Denial of Service
(bsc#1211604)
* CVE-2023-31147 Moderate. Insufficient randomness in generation
of DNS query IDs (bsc#1211605)
* CVE-2023-31130. Moderate. Buffer Underwrite in
ares_inet_net_pton() (bsc#1211606)
* CVE-2023-31124. Low. AutoTools does not set CARES_RANDOM_FILE
during cross compilation (bsc#1211607)
Bug fixes:
* Fix uninitialized memory warning in test
* ares_getaddrinfo() should allow a port of 0
* Fix memory leak in ares_send() on error
* Fix comment style in ares_data.h
* Fix typo in ares_init_options.3
* Sync ax_pthread.m4 with upstream
* Sync ax_cxx_compile_stdcxx_11.m4 with upstream to fix uclibc support
-------------------------------------------------------------------
Sun Jan 29 09:31:00 UTC 2023 - Martin Hauke <mardnh@gmx.de>
- Update to version 1.19.0
Security:
* Low. Stack overflow in ares_set_sortlist() which is used
during c-ares initialization and typically provided by an
administrator and not an end user.
(bsc#1208067, CVE-2022-4904)
Changes:
* Add ARES_OPT_HOSTS_FILE similar to ARES_OPT_RESOLVCONF for
specifying a custom hosts file location.
Bug fixes:
* Fix memory leak in reading /etc/hosts when using localhost
fallback.
* Fix chain building c-ares when libresolv is already included by
another project.
* File lookup should not immediately abort as there may be other
tries due to search criteria.
* Asterisks should be allowed in host validation as CNAMEs may
reference wildcard domains.
* AutoTools build system referenced bad STDC_HEADERS macro.
* Even if one address class returns a failure for
ares_getaddrinfo() we should still return the results we have.
* Fix ares_getaddrinfo() numerical address resolution with
AF_UNSPEC
* Fix tools and help information.
* Various documentation fixes and cleanups.
* Add include guards to ares_data.h
* c-ares could try to exceed maximum number of iovec entries
supported by system.
* The RFC6761 6.3 states localhost subdomains must be offline too
-------------------------------------------------------------------
Tue Dec 7 16:57:20 UTC 2021 - Adam Majer <adam.majer@suse.de>
- update to 1.18.1. Changes since 1.17.2:
* Allow '/' as a valid character for a returned name for
CNAME in-addr.arpa delegation
* no longer forwards requests for localhost resolution per RFC6761
* During a domain search, treat ARES_ENODATA as ARES_NXDOMAIN so
that the search process will continue to the next domain
in the search.
* Provide ares_nameser.h as a public interface as needed by NodeJS
* Add support for URI(Uniform Resource Identifier) records via
ares_parse_uri_reply()
- disable unit tests for SLE12 since GCC compiler too old to build
unit tests
- 5c995d5.patch: upstreamed
- disable-live-tests.patch: refreshed
-------------------------------------------------------------------
Thu Sep 9 12:15:01 UTC 2021 - Adam Majer <adam.majer@suse.de>
- new upstream website
- drop multibuild - tests do not require static library anymore
- spec file cleanup
- drop sources that were re-added to upstream distibution
(c-ares-config.cmake.in ares_dns.h libcares.pc.cmake)
-------------------------------------------------------------------
Wed Sep 8 14:07:34 UTC 2021 - Adam Majer <adam.majer@suse.de>
- 5c995d5.patch: augment input validation on hostnames to allow _
as part of DNS response (bsc#1190225)
-------------------------------------------------------------------
Thu Aug 12 13:59:07 UTC 2021 - Adam Majer <adam.majer@suse.de>
- update to 1.17.2:
Security:
* When building c-ares with CMake, the RANDOM_FILE would not be set
and therefore downgrade to the less secure random number generator
* If ares_getaddrinfo() was terminated by an ares_destroy(),
it would cause a crash
* Crash in sortaddrinfo() if the list size equals 0 due to
an unexpected DNS response
* Expand number of escaped characters in DNS replies as per
RFC1035 5.1 to prevent spoofing follow-up
(bsc#1188881, CVE-2021-3672)
* Perform validation on hostnames to prevent possible XSS
due to applications not performing valiation themselves
Changes:
* ares_malloc(0) is now defined behavior (returns NULL) rather than system-specific to catch edge cases
Bug fixes:
* Building tests should not force building of static libraries except on Windows
* Relative headers must use double quotes to prevent pulling in a system library
for details see,
https://c-ares.haxx.se/changelog.html#1_17_2
-------------------------------------------------------------------
Sat Jan 16 15:05:28 UTC 2021 - Dirk Müller <dmueller@suse.com>
- update to 1.17.1:
Travis: add iOS target built with CMake (#378)
Issue #377 suggested that CMake builds for iOS with c-ares were broken. This PR adds an automatic Travis build for iOS CMake.
- fix build
External projects were using non-public header ares_dns.h, make public again (#376)
It appears some outside projects were relying on macros in ares_dns.h, even
though it doesn't appear that header was ever meant to be public. That said,
we don't want to break external integrators so we should distribute this header
again.
- note that so versioning has moved to configure.ac
- note about 1.17.1
- fix sed gone wrong
autotools cleanup (#372)
* buildconf: remove custom logic with autoreconf
- remove missing_header.patch (upstream)
-------------------------------------------------------------------
Sat Nov 21 23:16:21 UTC 2020 - Marcus Rueckert <mrueckert@suse.de>
- add BR for pkg-config to get the provides in the devel package
-------------------------------------------------------------------
Thu Nov 19 09:51:18 UTC 2020 - Adam Majer <adam.majer@suse.de>
- ares_dns.h, missing_header.patch: re-add missing header in last release
-------------------------------------------------------------------
Tue Nov 17 12:07:22 UTC 2020 - Adam Majer <adam.majer@suse.de>
- Version update to 1.17.0
Security:
* avoid read-heap-buffer-overflow in ares_parse_soa_reply found during
fuzzing
* Avoid theoretical buffer overflow in RC4 loop comparison
* Empty hquery->name could lead to invalid memory access
* ares_parse_{a,aaaa}_reply() could return a larger *naddrttls than was
passed in (bsc#1178882, CVE-2020-8277)
Changes:
* Update help information for adig, acountry, and ahost
* Test Suite now uses dynamic system-assigned ports rather than hardcoded
ports to prevent failures in containers
* Detect remote DNS server does not support EDNS using rules from RFC 6891
* Source tree has been reorganized to use a more modern layout
* Allow parsing of CAA Resource Record
Bug fixes:
* readaddrinfo bad sizeof()
* Test cases should honor HAVE_WRITEV flag, not depend on WIN32
* FQDN with trailing period should be queried first
* ares_getaddrinfo() was returning members of the struct as garbage values if
unset, and was not honoring ai_socktype and ai_protocol hints.
* ares_gethostbyname() with AF_UNSPEC and an ip address would fail
* Properly document ares_set_local_ip4() uses host byte order
For details, see https://c-ares.haxx.se/changelog.html
- add missing upstream sources, to be removed for next release
- remove unnecessary BuildRequires
- fix building on SLE12 systems
-------------------------------------------------------------------
Fri Sep 11 07:54:10 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- simplify conditions bit to make it tad more readable
-------------------------------------------------------------------
Thu Sep 10 01:31:11 UTC 2020 - Atri Bhattacharya <badshah400@gmail.com>
- Implement multibuild specfile to split out tests into its own
flavor; this way we can build and run tests, which require
static lib, as well as avoid packaging the latter without issues
with the installed cmake file..
-------------------------------------------------------------------
Wed Jul 8 20:35:17 UTC 2020 - Matthias Eliasson <elimat@opensuse.org>
- Version update to 1.16.1
Security:
* Prevent possible use-after-free and double-free in ares_getaddrinfo() if
ares_destroy() is called prior to ares_getaddrinfo() completing.
Reported by Jann Horn at Google Project Zero.
Changes:
* Allow TXT records on CHAOS qclass. Used for retriving things like
version.bind, version.server, authoris.bind, hostname.bind, and id.server. [3]
Bug fixes:
* Fix Windows Unicode incompatibilities with ares_getaddrinfo() [1]
* Silence false cast-align compiler warnings due to valid casts of struct
sockaddr to struct sockaddr_in and struct sockaddr_in6.
* MacOS should use libresolv for retrieving DNS servers, like iOS
* CMake build system should populate the INCLUDE_DIRECTORIES property of
installed targets [2]
* Correct macros in use for the ares_getaddrinfo.3 man page
- Changes in version 1.16.0
Changes:
* Introduction of ares_getaddrinfo() API which provides similar output
(including proper sorting as per RFC 6724) to the system native API, but
utilizes different data structures in order to provide additional
information such as TTLs and all aliases. Please reference the respective
man pages for usage details.
* Parse SOA records from ns_t_any response
* CMake: Provide c-ares version in package export file
* CMake: Add CPACK functionality for DEB and RPM
* CMake: Generate PDB files during build
* CMake: Support manpage installation
Bug fixes:
* Fix bad expectation in IPv6 localhost test.
* AutoTools: use XC_CHECK_BUILD_FLAGS instead of XC_CHECK_USER_FLAGS to
prevent complaints about CPPFLAGS in CFLAGS.
* Fix .onion handling
* Command line usage was out of date for adig and ahost.
* Typos in manpages
* If ares_getenv is defined, it must return a value on all platforms
* If /etc/resolv.conf has invalid lookup values, use the defaults.
* Tests: Separate live tests from SetServers* tests as only live tests
should require internet access.
* ares_gethostbyname() should return ENODATA if no valid A or AAAA record
is found, but a CNAME was found.
* CMake: Rework library function checking to prevent unintended linking
with system libraries that aren't needed.
* Due to use of inet_addr() it was not possible to return 255.255.255.255
from ares_gethostbyname().
* CMake: Fix building of tests on Windows
- Drop regression.patch which have been fixed upstream
- Refresh disable-live-tests.patch
- Remove static lib since its required when doing tests and we dont want it
included in package
- Run spec-cleaner
-------------------------------------------------------------------
Mon Feb 3 15:17:24 UTC 2020 - Adam Majer <adam.majer@suse.de>
- Upgrade to latest snapshot from 2020-01-17
- disable-live-tests.patch: refreshed
- regression.patch: fix a regression in DNS results that contain
both A and AAAA answers.
-------------------------------------------------------------------
Tue Jan 28 15:52:23 UTC 2020 - Michał Rostecki <mrostecki@opensuse.org>
- Add netcfg as the build requirement and runtime requirement.
ares_getaddrinfo function uses the getservbyport_r function which
requires the /etc/services file to function properly. That config
file is provided by the netcfg package. Unit tests rely on it
too, hence it has to be a build dependency as well.
-------------------------------------------------------------------
Mon Jan 6 17:54:05 UTC 2020 - Todd R <toddrme2178@gmail.com>
- Switch to cmake-based build.
Some packages need the cmake build files.
-------------------------------------------------------------------
Fri Nov 15 07:59:27 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
- Fix version number of the snapshot to not be downgrade:
bsc#1156601
-------------------------------------------------------------------
Fri Nov 8 11:16:29 UTC 2019 - Adam Majer <adam.majer@suse.de>
- Update to upstream snapshot 20191108
* getaddrinfo - avoid infinite loop in case of NXDOMAIN
* ares_getenv - return NULL in all cases
* implement ares_getaddrinfo
- onion-crash.patch: removed, upstreamed.
- removed upstream patches that are part of the snapshot:
0001-Add-initial-implementation-for-ares_getaddrinfo-112.patch
0002-Remaining-queries-counter-fix-additional-unit-tests-.patch
0003-Bugfix-for-ares_getaddrinfo-and-additional-unit-test.patch
0004-Add-ares__sortaddrinfo-to-support-getaddrinfo-sorted.patch
0005-getaddrinfo-avoid-infinite-loop-in-case-of-NXDOMAIN-.patch
0006-getaddrinfo-callback-must-be-called-on-bad-domain-24.patch
0007-getaddrinfo-enhancements-257.patch
0008-Add-missing-limits.h-include-from-ares_getaddrinfo.c.patch
0009-Increase-portability-of-ares-test-mock-ai.cc-235.patch
0010-Disable-failing-test.patch
- disable-live-tests.patch - updated
-------------------------------------------------------------------
Wed Oct 23 15:11:27 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
- Add upstream patches with the ares_getaddrinfo function:
* 0001-Add-initial-implementation-for-ares_getaddrinfo-112.patch
* 0002-Remaining-queries-counter-fix-additional-unit-tests-.patch
* 0003-Bugfix-for-ares_getaddrinfo-and-additional-unit-test.patch
* 0004-Add-ares__sortaddrinfo-to-support-getaddrinfo-sorted.patch
* 0005-getaddrinfo-avoid-infinite-loop-in-case-of-NXDOMAIN-.patch
* 0006-getaddrinfo-callback-must-be-called-on-bad-domain-24.patch
* 0007-getaddrinfo-enhancements-257.patch
* 0008-Add-missing-limits.h-include-from-ares_getaddrinfo.c.patch
* 0009-Increase-portability-of-ares-test-mock-ai.cc-235.patch
- Add a patch which disables test failing on OBS (but passing in
local environment):
* 0010-Disable-failing-test.patch
-------------------------------------------------------------------
Wed Feb 13 15:44:18 UTC 2019 - adam.majer@suse.de
- Version update to 1.15.0:
* Add ares_init_options() configurability for path to resolv.conf file
* Ability to exclude building of tools (adig, ahost, acountry) in CMake
* Report ARES_ENOTFOUND for .onion domain names as per RFC7686
(bsc#1125306)
* Apply the IPv6 server blacklist to all nameserver sources
* Prevent changing name servers while queries are outstanding
* ares_set_servers_csv() on failure should not leave channel in a
bad state
- enable unit tests
- disable-live-tests.patch: disable tests to live servers
- onion-crash.patch: backport fix for a crash affecting .onion TLD
-------------------------------------------------------------------
Tue Feb 20 13:34:46 UTC 2018 - jengelh@inai.de
- Remove ineffective --with-pic.
-------------------------------------------------------------------
Tue Feb 20 09:35:43 UTC 2018 - tchvatal@suse.com
- Version update to 1.14.0:
* Fix patch for CVE-2017-1000381 to not be overly aggressive
* gethostbyaddr should fail with ECANCELLED not ENOTFOUND when ares_cancel is called
* ares_gethostbyname.3: fix callback status values
* docs: Document WSAStartup requirement
* Fix a typo in init_by_resolv_conf
-------------------------------------------------------------------
Tue Feb 20 09:35:01 UTC 2018 - tchvatal@suse.com
- Rename everything to c-ares
-------------------------------------------------------------------
Tue Jun 20 19:35:16 UTC 2017 - tchvatal@suse.com
- Version update to 1.13.0:
* Fixes bsc#1044946 CVE-2017-1000381
* Bunch of bugfixes
- Drop cares-1.9.1-ocloexec.patch as it broke again and it is
not really worth all the fwdporting
- Drop check phase there is only return 0
-------------------------------------------------------------------
Mon Oct 31 12:05:59 UTC 2016 - tchvatal@suse.com
- Version update to 1.12.0:
* Fixes bsc#1007728 CVE-2016-5180
* api: add ARES_OPT_NOROTATE optmask value
* Collection of bugfixes
-------------------------------------------------------------------
Thu Jun 9 20:41:26 UTC 2016 - astieger@suse.com
- update to 1.11.0:
* Allow multiple -s options to the ahost command
* api: Expose the ares_library_initialized() function
* api: Add ares_set_sortlist(3) entrypoint
* api: Add entrypoints to allow use of per-server ports
* api: introduce `ares_parse_txt_reply_ext`
* api: Add ares_set_socket_configure_callback()
* Add -t u option to ahost
* collection of bug fixes
-------------------------------------------------------------------
Fri Nov 14 09:18:41 UTC 2014 - dimstar@opensuse.org
- No longer perform gpg validation; osc source_validator does it
implicit:
+ Drop gpg-offline BuildRequires.
+ No longer execute gpg_verify.
-------------------------------------------------------------------
Thu May 15 12:07:42 UTC 2014 - tchvatal@suse.com
- Version bump to 1.10.0:
* Various small updates all around
* Cleanup of automake to build with latest tools
* For more see CHANGES
- Remove upstreamed patches:
* cares-autotools.diff
- Remove patch that needs quite work and was never acceted upstream:
* 0001-cares-1.9.1-add-symbol-versioning-support.patch
- Added patches:
* 0001-Use-RPM-compiler-options.patch
-------------------------------------------------------------------
Fri May 3 07:12:14 UTC 2013 - mvyskocil@suse.com
- Use the genuine upstream tarball
- Verify tarball using gpg-offline
-------------------------------------------------------------------
Thu May 2 13:24:49 UTC 2013 - jengelh@inai.de
- Get rid of outdated autotools construct to fix build with
new automake-1.13
-------------------------------------------------------------------
Sun Jan 6 21:14:16 UTC 2013 - p.drouand@gmail.com
- Update to 1.9.1 version:
* include the ares_parse_soa_reply.* files in the tarball
- Removed patches (fixed and merged on upstream release)
* 0001-ares_destroy.c-fix-segfault-in-ares_destroy_options.patch
* 0002-ares_getnameinfo-fix-random-results-with-c-ares-1.7..patch
* 0003-ares_init.c-fix-segfault-triggered-in-ares_init_opti.patch
- Updated and versionned patchs for upstream release:
* 0001-add-symbol-versioning-support.patch
* cares-ocloexec.patch
-------------------------------------------------------------------
Fri Feb 3 20:27:55 UTC 2012 - crrodriguez@opensuse.org
- Fix license
- provide symbol versioning support
- fix -debuginfo packages
-------------------------------------------------------------------
Tue Nov 15 09:16:32 UTC 2011 - jengelh@medozas.de
- Remove redundant/unwanted tags/section (cf. specfile guidelines)
-------------------------------------------------------------------
Mon Nov 14 23:42:39 UTC 2011 - crrodriguez@opensuse.org
- Open all fds with O_CLOEXEC.
-------------------------------------------------------------------
Mon Oct 17 03:29:31 UTC 2011 - crrodriguez@opensuse.org
- Cherry-pick 3 patches from HEAD
* ares_destroy.c: fix segfault in ares_destroy_options()
* ares_getnameinfo: fix random results, memory corruption
* ares_init.c: fix segfault triggered in ares_init_options()
upon previous failure of init_by_defaults()
-------------------------------------------------------------------
Wed Aug 17 21:17:44 UTC 2011 - crrodriguez@opensuse.org
- Update to version 1.7.4
* Drop obsolete patch
* detection of semicolon comments in resolv.conf
* fixed ares_parse_*_reply memory leaks
* only fall back to AF_INET searches when looking for AF_UNSPEC addresses
-------------------------------------------------------------------
Sat Mar 19 21:16:09 UTC 2011 - crrodriguez@opensuse.org
- fix NULL ptr dereference
-------------------------------------------------------------------
Mon Dec 13 16:17:56 UTC 2010 - cristian.rodriguez@opensuse.org
- c-ares version 1.7.4
* local-bind: Support binding to local interface/IPs, see
ares_set_local_ip4, ares_set_local_ip6, ares_set_local_dev
* memory leak in ares_getnameinfo
* add missing break that caused get_ares_servers to fail
* ares_parse_a_reply: fix CNAME response parsing
* init_by_options: don't copy an empty sortlist
* Replaced uint32_t with unsigned int to fix broken builds
on a couple of platforms
* Fix lookup with HOSTALIASES set
* adig: fix NAPTR parsing
* compiler warning cleanups
-------------------------------------------------------------------
Fri Oct 29 16:51:25 UTC 2010 - cristian.rodriguez@opensuse.org
- Fix aliasing warning in gcc
- Add missing break that caused get_ares_servers to fail
-------------------------------------------------------------------
Sun Jul 25 19:02:16 UTC 2010 - cristian.rodriguez@opensuse.org
- update to version 1.7.3
* ares_init: Last, not first instance of domain or search should win
* Added ares_parse_mx_reply()
* Fix memory leak
-------------------------------------------------------------------
Sat Apr 24 11:38:19 UTC 2010 - coolo@novell.com
- buildrequire pkg-config to fix provides
-------------------------------------------------------------------
Wed Mar 24 18:26:05 UTC 2010 - crrodriguez@opensuse.org
- update to version 1.7.1, includes IPV6 nameservers support
-------------------------------------------------------------------
Wed Mar 10 14:25:32 UTC 2010 - crrodriguez@opensuse.org
- remove invalid configure options
-------------------------------------------------------------------
Mon Feb 22 21:53:18 UTC 2010 - crrodriguez@opensuse.org
- fix build
- update to version 1.7.0, see RELEASE_NOTES for detail
-------------------------------------------------------------------
Mon Feb 1 11:14:59 UTC 2010 - jengelh@medozas.de
- package baselibs.conf
-------------------------------------------------------------------
Wed Sep 30 20:54:42 UTC 2009 - crrodriguez@opensuse.org
- add gcc visibility support
-------------------------------------------------------------------
Mon Jan 5 21:03:53 CET 2009 - crrodriguez@suse.de
- update to version 1.6.0
* Added support for the glibc "rotate" resolv.conf option (or ARES_OPT_ROTATE)
* Added ares_gethostbyname_file()
* Added ares_dup()
* Added ares_set_socket_callback()
* improved configure detection of several functions
* improved source code portability
* adig supports a regular numerical dotted IP address for the -s option
* handling of EINPROGRESS for UDP connects
* ares_parse_ptr_reply() would cause a buffer to shrink instead of expand if a
reply contained 8 or more records
* buildconf works on OS X
-------------------------------------------------------------------
Wed Sep 3 16:37:43 CEST 2008 - crrodriguez@suse.de
- update to c-ares 1.5.3 final
* address an issue in which a response could be sent back to the
source port of a client from a different address than the request was made to.
This is one form of a DNS cache poisoning attack.
Only necessary on UDP sockets as they are connection-less, TCP
is unaffected.
-------------------------------------------------------------------
Sat Aug 9 23:56:49 CEST 2008 - crrodriguez@suse.de
- update to c-ares 1.5.3+20080809
* users found that the second and subsequent DNS lookups from
fresh processes using c-ares to resolve the same
address would randomly cause the process to never see a reply.
-------------------------------------------------------------------
Sun Jun 15 20:44:19 CEST 2008 - crrodriguez@suse.de
- update to version 1.5.2 final
* code refactoring in ares_gethostbyaddr
* improved checking of /dev/urandom in configure script
* new sample application, acountry
* improved MSVC6 dsp files
* adig sample application supports NAPTR records
* improved file seeding randomizer
* improved parsing of resolver configuration files
* updated configure script to remove autoconf 2.62 warnings
* use monotonic time source if available
* return all PTR-records when doing reverse lookups
* millisecond resolution support for the timeout option
-------------------------------------------------------------------
Fri Apr 25 23:30:06 CEST 2008 - crrodriguez@suse.de
- update to current c-ares from curl cvs
* Eino Tuominen improved the code when a file is used to seed the randomizer.
* Alexey Simak made adig support NAPTR records
* Erik Kline cleaned up ares_gethostbyaddr.c:next_lookup() somewhat
* add pkgconfig script
-------------------------------------------------------------------
Tue Apr 15 15:09:51 CEST 2008 - ro@suse.de
- added baselibs.conf file for multilib support (libcurl4)
-------------------------------------------------------------------
Fri Nov 30 01:09:51 CET 2007 - crrodriguez@suse.de
- version 1.5.1
-------------------------------------------------------------------
Wed Aug 8 17:48:05 UTC 2007 - crrodriguez@suse.de
- run ldconfig

34
c-ares.keyring Normal file
View File

@ -0,0 +1,34 @@
pub rsa2048 2016-04-07 [SC]
27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
uid [ unknown] Daniel Stenberg <daniel@haxx.se>
sub rsa2048 2016-04-07 [E]
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFcGiPEBCAC7sCnaZqWxfXNgBC7P28BSDUs9w4y/PEFsOv9bpgbgZagX1Fnh
G0eV71nm0p8v9T8Bft1eXaBd977Dq9pgk5qKO0xZo8fC8prFqB5db7fMUvPZCuJT
Tb6lGMz4OdfT6aHqUvJ+LFF1mKn8Eqt1Q4snHGSL1PI3/+435qDRQsU15GdYrj1w
aNJKk79aes9oguaI2/OTQqzIcOFK5tJjlSOD1ryOIH1e8vD+5MMpGvsRxv3sQHeT
ZkfZbkzSLFg/LKpoiQkyql1+BLNhBYq8oaE/jlvQrTEkbAyKpMScdyHwmkWWKjyZ
tXTrAtlComnki4yC2lAV9MXINHHvNJBcIXvVABEBAAG0IERhbmllbCBTdGVuYmVy
ZyA8ZGFuaWVsQGhheHguc2U+iQE3BBMBCgAhBQJXBojxAhsDBQsJCAcDBRUKCQgL
BRYCAwEAAh4BAheAAAoJEFzJCP23HhLCOKkH/1CyoKiN2PCgTlWoYQspv/AAmsj+
cFwZobI167KowA+o3zxQqxg0MV3ds8G+iig9OIuYurlQL5Jr3CbDltaiXdWtVteR
h/VKp61EwyXq77vjJbx81hvOuaXWWLSlU0KB3w7Hj6aD/mt16DpOcY9Aw90mKyva
fRTqMF7TcT7J5HeGn2NL45dPkAhiMDEgEnw9yBTxK/x6UoQGPgiOWxSSN7Foj3mh
UOflp8W0rnkLbJ4icpym6WuLKRMKAefDvk8GVlAWuXAb9gloL1P6u3uNHllq/IOD
R2bZUBI0QNKhvt0iSj7WKsc/kaqscl+AE9jd/6kXd6vhTNFWdzeco/2mGla5AQ0E
VwaI8QEIAOxQAEvF3idxcn80tbUhJg1J98fAS7Hx3WhlFG74uAikZQl1KZrprBu7
0RWTb7Nm1tvZeXW65IlY7kk42bhfYDs1JrIPWOWKvVwKWDxoEbYgW/yvy1TOuXH2
76zbxLl5OEE8sQuOfXZsFSX2IPF9hsgNGaNzor8Ke7Y5BuCQLcGZWW5dLFbbKRKj
XG8CaWmsJVoIc2nyXCAss2q9oCJ13X/5z+Ei392rwi1d3NxAYkSiDQan+fkWkCvZ
H+dHmFjQ1ANDKielxcW1VfilK1hu9ziBBDf8TCEud/q0woIAH7rvIft4i3Cqjymo
nByE4/OjfH8j4EteQ8qoknMCjjwNVqkAEQEAAYkBHwQYAQoACQUCVwaI8QIbDAAK
CRBcyQj9tx4SwupjB/9TV4anbZK58bN7QJ5qGnU3GNjlvWFZXMw1u1xVc7abDJyq
mFeJcJ4qLUkvBA0OsvlVnMWmeCmzsXhlQVM4Bv6IWyr7JBWgkK5q2CWVB59V7v7z
nf5kWnMGFhDFPlLsGbxDWLMoZGH+Iy84whMJFgferwCJy1dND/bHXPztfhvFXi8N
NlJUFJa8Xtmugm78C+nwNHcFpVC70HPr3oa8U1ODXMp7L8W/dL3eLYXmRCNd0urH
gYrzDt6V/zf5ymvPk5w4HBocn2oRCJj/FXKhFAUptmpTE3g1yvYULmuFcNGAnPAE
xmAmd6NqsCmbj/qx4ytjt5uxt6Jm6IXV9cry8i6x
=iWGV
-----END PGP PUBLIC KEY BLOCK-----

141
c-ares.spec Normal file
View File

@ -0,0 +1,141 @@
#
# spec file for package c-ares
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sonum 2
%define libname libcares%{sonum}
%define pkg_suffix %nil
%if "@BUILD_FLAVOR@"%nil == "testsuite"%nil
%define pkg_suffix -testsuite
%endif
Name: c-ares%pkg_suffix
Version: 1.27.0
Release: 0
Summary: Library for asynchronous name resolves
License: MIT
URL: https://c-ares.org/
Source0: https://c-ares.org/download/c-ares-%{version}.tar.gz
Source1: https://c-ares.org/download/c-ares-%{version}.tar.gz.asc
Source3: c-ares.keyring
Source4: baselibs.conf
BuildRequires: c++_compiler
BuildRequires: cmake
# Needed for getservbyport_r function to work properly.
BuildRequires: netcfg
BuildRequires: pkgconfig
%if ("@BUILD_FLAVOR@" == "testsuite")
BuildRequires: gmock
BuildRequires: gtest
%endif
%description
c-ares is a C library that performs DNS requests and name resolves
asynchronously. c-ares is a fork of the library named 'ares', written
by Greg Hudson at MIT.
%if ("@BUILD_FLAVOR@" != "testsuite")
%package utils
Summary: Tools for asynchronous name resolves
%description utils
c-ares is a C library that performs DNS requests and name resolves
asynchronously. c-ares is a fork of the library named 'ares', written
by Greg Hudson at MIT.
This package provides some tools that make use of c-ares.
%package -n %{libname}
Summary: Library for asynchronous name resolves
# Needed for getservbyport_r function to work properly.
Requires: netcfg
%description -n %{libname}
c-ares is a C library that performs DNS requests and name resolves
asynchronously. c-ares is a fork of the library named 'ares', written
by Greg Hudson at MIT.
This package provides the shared libraries for c-ares.
%package devel
Summary: Development files for c-ares
Requires: %{libname} = %{version}
Requires: glibc-devel
Provides: libcares-devel = %{version}
Obsoletes: libcares-devel < %{version}
%description devel
c-ares is a C library that performs DNS requests and name resolves
asynchronously. c-ares is a fork of the library named 'ares', written
by Greg Hudson at MIT.
This package provides the development libraries and headers needed
to build packages that depend on c-ares.
%endif
%prep
%autosetup -p1 -n c-ares-%{version}
%build
%cmake \
%if ("@BUILD_FLAVOR@" == "testsuite")
-DCARES_BUILD_TESTS:BOOL=ON \
%endif
%{nil}
%cmake_build
%install
%if ("@BUILD_FLAVOR@" != "testsuite")
%cmake_install
%endif
%if ("@BUILD_FLAVOR@" != "testsuite")
%ldconfig_scriptlets -n %{libname}
%endif
%check
%if ("@BUILD_FLAVOR@" == "testsuite")
pushd build
%cmake_build -C test
LD_LIBRARY_PATH=.%{_libdir}:./%{_lib} ./bin/arestest --gtest_filter=-*.Live*
%endif
%if ("@BUILD_FLAVOR@" != "testsuite")
%files utils
%license LICENSE.md
%{_bindir}/adig
%{_bindir}/ahost
%{_mandir}/man1/adig.1%{?ext_man}
%{_mandir}/man1/ahost.1%{?ext_man}
%files -n %{libname}
%license LICENSE.md
%{_libdir}/libcares.so.%{sonum}*
%files devel
%license LICENSE.md
%{_libdir}/libcares.so
%{_includedir}/*.h
%{_mandir}/man3/ares_*.3%{?ext_man}
%{_libdir}/pkgconfig/libcares.pc
%{_libdir}/cmake/c-ares/
%endif
%changelog