release 0.1.6

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJUuR/oAAoJEOX4+CEvd6SYo64P/3Wtxt00NCOoWZ6+BEGuQ+YP
 1RmxfIgx8WzZkpHU5X3/U+HgtM+EcSf/rHYCL5e2UA3uV6IRVWZfNMNyjnXHtodY
 56AOQyKvyiObae/Q01j+4EEPu2L9+RPQPJZRD8EIwDewDrctZ6eRhQxULUIKAl16
 TZm/9jToSwG90A1s6Yd5f2uheA/DBEUcHuGd2yHHUNXTCn+hU/RdbzKsAowQmd/R
 WuUBAmcmDjmsIKT3+RFElyPAWtxLjw09IzJm3nVaxzMC9PmS87uLz4My4ZReg5oa
 62F+5m57knq/Q6z9dm2RZhT5O9/FHE+pRGm32YXcVaieJl97HZSKRzgztehMDFCw
 ViNykNDPGTsRGolcITRFDBv5Re3veICR0S1GEL6ObTcRkI3ttWlxJ7WKRSQV20gg
 RZZO+xNPhEFpfARORY3PjLfg56mRtWsRgDGi/SEc7gMSAmELZQMVIuT5C3oX7bmZ
 H5Mg/Q13to3rr+jGcRaParXXQr4yzjpKC0wk+2Hjs4t7nK5XkOYlGssD7xbTh4C/
 JgA7adqODyMx0D+uvvXjWoJ6WLo9wJ7jG2qs5z2MeTnjJI7dwEiMN01cXP+0OA0h
 IFb9nFWY7g1qFOyI/AnO9soe7awWOMdmxMw0Bm1xQQZ158nUuzkSHUcc7OEdTfpg
 dFlmZXHXyq7AoUL3eqe3
 =YuML
 -----END PGP SIGNATURE-----

Merge tag 'v0.1.6'

release 0.1.6
This commit is contained in:
Willem Toorop 2015-01-16 15:37:14 +01:00
commit a83e812706
15 changed files with 146 additions and 45 deletions

View File

@ -1,4 +1,4 @@
* 2014-??-??: Version 0.1.6
* 2015-01-16: Version 0.1.6
* Fix: linking against libev on FreeBSD
* Fix: Let configure report problem on FreeBSD when configuring with
libevent and libunbound <= 1.4.22 is not compiled with libevent.

View File

