• Home
Name Date Size #Lines LOC

..--

cmake/06-Mar-2025-400349

config/06-Mar-2025-22,17414,278

docs/06-Mar-2025-6,8995,927

include/06-Mar-2025-3,5782,090

m4/06-Mar-2025-12,14710,841

src/06-Mar-2025-49,88937,429

.gitignoreD06-Mar-2025173 2016

AUTHORSD06-Mar-20251.2 KiB8583

CHANGESD06-Mar-2025211.3 KiB6,2273,754

CMakeLists.txtD06-Mar-202535.5 KiB868753

CONTRIBUTING.mdD06-Mar-2025701 1611

INSTALL.mdD06-Mar-202513.9 KiB440312

LICENSE.mdD06-Mar-20251.2 KiB2821

Makefile.WatcomD06-Mar-20254 KiB171121

Makefile.amD06-Mar-20252 KiB5923

Makefile.djD06-Mar-20252.2 KiB10453

Makefile.inD06-Mar-202531.5 KiB977850

Makefile.m32D06-Mar-20252.3 KiB8149

Makefile.msvcD06-Mar-202514.8 KiB458259

Makefile.netwareD06-Mar-202514.1 KiB432360

NEWSD06-Mar-2025854 2219

README.caresD06-Mar-2025686 1612

README.mdD06-Mar-20253.7 KiB6647

README.msvcD06-Mar-20253.6 KiB10362

RELEASE-NOTES.mdD06-Mar-20251.7 KiB4129

SECURITY.mdD06-Mar-20254.4 KiB10174

TODOD06-Mar-202562 53

aclocal.m4D06-Mar-202544.9 KiB1,2491,136

aminclude_static.amD06-Mar-20256.6 KiB127108

buildconfD06-Mar-2025211 72

buildconf.batD06-Mar-2025646 2419

c-ares-config.cmake.inD06-Mar-2025886 2821

cares.gypD06-Mar-20256.7 KiB231228

compileD06-Mar-20257.2 KiB349259

config.guessD06-Mar-202548.3 KiB1,7551,528

config.subD06-Mar-202534.6 KiB1,8911,704

configureD06-Mar-2025806.5 KiB27,97723,531

configure.acD06-Mar-202532.6 KiB924836

depcompD06-Mar-202523 KiB792502

get_ver.awkD06-Mar-20251.2 KiB3018

install-shD06-Mar-202515 KiB542352

libcares.pc.cmakeD06-Mar-2025726 2321

libcares.pc.inD06-Mar-2025672 2321

ltmain.shD06-Mar-2025325.2 KiB11,4378,215

maketgzD06-Mar-20252 KiB7248

missingD06-Mar-20256.7 KiB216143

msvc_ver.incD06-Mar-2025765 2724

README.cares

1c-ares
2======
3
4This package is based on ares 1.1.1 (written by Greg Hudson). Daniel Stenberg
5decided to fork and release a separate project since the original ares author
6didn't want the improvements that were vital for our use of it.
7
8This package is dubbed 'c-ares' since Daniel wanted this for use within the
9curl project (hence the letter C) and it makes a nice pun. c-ares is not API
10compatible with ares: a new name makes that more obvious to the public.
11
12The original libares was distributed at
13ftp://athena-dist.mit.edu:pub/ATHENA/ares (which seems to not be alive
14anymore).  A local copy of the original ares package is kept here:
15https://c-ares.org/download/ares-1.1.1.tar.gz
16

README.md

