Path to this page:
Subject: CVS commit: pkgsrc/net/libcares
From: Thomas Klausner
Date: 2024-01-07 17:05:32
Message id: 20240107160532.F051EFA42@cvs.NetBSD.org
Log Message:
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)
Files: