diff --git a/hesiod-3.0.2-env.patch b/hesiod-3.0.2-env.patch index 444cc3b..a67149d 100644 --- a/hesiod-3.0.2-env.patch +++ b/hesiod-3.0.2-env.patch @@ -1,4 +1,6 @@ -Ignore environment variables in setuid or setgid programs. +Ignore environment variables in setuid or setgid programs. The glibc-internal +copy of the library already implements a similar check. + --- hesiod-3.0.2/hesiod.c Wed Oct 3 14:53:37 2001 +++ hesiod-3.0.2/hesiod.c Wed Oct 3 14:55:02 2001 @@ -52,6 +52,7 @@ diff --git a/hesiod-3.1.0-dnsparse.patch b/hesiod-3.1.0-dnsparse.patch index 36772c5..edeb88b 100644 --- a/hesiod-3.1.0-dnsparse.patch +++ b/hesiod-3.1.0-dnsparse.patch @@ -13,7 +13,7 @@ If the response is larger than 1024 bytes, go ahead and retry. + int n, i, len; /* Make sure the resolver is initialized. */ -@@ -343,14 +344,30 @@ +@@ -343,14 +344,36 @@ } /* Send the query. */ @@ -25,6 +25,11 @@ If the response is larger than 1024 bytes, go ahead and retry. + do + { + abuf = realloc(abuf, len); ++ if (abuf == NULL) ++ { ++ n = -1; ++ break; ++ } + n = res_send(qbuf, i, abuf, len); + if (n < len) + { @@ -32,9 +37,10 @@ If the response is larger than 1024 bytes, go ahead and retry. + } + len = n + 1024; + } while(1); -+ if (n < sizeof(HEADER)) ++ if (n < (ssize_t) sizeof(HEADER)) { errno = ECONNREFUSED; ++ free(abuf); return NULL; } diff --git a/hesiod-3.1.0-libresolv.patch b/hesiod-3.1.0-libresolv.patch deleted file mode 100644 index 468938a..0000000 --- a/hesiod-3.1.0-libresolv.patch +++ /dev/null @@ -1,17 +0,0 @@ -Try to correctly find res_mkquery in libresolv, even in cases where a -preprocessor-based rename in may screw us up. ---- hesiod-3.1.0/configure.in 2006-03-30 11:22:11.000000000 -0500 -+++ hesiod-3.1.0/configure.in 2006-03-30 13:31:02.000000000 -0500 -@@ -12,7 +12,11 @@ - AC_EGREP_HEADER(pw_change, pwd.h, AC_DEFINE(HAVE_PW_CHANGE)) - AC_EGREP_HEADER(pw_expire, pwd.h, AC_DEFINE(HAVE_PW_EXPIRE)) - --AC_CHECK_FUNC(res_mkquery, :, [AC_CHECK_LIB(resolv, res_mkquery)]) -+AC_CHECK_FUNC(res_mkquery, :, [AC_CHECK_LIB(resolv, res_mkquery,,[ -+saveLIBS="$LIBS" -+LIBS="-lresolv $LIBS" -+AC_TRY_LINK([#include ],[res_mkquery(0,NULL,0,0,NULL,0,NULL,NULL,0);],[AC_DEFINE(HAVE_RES_MKQUERY,1,[Define if your libresolv provides res_mkquery.])],[LIBS="$saveLIBS"]) -+])]) - - AC_CONFIG_HEADER(config.h) - AC_OUTPUT(Makefile) diff --git a/hesiod.spec b/hesiod.spec index 64b3804..3219eff 100644 --- a/hesiod.spec +++ b/hesiod.spec @@ -1,16 +1,15 @@ Name: hesiod Version: 3.1.0 -Release: 1 +Release: 2 Source: ftp://athena-dist.mit.edu/pub/ATHENA/hesiod/hesiod-%{version}.tar.gz +Patch0: hesiod-3.1.0-classes.patch Patch1: hesiod-3.0.2-env.patch Patch2: hesiod-3.1.0-str.patch Patch3: hesiod-3.1.0-dnsparse.patch -Patch4: hesiod-3.1.0-libresolv.patch Summary: Hesiod libraries. Group: System Environment/Libraries License: MIT Buildroot: %{_tmppath}/hesiod-root -BuildRequires: autoconf %description Hesiod is a system which uses existing DNS functionality to provide access @@ -32,6 +31,9 @@ ensure synchronize the files among multiple hosts. This package contains the header files and libraries required for building programs which use Hesiod. %changelog +* Thu Mar 30 2006 Nalin Dahyabhai - 3.1.0-2 +- drop a no-longer-needed patch for detecting libresolv properly + * Thu Mar 30 2006 Nalin Dahyabhai - 3.1.0-1 - update to 3.1.0 (#187372) @@ -150,11 +152,10 @@ the header files and libraries required for building programs which use Hesiod. %prep %setup -q +#%patch0 -p1 -b .classes %patch1 -p1 -b .env %patch2 -p1 -b .str %patch3 -p1 -b .dnsparse -%patch4 -p1 -b .libresolv -autoconf %build %configure