@ -1,19 +1,19 @@
getdns API
==========
* Date: 2014-10-31
* Date: 2015-01-14
* GitHub: <https://github.com/getdnsapi/getdns>
getdns is an implementation of a modern asynchronous DNS API specification
described by Paul Hoffman. It is intended to make all types of DNS
originally edited by Paul Hoffman. It is intended to make all types of DNS
information easily available to application developers and non-DNS experts.
The project home page at [getdnsapi.net](http://www.getdnsapi.net) provides
The project home page at [getdnsapi.net](https://getdnsapi.net) provides
documentation, binary downloads and new regarding the getdns API
implementation. This implementation is licensed under the New BSD License
(BSD-new).
Download the sources from our [github repo](https://github.com/getdnsapi/getdns)
or from [getdnsapi.net](http://www.getdnsapi.net) and verify the download using
or from [getdnsapi.net](https://getdnsapi.net) and verify the download using
the checksums (SHA1 or MD5) or using gpg to verify the signature. Our keys are
available from the [pgp keyservers](http://keyserver.pgp.com)
@ -33,7 +33,7 @@ of the implementation.
The goals of this implementation of the getdns API are:
* Provide an open source implementation, in C, of the formally described getdns API by Paul Hoffman at <http://www.vpnc.org/getdns-api/>
* Provide an open source implementation, in C, of the formally described getdns API by getdns API team at <https://getdnsapi.net/spec.html>
* Initial support for FreeBSD, OSX, Linux (CentOS/RHEL, Ubuntu) via functional "configure" script
* Initial support to include the Android platform
* Include examples and tests as part of the build
@ -151,8 +151,6 @@ Other known issues are being managed in the git repository issue list.
* (#113) Changing the resolution type between stub and recursive after a query has been issued with a context will not work - the previous resolution type will continue to be used. If you want to change the resolution type you will need to create a new context and set the resolution type for that context.
* older versions of libtool and ranlib may have problems with the way we leverage features specific to exported symbols. If you see error messages during linking it may be due to an older version of libtool in your PATH. This can be fixed by updating your libtool or adding the getdns build directory to the beginning of your path so that our libtool/ranlib are preferred.
* When doing a synchronous lookup with a context that has outstanding asynchronous lookups, the callbacks for the asynchronous lookups might get called as a side effect of the synchronous lookup.
@ -175,7 +173,7 @@ We intend to add MS-Windows, Android and other platforms to the releases as we h
If you're using [FreeBSD](http://www.freebsd.org/), you may install getdns via the [ports tree](http://www.freshports.org/dns/getdns/) by running: `cd /usr/ports/dns/getdns && make install clean`
If you are using FreeBSD 10 getdns can be intalled via 'pkg install getdns'. There may be some problems building getdns on FreeBSD 10 using libevent.
If you are using FreeBSD 10 getdns can be intalled via 'pkg install getdns'.
###CentOS/RHEL 6.5
@ -187,13 +185,13 @@ build the packages, this is simplythe one we chose to use.
CentOS release 6.5 (Final)
# uname -a
Linux host-10-1-1-6 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
# cd getdns-0.1.5
# cd getdns-0.1.6
# ./configure --prefix=/home/deploy/build
# make; make install
# cd /home/deploy/build
# mv lib lib64
# . /usr/local/rvm/config/alias
# fpm -x "*.la" -a native -s dir -t rpm -n getdns -v 0.1.5 -d "unbound" -d "ldns" -d "libevent" -d "libidn" --prefix /usr --vendor "Verisign Inc., NLnet Labs" --license "BSD New" --url "http://www.getdnsapi.net" --description "Modern asynchronous API to the DNS" .
# fpm -x "*.la" -a native -s dir -t rpm -n getdns -v 0.1.6 -d "unbound" -d "ldns" -d "libevent" -d "libidn" --prefix /usr --vendor "Verisign Inc., NLnet Labs" --license "BSD New" --url "https://getdnsapi.net" --description "Modern asynchronous API to the DNS" .
###OSX

55
aclocal.m4 vendored
View File

@ -172,6 +172,61 @@ else
fi[]dnl
])# PKG_CHECK_MODULES
# PKG_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable pkgconfigdir as the location where a module
# should install pkg-config .pc files. By default the directory is
# $libdir/pkgconfig, but the default can be changed by passing
# DIRECTORY. The user can override through the --with-pkgconfigdir
# parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a
# module should install arch-independent pkg-config .pc files. By
# default the directory is $datadir/pkgconfig, but the default can be
# changed by passing DIRECTORY. The user can override through the
# --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# -------------------------------------------
# Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])# PKG_CHECK_VAR
m4_include([m4/ax_check_compile_flag.m4])
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])

44
configure vendored
View File

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for getdns 0.1.5.
# Generated by GNU Autoconf 2.69 for getdns 0.1.6.
#
# Report bugs to <stub-resolver@verisignlabs.com>.
#
@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='getdns'
PACKAGE_TARNAME='getdns'
PACKAGE_VERSION='0.1.5'
PACKAGE_STRING='getdns 0.1.5'
PACKAGE_VERSION='0.1.6'
PACKAGE_STRING='getdns 0.1.6'
PACKAGE_BUGREPORT='stub-resolver@verisignlabs.com'
PACKAGE_URL='http://getdnsapi.net'
@ -701,6 +701,7 @@ CPPFLAGS
LDFLAGS
CFLAGS
CC
GETDNS_LIBVERSION
GETDNS_COMPILATION_COMMENT
target_alias
host_alias
@ -1314,7 +1315,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures getdns 0.1.5 to adapt to many kinds of systems.
\`configure' configures getdns 0.1.6 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1379,7 +1380,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of getdns 0.1.5:";;
short | recursive ) echo "Configuration of getdns 0.1.6:";;
esac
cat <<\_ACEOF
@ -1499,7 +1500,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
getdns configure 0.1.5
getdns configure 0.1.6
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@ -1931,7 +1932,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by getdns $as_me 0.1.5, which was
It was created by getdns $as_me 0.1.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@ -2280,7 +2281,30 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
CURRENT_DATE=`LC_ALL=C date`
GETDNS_COMPILATION_COMMENT="getdns 0.1.5 configured on $CURRENT_DATE for the September 2014 version of the API"
GETDNS_COMPILATION_COMMENT="getdns 0.1.6 configured on $CURRENT_DATE for the January 2015 version of the API"
# Library version
# ---------------
# current:revision:age
# (binary-api-number):(which-binary-api-version):(how-many-nrs-backwardscompat)
# if source code changes increment revision
# if any interfaces have been added/removed/changed since last update then
# increment current and set revision to 0
# if any interfaces have been added since the last public release then increment age
# if any interfaces have been removed or changed since the last public release then
# set age to 0
# if api unchanged: no changes
# if api broken: current++ ; revision = 0; age = 0
# if programs compiled against existing library work and link with new
# version of library with new binary api: revision++; age++
#
# getdns-0.1.4 had libversion 0:0:0
# getdns-0.1.5 had libversion 1:0:0
# getdns-0.1.6 has libversion 1:1:1
#
GETDNS_LIBVERSION=1:1:0
# AM_INIT_AUTOMAKE
@ -13520,7 +13544,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by getdns $as_me 0.1.5, which was
This file was extended by getdns $as_me 0.1.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -13587,7 +13611,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
getdns config.status 0.1.5
getdns config.status 0.1.6
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"

View File

@ -30,10 +30,33 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AC_PREREQ([2.56])
AC_INIT([getdns], [0.1.5], [stub-resolver@verisignlabs.com], [], [http://getdnsapi.net])
AC_INIT([getdns], [0.1.6], [stub-resolver@verisignlabs.com], [], [http://getdnsapi.net])
CURRENT_DATE=`LC_ALL=C date`
GETDNS_COMPILATION_COMMENT="AC_PACKAGE_STRING configured on $CURRENT_DATE for the September 2014 version of the API"
GETDNS_COMPILATION_COMMENT="AC_PACKAGE_STRING configured on $CURRENT_DATE for the January 2015 version of the API"
# Library version
# ---------------
# current:revision:age
# (binary-api-number):(which-binary-api-version):(how-many-nrs-backwardscompat)
# if source code changes increment revision
# if any interfaces have been added/removed/changed since last update then
# increment current and set revision to 0
# if any interfaces have been added since the last public release then increment age
# if any interfaces have been removed or changed since the last public release then
# set age to 0
# if api unchanged: no changes
# if api broken: current++ ; revision = 0; age = 0
# if programs compiled against existing library work and link with new
# version of library with new binary api: revision++; age++
#
# getdns-0.1.4 had libversion 0:0:0
# getdns-0.1.5 had libversion 1:0:0
# getdns-0.1.6 has libversion 1:1:1
#
GETDNS_LIBVERSION=1:1:0
AC_SUBST(GETDNS_COMPILATION_COMMENT)
AC_SUBST(GETDNS_LIBVERSION)
AC_CONFIG_SRCDIR([src/getdns/getdns.h.in])
# AM_INIT_AUTOMAKE
# LT_INIT

View File

@ -27,6 +27,7 @@
.\"
.TH getdns_context 3 "@date@" "getdns @version@" getdns
.ad l
.SH NAME
.B getdns_context,
.B getdns_context_create,
@ -35,6 +36,7 @@
.B getdns_context_destroy,
.B getdns_context_get_api_information
-- getdns context create and destroy routines
.ad n
.SH LIBRARY
DNS Resolver library (libgetdns, -lgetdns)

View File

@ -27,6 +27,7 @@
.\"
.TH getdns_context_set 3 "@date@" "getdns @version@" getdns
.ad l
.SH NAME
.B getdns_context_set_append_name,
.B getdns_context_set_context_update_callback,
@ -41,6 +42,7 @@
.B getdns_context_set_suffix,
.B getdns_context_set_timeout,
-- getdns context manipulation routines
.ad n
.SH LIBRARY
DNS Resolver library (libgetdns, -lgetdns)
@ -246,9 +248,11 @@ If set to GETDNS_REDIRECTS_FOLLOW (the default) then the eventual target of the
.I limit
the maximum number of concurrent outstanding (unanswered) DNS queries, if exceeded the API will queue queries and issue them as the number of outstanding queries drops. A value of 0 indicates that there is no limit.
.ad l
.HP 3
.I namespaces
The namespaces array contains an ordered list of namespaces that will be queried. Important: this context setting is ignored for the getdns_general and getdns_general_sync functions; it is used for the other functions. The values are GETDNS_CONTEXT_NAMESPACE_DNS, GETDNS_CONTEXT_NAMESPACE_LOCALNAMES, GETDNS_CONTEXT_NAMESPACE_NETBIOS, GETDNS_CONTEXT_NAMESPACE_MDNS, and GETDNS_CONTEXT_NAMESPACE_NIS. When a normal lookup is done, the API does the lookups in the order given and stops when it gets the first result; a different method with the same result would be to run the queries in parallel and return when it gets the first result. Because lookups might be done over different mechanisms because of the different namespaces, there can be information leakage that is similar to that seen with getaddrinfo(). The default is determined by the OS.
.ad n
.HP 3
.I restype

View File

@ -27,6 +27,7 @@
.\"
.TH getdns_dict 3 "@date@" "getdns @version@" getdns
.ad l
.SH NAME
.B getdns_dict,
.B getdns_dict_create,
@ -34,6 +35,7 @@
.B getdns_dict_create_with_memory_functions,
.B getdns_dict_destroy
-- getdns dict create and destroy routines
.ad n
.SH LIBRARY
DNS Resolver library (libgetdns, -lgetdns)

View File

@ -27,6 +27,7 @@
.\"
.TH getdns_list 3 "@date@" "getdns @version@" getdns
.ad l
.SH NAME
.B getdns_list,
.B getdns_list_create,
@ -34,6 +35,7 @@
.B getdns_list_create_with_memory_functions,
.B getdns_list_destroy
-- getdns list create and destroy routines
.ad n
.SH LIBRARY
DNS Resolver library (libgetdns, -lgetdns)

Binary file not shown.

BIN
spec/getdns-0.6.tgz Normal file

Binary file not shown.

View File

@ -91,8 +91,10 @@ tr.code { font-family: monospace }
</head><body>
<p class=title>Description of the <code>getdns</code> API</p>
<p class=title2>Willem Toorop, Editor</p>
<p class=title2>Document version: "getdns October 2014"</p>
<p class=title2>Originally edited by Paul Hoffman</p>
<p class=title2>Currently maintained by the <a
href="mailto:team@getdnsapi.net">getdns team</a></p>
<p class=title2>Document version: "getdns January 2015"</p>
<p>This document describes a modern asynchronous DNS API. This new API is intended to be useful to
application developers and operating system distributors as a way of making
@ -112,8 +114,8 @@ of this new API are:</p>
<p>This document was discussed on the <a href="http://www.vpnc.org/mailman/listinfo/getdns-api">
getdns-api mailing list</a>; future versions of the API might be discussed there as well.
(If you
want to contact the editor off-list, please send mail to <a
href="mailto:paul.hoffman@vpnc.org">paul.hoffman@vpnc.org</a>.)</p>
want to contact the editors off-list, please send mail to <a
href="mailto:team@getdnsapi.net">team@getdnsapi.net</a>.)</p>
<h1>1. The <code>getdns</code> Async Functions</h1>
@ -2457,7 +2459,7 @@ getdns_pretty_print_dict() for debugging.</li>
<h1>9. The Generated Files</h1>
<p>There is <a href="getdns-0.513.tgz">a tarball</a> that includes the .h files,
<p>There is <a href="getdns-0.6.tgz">a tarball</a> that includes the .h files,
the examples, and so on. The examples all make, even though there is no API implementation, based
on a pseudo-implementation in the tarball; see make-examples-PLATFORM.sh. Note that this currently builds fine
on the Macintosh and Ubuntu; help is definitely appreciated on making the build process

View File

@ -30,20 +30,7 @@ package = @PACKAGE_NAME@
version = @PACKAGE_VERSION@
tarname = @PACKAGE_TARNAME@
distdir = $(tarname)-$(version)
# current:revision:age
# (binary-api-number):(which-binary-api-version):(how-many-nrs-backwardscompat)
# if source code changes increment revision
# if any interfaces have been added/removed/changed since last update then
# increment current and set revision to 0
# if any interfaces have been added since the last public release then increment age
# if any interfaces have been removed or changed since the last public release then
# set age to 0
# if api unchanged: no changes
# if api broken: current++ ; revision = 0; age = 0
# if programs compiled against existing library work and link with new
# version of library with new binary api: revision++; age++
libversion = 1:0:0
libversion = @GETDNS_LIBVERSION@
prefix = @prefix@
exec_prefix = @exec_prefix@

View File

@ -93,15 +93,18 @@ void* run_transport_server(void* data) {
if (r > 0) {
ldns_pkt* query;
socklen_t len = sizeof (client_addr);
if (FD_ISSET(udp, &read_fds) == 1) {
if (FD_ISSET(udp, &read_fds)) {
n = recvfrom(udp, mesg, 65536, 0, (struct sockaddr *) &client_addr, &len);
udp_count++;
} else if (FD_ISSET(tcp, &read_fds) == 1) {
} else if (FD_ISSET(tcp, &read_fds)) {
conn = accept(tcp, (struct sockaddr *) &client_addr, &len);
/* throw away the length */
n = read(conn, tcplength, 2);
n = read(conn, mesg, 65536);
tcp_count++;
} else {
fprintf(stderr, "Timeout in run_transport_server\n");
break;
}
ldns_wire2pkt(&query, mesg, n);

View File

@ -289,7 +289,6 @@ main(int argc, char **argv)
char *response_str;
getdns_return_t r;
getdns_dict *address = NULL;
int t;
name = the_root;
if ((r = getdns_context_create(&context, 1))) {