Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 188424 Details for
Bug 260806
<net-irc/unrealircd-3.2.8.1: DoS (CVE-2009-4893)
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
unrealircd-system-cares.patch
unrealircd-system-cares.patch (text/plain), 4.74 KB, created by
Steffen 'j0inty' Stollfuß
on 2009-04-15 10:49:51 UTC
(
hide
)
Description:
unrealircd-system-cares.patch
Filename:
MIME Type:
Creator:
Steffen 'j0inty' Stollfuß
Created:
2009-04-15 10:49:51 UTC
Size:
4.74 KB
patch
obsolete
>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:");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 260806
:
188420
|
188422
|
188424
|
188426
|
188507
|
188632
|
188703
|
188705
|
210745