Files
@ 44f93efce74c
Branch filter:
Location: ohnobinki_overlay/net-irc/unrealircd/files/unrealircd-system-cares.patch
44f93efce74c
4.7 KiB
text/x-diff
Add ~x86 for my lappy.
(Portage version: 2.2_rc67-r4/hg/Linux x86_64)
(Signed Manifest commit)
(Portage version: 2.2_rc67-r4/hg/Linux x86_64)
(Signed Manifest commit)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | Makes unrealircd-3.2.8 able to use a vanilla, system >=net-dns/c-ares-1.5.3
Expects the unrealircd-system-tre.patch to be applied beforehand
--- autoconf/configure.in 2009-03-29 18:35:15.000000000 -0400
+++ autoconf/configure.in 2009-03-29 18:45:54.000000000 -0400
@@ -393,6 +393,7 @@
AC_ARG_WITH(operoverride-verify, [AC_HELP_STRING([--with-operoverride-verify], [Require opers to invite themselves to +s/+p channels])],
AC_DEFINE(OPEROVERRIDE_VERIFY))
AC_ARG_WITH(system-tre, [AC_HELP_STRING([--with-system-tre], [Use the system tre package instead of bundled, discovered using pkg-config])], [], [with_system_tre=no ])
+AC_ARG_WITH(system-cares, [AC_HELP_STRING([--with-system-cares], [Use the system c-ares (at least version 1.5.3) package instead of bundled c-ares, discovered using pkg-config])], [], [with_system_cares=no ])
CHECK_SSL
CHECK_ZLIB
CHECK_LIBCURL
@@ -462,6 +463,7 @@
PKG_CHECK_MODULES([TRE], tre >= 0.7.5)
])
+AS_IF([test "x$with_system_cares" = "xno"],[
dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
cares_version="1.6.0"
AC_MSG_RESULT(extracting c-ares resolver library)
@@ -484,10 +486,9 @@
$ac_cv_prog_MAKER || exit 1
AC_MSG_RESULT(installing c-ares resolver library)
$ac_cv_prog_MAKER install || exit 1
-CARESINCDIR="$cur_dir/extras/c-ares/include"
-AC_SUBST(CARESINCDIR)
-CARESLIBDIR="-L../extras/c-ares/lib"
-AC_SUBST(CARESLIBDIR)
+CARES_CFLAGS="$cur_dir/extras/c-ares/include"
+AC_SUBST(CARES_CFLAGS)
+CARES_LIBS="-L../extras/c-ares/lib"
dnl Set default library parameters for when pkg-config is not available
CARESLIBSALT="-lcares"
@@ -504,15 +505,20 @@
dnl from above. Also, if pkg-config returns an empty result (ex: on fbsd
dnl or older versions it might be missing --static) then also use defaults.
if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
- CARESLIBS="$CARESLIBSALT"
+ CARES_LIBS="$CARES_LIBS $CARESLIBSALT"
else
- CARESLIBS="`$ac_cv_path_PKGCONFIG --static --libs libcares.pc`"
- if test "x$CARESLIBS" = "x" ; then
- CARESLIBS="$CARESLIBSALT"
+ CARES_LIBSPRE="$CARES_LIBS"
+ CARES_LIBS="$CARES_LIBS `$ac_cv_path_PKGCONFIG --static --libs libcares.pc`"
+ if test "$CARES_LIBS" = "$CARES_LIBSPRE " ; then
+ CARES_LIBS="$CARES_LIBS $CARESLIBSALT"
fi
fi
-AC_SUBST(CARESLIBS)
+AC_SUBST(CARES_LIBS)
cd $cur_dir
+],[
+dnl use pkg-config for system c-ares:
+PKG_CHECK_MODULES([CARES], libcares >= 1.5.3)
+])
AC_OUTPUT(Makefile src/modules/Makefile unreal ircdcron/ircdchk)
--- Makefile.in 2009-03-29 18:35:15.000000000 -0400
+++ Makefile.in 2009-03-29 18:48:03.000000000 -0400
@@ -34,11 +34,11 @@
#
#XCFLAGS=-O -g -export-dynamic
-IRCDLIBS=@IRCDLIBS@ @TRE_LIBS@ @CARESLIBS@
+IRCDLIBS=@IRCDLIBS@ @TRE_LIBS@ @CARES_LIBS@
CRYPTOLIB=@CRYPTOLIB@
OPENSSLINCLUDES=
-XCFLAGS=@TRE_CFLAGS@ -I@CARESINCDIR@ @CARESLIBDIR@ @CFLAGS@
+XCFLAGS=@TRE_CFLAGS@ -I@CARES_CFLAGS@ @CFLAGS@
#
# use the following on MIPS:
#CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
--- src/res.c (revision 333)
+++ src/res.c (working copy)
@@ -49,7 +49,7 @@
#include <res.h>
/* Prevent crashes due to invalid prototype/ABI */
-#if ARES_VERSION < 0x010600
+#if ARES_VERSION < 0x010503
#error "You have an old c-ares version on your system and/or Unreals c-ares failed to compile!"
#endif
@@ -736,21 +736,35 @@
} else
if (*param == 'i') /* INFORMATION */
{
- struct ares_config_info inf;
+ struct ares_options inf;
int i;
+ int optmask;
- ares_get_config(&inf, resolver_channel);
+ ares_save_options(resolver_channel, &inf, &optmask);
sendtxtnumeric(sptr, "****** DNS Configuration Information ******");
sendtxtnumeric(sptr, " c-ares version: %s",ares_version(NULL));
- sendtxtnumeric(sptr, " timeout: %d", inf.timeout);
- sendtxtnumeric(sptr, " tries: %d", inf.tries);
- sendtxtnumeric(sptr, " # of servers: %d", inf.numservers);
- for (i = 0; i < inf.numservers; i++)
- sendtxtnumeric(sptr, " server #%d: %s", i+1, inf.servers[i] ? inf.servers[i] : "[???]");
-
+
+ if(optmask & ARES_OPT_TIMEOUTMS)
+ sendtxtnumeric(sptr, " timeout: %d", inf.timeout);
+ if(optmask & ARES_OPT_TRIES)
+ sendtxtnumeric(sptr, " tries: %d", inf.tries);
+ if(optmask & ARES_OPT_SERVERS)
+ {
+ sendtxtnumeric(sptr, " # of servers: %d", inf.nservers);
+ for (i = 0; i < inf.nservers; i++)
+ sendtxtnumeric(sptr, " server #%d: %s", i+1, inet_ntoa(inf.servers[i]));
+ }
+ if(optmask & ARES_OPT_DOMAINS)
+ {
+ sendtxtnumeric(sptr, " # of search domains: %d", inf.ndomains);
+ for (i = 0; i < inf.ndomains; i++)
+ sendtxtnumeric(sptr, " domain #%d: %s", i+1, inf.domains[i]);
+ }
/* TODO: free or get memleak ! */
sendtxtnumeric(sptr, "****** End of DNS Configuration Info ******");
+
+ ares_destroy_options(&inf);
} else /* STATISTICS */
{
sendtxtnumeric(sptr, "DNS CACHE Stats:");
|