chiark / gitweb /
src/types.c: Do not crash when one of several addr subqueries fails
[adns] / INSTALL
CommitLineData
bef232ae 1INSTALLATION INSTRUCTIONS for GNU ADNS
95ecb688 2
2b61beb8 31. Read the security note below.
4
52. Standard GNU package build process:
bef232ae 6 $ ./configure [--disable-dynamic] [--prefix=... ...]
95ecb688 7 $ make
8 # make install
9
bef232ae 10Unfortunately, there is no comprehensive documentation yet. For now,
11use the comments in the public header file adns.h, and for the C
12programs their usage messages. If you find this information
13ambiguous, incomplete or wrong, please report it as a bug.
95ecb688 14
15
bef232ae 16TESTED PLATFORMS
95ecb688 17
e32d0f9e 18The following platforms have been tested at at least some point and
19should work - please report if they don't:
5c05c458 20 adns version OS
bef232ae 21 1.0 Linux glibc 2.1 (actually tested on Debian 2.2)
22 1.0 Solaris 2.6, 2.7, 2.8 [3]
57700a3b 23 1.0 FreeBSD 3.2, 4.0 (no poll(2), so no adnsresfilter)
bef232ae 24The following work, but only with --disable-dynamic:
57700a3b 25 1.0 IRIX 6.5 *not* with GCC [1], [2]
26 1.0 AIX 4.1.5
8e26a971 27 1.0 HP-UX 10.20, 11.00
b50b34c9 28 1.1 Darwin (kernel 7.5.1)
5c05c458 29Later versions of the same OS should work too. Usually entries in
30this table mean adns passes its own regression test, when compiled
31with GCC, and appears to install and run correctly. If you have more
32information for this table please let me know.
bef232ae 33
34Notes/known problems:
35 [1] IRIX 6.5 inet_ntoa seems to break with GCC.
36 [2] The SGI IRIX compiler produces many spurious warnings.
d0ac9ea0 37 [3] Dynamically linked, needs some help to find libadns.so.1.0.
e32d0f9e 38
39The following platforms are known to be deficient and will not work:
bef232ae 40 Solaris 2.5 Lacks vsnprintf - install glibc ?
41 TruUnix64 (DEC UNIX 4.0f) Lacks vsnprintf - install glibc ?
e32d0f9e 42Please don't report these problems unless you have a nice,
bef232ae 43straightforward solution or workaround for them. (I don't consider
44including a `vsnprintf' implementation nice, so don't send me one.)
45
46
47PORTABILITY INFORMATION
48
49You will find that adns requires a reasonably standard and up to date
5c05c458 50system. Systems which are neither GNU nor UNIX are not supported.
e32d0f9e 51
bef232ae 52The build system assumes by default that you have ELF shared
53libraries, and that the directory in which libadns.so.1 will be
54installed is on your dynamic library search path. If your system
55doesn't have ELF shared libraries then dynamic linking is not
56supported by adns. Use the --disable-shared configure option.
57Please don't send me patches to use libtool (which I dislike).
95ecb688 58
5c05c458 59Compilers other than GNU C should work, but are not well-tested. Feel
60free to send me patches to improve the situation. However, the
61Makefiles only know how to use GCC to make dynamic libraries.
62
9a09fa18 63The adnsresfilter utility uses `tsearch' from the C library (a la SVID
2a9e6abd 64and X/Open). If you don't have tsearch configure will arrange for
bef232ae 65adnsresfilter not to be built. To fix this, install a C library
66containing tsearch, such as the GNU C library. It is best if tsearch
67uses an automatically-balancing tree algorithm, like the glibc version
68does. Simple binary trees may perform badly.
9a09fa18 69
5c05c458 70If you change the m4 input files in regress/ you may need GNU m4.
71
e39ec089 72You will probably find that GNU Make is required.
bef232ae 73Please do not report this as a bug; install GNU Make instead.
95ecb688 74
75
2b61beb8 76SECURITY AND PERFORMANCE - AN IMPORTANT NOTE
77
0bd55bf5 78adns is not a `full-service resolver': it does no caching of responses
2b61beb8 79at all, and has no defence against bad nameservers or fake packets
80which appear to come from your real nameservers. It relies on the
81full-service resolvers listed in resolv.conf to handle these tasks.
82
83For secure and reasonable operation you MUST run a full-service
84nameserver on the same system as your adns applications, or on the
85same local, fully trusted network. You MUST only list such
86nameservers in the adns configuration (eg resolv.conf).
87
88You MUST use a firewall or other means to block packets which appear
89to come from these nameservers, but which were actually sent by other,
90untrusted, entities.
91
92Furthermore, adns is not DNSSEC-aware in this version; it doesn't
93understand even how to ask a DNSSEC-aware nameserver to perform the
94DNSSEC cryptographic signature checking.
95
96
95ecb688 97COPYRIGHT
98
99This file, INSTALL, contains installation instructions and other
3d5cde09 100details for adns. It is
2a9e6abd 101 Copyright (C) 1997-2000 Ian Jackson <ijackson@chiark.greenend.org.uk>
95ecb688 102
d942707d 103adns is
2a9e6abd
IJ
104 Copyright (C) 1997-2000,2003,2006,2014 Ian Jackson
105 Copyright (C) 2014 Mark Wooding
ae8cc977 106 Copyright (C) 1999-2000,2003,2006 Tony Finch <dot@dotat.at> [1]
107 Copyright (C) 1991 Massachusetts Institute of Technology [2]
95ecb688 108
109adns is free software; you can redistribute it and/or modify it under
110the terms of the GNU General Public License as published by the Free
2a9e6abd 111Software Foundation; either version 3 of the License, or (at your
95ecb688 112option) any later version.
113
114This program is distributed in the hope that it will be useful, but
115WITHOUT ANY WARRANTY; without even the implied warranty of
116MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
117General Public License for more details.
118
119You should have received a copy of the GNU General Public License
4423286d 120along with adns as the file COPYING; if not, email me at the address
c002fd49 121above or write to the Free Software Foundation.
9a09fa18 122
849075a0 123[1] Tony Finch holds the original copyright on client/adnslogres.c,
124 client/adnsheloex.c and client/fanftest.c, and some modifications
125 to those files.
d0bed398 126[2] MIT hold the original copyright on the included install-sh,
127 which came via GNU autoconf.
128
7d87dd90 129
9a09fa18 130# Local variables:
131# mode: text
132# End: