Added Cyg-Win
This commit is contained in:
parent
82cbc206eb
commit
413c315806
10586 changed files with 3806249 additions and 0 deletions
84
Agent-Windows/OGP64/usr/share/doc/c-ares/AUTHORS
Normal file
84
Agent-Windows/OGP64/usr/share/doc/c-ares/AUTHORS
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
c-ares is based on ares, and these are the people that have worked on it since
|
||||
the fork was made:
|
||||
|
||||
Albert Chin
|
||||
Alex Loukissas
|
||||
Alexander Klauer
|
||||
Alexander Lazic
|
||||
Alexey Simak
|
||||
Andreas Rieke
|
||||
Andrew Andkjar
|
||||
Andrew Ayer
|
||||
Andrew C. Morrow
|
||||
Ashish Sharma
|
||||
Ben Greear
|
||||
Ben Noordhuis
|
||||
BogDan Vatra
|
||||
Brad House
|
||||
Brad Spencer
|
||||
Bram Matthys
|
||||
Chris Araman
|
||||
Dan Fandrich
|
||||
Daniel Johnson
|
||||
Daniel Stenberg
|
||||
David Drysdale
|
||||
David Stuart
|
||||
Denis Bilenko
|
||||
Dima Tisnek
|
||||
Dirk Manske
|
||||
Dominick Meglio
|
||||
Doug Goldstein
|
||||
Doug Kwan
|
||||
Duncan Wilcox
|
||||
Eino Tuominen
|
||||
Erik Kline
|
||||
Fedor Indutny
|
||||
Frederic Germain
|
||||
Geert Uytterhoeven
|
||||
George Neill
|
||||
Gisle Vanem
|
||||
Google LLC
|
||||
Gregor Jasny
|
||||
Guenter Knauf
|
||||
Guilherme Balena Versiani
|
||||
Gunter Knauf
|
||||
Henrik Stoerner
|
||||
Jakub Hrozek
|
||||
James Bursa
|
||||
Jérémy Lal
|
||||
John Schember
|
||||
Keith Shaw
|
||||
Lei Shi
|
||||
Marko Kreen
|
||||
Michael Wallner
|
||||
Mike Crowe
|
||||
Nick Alcock
|
||||
Nick Mathewson
|
||||
Nicolas "Pixel" Noble
|
||||
Ning Dong
|
||||
Oleg Pudeyev
|
||||
Patrick Valsecchi
|
||||
Patrik Thunstrom
|
||||
Paul Saab
|
||||
Peter Pentchev
|
||||
Phil Blundell
|
||||
Poul Thomas Lomholt
|
||||
Ravi Pratap
|
||||
Robin Cornelius
|
||||
Saúl Ibarra Corretgé
|
||||
Sebastian at basti79.de
|
||||
Shmulik Regev
|
||||
Stefan Bühler
|
||||
Steinar H. Gunderson
|
||||
Svante Karlsson
|
||||
Tofu Linden
|
||||
Tom Hughes
|
||||
Tor Arntsen
|
||||
Viktor Szakats
|
||||
Vlad Dinulescu
|
||||
William Ahern
|
||||
Yang Tse
|
||||
hpopescu at ixiacom.com
|
||||
liren at vivisimo.com
|
||||
nordsturm
|
||||
saghul
|
||||
472
Agent-Windows/OGP64/usr/share/doc/c-ares/INSTALL.md
Normal file
472
Agent-Windows/OGP64/usr/share/doc/c-ares/INSTALL.md
Normal file
|
|
@ -0,0 +1,472 @@
|
|||
```
|
||||
___ __ _ _ __ ___ ___
|
||||
/ __| ___ / _` | '__/ _ \/ __|
|
||||
| (_ |___| (_| | | | __/\__ \
|
||||
\___| \__,_|_| \___||___/
|
||||
|
||||
How To Compile
|
||||
```
|
||||
|
||||
Installing Binary Packages
|
||||
==========================
|
||||
|
||||
Lots of people download binary distributions of c-ares. This document
|
||||
does not describe how to install c-ares using such a binary package.
|
||||
This document describes how to compile, build and install c-ares from
|
||||
source code.
|
||||
|
||||
Building from Git
|
||||
=================
|
||||
|
||||
If you get your code off a Git repository rather than an official
|
||||
release tarball, see the [GIT-INFO](GIT-INFO) file in the root directory
|
||||
for specific instructions on how to proceed.
|
||||
|
||||
In particular, if not using CMake you will need to run `./buildconf` (Unix) or
|
||||
`buildconf.bat` (Windows) to generate build files, and for the former
|
||||
you will need a local installation of Autotools. If using CMake the steps are
|
||||
the same for both Git and official release tarballs.
|
||||
|
||||
AutoTools Build
|
||||
===============
|
||||
|
||||
### General Information, works on most Unix Platforms (Linux, FreeBSD, etc.)
|
||||
|
||||
A normal Unix installation is made in three or four steps (after you've
|
||||
unpacked the source archive):
|
||||
|
||||
./configure
|
||||
make
|
||||
make install
|
||||
|
||||
You probably need to be root when doing the last command.
|
||||
|
||||
If you have checked out the sources from the git repository, read the
|
||||
[GIT-INFO](GIT-INFO) on how to proceed.
|
||||
|
||||
Get a full listing of all available configure options by invoking it like:
|
||||
|
||||
./configure --help
|
||||
|
||||
If you want to install c-ares in a different file hierarchy than /usr/local,
|
||||
you need to specify that already when running configure:
|
||||
|
||||
./configure --prefix=/path/to/c-ares/tree
|
||||
|
||||
If you happen to have write permission in that directory, you can do `make
|
||||
install` without being root. An example of this would be to make a local
|
||||
installation in your own home directory:
|
||||
|
||||
./configure --prefix=$HOME
|
||||
make
|
||||
make install
|
||||
|
||||
### More Options
|
||||
|
||||
To force configure to use the standard cc compiler if both cc and gcc are
|
||||
present, run configure like
|
||||
|
||||
CC=cc ./configure
|
||||
# or
|
||||
env CC=cc ./configure
|
||||
|
||||
To force a static library compile, disable the shared library creation
|
||||
by running configure like:
|
||||
|
||||
./configure --disable-shared
|
||||
|
||||
If you're a c-ares developer and use gcc, you might want to enable more
|
||||
debug options with the `--enable-debug` option.
|
||||
|
||||
### Special Cases
|
||||
|
||||
Some versions of uClibc require configuring with `CPPFLAGS=-D_GNU_SOURCE=1`
|
||||
to get correct large file support.
|
||||
|
||||
The Open Watcom C compiler on Linux requires configuring with the variables:
|
||||
|
||||
./configure CC=owcc AR="$WATCOM/binl/wlib" AR_FLAGS=-q \
|
||||
RANLIB=/bin/true STRIP="$WATCOM/binl/wstrip" CFLAGS=-Wextra
|
||||
|
||||
|
||||
### CROSS COMPILE
|
||||
|
||||
(This section was graciously brought to us by Jim Duey, with additions by
|
||||
Dan Fandrich)
|
||||
|
||||
Download and unpack the c-ares package.
|
||||
|
||||
`cd` to the new directory. (e.g. `cd c-ares-1.7.6`)
|
||||
|
||||
Set environment variables to point to the cross-compile toolchain and call
|
||||
configure with any options you need. Be sure and specify the `--host` and
|
||||
`--build` parameters at configuration time. The following script is an
|
||||
example of cross-compiling for the IBM 405GP PowerPC processor using the
|
||||
toolchain from MonteVista for Hardhat Linux.
|
||||
|
||||
```sh
|
||||
#! /bin/sh
|
||||
|
||||
export PATH=$PATH:/opt/hardhat/devkit/ppc/405/bin
|
||||
export CPPFLAGS="-I/opt/hardhat/devkit/ppc/405/target/usr/include"
|
||||
export AR=ppc_405-ar
|
||||
export AS=ppc_405-as
|
||||
export LD=ppc_405-ld
|
||||
export RANLIB=ppc_405-ranlib
|
||||
export CC=ppc_405-gcc
|
||||
export NM=ppc_405-nm
|
||||
|
||||
./configure --target=powerpc-hardhat-linux \
|
||||
--host=powerpc-hardhat-linux \
|
||||
--build=i586-pc-linux-gnu \
|
||||
--prefix=/opt/hardhat/devkit/ppc/405/target/usr/local \
|
||||
--exec-prefix=/usr/local
|
||||
```
|
||||
|
||||
You may also need to provide a parameter like `--with-random=/dev/urandom`
|
||||
to configure as it cannot detect the presence of a random number
|
||||
generating device for a target system. The `--prefix` parameter
|
||||
specifies where c-ares will be installed. If `configure` completes
|
||||
successfully, do `make` and `make install` as usual.
|
||||
|
||||
In some cases, you may be able to simplify the above commands to as
|
||||
little as:
|
||||
|
||||
./configure --host=ARCH-OS
|
||||
|
||||
|
||||
### Cygwin (Windows)
|
||||
|
||||
Almost identical to the unix installation. Run the configure script in the
|
||||
c-ares root with `sh configure`. Make sure you have the sh executable in
|
||||
`/bin/` or you'll see the configure fail toward the end.
|
||||
|
||||
Run `make`
|
||||
|
||||
|
||||
### QNX
|
||||
|
||||
(This section was graciously brought to us by David Bentham)
|
||||
|
||||
As QNX is targeted for resource constrained environments, the QNX headers
|
||||
set conservative limits. This includes the `FD_SETSIZE` macro, set by default
|
||||
to 32. Socket descriptors returned within the c-ares library may exceed this,
|
||||
resulting in memory faults/SIGSEGV crashes when passed into `select(..)`
|
||||
calls using `fd_set` macros.
|
||||
|
||||
A good all-round solution to this is to override the default when building
|
||||
c-ares, by overriding `CFLAGS` during configure, example:
|
||||
|
||||
# configure CFLAGS='-DFD_SETSIZE=64 -g -O2'
|
||||
|
||||
|
||||
### RISC OS
|
||||
|
||||
The library can be cross-compiled using gccsdk as follows:
|
||||
|
||||
CC=riscos-gcc AR=riscos-ar RANLIB='riscos-ar -s' ./configure \
|
||||
--host=arm-riscos-aof --without-random --disable-shared
|
||||
make
|
||||
|
||||
where `riscos-gcc` and `riscos-ar` are links to the gccsdk tools.
|
||||
You can then link your program with `c-ares/lib/.libs/libcares.a`.
|
||||
|
||||
|
||||
### Android
|
||||
|
||||
Method using a configure cross-compile (tested with Android NDK r7b):
|
||||
|
||||
- prepare the toolchain of the Android NDK for standalone use; this can
|
||||
be done by invoking the script:
|
||||
|
||||
./tools/make-standalone-toolchain.sh
|
||||
|
||||
which creates a usual cross-compile toolchain. Let's assume that you put
|
||||
this toolchain below `/opt` then invoke configure with something
|
||||
like:
|
||||
|
||||
```
|
||||
export PATH=/opt/arm-linux-androideabi-4.4.3/bin:$PATH
|
||||
./configure --host=arm-linux-androideabi [more configure options]
|
||||
make
|
||||
```
|
||||
- if you want to compile directly from our GIT repo you might run into
|
||||
this issue with older automake stuff:
|
||||
|
||||
```
|
||||
checking host system type...
|
||||
Invalid configuration `arm-linux-androideabi':
|
||||
system `androideabi' not recognized
|
||||
configure: error: /bin/sh ./config.sub arm-linux-androideabi failed
|
||||
```
|
||||
this issue can be fixed with using more recent versions of `config.sub`
|
||||
and `config.guess` which can be obtained here:
|
||||
http://git.savannah.gnu.org/gitweb/?p=config.git;a=tree
|
||||
you need to replace your system-own versions which usually can be
|
||||
found in your automake folder:
|
||||
`find /usr -name config.sub`
|
||||
|
||||
|
||||
CMake builds
|
||||
============
|
||||
|
||||
Current releases of c-ares introduce a CMake v3+ build system that has been
|
||||
tested on most platforms including Windows, Linux, FreeBSD, macOS, AIX and
|
||||
Solaris.
|
||||
|
||||
In the most basic form, building with CMake might look like:
|
||||
|
||||
```sh
|
||||
cd /path/to/cmake/source
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/cares ..
|
||||
make
|
||||
sudo make install
|
||||
```
|
||||
|
||||
Options
|
||||
-------
|
||||
|
||||
Options to CMake are passed on the command line using "-D${OPTION}=${VALUE}".
|
||||
The values defined are all boolean and take values like On, Off, True, False.
|
||||
|
||||
| Option Name | Description | Default Value |
|
||||
|-----------------------------|-----------------------------------------------------------------------|----------------|
|
||||
| CARES_STATIC | Build the static library | Off |
|
||||
| CARES_SHARED | Build the shared library | On |
|
||||
| CARES_INSTALL | Hook in installation, useful to disable if chain building | On |
|
||||
| CARES_STATIC_PIC | Build the static library as position-independent | Off |
|
||||
| CARES_BUILD_TESTS | Build and run tests | Off |
|
||||
| CARES_BUILD_CONTAINER_TESTS | Build and run container tests (implies CARES_BUILD_TESTS, Linux only) | Off |
|
||||
| CARES_BUILD_TOOLS | Build tools | On |
|
||||
| CARES_SYMBOL_HIDING | Hide private symbols in shared libraries | Off |
|
||||
| CARES_THREADS | Build with thread-safety support | On |
|
||||
|
||||
Ninja
|
||||
-----
|
||||
|
||||
Ninja is the next-generation build system meant for generators like CMake that
|
||||
heavily parallelize builds. Its use is very similar to the normal build:
|
||||
|
||||
```sh
|
||||
cd /path/to/cmake/source
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local/cares -G "Ninja" ..
|
||||
ninja
|
||||
sudo ninja install
|
||||
```
|
||||
|
||||
Windows MSVC Command Line
|
||||
-------------------------
|
||||
|
||||
```
|
||||
cd \path\to\cmake\source
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:\cares -G "NMake Makefiles" ..
|
||||
nmake
|
||||
nmake install
|
||||
```
|
||||
|
||||
Windows MinGW-w64 Command Line via MSYS
|
||||
---------------------------------------
|
||||
```
|
||||
cd \path\to\cmake\source
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:\cares -G "MSYS Makefiles" ..
|
||||
make
|
||||
make install
|
||||
```
|
||||
|
||||
|
||||
Platform-specific build systems
|
||||
===============================
|
||||
|
||||
Win32
|
||||
-----
|
||||
|
||||
### Building Windows DLLs and C run-time (CRT) linkage issues
|
||||
|
||||
As a general rule, building a DLL with static CRT linkage is highly
|
||||
discouraged, and intermixing CRTs in the same app is something to
|
||||
avoid at any cost.
|
||||
|
||||
Reading and comprehension of the following Microsoft Learn article
|
||||
is a must for any Windows developer. Especially
|
||||
important is full understanding if you are not going to follow the
|
||||
advice given above.
|
||||
|
||||
- [Use the C Run-Time](https://learn.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/libraries/use-c-run-time)
|
||||
|
||||
If your app is misbehaving in some strange way, or it is suffering
|
||||
from memory corruption, before asking for further help, please try
|
||||
first to rebuild every single library your app uses as well as your
|
||||
app using the debug multithreaded dynamic C runtime.
|
||||
|
||||
|
||||
### MSYS
|
||||
|
||||
Building is supported for native windows via both AutoTools and CMake. When
|
||||
building with autotools, you can only build either a shared version or a static
|
||||
version (use `--disable-shared` or `--disable-static`). CMake can build both
|
||||
simultaneously.
|
||||
|
||||
All of the MSYS environments are supported: `MINGW32`, `MINGW64`, `UCRT64`,
|
||||
`CLANG32`, `CLANG64`, `CLANGARM64`.
|
||||
|
||||
### MingW32
|
||||
|
||||
Make sure that MinGW32's bin dir is in the search path, for example:
|
||||
|
||||
set PATH=c:\mingw32\bin;%PATH%
|
||||
|
||||
then run 'make -f Makefile.m32' in the root dir.
|
||||
|
||||
|
||||
### MSVC 6 caveats
|
||||
|
||||
If you use MSVC 6 it is required that you use the February 2003 edition PSDK:
|
||||
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm
|
||||
|
||||
|
||||
### MSVC from command line
|
||||
|
||||
Run the `vcvars32.bat` file to get a proper environment. The
|
||||
`vcvars32.bat` file is part of the Microsoft development environment and
|
||||
you may find it in `C:\Program Files\Microsoft Visual Studio\vc98\bin`
|
||||
provided that you installed Visual C/C++ 6 in the default directory.
|
||||
|
||||
Further details in [README.msvc](README.msvc)
|
||||
|
||||
|
||||
### Important static c-ares usage note
|
||||
|
||||
When building an application that uses the static c-ares library, you must
|
||||
add `-DCARES_STATICLIB` to your `CFLAGS`. Otherwise the linker will look for
|
||||
dynamic import symbols.
|
||||
|
||||
|
||||
DOS
|
||||
---
|
||||
|
||||
c-ares supports building as a 32bit protected mode application via
|
||||
[DJGPP](https://www.delorie.com/djgpp/). It is recommended to use a DJGPP
|
||||
cross compiler from [Andrew Wu](https://github.com/andrewwutw/build-djgpp)
|
||||
as building directly in a DOS environment can be difficult.
|
||||
|
||||
It is required to also have [Watt-32](https://www.watt-32.net/) available
|
||||
built using the same compiler. It is recommended to build the latest `master`
|
||||
branch from [GitHub](https://github.com/sezero/watt32/tree/master).
|
||||
|
||||
Finally, the `DJ_PREFIX` and `WATT_ROOT` environment variables must be set
|
||||
appropriately before calling `make Makefile.dj` to build c-ares.
|
||||
|
||||
Please refer to our CI
|
||||
[GitHub Actions Workflow](https://github.com/c-ares/c-ares/blob/main/.github/workflows/djgpp.yml)
|
||||
for a full build example, including building the latest Watt-32 release.
|
||||
|
||||
|
||||
IBM OS/2
|
||||
--------
|
||||
|
||||
Building under OS/2 is not much different from building under unix.
|
||||
You need:
|
||||
|
||||
- emx 0.9d
|
||||
- GNU make
|
||||
- GNU patch
|
||||
- ksh
|
||||
- GNU bison
|
||||
- GNU file utilities
|
||||
- GNU sed
|
||||
- autoconf 2.13
|
||||
|
||||
If during the linking you get an error about `_errno` being an undefined
|
||||
symbol referenced from the text segment, you need to add `-D__ST_MT_ERRNO__`
|
||||
in your definitions.
|
||||
|
||||
If you're getting huge binaries, probably your makefiles have the `-g` in
|
||||
`CFLAGS`.
|
||||
|
||||
|
||||
NetWare
|
||||
-------
|
||||
|
||||
To compile `libcares.a` / `libcares.lib` you need:
|
||||
|
||||
- either any gcc / nlmconv, or CodeWarrior 7 PDK 4 or later.
|
||||
- gnu make and awk running on the platform you compile on;
|
||||
native Win32 versions can be downloaded from:
|
||||
http://www.gknw.net/development/prgtools/
|
||||
- recent Novell LibC SDK available from:
|
||||
http://developer.novell.com/ndk/libc.htm
|
||||
- or recent Novell CLib SDK available from:
|
||||
http://developer.novell.com/ndk/clib.htm
|
||||
|
||||
Set a search path to your compiler, linker and tools; on Linux make
|
||||
sure that the var `OSTYPE` contains the string 'linux'; set the var
|
||||
`NDKBASE` to point to the base of your Novell NDK; and then type
|
||||
`make -f Makefile.netware` from the top source directory;
|
||||
|
||||
VCPKG
|
||||
=====
|
||||
|
||||
You can build and install c-ares using [vcpkg](https://github.com/Microsoft/vcpkg/) dependency manager:
|
||||
|
||||
```sh or powershell
|
||||
git clone https://github.com/Microsoft/vcpkg.git
|
||||
cd vcpkg
|
||||
./bootstrap-vcpkg.sh
|
||||
./vcpkg integrate install
|
||||
./vcpkg install c-ares
|
||||
```
|
||||
|
||||
The c-ares port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please [create an issue or pull request](https://github.com/Microsoft/vcpkg) on the vcpkg repository.
|
||||
|
||||
WATCOM
|
||||
=====
|
||||
|
||||
To build c-ares with OpenWatcom, you need to have at least version 1.9 of OpenWatcom. You can get the latest version from [http://openwatcom.org/ftp/install/](http://openwatcom.org/ftp/install/). Install the version that corresponds to your current host platform.
|
||||
|
||||
After installing OpenWatcom, open a new command prompt and execute the following commands:
|
||||
|
||||
```
|
||||
cd \path\to\cmake\source
|
||||
buildconf.bat
|
||||
wmake -u -f Makefile.Watcom
|
||||
```
|
||||
|
||||
After running wmake, you should get adig.exe, ahost.exe, and the static and dynamic versions of libcares.
|
||||
|
||||
PORTS
|
||||
=====
|
||||
|
||||
This is a probably incomplete list of known hardware and operating systems
|
||||
that c-ares has been compiled for. If you know a system c-ares compiles and
|
||||
runs on, that isn't listed, please let us know!
|
||||
|
||||
- Linux (i686, x86_64, AARCH64, and more)
|
||||
- MacOS 10.4+
|
||||
- iOS
|
||||
- Windows 8+ (i686, x86_64)
|
||||
- Android (ARM, AARCH64, x86_64)
|
||||
- FreeBSD
|
||||
- NetBSD
|
||||
- OpenBSD
|
||||
- Solaris (SPARC, x86_64)
|
||||
- AIX (POWER)
|
||||
- Tru64 (Alpha)
|
||||
- IRIX (MIPS)
|
||||
- Novell NetWare (i386)
|
||||
|
||||
|
||||
Useful URLs
|
||||
===========
|
||||
|
||||
- c-ares: https://c-ares.org/
|
||||
- MinGW-w64: http://mingw-w64.sourceforge.net/
|
||||
- MSYS2: https://msys2.org
|
||||
- OpenWatcom: http://www.openwatcom.org/
|
||||
24
Agent-Windows/OGP64/usr/share/doc/c-ares/LICENSE.md
Normal file
24
Agent-Windows/OGP64/usr/share/doc/c-ares/LICENSE.md
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 1998 Massachusetts Institute of Technology
|
||||
Copyright (c) 2007 - 2023 Daniel Stenberg with many contributors, see AUTHORS
|
||||
file.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the next
|
||||
paragraph) shall be included in all copies or substantial portions of the
|
||||
Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
158
Agent-Windows/OGP64/usr/share/doc/c-ares/README.md
Normal file
158
Agent-Windows/OGP64/usr/share/doc/c-ares/README.md
Normal file
|
|
@ -0,0 +1,158 @@
|
|||
# [](https://c-ares.org/)
|
||||
|
||||
[](https://cirrus-ci.com/github/c-ares/c-ares)
|
||||
[](https://ci.appveyor.com/project/c-ares/c-ares/branch/main)
|
||||
[](https://coveralls.io/github/c-ares/c-ares?branch=main)
|
||||
[](https://bestpractices.coreinfrastructure.org/projects/291)
|
||||
[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:c-ares)
|
||||
[](https://sonarcloud.io/summary/new_code?id=c-ares_c-ares)
|
||||
[](https://scan.coverity.com/projects/c-ares)
|
||||
|
||||
- [Overview](#overview)
|
||||
- [Code](#code)
|
||||
- [Communication](#communication)
|
||||
- [Release Keys](#release-keys)
|
||||
- [Verifying signatures](#verifying-signatures)
|
||||
- [Features](#features)
|
||||
- [RFCs and Proposals](#supported-rfcs-and-proposals)
|
||||
|
||||
## Overview
|
||||
[c-ares](https://c-ares.org) is a modern DNS (stub) resolver library, written in
|
||||
C. It provides interfaces for asynchronous queries while trying to abstract the
|
||||
intricacies of the underlying DNS protocol. It was originally intended for
|
||||
applications which need to perform DNS queries without blocking, or need to
|
||||
perform multiple DNS queries in parallel.
|
||||
|
||||
One of the goals of c-ares is to be a better DNS resolver than is provided by
|
||||
your system, regardless of which system you use. We recommend using
|
||||
the c-ares library in all network applications even if the initial goal of
|
||||
asynchronous resolution is not necessary to your application.
|
||||
|
||||
c-ares will build with any C89 compiler and is [MIT licensed](LICENSE.md),
|
||||
which makes it suitable for both free and commercial software. c-ares runs on
|
||||
Linux, FreeBSD, OpenBSD, MacOS, Solaris, AIX, Windows, Android, iOS and many
|
||||
more operating systems.
|
||||
|
||||
c-ares has a strong focus on security, implementing safe parsers and data
|
||||
builders used throughout the code, thus avoiding many of the common pitfalls
|
||||
of other C libraries. Through automated testing with our extensive testing
|
||||
framework, c-ares is constantly validated with a range of static and dynamic
|
||||
analyzers, as well as being constantly fuzzed by [OSS Fuzz](https://github.com/google/oss-fuzz).
|
||||
|
||||
While c-ares has been around for over 20 years, it has been actively maintained
|
||||
both in regards to the latest DNS RFCs as well as updated to follow the latest
|
||||
best practices in regards to C coding standards.
|
||||
|
||||
## Code
|
||||
|
||||
The full source code and revision history is available in our
|
||||
[GitHub repository](https://github.com/c-ares/c-ares). Our signed releases
|
||||
are available in the [release archives](https://c-ares.org/download/).
|
||||
|
||||
|
||||
See the [INSTALL.md](INSTALL.md) file for build information.
|
||||
|
||||
## Communication
|
||||
|
||||
**Issues** and **Feature Requests** should be reported to our
|
||||
[GitHub Issues](https://github.com/c-ares/c-ares/issues) page.
|
||||
|
||||
**Discussions** around c-ares and its use, are held on
|
||||
[GitHub Discussions](https://github.com/c-ares/c-ares/discussions/categories/q-a)
|
||||
or the [Mailing List](https://lists.haxx.se/mailman/listinfo/c-ares). Mailing
|
||||
List archive [here](https://lists.haxx.se/pipermail/c-ares/).
|
||||
Please, do not mail volunteers privately about c-ares.
|
||||
|
||||
**Security vulnerabilities** are treated according to our
|
||||
[Security Procedure](SECURITY.md), please email c-ares-security at
|
||||
haxx.se if you suspect one.
|
||||
|
||||
|
||||
## Release keys
|
||||
|
||||
Primary GPG keys for c-ares Releasers (some Releasers sign with subkeys):
|
||||
|
||||
* **Daniel Stenberg** <<daniel@haxx.se>>
|
||||
`27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2`
|
||||
* **Brad House** <<brad@brad-house.com>>
|
||||
`DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA`
|
||||
|
||||
To import the full set of trusted release keys (including subkeys possibly used
|
||||
to sign releases):
|
||||
|
||||
```bash
|
||||
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 # Daniel Stenberg
|
||||
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA # Brad House
|
||||
```
|
||||
|
||||
### Verifying signatures
|
||||
|
||||
For each release `c-ares-X.Y.Z.tar.gz` there is a corresponding
|
||||
`c-ares-X.Y.Z.tar.gz.asc` file which contains the detached signature for the
|
||||
release.
|
||||
|
||||
After fetching all of the possible valid signing keys and loading into your
|
||||
keychain as per the prior section, you can simply run the command below on
|
||||
the downloaded package and detached signature:
|
||||
|
||||
```bash
|
||||
% gpg -v --verify c-ares-1.29.0.tar.gz.asc c-ares-1.29.0.tar.gz
|
||||
gpg: enabled compatibility flags:
|
||||
gpg: Signature made Fri May 24 02:50:38 2024 EDT
|
||||
gpg: using RSA key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
|
||||
gpg: using pgp trust model
|
||||
gpg: Good signature from "Daniel Stenberg <daniel@haxx.se>" [unknown]
|
||||
gpg: WARNING: This key is not certified with a trusted signature!
|
||||
gpg: There is no indication that the signature belongs to the owner.
|
||||
Primary key fingerprint: 27ED EAF2 2F3A BCEB 50DB 9A12 5CC9 08FD B71E 12C2
|
||||
gpg: binary signature, digest algorithm SHA512, key algorithm rsa2048
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
See [Features](FEATURES.md)
|
||||
|
||||
### Supported RFCs and Proposals
|
||||
- [RFC1035](https://datatracker.ietf.org/doc/html/rfc1035).
|
||||
Initial/Base DNS RFC
|
||||
- [RFC2671](https://datatracker.ietf.org/doc/html/rfc2671),
|
||||
[RFC6891](https://datatracker.ietf.org/doc/html/rfc6891).
|
||||
EDNS0 option (meta-RR)
|
||||
- [RFC3596](https://datatracker.ietf.org/doc/html/rfc3596).
|
||||
IPv6 Address. `AAAA` Record.
|
||||
- [RFC2782](https://datatracker.ietf.org/doc/html/rfc2782).
|
||||
Server Selection. `SRV` Record.
|
||||
- [RFC3403](https://datatracker.ietf.org/doc/html/rfc3403).
|
||||
Naming Authority Pointer. `NAPTR` Record.
|
||||
- [RFC6698](https://datatracker.ietf.org/doc/html/rfc6698).
|
||||
DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol.
|
||||
`TLSA` Record.
|
||||
- [RFC9460](https://datatracker.ietf.org/doc/html/rfc9460).
|
||||
General Purpose Service Binding, Service Binding type for use with HTTPS.
|
||||
`SVCB` and `HTTPS` Records.
|
||||
- [RFC7553](https://datatracker.ietf.org/doc/html/rfc7553).
|
||||
Uniform Resource Identifier. `URI` Record.
|
||||
- [RFC6844](https://datatracker.ietf.org/doc/html/rfc6844).
|
||||
Certification Authority Authorization. `CAA` Record.
|
||||
- [RFC2535](https://datatracker.ietf.org/doc/html/rfc2535),
|
||||
[RFC2931](https://datatracker.ietf.org/doc/html/rfc2931).
|
||||
`SIG0` Record. Only basic parser, not full implementation.
|
||||
- [RFC7873](https://datatracker.ietf.org/doc/html/rfc7873),
|
||||
[RFC9018](https://datatracker.ietf.org/doc/html/rfc9018).
|
||||
DNS Cookie off-path dns poisoning and amplification mitigation.
|
||||
- [draft-vixie-dnsext-dns0x20-00](https://datatracker.ietf.org/doc/html/draft-vixie-dnsext-dns0x20-00).
|
||||
DNS 0x20 query name case randomization to prevent cache poisioning attacks.
|
||||
- [RFC7686](https://datatracker.ietf.org/doc/html/rfc7686).
|
||||
Reject queries for `.onion` domain names with `NXDOMAIN`.
|
||||
- [RFC2606](https://datatracker.ietf.org/doc/html/rfc2606),
|
||||
[RFC6761](https://datatracker.ietf.org/doc/html/rfc6761).
|
||||
Special case treatment for `localhost`/`.localhost`.
|
||||
- [RFC2308](https://datatracker.ietf.org/doc/html/rfc2308),
|
||||
[RFC9520](https://datatracker.ietf.org/doc/html/rfc9520).
|
||||
Negative Caching of DNS Resolution Failures.
|
||||
- [RFC6724](https://datatracker.ietf.org/doc/html/rfc6724).
|
||||
IPv6 address sorting as used by `ares_getaddrinfo()`.
|
||||
- [RFC7413](https://datatracker.ietf.org/doc/html/rfc7413).
|
||||
TCP FastOpen (TFO) for 0-RTT TCP Connection Resumption.
|
||||
- [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986).
|
||||
Uniform Resource Identifier (URI). Used for server configuration.
|
||||
42
Agent-Windows/OGP64/usr/share/doc/c-ares/RELEASE-NOTES.md
Normal file
42
Agent-Windows/OGP64/usr/share/doc/c-ares/RELEASE-NOTES.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
## c-ares version 1.34.6 - December 8 2025
|
||||
|
||||
This is a security release.
|
||||
|
||||
Security:
|
||||
* CVE-2025-62408. A use-after-free bug has been uncovered in read_answers() that
|
||||
was introduced in v1.32.3. Please see https://github.com/c-ares/c-ares/security/advisories/GHSA-jq53-42q6-pqr5
|
||||
|
||||
Changes:
|
||||
* Ignore Windows IDN Search Domains until proper IDN support is added. [PR #1034](https://github.com/c-ares/c-ares/pull/1034)
|
||||
|
||||
Bugfixes:
|
||||
* Event Thread could stall when not notified of new queries on existing
|
||||
connections that are in a bad state
|
||||
[PR #1032](https://github.com/c-ares/c-ares/pull/1032)
|
||||
* fix conversion of invalid service to port number in ares_getaddrinfo()
|
||||
[PR #1029](https://github.com/c-ares/c-ares/pull/1029)
|
||||
* fix memory leak in ares_uri
|
||||
[PR #1012](https://github.com/c-ares/c-ares/pull/1012)
|
||||
* Ignore ares_event_configchg_init failures
|
||||
[PR #1009](https://github.com/c-ares/c-ares/pull/1009)
|
||||
* Use XOR for random seed generation on fallback logic.
|
||||
[PR #994](https://github.com/c-ares/c-ares/pull/994)
|
||||
* Fix clang build on windows.
|
||||
[PR #996](https://github.com/c-ares/c-ares/pull/996)
|
||||
* Fix IPv6 link-local nameservers in /etc/resolv.conf
|
||||
[PR #996](https://github.com/c-ares/c-ares/pull/997)
|
||||
* Fix a few build issues on MidnightBSD.
|
||||
[PR #983](https://github.com/c-ares/c-ares/pull/983)
|
||||
|
||||
Thanks go to these friendly people for their efforts and contributions for this
|
||||
release:
|
||||
|
||||
* Brad House (@bradh352)
|
||||
* (@F3lixTheCat)
|
||||
* Lucas Holt (@laffer1)
|
||||
* @oargon
|
||||
* Pavel P (@pps83)
|
||||
* Sean Harmer (@seanharmer)
|
||||
* Uwe (@nixblik)
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue