Merge pull request #40 from getdnsapi/v0.1.2

V0.1.2
This commit is contained in:
Glen Wiley 2014-06-03 16:55:28 -04:00
commit c10e4b7d67
7 changed files with 51 additions and 47 deletions

View File

@ -1,4 +1,4 @@
* 2014-05-22: Version 0.1.2 * 2014-06-02: Version 0.1.2
* Fixed rdata fields for MX * Fixed rdata fields for MX
* Expose only public API symbols * Expose only public API symbols
* Updated manpages * Updated manpages
@ -11,6 +11,7 @@
Thanks Paul Hoffman Thanks Paul Hoffman
* Mac OSX package built instructions for generic user in README.md * Mac OSX package built instructions for generic user in README.md
Thanks Joel Purra Thanks Joel Purra
* Fixed build problems on RHEL/CentOS due using libevent 1.x
* 2014-03-24 : Version 0.1.1 * 2014-03-24 : Version 0.1.1

View File

@ -1,7 +1,7 @@
getdns API getdns API
========== ==========
* Date: 2014-05-22 * Date: 2014-06-02
* GitHub: <https://github.com/getdnsapi/getdns> * GitHub: <https://github.com/getdnsapi/getdns>
getdns is a [modern asynchronous DNS API](http://www.vpnc.org/getdns-api/) getdns is a [modern asynchronous DNS API](http://www.vpnc.org/getdns-api/)
@ -142,21 +142,20 @@ Some platform specific features are not implemented in the first public release
There are a few known issues which we have summarized below - the most recent There are a few known issues which we have summarized below - the most recent
and helpful list is being maintained in the git issues list in the repository. and helpful list is being maintained in the git issues list in the repository.
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. * (#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 sybols. If you see 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 picked up. * 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.
#Supported Platforms #Supported Platforms
The primary platforms targeted are Linux and FreeBSD, other platform are supported as we get time. The names listed here are intended to help ensure that we catch platform specific breakage, not to limit the work that folks are doing. The primary platforms targeted are Linux and FreeBSD, other platform are supported as we get time. The names listed here are intended to help ensure that we catch platform specific breakage, not to limit the work that folks are doing.
* Debian 7.0, 7.3 * RHEL/CentOS 6.4
* FreeBSD 8.4, 9.2, 10.0 * OSX 10.8
* RHEL/CentOS 6.4, 6.5 * Ubuntu 13.10
* OSX 10.8, 10.9
* Ubuntu 12.04, 13.10
For most platforms where we have provided a binary distribution as a compressed tar you For most platforms where we have provided a binary distribution as a compressed tar you
can simply untar the file and run "make install". Bear in mind that any dependencies can simply untar the file and run "make install". Bear in mind that any dependencies
@ -176,7 +175,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'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'. 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.
###CentOS/RHEL 6.5 ###CentOS/RHEL 6.5

49
configure vendored
View File

@ -3248,9 +3248,7 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
case "$host_os" in case "$host_os" in
linux* ) CFLAGS="$CFLAGS -D_XOPEN_SOURCE=501" # unfortunate, but needed to linux* ) CFLAGS="$CFLAGS -D_BSD_SOURCE"
# pick up strdup() declaration
# in <string.h>
;; ;;
solaris* ) CFLAGS="$CFLAGS -D__EXTENSIONS__" # for strdup() from <string.h> solaris* ) CFLAGS="$CFLAGS -D__EXTENSIONS__" # for strdup() from <string.h>
;; ;;
@ -5642,7 +5640,7 @@ ia64-*-hpux*)
rm -rf conftest* rm -rf conftest*
;; ;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*) s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext echo 'int i;' > conftest.$ac_ext
@ -5660,10 +5658,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*) x86_64-*linux*)
LD="${LD-ld} -m elf_i386" LD="${LD-ld} -m elf_i386"
;; ;;
powerpc64le-*linux*) ppc64-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf32lppclinux"
;;
powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux" LD="${LD-ld} -m elf32ppclinux"
;; ;;
s390x-*linux*) s390x-*linux*)
@ -5682,10 +5677,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
x86_64-*linux*) x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64" LD="${LD-ld} -m elf_x86_64"
;; ;;
powerpcle-*linux*) ppc*-*linux*|powerpc*-*linux*)
LD="${LD-ld} -m elf64lppc"
;;
powerpc-*linux*)
LD="${LD-ld} -m elf64ppc" LD="${LD-ld} -m elf64ppc"
;; ;;
s390*-*linux*|s390*-*tpf*) s390*-*linux*|s390*-*tpf*)
@ -9694,14 +9686,10 @@ fi
# before this can be enabled. # before this can be enabled.
hardcode_into_libs=yes hardcode_into_libs=yes
# Add ABI-specific directories to the system library path.
sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
# Append ld.so.conf contents to the search path # Append ld.so.conf contents to the search path
if test -f /etc/ld.so.conf; then if test -f /etc/ld.so.conf; then
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
fi fi
# We used to test for /lib/ld.so.1 and disable shared libraries on # We used to test for /lib/ld.so.1 and disable shared libraries on
@ -11177,11 +11165,6 @@ _ACEOF
ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" "$ac_includes_default" ac_fn_c_check_type "$LINENO" "u_char" "ac_cv_type_u_char" "$ac_includes_default"
if test "x$ac_cv_type_u_char" = xyes; then : if test "x$ac_cv_type_u_char" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_U_CHAR 1
_ACEOF
fi fi
@ -11198,6 +11181,13 @@ else
fi fi
# libevent 1.x requires a u_char typedef which is not always available
# on some systems so our check is a little complicated
# we further need to ensure that this is included in the getdns headers
# that get installed later so some users may not be building in an
# environment that has the generated config.h SO we need to generate
# this one extra header in that case
have_libevent=0 have_libevent=0
EXTENSION_LIBEVENT_EXT_LIBS="" EXTENSION_LIBEVENT_EXT_LIBS=""
EXTENSION_LIBEVENT_LIB="" EXTENSION_LIBEVENT_LIB=""
@ -11281,18 +11271,29 @@ if test "x$ac_cv_header_event2_event_h" = xyes; then :
#define HAVE_EVENT2_EVENT_H 1 #define HAVE_EVENT2_EVENT_H 1
_ACEOF _ACEOF
have_libevent=1 have_libevent=1
EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop" if test "x_$ac_cv_search_event_loop" = "x_none required"; then :
else
EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop"
fi
else else
for ac_header in event.h for ac_header in event.h
do : do :
ac_fn_c_check_header_compile "$LINENO" "event.h" "ac_cv_header_event_h" "$ac_includes_default ac_fn_c_check_header_compile "$LINENO" "event.h" "ac_cv_header_event_h" "$ac_includes_default
#if HAVE_U_CHAR == 0
typedef unsigned char u_char;
#endif
" "
if test "x$ac_cv_header_event_h" = xyes; then : if test "x$ac_cv_header_event_h" = xyes; then :
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
#define HAVE_EVENT_H 1 #define HAVE_EVENT_H 1
_ACEOF _ACEOF
have_libevent=1 have_libevent=1
EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop" if test "x_$ac_cv_search_event_loop" = "x_none required"; then :
else
EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop"
fi
else else
as_fn_error $? "event2/event.h and event.h missing, try without libevent" "$LINENO" 5 as_fn_error $? "event2/event.h and event.h missing, try without libevent" "$LINENO" 5
have_libevent=0 have_libevent=0

View File

@ -45,9 +45,7 @@ AC_PROG_CPP
# Checks for programs. # Checks for programs.
AC_CANONICAL_HOST AC_CANONICAL_HOST
case "$host_os" in case "$host_os" in
linux* ) CFLAGS="$CFLAGS -D_XOPEN_SOURCE=501" # unfortunate, but needed to linux* ) CFLAGS="$CFLAGS -D_BSD_SOURCE"
# pick up strdup() declaration
# in <string.h>
;; ;;
solaris* ) CFLAGS="$CFLAGS -D__EXTENSIONS__" # for strdup() from <string.h> solaris* ) CFLAGS="$CFLAGS -D__EXTENSIONS__" # for strdup() from <string.h>
;; ;;
@ -189,7 +187,7 @@ AC_TYPE_UINT16_T
AC_TYPE_UINT32_T AC_TYPE_UINT32_T
AC_TYPE_UINT64_T AC_TYPE_UINT64_T
AC_TYPE_UINT8_T AC_TYPE_UINT8_T
AC_CHECK_TYPES([u_char]) AC_CHECK_TYPE([u_char])
getdns_LIBS=$LIBS getdns_LIBS=$LIBS
getdns_LDFLAGS=$LDFLAGS getdns_LDFLAGS=$LDFLAGS
@ -200,6 +198,13 @@ AC_ARG_WITH([libevent],
[with_libevent=search], [with_libevent=search],
[withval=no]) [withval=no])
# libevent 1.x requires a u_char typedef which is not always available
# on some systems so our check is a little complicated
# we further need to ensure that this is included in the getdns headers
# that get installed later so some users may not be building in an
# environment that has the generated config.h SO we need to generate
# this one extra header in that case
have_libevent=0 have_libevent=0
EXTENSION_LIBEVENT_EXT_LIBS="" EXTENSION_LIBEVENT_EXT_LIBS=""
EXTENSION_LIBEVENT_LIB="" EXTENSION_LIBEVENT_LIB=""
@ -213,15 +218,18 @@ AS_IF([test x_$withval = x_no],
[AC_CHECK_FUNCS([event_base_new event_base_free])] [AC_CHECK_FUNCS([event_base_new event_base_free])]
[AC_CHECK_HEADERS([event2/event.h], [AC_CHECK_HEADERS([event2/event.h],
[have_libevent=1] [have_libevent=1]
[EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop"], [AS_IF([test "x_$ac_cv_search_event_loop" = "x_none required"],[],[EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop"])],
[AC_CHECK_HEADERS([event.h], [AC_CHECK_HEADERS([event.h],
[have_libevent=1] [have_libevent=1]
[EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop"], [AS_IF([test "x_$ac_cv_search_event_loop" = "x_none required"],[],[EXTENSION_LIBEVENT_EXT_LIBS="$ac_cv_search_event_loop"])],
[AC_MSG_ERROR([event2/event.h and event.h missing, try without libevent])] [AC_MSG_ERROR([event2/event.h and event.h missing, try without libevent])]
[have_libevent=0], [have_libevent=0],
[AC_INCLUDES_DEFAULT])], [AC_INCLUDES_DEFAULT]
[#if HAVE_U_CHAR == 0
typedef unsigned char u_char;
#endif])],
[AC_INCLUDES_DEFAULT])], [AC_INCLUDES_DEFAULT])],
[AC_MSG_ERROR([libevent missing, try without libevent])] [AC_MSG_ERROR([libevent missing, try without libevent])]
)], )],
[have_libevent=1] [have_libevent=1]
[AC_MSG_NOTICE([assuming libevent in $withval])] [AC_MSG_NOTICE([assuming libevent in $withval])]

View File

@ -63,9 +63,6 @@
/* Define to 1 if you have the <uv.h> header file. */ /* Define to 1 if you have the <uv.h> header file. */
#undef HAVE_UV_H #undef HAVE_UV_H
/* Define to 1 if the system has the type `u_char'. */
#undef HAVE_U_CHAR
/* Define to the sub-directory in which libtool stores uninstalled libraries. /* Define to the sub-directory in which libtool stores uninstalled libraries.
*/ */
#undef LT_OBJDIR #undef LT_OBJDIR

View File

@ -33,6 +33,7 @@
*/ */
#include <stdio.h> #include <stdio.h>
#include <string.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <locale.h> #include <locale.h>
#include <stringprep.h> #include <stringprep.h>

View File

@ -40,9 +40,6 @@
#ifdef HAVE_EVENT2_EVENT_H #ifdef HAVE_EVENT2_EVENT_H
# include <event2/event.h> # include <event2/event.h>
#else #else
# ifndef u_char
# define u_char unsigned char
# endif
# include <event.h> # include <event.h>
# define evutil_socket_t int # define evutil_socket_t int
# define event_free free # define event_free free