Curl Asynchronous RESolver library for applications which need to perform DNS queries without blocking, or need to perform multiple DNS queries in parallel. Primary applications are servers with multiple clients and GUI programs.
For more information see the project home page: https://c-ares.org License: MIT I would like to adopt and update c-ares. Attached cygport and at: https://cygwin.com/git/?p=git/cygwin-packages/c-ares.git;f=c-ares.cygport;hb=refs/heads/playground package job: https://cygwin.com/cgi-bin2/jobs.cgi?srcpkg=c-ares log at: https://github.com/cygwin/scallywag/actions/runs/11544066103/job/32129211570 I am running and building with the updated package in place of current with no obvious issues, and would like to make this updated release current for building with other packages, before trying to update to the latest release which has build issues. For changes since the previous Cygwin release, see below: https://c-ares.org/changelog.html#c-ares-version-1161---may-11-2020 2020-05-11 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. Changes: - Allow TXT records on CHAOS qclass. Used for retriving things like version.bind, version.server, authoris.bind, hostname.bind, and id.server. Bug fixes: - Fix Windows Unicode incompatibilities with ares_getaddrinfo() - 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 - Correct macros in use for the ares_getaddrinfo.3 man page 2020-03-13 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 2018-10-23 1.15.0 Changes: - Add ares_init_options() configurability for path to resolv.conf file - Ability to exclude building of tools (adig, ahost, acountry) in CMake - Android: Support for domain search suffix - Report ARES_ENOTFOUND for .onion domain names as per RFC7686 Bug fixes: - AIX build fix for trying to include both nameser_compat.h and onameser_compat.h - Windows: Improve DNS suffixes extracting from WinNT registry - Fix modern GCC warnings - Apply the IPv6 server blacklist to all nameserver sources, not just Windows - Fix warnings emitted by MSVC when using -W4 - Prevent changing name servers while queries are outstanding - Harden and rationalize c-ares timeout computation - Distribute ares_android.h - ares_set_servers_csv() on failure should not leave channel in a bad state - Add missing docs to distribution
#|/usr/bin/cygport # c-ares.cygport - c-ares Cygwin package build control script definitions NAME=c-ares VERSION=1.16.1 RELEASE=1 CATEGORY="Net Libs" SUMMARY="Curl Asynchronous RESolver library" DESCRIPTION="Curl Asynchronous RESolver library for applications which need to perform DNS queries without blocking, or need to perform multiple DNS queries in parallel. Primary applications are servers with multiple clients and GUI programs." HOMEPAGE=https://$NAME.haxx.se/ SRC_URI=$HOMEPAGE/download/$NAME-$VERSION.tar.gz HOMEPAGE=https://$NAME.org/ dir=$NAME/releases/download/${NAME/-}-${VERSION//./_} SRC_URI=https://github.com/$NAME/$dir/$NAME-$VERSION.tar.gz SRC_URI+=" $SRC_URI.asc" PATCH_URI= #FEDORA=https://src.fedoraproject.org/rpms/$NAME/raw/f29/f # $FEDORA/0001-Use-RPM-compiler-options.patch # 1.13.0-cygwin.patch #FEDORA=http://pkgs.fedoraproject.org/cgit/rpms/$NAME.git/plain DOCS="AUTHORS CHANGES INSTALL.md LICENSE.md" DOCS+=" NEWS README.cares README.md RELEASE-NOTES" LICENSE=MIT # SPDX-License-Identifier: MIT LICENSE_SPDX="SPDX-License-Identifier: $LICENSE" LICENSE_URI=LICENSE.md DOCS+=" $LICENSE_URI" DIFF_EXCLUDES="ares_build.h" BUILD_REQUIRES="gettext-devel libiconv-devel gcc-core gcc-g++ autoconf automake libtool make pkg-config" CYGCONF_ARGS=--enable-tests # --enable-code-coverage Whether to enable code coverage support # --disable-curldebug Disable curl debug memory tracking # --enable-curldebug Enable curl debug memory tracking # --disable-debug Disable debug build options # --enable-debug Enable debug build options # --disable-dependency-tracking speeds up one-time build # --enable-dependency-tracking do not reject slow dependency extractors # --disable-expose-statics Disable exposure of internal static functions for testing # --enable-expose-statics Enable exposure of internal static functions for testing # --enable-fast-install[=PKGS] optimize for fast installation [default=yes] # --disable-largefile omit support for large files # --enable-libgcc use libgcc when linking # --disable-libtool-lock avoid locking (might break parallel builds) # --enable-maintainer-mode enable make rules and dependencies not useful # (and sometimes confusing) to the casual installer # --disable-nonblocking Disable non-blocking communications # --enable-nonblocking Enable non-blocking communications # --disable-optimize Disable compiler optimizations # --enable-optimize(=OPT) Enable compiler optimizations (default=-O2) # --disable-option-checking ignore unrecognized --enable/--with options # --enable-shared[=PKGS] build shared libraries [default=yes] # --disable-silent-rules verbose build output (undo: "make V=0") # --enable-silent-rules less verbose build output (undo: "make V=1") # --enable-static[=PKGS] build static libraries [default=yes] # --disable-symbol-hiding Disable hiding of library internal symbols # --enable-symbol-hiding Enable hiding of library internal symbols # --enable-tests build test suite # --disable-warnings Disable strict compiler warnings # --enable-warnings Enable strict compiler warnings # --disable-werror Disable compiler warnings as errors # --enable-werror Enable compiler warnings as errors # --with-aix-soname=aix|svr4|both shared library versioning (aka "SONAME") variant to provide on AIX, [default=aix]. # --with-gcov=GCOV use given GCOV for coverage (GCOV=gcov). # --with-gnu-ld assume the C compiler uses GNU ld [default=no] # --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] # --with-random=FILE read randomness from FILE (default=/dev/urandom) # --with-sysroot[=DIR] Search for dependent libraries within DIR (or compiler sysroot if not specified). ABI=2 PKG_NAMES="libcares$ABI libcares-devel" declare libcares${ABI}_CONTENTS=" usr/bin/cygcares-$ABI.dll usr/share/doc/c-ares/ " libcares_devel_CONTENTS=" usr/include/ares*.h usr/lib/libcares.dll.a usr/lib/pkgconfig/libcares.pc usr/share/man/man3/ " src_compile() { cd $S cygautoreconf cd $B cygconf cygmake cygmake ahost adig acountry } CYGWIN_MAINTAINER=Brian%20Inglis CYGWIN_MAINTAINER_EMAIL=brian.ing...@systematicsw.ab.ca UPSTREAM_MAINTAINER=C-Ares%20Library UPSTREAM_MAINTAINER_EMAIL=c-a...@lists.haxx.se SUBJECT=${OSTYPE^}%20Package%20$NAME%20$VERSION MAILTO=mailto:$UPSTREAM_MAINTAINER%20%3C$UPSTREAM_MAINTAINER_EMAIL%3E\ ?from=$CYGWIN_MAINTAINER%20%3C$CYGWIN_MAINTAINER_EMAIL%3E\ \&subject=$SUBJECT\&body=$SUBJECT