update to 3.2.1
- update to 3.2.1 (whoops, missed 3.2 completely) - merged all patches or equivalents - re-merged hesinfo, so we obsolete it now - adds a pkgconfig configuration file for libhesiod - correct inconsistent changelog dates, assuming day-of-week is correct
This commit is contained in:
parent
8a805efc43
commit
13ffbf9323
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,2 +1,3 @@
|
||||
hesiod-3.0.2.tar.gz
|
||||
hesiod-3.1.0.tar.gz
|
||||
/hesiod-3.2.1.tar.gz
|
||||
|
@ -1,56 +0,0 @@
|
||||
If the response is larger than 1024 bytes, go ahead and retry.
|
||||
|
||||
--- hesiod-3.1.0/hesiod.c 2006-03-30 13:22:57.000000000 -0500
|
||||
+++ hesiod-3.1.0/hesiod.c 2006-03-30 13:28:16.000000000 -0500
|
||||
@@ -327,8 +327,9 @@
|
||||
*/
|
||||
static char **get_txt_records(struct hesiod_p *ctx, const char *name)
|
||||
{
|
||||
- unsigned char qbuf[PACKETSZ], abuf[MAX_HESRESP];
|
||||
- int n;
|
||||
+ unsigned char qbuf[PACKETSZ], *abuf;
|
||||
+ char **tmp;
|
||||
+ int n, i, len;
|
||||
|
||||
/* Make sure the resolver is initialized. */
|
||||
if ((_res.options & RES_INIT) == 0 && res_init() == -1)
|
||||
@@ -343,14 +344,36 @@
|
||||
}
|
||||
|
||||
/* Send the query. */
|
||||
- n = res_send(qbuf, n, abuf, MAX_HESRESP);
|
||||
- if (n < 0)
|
||||
+ abuf = NULL;
|
||||
+ len = 1024;
|
||||
+ i = n;
|
||||
+ do
|
||||
+ {
|
||||
+ abuf = realloc(abuf, len);
|
||||
+ if (abuf == NULL)
|
||||
+ {
|
||||
+ n = -1;
|
||||
+ break;
|
||||
+ }
|
||||
+ n = res_send(qbuf, i, abuf, len);
|
||||
+ if (n < len)
|
||||
+ {
|
||||
+ break;
|
||||
+ }
|
||||
+ len = n + 1024;
|
||||
+ } while(1);
|
||||
+ if (n < (ssize_t) sizeof(HEADER))
|
||||
{
|
||||
errno = ECONNREFUSED;
|
||||
+ free(abuf);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
- return hesiod_parse_result(ctx, abuf, n);
|
||||
+ tmp = hesiod_parse_result(ctx, abuf, n);
|
||||
+
|
||||
+ free(abuf);
|
||||
+
|
||||
+ return tmp;
|
||||
}
|
||||
|
||||
char **hesiod_parse_result(void *ctx, const unsigned char *abuf, int alen)
|
@ -1,29 +0,0 @@
|
||||
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 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
+#include <unistd.h>
|
||||
#include <ctype.h>
|
||||
#include "hesiod.h"
|
||||
|
||||
@@ -79,13 +80,13 @@
|
||||
if (ctx)
|
||||
{
|
||||
*context = ctx;
|
||||
- configname = getenv("HESIOD_CONFIG");
|
||||
+ configname = ((getuid() == geteuid()) && (getgid() == getegid())) ? getenv("HESIOD_CONFIG") : NULL;
|
||||
if (!configname)
|
||||
configname = SYSCONFDIR "/hesiod.conf";
|
||||
if (read_config_file(ctx, configname) >= 0)
|
||||
{
|
||||
/* The default rhs can be overridden by an environment variable. */
|
||||
- p = getenv("HES_DOMAIN");
|
||||
+ p = ((getuid() == geteuid()) && (getgid() == getegid())) ? getenv("HES_DOMAIN") : NULL;
|
||||
if (p)
|
||||
{
|
||||
if (ctx->rhs)
|
@ -1,20 +0,0 @@
|
||||
Try to correctly find res_mkquery in libresolv, even in cases where a
|
||||
preprocessor-based rename in <resolv.h> 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,14 @@
|
||||
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_MSG_CHECKING([if res_mkquery is provided by libresolv])
|
||||
+AC_TRY_LINK([#include <resolv.h>],[res_mkquery(0,NULL,0,0,NULL,0,NULL,NULL,0);],[AC_DEFINE(HAVE_RES_MKQUERY,1,[Define if your libresolv provides res_mkquery.])
|
||||
+AC_MSG_RESULT(yes)],[LIBS="$saveLIBS"
|
||||
+AC_MSG_RESULT(no)])
|
||||
+])])
|
||||
|
||||
AC_CONFIG_HEADER(config.h)
|
||||
AC_OUTPUT(Makefile)
|
@ -1,14 +0,0 @@
|
||||
Let libtool decide the install mode for the libtool archive and the real files
|
||||
which it tracks.
|
||||
|
||||
--- hesiod-3.1.0/Makefile.in 2006-06-20 14:24:10.000000000 -0400
|
||||
+++ hesiod-3.1.0/Makefile.in 2006-06-20 14:24:05.000000000 -0400
|
||||
@@ -48,7 +48,7 @@
|
||||
${top_srcdir}/mkinstalldirs ${DESTDIR}${includedir}
|
||||
${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man3
|
||||
${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5
|
||||
- ${LIBTOOL} --mode=install ${INSTALL} -m 644 libhesiod.la \
|
||||
+ ${LIBTOOL} --mode=install ${INSTALL} libhesiod.la \
|
||||
${DESTDIR}${libdir}
|
||||
${INSTALL} -m 444 ${srcdir}/hesiod.h ${DESTDIR}${includedir}
|
||||
${INSTALL} -m 444 ${srcdir}/hesiod.3 ${DESTDIR}${mandir}/man3
|
@ -1,25 +0,0 @@
|
||||
One or both strings is supplied through a configuration file, so we have no
|
||||
guarantees about its length.
|
||||
|
||||
--- hesiod-3.1.0/hesservbyname.c 2006-03-30 11:22:11.000000000 -0500
|
||||
+++ hesiod-3.1.0/hesservbyname.c 2006-03-30 13:13:50.000000000 -0500
|
||||
@@ -187,7 +187,7 @@
|
||||
|
||||
static int cistrcmp(const char *s1, const char *s2)
|
||||
{
|
||||
- while (*s1 && tolower(*s1) == tolower(*s2))
|
||||
+ while (*s1 && *s2 && tolower(*s1) == tolower(*s2))
|
||||
{
|
||||
s1++;
|
||||
s2++;
|
||||
--- hesiod-3.1.0/hesiod.c 2006-03-30 13:13:50.000000000 -0500
|
||||
+++ hesiod-3.1.0/hesiod.c 2006-03-30 13:19:03.000000000 -0500
|
||||
@@ -465,7 +465,7 @@
|
||||
|
||||
static int cistrcmp(const char *s1, const char *s2)
|
||||
{
|
||||
- while (*s1 && tolower(*s1) == tolower(*s2))
|
||||
+ while (*s1 && *s2 && tolower(*s1) == tolower(*s2))
|
||||
{
|
||||
s1++;
|
||||
s2++;
|
32
hesiod.spec
32
hesiod.spec
@ -1,17 +1,13 @@
|
||||
Name: hesiod
|
||||
Version: 3.1.0
|
||||
Release: 23%{?dist}
|
||||
Version: 3.2.1
|
||||
Release: 1%{?dist}
|
||||
Source: ftp://athena-dist.mit.edu/pub/ATHENA/hesiod/hesiod-%{version}.tar.gz
|
||||
Patch1: hesiod-3.1.0-env.patch
|
||||
Patch2: hesiod-3.1.0-str.patch
|
||||
Patch3: hesiod-3.1.0-dnsparse.patch
|
||||
Patch4: hesiod-3.1.0-libresolv.patch
|
||||
Patch5: hesiod-3.1.0-perms.patch
|
||||
Summary: Shared libraries for querying the Hesiod naming service
|
||||
Group: System Environment/Libraries
|
||||
License: MIT
|
||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: autoconf, automake, libtool
|
||||
Obsoletes: hesinfo < 3.2
|
||||
|
||||
%description
|
||||
Hesiod is a system which uses existing DNS functionality to provide access
|
||||
@ -33,6 +29,13 @@ ensure the files are synchronized among multiple hosts. This package contains
|
||||
the header files and libraries required for building programs which use Hesiod.
|
||||
|
||||
%changelog
|
||||
* Wed Apr 3 2013 Nalin Dahyabhai <nalin@fedoraproject.org> - 3.2.1-1
|
||||
- update to 3.2.1
|
||||
- merged all patches or equivalents
|
||||
- re-merged hesinfo, so we obsolete it now
|
||||
- adds a pkgconfig configuration file for libhesiod
|
||||
- correct inconsistent changelog dates, assuming day-of-week is correct
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.1.0-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
@ -80,7 +83,7 @@ the header files and libraries required for building programs which use Hesiod.
|
||||
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 3.1.0-10
|
||||
- Autorebuild for GCC 4.3
|
||||
|
||||
* Wed Aug 22 2006 Nalin Dahyabhai <nalin@redhat.com> - 3.1.0-9
|
||||
* Wed Aug 23 2006 Nalin Dahyabhai <nalin@redhat.com> - 3.1.0-9
|
||||
- rebuild
|
||||
|
||||
* Mon Jul 17 2006 Nalin Dahyabhai <nalin@redhat.com> - 3.1.0-8
|
||||
@ -151,7 +154,7 @@ the header files and libraries required for building programs which use Hesiod.
|
||||
* Fri Jan 10 2003 Phil Knirsch <pknirsch@redhat.com> 3.0.2-23
|
||||
- Build shared lib correctly on s390 and s390x (with gcc -shared -fPIC).
|
||||
|
||||
* Wed Sep 24 2002 Nalin Dahyabhai <nalin@redhat.com> 3.0.2-22
|
||||
* Wed Sep 25 2002 Nalin Dahyabhai <nalin@redhat.com> 3.0.2-22
|
||||
- look harder for res_mkquery() in libresolv
|
||||
|
||||
* Wed Aug 21 2002 Nalin Dahyabhai <nalin@redhat.com>
|
||||
@ -189,7 +192,7 @@ the header files and libraries required for building programs which use Hesiod.
|
||||
- remove the shared library patch -- different packages with shared libraries
|
||||
tend to use different sonames, so we'd run inevitably run into problems
|
||||
|
||||
* Thu Aug 21 2001 Nalin Dahyabhai <nalin@redhat.com>
|
||||
* Thu Aug 23 2001 Nalin Dahyabhai <nalin@redhat.com>
|
||||
- remove pre and post scripts -- authconfig handles that stuff now
|
||||
- add the hesiod man page back in, as bind-devel doesn't provide it any more
|
||||
|
||||
@ -224,13 +227,9 @@ the header files and libraries required for building programs which use Hesiod.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .env
|
||||
%patch2 -p1 -b .str
|
||||
%patch3 -p1 -b .dnsparse
|
||||
%patch4 -p1 -b .libresolv
|
||||
%patch5 -p1 -b .perms
|
||||
libtoolize -f -i
|
||||
aclocal
|
||||
automake -f -a
|
||||
autoconf -f -i
|
||||
|
||||
%build
|
||||
@ -252,11 +251,14 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%doc README NEWS
|
||||
%{_bindir}/*
|
||||
%{_libdir}/libhesiod.so.*
|
||||
%{_mandir}/man1/*
|
||||
%{_mandir}/man5/*
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root,-)
|
||||
%{_libdir}/libhesiod.so
|
||||
%{_libdir}/pkgconfig/*
|
||||
%{_includedir}/hesiod.h
|
||||
%{_mandir}/man3/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user