Added imported DNS library adns. Added: trunk/reactos/lib/adns/ Added: trunk/reactos/lib/adns/COPYING Added: trunk/reactos/lib/adns/GPL-vs-LGPL Added: trunk/reactos/lib/adns/INSTALL Added: trunk/reactos/lib/adns/Makefile.in Added: trunk/reactos/lib/adns/README Added: trunk/reactos/lib/adns/README.html Added: trunk/reactos/lib/adns/TODO Added: trunk/reactos/lib/adns/acconfig.h Added: trunk/reactos/lib/adns/aclocal.m4 Added: trunk/reactos/lib/adns/adns.xml Added: trunk/reactos/lib/adns/adns_win32/ Added: trunk/reactos/lib/adns/adns_win32/README.TXT Added: trunk/reactos/lib/adns/adns_win32/adns_unix_calls.c Added: trunk/reactos/lib/adns/adns_win32/adns_win32.h Added: trunk/reactos/lib/adns/adns_win32/getopt.c Added: trunk/reactos/lib/adns/adns_win32/getopt.h Added: trunk/reactos/lib/adns/adns_win32/timercmp.h Added: trunk/reactos/lib/adns/changelog Added: trunk/reactos/lib/adns/client/ Added: trunk/reactos/lib/adns/client/Makefile.in Added: trunk/reactos/lib/adns/client/adh-main.c Added: trunk/reactos/lib/adns/client/adh-opts.c Added: trunk/reactos/lib/adns/client/adh-query.c Added: trunk/reactos/lib/adns/client/adnshost.h Added: trunk/reactos/lib/adns/client/adnslogres.c Added: trunk/reactos/lib/adns/client/adnsresfilter.c Added: trunk/reactos/lib/adns/client/adnstest.c Added: trunk/reactos/lib/adns/client/client.h Added: trunk/reactos/lib/adns/client/fanftest.c Added: trunk/reactos/lib/adns/configure.in Added: trunk/reactos/lib/adns/dynamic/ Added: trunk/reactos/lib/adns/dynamic/Makefile.in Added: trunk/reactos/lib/adns/install-sh Added: trunk/reactos/lib/adns/settings.make.in Added: trunk/reactos/lib/adns/src/ Added: trunk/reactos/lib/adns/src/Makefile.in Added: trunk/reactos/lib/adns/src/adns.h Added: trunk/reactos/lib/adns/src/adns.make Added: trunk/reactos/lib/adns/src/check.c Added: trunk/reactos/lib/adns/src/config.h Added: trunk/reactos/lib/adns/src/config.h.in Added: trunk/reactos/lib/adns/src/dlist.h Added: trunk/reactos/lib/adns/src/event.c Added: trunk/reactos/lib/adns/src/general.c Added: trunk/reactos/lib/adns/src/internal.h Added: trunk/reactos/lib/adns/src/parse.c Added: trunk/reactos/lib/adns/src/poll.c Added: trunk/reactos/lib/adns/src/query.c Added: trunk/reactos/lib/adns/src/reply.c Added: trunk/reactos/lib/adns/src/setup.c Added: trunk/reactos/lib/adns/src/transmit.c Added: trunk/reactos/lib/adns/src/tvarith.h Added: trunk/reactos/lib/adns/src/types.c _____
Added: trunk/reactos/lib/adns/COPYING --- trunk/reactos/lib/adns/COPYING 2006-01-28 18:30:02 UTC (rev 20) +++ trunk/reactos/lib/adns/COPYING 2006-01-28 20:08:32 UTC (rev 21) @@ -0,0 +1,340 @@
+ GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) 19yy <name of author> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + <signature of Ty Coon>, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. _____
Added: trunk/reactos/lib/adns/GPL-vs-LGPL --- trunk/reactos/lib/adns/GPL-vs-LGPL 2006-01-28 18:30:02 UTC (rev 20) +++ trunk/reactos/lib/adns/GPL-vs-LGPL 2006-01-28 20:08:32 UTC (rev 21) @@ -0,0 +1,122 @@
+ GPL vs LGPL, in the context of adns + ----------------------------------- + +Several people have asked me to release GNU adns under the GNU Lesser +General Public Licence (LGPL, formerly the Library GPL) instead of the +`stronger' GPL. This file is intended to answer most of these +questions. If you still have questions or comments, please mail me at +adns-maint@chiark.greenend.org.uk. + +Typically there are two or three kinds of situation where people make +this request: the first is where someone is developing a proprietary +program and wishes to make use of adns but doesn't wish to make their +program free software. The second case is where a free software +project is currently using an MIT-like licence or the LGPL and fear +`GPL infection'. The third case, which often overlaps with the +second, is where another free software project currently using a +GPL-incompatible licence, wishes to use adns. + + +1. Proprietary applications of adns +----------------------------------- + +So, let me get this straight. You're writing a proprietary +program, by which I mean that you will not be distributing source code +and not allowing users to modify and share your software; most likely +you are doing this for your own (personal or corporate) financial +gain. + +However, you want to take advantage of adns, software which I have +spent my time and effort on, and which I release as free software so +that everyone can improve, share and use it. + +Don't you think that is a little hypocritical ? I'm sorry, but I +don't want you to just take my nice convenient software, without +giving something back to the free software community or giving the +same rights to your users as I do to you. + +If you really aren't the nasty kind of person I've described here, for +example if you have a good reason other than your own selfishness for +wanting to restrict distribution of your program, then perhaps you +should contact me to discuss it. + + +2. GPL-avoiding projects (MIT licence, et al) +--------------------------------------------- + +Some free software projects prefer to avoid the GPL and other licences +which force the software always to be free. Instead they use +something like the MIT X licence, which allows proprietary versions of +their software, or the in the case of some free libraries, the LGPL, +which allows proprietary applications. I have to say that I think +these people are misguided, but that doesn't mean that they don't have +a perfect right to do that. + +Some of these people think that merely writing to an interface +provided by GPL'd software will cause their program to become GPL'd +too, even if they don't distribute the GPL'd software. I don't think +this is the case. I'm perfectly happy for non-GPL'd but +GPL-compatible software to refer to adns in its source code. However, +I think that exectuables (or compiled libraries) which contain or are +dynamically linked against adns must be GPL'd; likewise executable +programs (whether compiled or in an interpreted language) which +require utilities from adns to function properly must be GPL'd. + +So, you can distribute your non-GPL'd program source which needs adns +to compile (provided it's under a GPL-compatible licence), but people +who wish to distribute binaries must do so under the terms of the GNU +GPL. This may make sense for some GPL-avoiding free software +projects; people can still make proprietary programs from your code, +provided that they make some provision to replace adns with something +whose copyright allows proprietary versions. + +However, this doesn't make much sense for the authors of LGPL'd +libraries. All I can say to them is to ask which is more important: +that their library be well-constructed and use all the best technology +available as free software, or whether it is worth degrading quality +of their library in order to allow proprietary programs to use it ! + +To help the case of LGPL'd libraries for which adns is not a vital +component - for example, a library which provides access to other +libraries so that programs which use it need only use certain parts, +I have released adns.h (just the public header file) under the LGPL as +well as the GPL. See the copyright notice in adns.h for details. +Note that this will not help you if it adns is essential to the +functioning of your library, because all programs using your library +must link against both your library and adns and so must be GPL'd. + + +For some information and views from the Free Software Foundation on +free software licensing, visit: + + Various licenses and comments about them + at http://www.fsf.org/philosophy/license-list.html + + Why you shouldn't use the Library GPL for your next library + at http://www.fsf.org/philosophy/why-not-lgpl.html + + +3. GPL-incompatible free software licences +------------------------------------------ + +Regrettably, there are a number of free software licences (and +semi-free licences) in existence which are not compatible with the +GPL. That is, they impose restrictions which are not present in the +GPL, and therefore distributing a whole work which contains both such +a program and a GPL'd program is not possible: either the combination +would have to be distributed under the GPL (violating the restrictions +made by the original author), or under the GPL-incompatible licence +(violating the GPL). + +I may be prepared to make exceptions for such a licence. Please +contact me at adns-maint@chiark.greenend.org.uk with the full text +of the GPL-incompatible licence. However, I would usually prefer it +if you could use a GPL-compatible licence for your project instead. + + +-- Ian Jackson 17.9.2000 + + +Local variables: +mode: text +End: _____
Added: trunk/reactos/lib/adns/INSTALL --- trunk/reactos/lib/adns/INSTALL 2006-01-28 18:30:02 UTC (rev 20) +++ trunk/reactos/lib/adns/INSTALL 2006-01-28 20:08:32 UTC (rev 21) @@ -0,0 +1,130 @@
+INSTALLATION INSTRUCTIONS for GNU ADNS + +1. Read the security note below. + +2. Standard GNU package build process: + $ ./configure [--disable-dynamic] [--prefix=... ...] + $ make + # make install + +Unfortunately, there is no comprehensive documentation yet. For now, +use the comments in the public header file adns.h, and for the C +programs their usage messages. If you find this information +ambiguous, incomplete or wrong, please report it as a bug. + + +TESTED PLATFORMS + +The following platforms have been tested at at least some point and +should work - please report if they don't: + adns version OS + 1.0 Linux glibc 2.1 (actually tested on Debian 2.2) + 1.0 Solaris 2.6, 2.7, 2.8 [3] + 1.0 FreeBSD 3.2, 4.0 (no poll(2), so no adnsresfilter) +The following work, but only with --disable-dynamic: + 1.0 IRIX 6.5 *not* with GCC [1], [2] + 1.0 AIX 4.1.5 + 1.0 HP-UX 10.20, 11.00 +Later versions of the same OS should work too. Usually entries in +this table mean adns passes its own regression test, when compiled +with GCC, and appears to install and run correctly. If you have more +information for this table please let me know. + +Notes/known problems: + [1] IRIX 6.5 inet_ntoa seems to break with GCC. + [2] The SGI IRIX compiler produces many spurious warnings. + [3] Dynamically linked, needs some help to find libadns.so.1.0. + +The following platforms are known to be deficient and will not work: + Solaris 2.5 Lacks vsnprintf - install glibc ? + TruUnix64 (DEC UNIX 4.0f) Lacks vsnprintf - install glibc ? +Please don't report these problems unless you have a nice, +straightforward solution or workaround for them. (I don't consider +including a `vsnprintf' implementation nice, so don't send me one.) + + +PORTABILITY INFORMATION + +You will find that adns requires a reasonably standard and up to date +system. Systems which are neither GNU nor UNIX are not supported. + +The build system assumes by default that you have ELF shared +libraries, and that the directory in which libadns.so.1 will be +installed is on your dynamic library search path. If your system +doesn't have ELF shared libraries then dynamic linking is not +supported by adns. Use the --disable-shared configure option. +Please don't send me patches to use libtool (which I dislike). + +Compilers other than GNU C should work, but are not well-tested. Feel +free to send me patches to improve the situation. However, the +Makefiles only know how to use GCC to make dynamic libraries. + +The adnsresfilter utility uses `tsearch' from the C library (a la SVID +and X/Open). If you don't have tsearch configure will arranges for +adnsresfilter not to be built. To fix this, install a C library +containing tsearch, such as the GNU C library. It is best if tsearch +uses an automatically-balancing tree algorithm, like the glibc version +does. Simple binary trees may perform badly. + +If you change the m4 input files in regress/ you may need GNU m4. + +You will probably find that GNU Make is required. +Please do not report this as a bug; install GNU Make instead. + + +SECURITY AND PERFORMANCE - AN IMPORTANT NOTE + +adns is not a `full-service resolver': it does no caching of responses +at all, and has no defence against bad nameservers or fake packets +which appear to come from your real nameservers. It relies on the +full-service resolvers listed in resolv.conf to handle these tasks. + +For secure and reasonable operation you MUST run a full-service +nameserver on the same system as your adns applications, or on the +same local, fully trusted network. You MUST only list such +nameservers in the adns configuration (eg resolv.conf). + +You MUST use a firewall or other means to block packets which appear +to come from these nameservers, but which were actually sent by other, +untrusted, entities. + +Furthermore, adns is not DNSSEC-aware in this version; it doesn't +understand even how to ask a DNSSEC-aware nameserver to perform the +DNSSEC cryptographic signature checking. + + +COPYRIGHT + +This file, INSTALL, contains installation instructions and other +details for adns. It is + Copyright (C) 1997-2000 Ian Jackson ian@davenant.greenend.org.uk + +adns is + Copyright (C) 1997-2000 Ian Jackson ian@davenant.greenend.org.uk + Copyright (C) 1999-2000 Tony Finch dot@dotat.at [1] + Copyright (C) 1991 Massachusetts Institute of Technology [2] + +adns is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2 of the License, or (at your +option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with adns as the file COPYING; if not, email me at the address +above or write to the Free Software Foundation, 59 Temple Place - +Suite 330, Boston, MA 02111-1307, USA. + +[1] Tony Finch holds the original copyright on client/adnslogres.c and + client/fanftest.c, and some modifications to those files. +[2] MIT hold the original copyright on the included install-sh, + which came via GNU autoconf. + + +# Local variables: +# mode: text +# End: _____
Added: trunk/reactos/lib/adns/Makefile.in --- trunk/reactos/lib/adns/Makefile.in 2006-01-28 18:30:02 UTC (rev 20) +++ trunk/reactos/lib/adns/Makefile.in 2006-01-28 20:08:32 UTC (rev 21) @@ -0,0 +1,77 @@
+# Makefile - top-level Makefile +# +# This file is +# Copyright (C) 1997-2000 Ian Jackson ian@davenant.greenend.org.uk +# +# It is part of adns, which is +# Copyright (C) 1997-2000 Ian Jackson ian@davenant.greenend.org.uk +# Copyright (C) 1999-2000 Tony Finch dot@dotat.at +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Remember to change ADNS_VERSION_STRING in client/client.h too, and +# possibly library soname (MAJOR and MINOR in settings.make.in). +DISTVERSION= 1.0 + +srcdir= @srcdir@ +VPATH= @srcdir@ + +ENABLE_DYNAMIC= @ENABLE_DYNAMIC@ +ifeq ($(ENABLE_DYNAMIC),elf) +SUBDIRS_DYNAMIC=dynamic +else +SUBDIRS_DYNAMIC= +endif + +SUBDIRS= src $(SUBDIRS_DYNAMIC) client regress + +all install uninstall clean distclean mostlyclean maintainer-clean distprep: + set -e; for d in $(SUBDIRS); do $(MAKE) -C $$d $@; done + $(MAKE) $@-here + +all-here install-here uninstall-here distprep-here: README + +clean-here mostlyclean-here: + rm -f *~ ./#*# core *.orig *.rej adns-*.tar.gz + rm -rf dist_tmp + +distclean-here maintainer-clean-here: clean-here + rm -f settings.make config.h config.cache config.log config.status + +install-strip: + $(MAKE) INSTALL_PROGRAM_FLAGS=-s + +dist_tmp=dist_tmp/adns-$(DISTVERSION) +dist: distprep + rm -rf dist_tmp* + mkdir dist_tmp $(dist_tmp) + find ( -name CVS -o -name dist_tmp* ) -prune -o -type d -print | \ + sed -e 's#.*#mkdir -p $(dist_tmp)/&#' | sh + find ( -name CVS -o -name dist_tmp* ) -prune -o -type f -print | \ + sed -e 's#.*#ln & $(dist_tmp)/&#' | sh + $(MAKE) -C dist_tmp/adns-$(DISTVERSION) distclean + cd dist_tmp && tar cf ../$(dist_tmp).tar `basename $(dist_tmp)` + gzip -9 $(dist_tmp).tar + mv $(dist_tmp).tar.gz . + +check: all + $(MAKE) -C regress check + +README: README.html + lynx -dump -number_links -cfg=/dev/null ./README.html
README.tmp
+ mv -f README.tmp README + +TAGS info dvi: + # do nothing _____
Added: trunk/reactos/lib/adns/README --- trunk/reactos/lib/adns/README 2006-01-28 18:30:02 UTC (rev 20) +++ trunk/reactos/lib/adns/README 2006-01-28 20:08:32 UTC (rev 21) @@ -0,0 +1,167 @@
+ + GNU adns + + Advanced, easy to use, asynchronous-capable DNS client library and + utilities. + + adns is a resolver library for C (and C++) programs, and a collection + of useful DNS resolver utilities. + +C library + + In contrast with the standard interfaces, gethostbyname et al and + libresolv, it has the following features: + * It is reasonably easy to use for simple programs which just want + to translate names to addresses, look up MX records, etc. + * It can be used in an asynchronous, non-blocking, manner. Many + queries can be handled simultaneously. + * Responses are decoded automatically into a natural representation + for a C program - there is no need to deal with DNS packet + formats. + * Sanity checking (eg, name syntax checking, reverse/forward + correspondence, CNAME pointing to CNAME) is performed + automatically. + * Time-to-live, CNAME and other similar information is returned in + an easy-to-use form, without getting in the way. + * There is no global state in the library; resolver state is an + opaque data structure which the client creates explicitly. A + program can have several instances of the resolver. + * Errors are reported to the application in a way that distinguishes + the various causes of failure properly. + * Understands conventional resolv.conf, but this can overridden by + environment variables. + * Flexibility. For example, the application can tell adns to: ignore + environment variables (for setuid programs), disable hostname + syntax sanity checks to return arbitrary data, override or ignore + resolv.conf in favour of supplied configuration, etc. + * Believed to be correct ! For example, will correctly back off to + TCP in case of long replies or queries, or to other nameservers if + several are available. It has sensible handling of bad responses + etc. + +DNS utility programs + + adns also comes with a number of utility programs for use from the + command line and in scripts: + * adnslogres is a much faster version of Apache's logresolv program. + * adnsresfilter is a filter which copies its input to its output, + replacing IP addresses by the corresponding names, without unduly + delaying the output. For example, you can usefully pipe the output + of netstat -n, tcpdump -ln, and the like, into it. + * adnshost is a general-purpose DNS lookup utility which can be used + easily in from the command line and from shell scripts to do + simple lookups. In a more advanced mode it can be used as a + general-purpose DNS helper program for scripting languages which + can invoke and communicate with subprocesses. See the [1]adnshost + usage message for a summary of its capabilities. + +Documentation + + I'm afraid there is no manual yet. However, competent C programmers + should be able to use the library based on the [2]commented adns.h + header file, and the usage messages for the programs should be + sufficient. + +Feedback + + I'd be pleased if you would let me know if you're using my library in + your project, and what you think of it. + + If you are subscribed to adns-discuss please send feedback, including + bug reports, there; otherwise send mail to + adns-bugreports@chiark.greenend.org.uk. If you'd prefer that your + message wasn't forwarded to the adns-bugreports list, send it to + adns-maint@chiark.greenend.org.uk. + +Mailinglists + + I have set up mailinglists adns-announce and adns-discuss. The + announcements list is moderated and will contain only announcements of + important bugs, new versions, etc. The bug reports address mentioned + above is also a mailing list; feel free to subscribe to it. + + There are [3]archives and subscription web pages, or you can subscribe + by sending mail containing the word `subscribe' to + adns-announce-REQUEST@chiark.greenend.org.uk or + adns-discuss-REQUEST@chiark.greenend.org.uk. + +Download + + Available for download from [4]chiark.greenend.org.uk are: + * The [5]current release as a gzipped tarfile. + * [6]adns.h API header file with comments, and [7]usage message for + adnshost (currently there is no manual, sorry). + * All versions released so far are also available via [8]anonymous + FTP and [9]HTTP, + * A mirror of my CVS repository is available via rsync from + rsync.chiark.greenend.org.uk::ftp/users/ian/cvs-pub/adns (use FTP + first to find your way around), or via [10]cvsweb. + + adns is also available from the [11]GNU Project FTP servers and their + [12]mirrors. + +Technical note + + adns requires a real nameserver like [13]BIND or [14]Dents running on + the same system or a nearby one, which must be willing to provide + `recursive service'. I.e., adns is a `stub resolver'. All properly + configured UN*X and GNU systems will already have such nameserver(s); + they are usually listed in /etc/resolv.conf. + +Copyright and licensing + + adns is Copyright 1997-2000 Ian Jackson, Copyright 1999-2000 Tony + Finch, and Copyright (C) 1991 Massachusetts Institute of Technology. + + adns is free software; you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your + option) any later version. + + This program and documentation is distributed in the hope that it will + be useful, but without any warranty; without even the implied warranty + of merchantability or fitness for a particular purpose. See the + [15]GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with adns, or one should be available above; if not, write to + the [16]Free Software Foundation, 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA, or email adns-maint@chiark.greenend.org.uk. + _________________________________________________________________ + + [17]Ian Jackson / [18]adns-maint@chiark.greenend.org.uk; more [19]free + software by me. + + [20]GNU home page; [21]chiark home page; [22]site or mirror home page + + This web page is Copyright (C)1996-2000 Ian Jackson. See the + [23]Copyright/acknowledgements. + + Use any browser - [24]Campaign for a non-browser-specific WWW + +References + + 1. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt + 2. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt + 3. http://www.chiark.greenend.org.uk/mailman/listinfo + 4. http://www.chiark.greenend.org.uk/~ian/adns/ + 5. http://www.chiark.greenend.org.uk/~ian/adns/adns.tar.gz + 6. http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt + 7. http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt + 8. ftp://ftp.chiark.greenend.org.uk/users/ian/adns/ + 9. http://www.chiark.greenend.org.uk/~ian/adns/ftp/ + 10. http://www.chiark.greenend.org.uk/ucgi/~ijackson/cvsweb/adns/ + 11. http://www.gnu.org/ + 12. http://www.gnu.org/order/ftp.html + 13. http://www.isc.org/view.cgi?/products/BIND/index.phtml + 14. http://www.dents.org/ + 15. http://www.chiark.greenend.org.uk/~ian/COPYING.txt + 16. http://www.fsf.org/ + 17. http://www.chiark.greenend.org.uk/ + 18. mailto:adns-maint@chiark.greenend.org.uk + 19. http://www.chiark.greenend.org.uk/~ian/software/ + 20. http://www.gnu.org/ + 21. http://www.chiark.greenend.org.uk/ + 22. file://localhost/ + 23. http://www.chiark.greenend.org.uk/~ian/sw-www-copy.html + 24. http://www.anybrowser.org/campaign/ _____
Added: trunk/reactos/lib/adns/README.html --- trunk/reactos/lib/adns/README.html 2006-01-28 18:30:02 UTC (rev 20) +++ trunk/reactos/lib/adns/README.html 2006-01-28 20:08:32 UTC (rev 21) @@ -0,0 +1,222 @@
+<html> +<head> +<title>adns - advanced, alternative, asynchronous resolver</title> +<link rev="made" href="mailto:adns-maint@chiark.greenend.org.uk"> +</head> +<body> +<h1>GNU adns</h1> + +<strong>Advanced, easy to use, asynchronous-capable DNS client +library and utilities.</strong> + +<!-- Note: this file is maintained in Ian Jackson's private CVS. --> +<!-- --> +<!-- It is served on the GNU site and also from my own system, --> +<!-- under the URL http://www.chiark.greenend.org.uk/adns/ --> +<!-- Please ensure that all links continine to be correct --> +<!-- both for www.gnu.org and chiark. --> +<!-- --> +<!-- $Id: README.html 12852 2005-01-06 13:58:04Z mf $ --> + +<p> + +adns is a resolver library for C (and C++) programs, and a collection +of useful DNS resolver utilities. + + +<h2>C library</h2> + +In contrast with the standard interfaces, gethostbyname et al and +libresolv, it has the following features: + +<ul> + +<li>It is reasonably easy to use for simple programs which just want +to translate names to addresses, look up MX records, etc. + +<li>It can be used in an asynchronous, non-blocking, manner. Many +queries can be handled simultaneously. + +<li>Responses are decoded automatically into a natural representation +for a C program - there is no need to deal with DNS packet formats. + +<li>Sanity checking (eg, name syntax checking, reverse/forward +correspondence, CNAME pointing to CNAME) is performed automatically. + +<li>Time-to-live, CNAME and other similar information is returned in +an easy-to-use form, without getting in the way. + +<li>There is no global state in the library; resolver state is an +opaque data structure which the client creates explicitly. A program +can have several instances of the resolver. + +<li>Errors are reported to the application in a way that distinguishes +the various causes of failure properly. + +<li>Understands conventional resolv.conf, but this can overridden by +environment variables. + +<li>Flexibility. For example, the application can tell adns to: +ignore environment variables (for setuid programs), disable hostname +syntax sanity checks to return arbitrary data, override or ignore +resolv.conf in favour of supplied configuration, etc. + +<li>Believed to be correct ! For example, will correctly back off to +TCP in case of long replies or queries, or to other nameservers if +several are available. It has sensible handling of bad responses etc. + +</ul> + +<h2>DNS utility programs</h2> + +adns also comes with a number of utility programs for use from the +command line and in scripts: + +<ul> + +<li><code>adnslogres</code> is a much faster version of Apache's +logresolv program. + +<li><code>adnsresfilter</code> is a filter which copies its input to +its output, replacing IP addresses by the corresponding names, without +unduly delaying the output. For example, you can usefully pipe the +output of netstat -n, tcpdump -ln, and the like, into it. + +<li><code>adnshost</code> is a general-purpose DNS lookup utility +which can be used easily in from the command line and from shell +scripts to do simple lookups. In a more advanced mode it can be used +as a general-purpose DNS helper program for scripting languages which +can invoke and communicate with subprocesses. See the +<A href="http://www.chiark.greenend.org.uk/~ian/adns/adnshost.txt">adnshost +usage message</A> for a summary of its capabilities. + +</ul> + +<h2>Documentation</h2> + +I'm afraid there is no manual yet. However, competent C programmers +should be able to use the library based on the +<A href="http://www.chiark.greenend.org.uk/~ian/adns/adns.h.txt">commented +adns.h header file</A>, and the usage messages for the programs should +be sufficient. + +<h2>Feedback</h2> + +I'd be pleased if you would let me know if you're using my library in +your project, and what you think of it. + +<p> + +If you are subscribed to <code>adns-discuss</code> please send +feedback, including bug reports, there; otherwise send mail to +<code>adns-bugreports@chiark.greenend.org.uk</code>. If you'd prefer +that your message wasn't forwarded to the <code>adns-bugreports</code> +list, send it to <code>adns-maint@chiark.greenend.org.uk</code>. + +<h2>Mailinglists</h2> + +I have set up mailinglists <code>adns-announce</code> and +<code>adns-discuss</code>. The announcements list is moderated and +will contain only announcements of important bugs, new versions, etc. +The bug reports address mentioned above is also a mailing list; feel +free to subscribe to it. + +<p> + +There are +<A href="http://www.chiark.greenend.org.uk/mailman/listinfo">archives +and subscription web pages</A>, or you can subscribe by sending mail +containing the word `subscribe' to +<code>adns-announce-REQUEST@chiark.greenend.org.uk</code> or +<code>adns-discuss-REQUEST@chiark.greenend.org.uk</code>. + +<h2>Download</h2> + [truncated at 1000 lines; 10845 more skipped]