1# [![c-ares logo](https://c-ares.org/art/c-ares-logo.svg)](https://c-ares.org/)
2
3[![Build Status](https://api.cirrus-ci.com/github/c-ares/c-ares.svg?branch=main)](https://cirrus-ci.com/github/c-ares/c-ares)
4[![Windows Build Status](https://ci.appveyor.com/api/projects/status/aevgc5914tm72pvs/branch/master?svg=true)](https://ci.appveyor.com/project/c-ares/c-ares/branch/master)
5[![Coverage Status](https://coveralls.io/repos/github/c-ares/c-ares/badge.svg)](https://coveralls.io/github/c-ares/c-ares)
6[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/291/badge)](https://bestpractices.coreinfrastructure.org/projects/291)
7[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/c-ares.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:c-ares)
8[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=c-ares_c-ares&metric=bugs)](https://sonarcloud.io/summary/new_code?id=c-ares_c-ares)
9[![Coverity Scan Status](https://scan.coverity.com/projects/c-ares/badge.svg)](https://scan.coverity.com/projects/c-ares)
10
11This is c-ares, an asynchronous resolver library.  It is intended for
12applications which need to perform DNS queries without blocking, or need to
13perform multiple DNS queries in parallel.  The primary examples of such
14applications are servers which communicate with multiple clients and programs
15with graphical user interfaces.
16
17The full source code is available in the ['c-ares' release archives](https://c-ares.org/download/),
18and in a git repository: https://github.com/c-ares/c-ares.  See the
19[INSTALL.md](INSTALL.md) file for build information.
20
21If you find bugs, correct flaws, have questions or have comments in general in
22regard to c-ares (or by all means the original ares too), get in touch with us
23on the c-ares mailing list: https://lists.haxx.se/listinfo/c-ares
24
25c-ares is distributed under the MIT license.
26
27You'll find all c-ares details and news here:
28        https://c-ares.org/
29
30
31## Notes for c-ares hackers
32
33* The distributed `ares_build.h` file is only intended to be used on systems
34  which can not run the also distributed configure script.
35
36* The distributed `ares_build.h` file is generated as a copy of `ares_build.h.dist`
37  when the c-ares source code distribution archive file is originally created.
38
39* If you check out from git on a non-configure platform, you must run the
40  appropriate `buildconf*` script to set up `ares_build.h` and other local files
41  before being able to compile the library.
42
43* On systems capable of running the `configure` script, the `configure` process
44  will overwrite the distributed `ares_build.h` file with one that is suitable
45  and specific to the library being configured and built, this new file is
46  generated from the `ares_build.h.in` template file.
47
48* If you intend to distribute an already compiled c-ares library you **MUST**
49  also distribute along with it the generated `ares_build.h` which has been
50  used to compile it. Otherwise, the library will be of no use for the users of
51  the library that you have built. It is **your** responsibility to provide this
52  file. No one at the c-ares project can know how you have built the library.
53
54* File `ares_build.h` includes platform and configuration dependent info,
55  and must not be modified by anyone. Configure script generates it for you.
56
57* We cannot assume anything else but very basic compiler features being
58  present. While c-ares requires an ANSI C compiler to build, some of the
59  earlier ANSI compilers clearly can't deal with some preprocessor operators.
60
61* Newlines must remain unix-style for older compilers' sake.
62
63* Comments must be written in the old-style /* unnested C-fashion */
64
65* Try to keep line lengths below 80 columns.
66

README.msvc

1
2
3                          ___       __ _ _ __ ___  ___
4                         / __| ___ / _` | '__/ _ \/ __|
5                        | (_  |___| (_| | | |  __/\__ \
6                         \___|     \__,_|_|  \___||___/
7
8
9                How to build c-ares using MSVC or Visual Studio
10               =================================================
11
12
13
14  How to build using MSVC from the command line
15  ---------------------------------------------
16
17  Open a command prompt window and ensure that the environment is properly
18  set up in order to use MSVC or Visual Studio compiler tools.
19
20  Change to c-ares source folder where Makefile.msvc file is located and run:
21
22  > nmake -f Makefile.msvc
23
24  This will build all c-ares libraries as well as three sample programs.
25
26  Once the above command has finished a new folder named MSVCXX will exist
27  below the folder where makefile.msvc is found. The name of the folder
28  depends on the MSVC compiler version being used to build c-ares.
29
30  Below the MSVCXX folder there will exist four folders named 'cares',
31  'ahost', and 'adig'. The 'cares' folder is the one that
32  holds the c-ares libraries you have just generated, the other three
33  hold sample programs that use the libraries.
34
35  The above command builds four versions of the c-ares library, dynamic
36  and static versions and each one in release and debug flavours. Each
37  of these is found in folders named dll-release, dll-debug, lib-release,
38  and lib-debug, which hang from the 'cares' folder mentioned above. Each
39  sample program also has folders with the same names to reflect which
40  library version it is using.
41
42
43  How to install using MSVC from the command line
44  -----------------------------------------------
45
46  In order to allow easy usage of c-ares libraries it may be convenient to
47  install c-ares libraries and header files to a common subdirectory tree.
48
49  Once that c-ares libraries have been built using procedure described above,
50  use same command prompt window to define environment variable INSTALL_DIR
51  to designate the top subdirectory where installation of c-ares libraries and
52  header files will be done.
53
54  > set INSTALL_DIR=c:\c-ares
55
56  Afterwards, run following command to actually perform the installation:
57
58  > nmake -f Makefile.msvc install
59
60  Installation procedure will copy c-ares libraries to subdirectory 'lib' and
61  c-ares header files to subdirectory 'include' below the INSTALL_DIR subdir.
62
63  When environment variable INSTALL_DIR is not defined, installation is done
64  to c-ares source folder where Makefile.msvc file is located.
65
66
67
68  Relationship between c-ares library file names and versions
69  -----------------------------------------------------------
70
71  c-ares static release library version files:
72
73      libcares.lib -> static release library
74
75  c-ares static debug library version files:
76
77      libcaresd.lib -> static debug library
78
79  c-ares dynamic release library version files:
80
81      cares.dll -> dynamic release library
82      cares.lib -> import library for the dynamic release library
83      cares.exp -> export file for the dynamic release library
84
85  c-ares dynamic debug library version files:
86
87      caresd.dll -> dynamic debug library
88      caresd.lib -> import library for the dynamic debug library
89      caresd.exp -> export file for the dynamic debug library
90      caresd.pdb -> debug symbol file for the dynamic debug library
91
92
93  How to use c-ares static libraries
94  ----------------------------------
95
96  When using the c-ares static library in your program, you will have to
97  define preprocessor symbol CARES_STATICLIB while building your program,
98  otherwise you will get errors at linkage stage.
99
100
101Have Fun!
102
103