File:
[cvs.NetBSD.org] /
pkgsrc /
net /
libcares /
Makefile
Revision
1.41:
download - view:
text,
annotated -
select for diffs
Sun Jan 7 16:05:32 2024 UTC (11 months ago) by
wiz
Branches:
MAIN
CVS tags:
HEAD
libcares: update to 1.25.0.
Version 1.25.0 (2 Jan 2024)
GitHub (2 Jan 2024)
- [Brad House brought this change]
1.25.0 release prep (#676)
Brad House (31 Dec 2023)
- tests: replace google DNS with CloudFlare for reverse lookups as google's servers stopped responding properly
- OSSFuzz: it assumes autotools builds a static library by default, which means the old autotools must have done that even though there were comments saying it wasn't. Disable static by default on Windows however since it can't build both simultaneously.
- autotools: update logic for building tests to provide more feedback
- set winver consistently across build systems
GitHub (28 Dec 2023)
- [Brad House brought this change]
Autotools: rework to simplify and fix recent issues (#674)
Completely rework the autotools build system, issues have cropped up due to the complexity and could cause issues on even semi-modern Linux systems (Ubuntu 20.04 for example).
Changes include:
Remove all curl/xc/cares m4 helper files, they go overboard on detections of functions and datatypes. Go back to more plain autoconf macros as they've come a long way over the years.
Use known systems and heuristics to determine datatypes for functions like send() and recv(), rather than the error prone detection which required thousands of permutations and might still get it wrong.
Remove unneeded configure arguments like --enable-debug or --enable-optimize, its more common for people to simply pass their own CFLAGS on the command line.
Only require CARES_STATICLIB definition on Windows static builds, its not necessary ever for other systems, even when hiding non-public symbols.
Remove some function and definition detections that were never used in c-ares
The test framework is now embedded into the toplevel configure system, there was no need to chain build the test system as it is never built externally to c-ares.
As a side-effect of the changes, a configure run completes in about 25% of the original time.
This has been tested on various Linux distributions (of varying age), FreeBSD, MacOS, Windows (via MSYS2 with Mingw), and Solaris10/11 (by @dfandrich), AIX 7.3 (by @dfandrich). It is not unlikely that this may have broken more esoteric or legacy systems, and we'll likely need to be ready to accept bug reports and patches, but it has removed over 10k lines of build system code. It is very likely any issues that crop up will add far fewer lines of code to fix such systems.
Fixes Bug: #670
Fix By: Brad House (@bradh352)
Brad House (22 Dec 2023)
- docs: host -> ip
fix mismatched documentation stating host instead of ip
Fix By: Brad House (@bradh352)
GitHub (21 Dec 2023)
- [Brad House brought this change]
Old MacOS SDKs require you include sys/socket.h before net/if.h (#673)
Old MacOS SDKs (like 10.8) require you include `sys/socket.h` before you include `net/if.h` as reported by MacPorts. Using a new SDK but with setting the macos target version does not have the same issue.
Fixes Issue: #672
Fix By: Brad House (@bradh352)
- [Brad House brought this change]
Autotools warning fixes (#671)
* get rid of clashes with curl namespace
* remove warnings due to deprecated functionality
* reorder some macro calls to get rid of warnings due to being called in the wrong order
Fix By: Brad House (@bradh352)
Brad House (19 Dec 2023)
- clang-format
- ares_strsplit() rewrite as wrapper around ares__buf_split()
We want to limit as much as possible any hand written parsers.
ares__buf_split() uses the new memory-safe parsing routines. This
adds a couple of additional flags to remove duplicates which the
existing split code did.
Fix By: Brad House (@bradh352)
- clang-format
- sonarcloud: const
- Connection failure should increment server failure count first
In order to be sure a different server is chosen on the next query,
a read error should result in the failure count being updated
first before requeing the request to a different server.
Fix By: Brad House (@bradh352)
GitHub (18 Dec 2023)
- [Brad House brought this change]
ahost should use ares_getaddrinfo() these days (#669)
ahost wasn't printing both ipv4 and ipv6 addresses. This day and age, it really should.
This PR also adds the ability to specify the servers to use.
Fix By: Brad House (@bradh352)
Brad House (17 Dec 2023)
- Fix bad stub for ares__iface_ips_enumerate()
If the ability to enumerate interface ip addresses does not exist
on a system, the stub function contained the wrong prototype.
Fixes Bug: #668
Fix By: Brad House (@bradh352)
GitHub (17 Dec 2023)
- [Gregor Jasny brought this change]
Fix minor warnings and documentation typos (#666)
Build warnings could be seen [here](https://buildd.debian.org/status/fetch.php?pkg=c-ares&arch=arm64&ver=1.24.0-1&stamp=1702826366&raw=0) [origin](https://buildd.debian.org/status/package.php?p=c-ares)
Fix By: Gregor Jasny (@gjasny)
- [Brad House brought this change]
CI: Add Alpine Linux and old Ubuntu (#667)
Alpine linux doesn't use glibc but instead musl c, so provides a good alternative test bed. We are also adding the oldest non-EOL ubuntu version so we can test against older linux variants to prevent surprises.
This patch also migrates more tests to use cmake and ninja in order to reduce overall build times as we seem to run out of credits on Cirrus-CI pretty quickly.
Fix By: Brad House (@bradh352)
Brad House (17 Dec 2023)
- fix support with older google test versions
- getrandom() may require sys/random.h on some systems
There is a reported build issue where getrandom() is detected
but compile fails due to a missing prototype. This commit attempts
to resolve that issue.
Fixes Bug: #665
Fix By: Brad House (@bradh352)
GitHub (17 Dec 2023)
- [Martin Chang brought this change]
Use SOCK_DNS extension on socket on OpenBSD (#659)
This patch added the `SOCK_DNS` flag when running on OpenBSD. Allowing a reduced set of `pledge(2)` promises. Before this patch. The "stdio rpath inet" promises must be used in order to resolve any records. After the patch inet can be replaced with dns which only allows communication on destination port 53, instead of on all ports.
Side note: I checked the OpenBSD kernel source code. Even though the socket document says the DNS port (typically 53)., The OpenBSD 7.4 kernel only allows 53.
Fix By: Martin Chang (@marty1885)
Brad House (17 Dec 2023)
- ci: disable static for symbol hiding tests
- ci: add test case for building with hidden symbol visibility
- fix test building with symbol hiding
New test cases depend on internal symbols for calculating timeouts.
Disable those test features if symbol hiding is enabled.
Fixes Bug: #664
Fix By: Brad House (@bradh352)