2006-08-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>

To fix compilation problem on gcc4.1.1(patch#1542283 by 
tizianomueller)
	* src/NameResolver.h: Added the prototype declaration of 
callback().
	
	To support c-ares library:
	
	* src/AbstractCommand.cc: Replaced HAVE_LIBARES with 
ENABLE_ASYNC_DNS
	* src/FeatureConfig.cc: Replaced HAVE_LIBARES with 
ENABLE_ASYNC_DNS
	* src/FtpInitiateConnectionCommand.h:
	Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
	* src/AbstractCommand.h: Replaced HAVE_LIBARES with 
ENABLE_ASYNC_DNS
	* src/HttpInitiateConnectionCommand.h:
	Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
	* src/NameResolver.cc: Replaced HAVE_LIBARES with 
ENABLE_ASYNC_DNS
	* src/HttpInitiateConnectionCommand.cc:
	Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
	* src/FtpInitiateConnectionCommand.cc:
	Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
	* src/DownloadEngine.h:
	Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
	* src/DownloadEngine.cc:
	Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
This commit is contained in:
Tatsuhiro Tsujikawa 2006-08-21 13:18:51 +00:00
parent 29d1723996
commit 4def45feb2
21 changed files with 263 additions and 88 deletions

View File

@ -1,3 +1,27 @@
2006-08-21 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
To fix compilation problem on gcc4.1.1(patch#1542283 by tizianomueller)
* src/NameResolver.h: Added the prototype declaration of callback().
To support c-ares library:
* src/AbstractCommand.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/FeatureConfig.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/FtpInitiateConnectionCommand.h:
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/AbstractCommand.h: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/HttpInitiateConnectionCommand.h:
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/NameResolver.cc: Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/HttpInitiateConnectionCommand.cc:
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/FtpInitiateConnectionCommand.cc:
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/DownloadEngine.h:
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
* src/DownloadEngine.cc:
Replaced HAVE_LIBARES with ENABLE_ASYNC_DNS
2006-08-14 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
* src/main.cc

View File

@ -50,10 +50,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libares.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/libcares.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
@ -113,6 +114,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_ASYNC_DNS_FALSE = @ENABLE_ASYNC_DNS_FALSE@
ENABLE_ASYNC_DNS_TRUE = @ENABLE_ASYNC_DNS_TRUE@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
@ -121,8 +124,6 @@ EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
HAVE_LIBARES_FALSE = @HAVE_LIBARES_FALSE@
HAVE_LIBARES_TRUE = @HAVE_LIBARES_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -135,6 +136,8 @@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBARES_CPPFLAGS = @LIBARES_CPPFLAGS@
LIBARES_LIBS = @LIBARES_LIBS@
LIBCARES_CPPFLAGS = @LIBCARES_CPPFLAGS@
LIBCARES_LIBS = @LIBCARES_LIBS@
LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@

1
aclocal.m4 vendored
View File

@ -1401,6 +1401,7 @@ m4_include([m4/lib-ld.m4])
m4_include([m4/lib-link.m4])
m4_include([m4/lib-prefix.m4])
m4_include([m4/libares.m4])
m4_include([m4/libcares.m4])
m4_include([m4/nls.m4])
m4_include([m4/openssl.m4])
m4_include([m4/po.m4])

View File

@ -8,6 +8,9 @@
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if asynchronous DNS support is enabled. */
#undef ENABLE_ASYNC_DNS
/* Define to 1 if BitTorrent support is enabled. */
#undef ENABLE_BITTORRENT
@ -108,6 +111,9 @@
/* Define to 1 if you have libares. */
#undef HAVE_LIBARES
/* Define to 1 if you have libcares. */
#undef HAVE_LIBCARES
/* Define to 1 if you have libgcrypt. */
#undef HAVE_LIBGCRYPT

157
configure vendored
View File

@ -311,7 +311,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS localedir CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC XML2_CONFIG XML_CPPFLAGS XML_LIBS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS LIBGCRYPT_CONFIG LIBGCRYPT_CFLAGS LIBGCRYPT_LIBS OPENSSL_LIBS OPENSSL_CFLAGS LIBARES_LIBS LIBARES_CPPFLAGS ENABLE_BITTORRENT_TRUE ENABLE_BITTORRENT_FALSE ENABLE_METALINK_TRUE ENABLE_METALINK_FALSE HAVE_LIBARES_TRUE HAVE_LIBARES_FALSE ALLOCA CPP EGREP MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS LTLIBOBJS'
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CPPUNIT_CONFIG CPPUNIT_CFLAGS CPPUNIT_LIBS localedir CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RANLIB ac_ct_RANLIB YACC XML2_CONFIG XML_CPPFLAGS XML_LIBS LIBGNUTLS_CONFIG LIBGNUTLS_CFLAGS LIBGNUTLS_LIBS LIBGCRYPT_CONFIG LIBGCRYPT_CFLAGS LIBGCRYPT_LIBS OPENSSL_LIBS OPENSSL_CFLAGS LIBCARES_LIBS LIBCARES_CPPFLAGS LIBARES_LIBS LIBARES_CPPFLAGS ENABLE_BITTORRENT_TRUE ENABLE_BITTORRENT_FALSE ENABLE_METALINK_TRUE ENABLE_METALINK_FALSE ENABLE_ASYNC_DNS_TRUE ENABLE_ASYNC_DNS_FALSE ALLOCA CPP EGREP MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE build build_cpu build_vendor build_os host host_cpu host_vendor host_os GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@ -884,6 +884,7 @@ Optional Packages:
--with-libgcrypt-prefix=PFX
prefix where LIBGCRYPT is installed (optional)
--with-openssl-prefix=PREFIX Prefix where OpenSSL installed (optional)
--with-libcares-prefix=PREFIX Prefix where libcares installed (optional)
--with-libares-prefix=PREFIX Prefix where libares installed (optional)
--with-gnu-ld assume the C compiler uses GNU ld default=no
--with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib
@ -4635,7 +4636,117 @@ CPPFLAGS=$CPPFLAGS_save
fi
if test "x$with_libares" = "xyes"; then
if test "x$with_libcares" = "xyes"; then
# Check whether --with-libcares-prefix or --without-libcares-prefix was given.
if test "${with_libcares_prefix+set}" = set; then
withval="$with_libcares_prefix"
libcares_prefix=$withval
else
libcares_prefix=""
fi;
if test "x$libcares_prefix" = "x"; then
libcares_prefix="/usr"
fi
libcares_prefix_lib=$libcares_prefix/lib
libcares_prefix_include=$libcares_prefix/include
LIBS_save=$LIBS
CPPFLAGS_save=$CPPFLAGS
LIBS="-L$libcares_prefix_lib $LIBS"
CPPFLAGS="-I$libcares_prefix_include $CPPFLAGS"
echo "$as_me:$LINENO: checking for ares_init in -lcares" >&5
echo $ECHO_N "checking for ares_init in -lcares... $ECHO_C" >&6
if test "${ac_cv_lib_cares_ares_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lcares $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char ares_init ();
int
main ()
{
ares_init ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
ac_cv_lib_cares_ares_init=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_cares_ares_init=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_cares_ares_init" >&5
echo "${ECHO_T}$ac_cv_lib_cares_ares_init" >&6
if test $ac_cv_lib_cares_ares_init = yes; then
have_libcares=yes
fi
if test "x$have_libcares" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_LIBCARES 1
_ACEOF
LIBCARES_LIBS="-L$libcares_prefix_lib -lcares"
LIBCARES_CPPFLAGS="-I$libcares_prefix_include"
fi
LIBS=$LIBS_save
CPPFLAGS=$CPPFLAGS_save
fi
if test "x$have_libcares" = "x"; then
if test "x$with_libares" = "xyes"; then
# Check whether --with-libares-prefix or --without-libares-prefix was given.
@ -4742,6 +4853,7 @@ LIBS=$LIBS_save
CPPFLAGS=$CPPFLAGS_save
fi
fi
# Define variables based on the result of the checks for libraries.
@ -4820,26 +4932,31 @@ fi
fi
if test "x$have_libares" = "xyes"; then
if test "x$have_libcares" = "xyes" || test "x$have_libares" = "xyes"; then
cat >>confdefs.h <<\_ACEOF
#define ENABLE_ASYNC_DNS 1
_ACEOF
if true; then
HAVE_LIBARES_TRUE=
HAVE_LIBARES_FALSE='#'
ENABLE_ASYNC_DNS_TRUE=
ENABLE_ASYNC_DNS_FALSE='#'
else
HAVE_LIBARES_TRUE='#'
HAVE_LIBARES_FALSE=
ENABLE_ASYNC_DNS_TRUE='#'
ENABLE_ASYNC_DNS_FALSE=
fi
else
if false; then
HAVE_LIBARES_TRUE=
HAVE_LIBARES_FALSE='#'
ENABLE_ASYNC_DNS_TRUE=
ENABLE_ASYNC_DNS_FALSE='#'
else
HAVE_LIBARES_TRUE='#'
HAVE_LIBARES_FALSE=
ENABLE_ASYNC_DNS_TRUE='#'
ENABLE_ASYNC_DNS_FALSE=
fi
fi
@ -11816,17 +11933,17 @@ echo "$as_me: error: conditional \"ENABLE_METALINK\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_LIBARES_TRUE}" && test -z "${HAVE_LIBARES_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBARES\" was never defined.
if test -z "${ENABLE_ASYNC_DNS_TRUE}" && test -z "${ENABLE_ASYNC_DNS_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"ENABLE_ASYNC_DNS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"HAVE_LIBARES\" was never defined.
echo "$as_me: error: conditional \"ENABLE_ASYNC_DNS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
if test -z "${HAVE_LIBARES_TRUE}" && test -z "${HAVE_LIBARES_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"HAVE_LIBARES\" was never defined.
if test -z "${ENABLE_ASYNC_DNS_TRUE}" && test -z "${ENABLE_ASYNC_DNS_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"ENABLE_ASYNC_DNS\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"HAVE_LIBARES\" was never defined.
echo "$as_me: error: conditional \"ENABLE_ASYNC_DNS\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
@ -12437,14 +12554,16 @@ s,@LIBGCRYPT_CFLAGS@,$LIBGCRYPT_CFLAGS,;t t
s,@LIBGCRYPT_LIBS@,$LIBGCRYPT_LIBS,;t t
s,@OPENSSL_LIBS@,$OPENSSL_LIBS,;t t
s,@OPENSSL_CFLAGS@,$OPENSSL_CFLAGS,;t t
s,@LIBCARES_LIBS@,$LIBCARES_LIBS,;t t
s,@LIBCARES_CPPFLAGS@,$LIBCARES_CPPFLAGS,;t t
s,@LIBARES_LIBS@,$LIBARES_LIBS,;t t
s,@LIBARES_CPPFLAGS@,$LIBARES_CPPFLAGS,;t t
s,@ENABLE_BITTORRENT_TRUE@,$ENABLE_BITTORRENT_TRUE,;t t
s,@ENABLE_BITTORRENT_FALSE@,$ENABLE_BITTORRENT_FALSE,;t t
s,@ENABLE_METALINK_TRUE@,$ENABLE_METALINK_TRUE,;t t
s,@ENABLE_METALINK_FALSE@,$ENABLE_METALINK_FALSE,;t t
s,@HAVE_LIBARES_TRUE@,$HAVE_LIBARES_TRUE,;t t
s,@HAVE_LIBARES_FALSE@,$HAVE_LIBARES_FALSE,;t t
s,@ENABLE_ASYNC_DNS_TRUE@,$ENABLE_ASYNC_DNS_TRUE,;t t
s,@ENABLE_ASYNC_DNS_FALSE@,$ENABLE_ASYNC_DNS_FALSE,;t t
s,@ALLOCA@,$ALLOCA,;t t
s,@CPP@,$CPP,;t t
s,@EGREP@,$EGREP,;t t

View File

@ -54,8 +54,14 @@ if test "x$with_openssl" = "xyes" && test "x$have_libgnutls" != "xyes"; then
AM_PATH_OPENSSL
fi
if test "x$with_libares" = "xyes"; then
AM_PATH_LIBARES
if test "x$with_libcares" = "xyes"; then
AM_PATH_LIBCARES
fi
if test "x$have_libcares" = "x"; then
if test "x$with_libares" = "xyes"; then
AM_PATH_LIBARES
fi
fi
# Define variables based on the result of the checks for libraries.
@ -82,10 +88,11 @@ else
AM_CONDITIONAL([ENABLE_METALINK], false)
fi
if test "x$have_libares" = "xyes"; then
AM_CONDITIONAL([HAVE_LIBARES], true)
if test "x$have_libcares" = "xyes" || test "x$have_libares" = "xyes"; then
AC_DEFINE([ENABLE_ASYNC_DNS], [1], [Define to 1 if asynchronous DNS support is enabled.])
AM_CONDITIONAL([ENABLE_ASYNC_DNS], true)
else
AM_CONDITIONAL([HAVE_LIBARES], false)
AM_CONDITIONAL([ENABLE_ASYNC_DNS], false)
fi
# Checks for header files.

View File

@ -45,10 +45,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libares.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/libcares.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -87,6 +88,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_ASYNC_DNS_FALSE = @ENABLE_ASYNC_DNS_FALSE@
ENABLE_ASYNC_DNS_TRUE = @ENABLE_ASYNC_DNS_TRUE@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
@ -95,8 +98,6 @@ EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
HAVE_LIBARES_FALSE = @HAVE_LIBARES_FALSE@
HAVE_LIBARES_TRUE = @HAVE_LIBARES_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -109,6 +110,8 @@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBARES_CPPFLAGS = @LIBARES_CPPFLAGS@
LIBARES_LIBS = @LIBARES_LIBS@
LIBCARES_CPPFLAGS = @LIBCARES_CPPFLAGS@
LIBCARES_LIBS = @LIBCARES_LIBS@
LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@

View File

@ -170,7 +170,7 @@ void AbstractCommand::setWriteCheckSocket(const SocketHandle& socket) {
}
}
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
void AbstractCommand::setNameResolverCheck(const NameResolverHandle& resolver) {
e->addNameResolverCheck(resolver, this);
}
@ -199,4 +199,4 @@ bool AbstractCommand::resolveHostname(const string& hostname,
return false;
}
}
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS

View File

@ -46,11 +46,11 @@ protected:
void setWriteCheckSocket(const SocketHandle& socket);
void disableReadCheckSocket();
void disableWriteCheckSocket();
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
void setNameResolverCheck(const NameResolverHandle& resolver);
void disableNameResolverCheck(const NameResolverHandle& resolver);
bool resolveHostname(const string& hostname, const NameResolverHandle& nameResolver);
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
void setTimeout(int timeout) { this->timeout = timeout; }
private:
bool checkSocketIsReadable;

View File

@ -120,14 +120,14 @@ public:
*max_ptr = fd;
}
}
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
void operator()(const NameResolverEntry& entry) {
int tempFd = entry.nameResolver->getFds(rfds_ptr, wfds_ptr);
if(*max_ptr < tempFd) {
*max_ptr = tempFd;
}
}
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
};
class AccumulateActiveCommand {
@ -163,7 +163,7 @@ public:
}
*/
}
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
void operator()(const NameResolverEntry& entry) {
entry.nameResolver->process(rfds_ptr, wfds_ptr);
switch(entry.nameResolver->getStatus()) {
@ -175,7 +175,7 @@ public:
break;
}
}
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
};
void DownloadEngine::waitData(Commands& activeCommands) {
@ -193,10 +193,10 @@ void DownloadEngine::waitData(Commands& activeCommands) {
if(retval > 0) {
for_each(socketEntries.begin(), socketEntries.end(),
AccumulateActiveCommand(&activeCommands, &rfds, &wfds));
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
for_each(nameResolverEntries.begin(), nameResolverEntries.end(),
AccumulateActiveCommand(&activeCommands, &rfds, &wfds));
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
sort(activeCommands.begin(), activeCommands.end());
activeCommands.erase(unique(activeCommands.begin(),
activeCommands.end()),
@ -208,10 +208,10 @@ void DownloadEngine::updateFdSet() {
fdmax = 0;
FD_ZERO(&rfdset);
FD_ZERO(&wfdset);
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
for_each(nameResolverEntries.begin(), nameResolverEntries.end(),
SetDescriptor(&fdmax, &rfdset, &wfdset));
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
for_each(socketEntries.begin(), socketEntries.end(),
SetDescriptor(&fdmax, &rfdset, &wfdset));
}
@ -264,7 +264,7 @@ bool DownloadEngine::deleteSocketForWriteCheck(const SocketHandle& socket,
return deleteSocket(entry);
}
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
bool DownloadEngine::addNameResolverCheck(const NameResolverHandle& resolver,
Command* command) {
NameResolverEntry entry(resolver, command);
@ -294,4 +294,4 @@ bool DownloadEngine::deleteNameResolverCheck(const NameResolverHandle& resolver,
return true;
}
}
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS

View File

@ -28,9 +28,9 @@
#include "common.h"
#include "Logger.h"
#include "Option.h"
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
# include "NameResolver.h"
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
typedef deque<SocketHandle> Sockets;
typedef deque<Command*> Commands;
@ -61,7 +61,7 @@ public:
typedef deque<SocketEntry> SocketEntries;
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
class NameResolverEntry {
public:
NameResolverHandle nameResolver;
@ -79,16 +79,16 @@ public:
};
typedef deque<NameResolverEntry> NameResolverEntries;
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
class DownloadEngine {
private:
void waitData(Commands& activeCommands);
SocketEntries socketEntries;
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
NameResolverEntries nameResolverEntries;
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
fd_set rfdset;
fd_set wfdset;
int fdmax;
@ -125,12 +125,12 @@ public:
Command* command);
bool deleteSocketForWriteCheck(const SocketHandle& socket,
Command* command);
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
bool addNameResolverCheck(const NameResolverHandle& resolver,
Command* command);
bool deleteNameResolverCheck(const NameResolverHandle& resolver,
Command* command);
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
};
#endif // _D_DOWNLOAD_ENGINE_H_

View File

@ -73,11 +73,11 @@ FeatureConfig::FeatureConfig() {
#endif // ENABLE_MESSAGE_DIGEST
),
FeatureMap::value_type(FEATURE_ASYNC_DNS,
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
true
#else
false
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
),
};

View File

@ -38,9 +38,9 @@ FtpInitiateConnectionCommand::FtpInitiateConnectionCommand(int cuid,
}
FtpInitiateConnectionCommand::~FtpInitiateConnectionCommand() {
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
disableNameResolverCheck(nameResolver);
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
}
bool FtpInitiateConnectionCommand::executeInternal(Segment segment) {
@ -61,7 +61,7 @@ bool FtpInitiateConnectionCommand::executeInternal(Segment segment) {
} else {
hostname = req->getHost();
}
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
if(!Util::isNumbersAndDotsNotation(hostname)) {
if(resolveHostname(hostname, nameResolver)) {
hostname = nameResolver->getAddrString();
@ -70,7 +70,7 @@ bool FtpInitiateConnectionCommand::executeInternal(Segment segment) {
return false;
}
}
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
Command* command;
if(useHttpProxy()) {
logger->info(MSG_CONNECTING_TO_SERVER, cuid,

View File

@ -26,9 +26,9 @@
class FtpInitiateConnectionCommand : public AbstractCommand {
private:
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
NameResolverHandle nameResolver;
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
bool useHttpProxy() const;
bool useHttpProxyGet() const;
bool useHttpProxyConnect() const;

View File

@ -38,9 +38,9 @@ HttpInitiateConnectionCommand::HttpInitiateConnectionCommand(int cuid,
}
HttpInitiateConnectionCommand::~HttpInitiateConnectionCommand() {
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
disableNameResolverCheck(nameResolver);
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
}
bool HttpInitiateConnectionCommand::executeInternal(Segment segment) {
@ -50,7 +50,7 @@ bool HttpInitiateConnectionCommand::executeInternal(Segment segment) {
} else {
hostname = req->getHost();
}
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
if(!Util::isNumbersAndDotsNotation(hostname)) {
if(resolveHostname(hostname, nameResolver)) {
hostname = nameResolver->getAddrString();
@ -59,7 +59,7 @@ bool HttpInitiateConnectionCommand::executeInternal(Segment segment) {
return false;
}
}
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
Command* command;
if(useProxy()) {
logger->info(MSG_CONNECTING_TO_SERVER, cuid,

View File

@ -26,9 +26,9 @@
class HttpInitiateConnectionCommand : public AbstractCommand {
private:
#ifdef HAVE_LIBARES
#ifdef ENABLE_ASYNC_DNS
NameResolverHandle nameResolver;
#endif // HAVE_LIBARES
#endif // ENABLE_ASYNC_DNS
bool useProxy();
bool useProxyGet();
bool useProxyTunnel();

View File

@ -57,9 +57,9 @@ SRCS = Socket.h\
RequestInfo.h\
UrlRequestInfo.cc UrlRequestInfo.h
if HAVE_LIBARES
if ENABLE_ASYNC_DNS
SRCS += NameResolver.cc NameResolver.h
endif # HAVE_LIBARES
endif # ENABLE_ASYNC_DNS
if ENABLE_BITTORRENT
SRCS += MetaEntry.h\

View File

@ -38,7 +38,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = aria2c$(EXEEXT)
@HAVE_LIBARES_TRUE@am__append_1 = NameResolver.cc NameResolver.h
@ENABLE_ASYNC_DNS_TRUE@am__append_1 = NameResolver.cc NameResolver.h
@ENABLE_BITTORRENT_TRUE@am__append_2 = MetaEntry.h\
@ENABLE_BITTORRENT_TRUE@ Data.cc Data.h\
@ENABLE_BITTORRENT_TRUE@ Dictionary.cc Dictionary.h\
@ -112,10 +112,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libares.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/libcares.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -201,7 +202,7 @@ am__libaria2c_a_SOURCES_DIST = Socket.h SocketCore.cc SocketCore.h \
MetalinkResource.cc MetalinkResource.h MetalinkProcessor.h \
Xml2MetalinkProcessor.cc Xml2MetalinkProcessor.h \
MetalinkRequestInfo.cc MetalinkRequestInfo.h
@HAVE_LIBARES_TRUE@am__objects_1 = NameResolver.$(OBJEXT)
@ENABLE_ASYNC_DNS_TRUE@am__objects_1 = NameResolver.$(OBJEXT)
@ENABLE_BITTORRENT_TRUE@am__objects_2 = Data.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ Dictionary.$(OBJEXT) List.$(OBJEXT) \
@ENABLE_BITTORRENT_TRUE@ MetaFileUtil.$(OBJEXT) \
@ -337,6 +338,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_ASYNC_DNS_FALSE = @ENABLE_ASYNC_DNS_FALSE@
ENABLE_ASYNC_DNS_TRUE = @ENABLE_ASYNC_DNS_TRUE@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
@ -345,8 +348,6 @@ EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
HAVE_LIBARES_FALSE = @HAVE_LIBARES_FALSE@
HAVE_LIBARES_TRUE = @HAVE_LIBARES_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -359,6 +360,8 @@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBARES_CPPFLAGS = @LIBARES_CPPFLAGS@
LIBARES_LIBS = @LIBARES_LIBS@
LIBCARES_CPPFLAGS = @LIBCARES_CPPFLAGS@
LIBCARES_LIBS = @LIBCARES_LIBS@
LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@

View File

@ -24,7 +24,11 @@
void callback(void* arg, int status, struct hostent* host) {
NameResolver* resolverPtr = (NameResolver*)arg;
if(status != ARES_SUCCESS) {
#ifdef HAVE_LIBCARES
resolverPtr->error = ares_strerror(status);
#else
resolverPtr->error = ares_strerror(status, 0);
#endif // HAVE_LIBCARES
resolverPtr->status = NameResolver::STATUS_ERROR;
return;
}

View File

@ -37,6 +37,8 @@ extern "C" {
} /* end of extern "C" */
#endif
void callback(void* arg, int status, struct hostent* host);
class NameResolver {
friend void callback(void* arg, int status, struct hostent* host);

View File

@ -46,10 +46,11 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/codeset.m4 \
$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/lcmessage.m4 \
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libares.m4 \
$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/openssl.m4 \
$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
$(top_srcdir)/m4/libcares.m4 $(top_srcdir)/m4/nls.m4 \
$(top_srcdir)/m4/openssl.m4 $(top_srcdir)/m4/po.m4 \
$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/stdint_h.m4 \
$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
@ -120,6 +121,8 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
ENABLE_ASYNC_DNS_FALSE = @ENABLE_ASYNC_DNS_FALSE@
ENABLE_ASYNC_DNS_TRUE = @ENABLE_ASYNC_DNS_TRUE@
ENABLE_BITTORRENT_FALSE = @ENABLE_BITTORRENT_FALSE@
ENABLE_BITTORRENT_TRUE = @ENABLE_BITTORRENT_TRUE@
ENABLE_METALINK_FALSE = @ENABLE_METALINK_FALSE@
@ -128,8 +131,6 @@ EXEEXT = @EXEEXT@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
HAVE_LIBARES_FALSE = @HAVE_LIBARES_FALSE@
HAVE_LIBARES_TRUE = @HAVE_LIBARES_TRUE@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
@ -142,6 +143,8 @@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LDFLAGS = @LDFLAGS@
LIBARES_CPPFLAGS = @LIBARES_CPPFLAGS@
LIBARES_LIBS = @LIBARES_LIBS@
LIBCARES_CPPFLAGS = @LIBCARES_CPPFLAGS@
LIBCARES_LIBS = @LIBCARES_LIBS@
LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@