diff --git a/.gitignore b/.gitignore deleted file mode 100644 index ef07409..0000000 --- a/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -hesiod-3.0.2.tar.gz -hesiod-3.1.0.tar.gz diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..cd55faa --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Unmaintained upstream; not used by any other packages diff --git a/hesiod-3.1.0-classes.patch b/hesiod-3.1.0-classes.patch deleted file mode 100644 index b1823b4..0000000 --- a/hesiod-3.1.0-classes.patch +++ /dev/null @@ -1,161 +0,0 @@ -Add support for the "classes" configuration file directive back in. - ---- hesiod-3.1.0/hesiod.conf.5 2006-03-30 11:22:11.000000000 -0500 -+++ hesiod-3.1.0/hesiod.conf.5 2006-03-30 16:04:11.000000000 -0500 -@@ -43,7 +43,7 @@ - still used by some sites). You may specify both classes separated by - a comma to try one class first and then the other if no entry is - available in the first class. The default value of the classes --variable is ``IN,HS''. -+variable is ``IN''. - .SH SEE ALSO - hesiod(3) - .SH BUGS ---- hesiod-3.1.0/hesiod.c 2006-03-30 11:22:11.000000000 -0500 -+++ hesiod-3.1.0/hesiod.c 2006-03-30 16:13:54.000000000 -0500 -@@ -71,12 +71,16 @@ - struct hesiod_p { - char *lhs; /* normally ".ns" */ - char *rhs; /* AKA the default hesiod domain */ -+ int n_classes, *classes; /* query classes */ - }; - - char **hesiod__uidresolve(void *context, const char *uidstr); - static int read_config_file(struct hesiod_p *ctx, const char *filename); - static char **get_txt_records(struct hesiod_p *ctx, const char *name); -+static char **get_txt_records_for_class(struct hesiod_p *ctx, const char *name, -+ int class); - static int cistrcmp(const char *s1, const char *s2); -+static int cistrncmp(const char *s1, const char *s2, size_t n); - - /* This function is called to initialize a hesiod_p. */ - int hesiod_init(void **context) -@@ -133,6 +137,7 @@ - free(ctx->rhs); - if (ctx->lhs) - free(ctx->lhs); -+ free(ctx->classes); - free(ctx); - } - -@@ -252,8 +257,18 @@ - * ctx->rhs which need to be freed by the caller. */ - static int read_config_file(struct hesiod_p *ctx, const char *filename) - { -- char *key, *data, *p, **which; -+ char *key, *data, *p, *q, **which; - char buf[MAXDNAME + 7]; -+ unsigned int i; -+ int *tmpclass; -+ struct { -+ char name[3]; -+ int class; -+ } class_names[] = { -+ {"in", C_IN}, -+ {"hs", C_HS}, -+ {"any", C_ANY}, -+ }; - FILE *fp; - - /* Try to open the configuration file. */ -@@ -263,6 +278,8 @@ - /* Use compiled in default domain names. */ - ctx->lhs = malloc(strlen(DEF_LHS) + 1); - ctx->rhs = malloc(strlen(DEF_RHS) + 1); -+ ctx->n_classes = 0; -+ ctx->classes = NULL; - if (ctx->lhs && ctx->rhs) - { - strcpy(ctx->lhs, DEF_LHS); -@@ -278,6 +295,8 @@ - - ctx->lhs = NULL; - ctx->rhs = NULL; -+ ctx->n_classes = 0; -+ ctx->classes = NULL; - while (fgets(buf, sizeof(buf), fp) != NULL) - { - p = buf; -@@ -308,6 +327,32 @@ - } - strcpy(*which, data); - } -+ if (cistrcmp(key, "classes") == 0) -+ { -+ p = data; -+ while ((p != NULL) && (*p != '\0') && (*p != '#') && -+ (*p != '\r') && (*p != '\n')) -+ { -+ q = p + strcspn(p, ",# \t\r\n"); -+ for (i = 0; i < sizeof(class_names) / sizeof(class_names[0]); i++) -+ { -+ if ((strlen(class_names[i].name) == (q - p)) && -+ (cistrncmp(p, class_names[i].name, q - p) == 0)) -+ { -+ tmpclass = realloc(ctx->classes, -+ (sizeof(int) * ctx->n_classes + 1)); -+ if (tmpclass != NULL) -+ { -+ ctx->classes = tmpclass; -+ ctx->classes[ctx->n_classes] = class_names[i].class; -+ ctx->n_classes++; -+ } -+ break; -+ } -+ } -+ p = q + strspn(q, ", \t\r\n"); -+ } -+ } - } - fclose(fp); - -@@ -326,6 +371,25 @@ - */ - static char **get_txt_records(struct hesiod_p *ctx, const char *name) - { -+ char **tmp; -+ int i; -+ if (ctx->n_classes > 0) -+ { -+ for (i = 0; i < ctx->n_classes; i++) -+ { -+ tmp = get_txt_records_for_class(ctx, name, ctx->classes[i]); -+ if (tmp != NULL) -+ return tmp; -+ } -+ return NULL; -+ } -+ else -+ return get_txt_records_for_class(ctx, name, C_IN); -+} -+ -+static char **get_txt_records_for_class(struct hesiod_p *ctx, const char *name, -+ int class) -+{ - unsigned char qbuf[PACKETSZ], abuf[MAX_HESRESP]; - int n; - -@@ -334,7 +398,7 @@ - return NULL; - - /* Construct the query. */ -- n = res_mkquery(QUERY, name, C_IN, T_TXT, NULL, 0, NULL, qbuf, PACKETSZ); -+ n = res_mkquery(QUERY, name, class, T_TXT, NULL, 0, NULL, qbuf, PACKETSZ); - if (n < 0) - { - errno = EMSGSIZE; -@@ -471,3 +534,14 @@ - } - return tolower(*s1) - tolower(*s2); - } -+ -+static int cistrncmp(const char *s1, const char *s2, size_t n) -+{ -+ while (*s1 && *s2 && (tolower(*s1) == tolower(*s2)) && (n > 0)) -+ { -+ s1++; -+ s2++; -+ n--; -+ } -+ return n ? (tolower(*s1) - tolower(*s2)) : 0; -+} diff --git a/hesiod-3.1.0-dnsparse.patch b/hesiod-3.1.0-dnsparse.patch deleted file mode 100644 index 35d657e..0000000 --- a/hesiod-3.1.0-dnsparse.patch +++ /dev/null @@ -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) diff --git a/hesiod-3.1.0-env.patch b/hesiod-3.1.0-env.patch deleted file mode 100644 index 10dab06..0000000 --- a/hesiod-3.1.0-env.patch +++ /dev/null @@ -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 - #include - #include -+#include - #include - #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) diff --git a/hesiod-3.1.0-libresolv.patch b/hesiod-3.1.0-libresolv.patch deleted file mode 100644 index 9487b7e..0000000 --- a/hesiod-3.1.0-libresolv.patch +++ /dev/null @@ -1,20 +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,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 ],[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) diff --git a/hesiod-3.1.0-perms.patch b/hesiod-3.1.0-perms.patch deleted file mode 100644 index e8f2776..0000000 --- a/hesiod-3.1.0-perms.patch +++ /dev/null @@ -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 diff --git a/hesiod-3.1.0-str.patch b/hesiod-3.1.0-str.patch deleted file mode 100644 index f243e85..0000000 --- a/hesiod-3.1.0-str.patch +++ /dev/null @@ -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++; diff --git a/hesiod.spec b/hesiod.spec deleted file mode 100644 index 467fc4b..0000000 --- a/hesiod.spec +++ /dev/null @@ -1,233 +0,0 @@ -Name: hesiod -Version: 3.1.0 -Release: 13 -Source: ftp://athena-dist.mit.edu/pub/ATHENA/hesiod/hesiod-%{version}.tar.gz -Patch0: hesiod-3.1.0-classes.patch -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: Hesiod libraries. -Group: System Environment/Libraries -License: MIT -Buildroot: %{_tmppath}/hesiod-root -BuildRequires: autoconf, automake, libtool - -%description -Hesiod is a system which uses existing DNS functionality to provide access -to databases of information that changes infrequently. It is often used to -distribute information kept in the /etc/passwd, /etc/group, and /etc/printcap -files, among others. - -%package devel -Summary: Development libraries and headers for Hesiod -Group: Development/Libraries -Requires: hesiod = %{version}-%{release} - -%description devel -Hesiod is a system which uses existing DNS functionality to provide access -to databases of information that changes infrequently. It is often used to -distribute information which might otherwise kept in the /etc/passwd, -/etc/group, and /etc/printcap files over a network, eliminating the need to -ensure synchronize the files among multiple hosts. This package contains -the header files and libraries required for building programs which use Hesiod. - -%changelog -* Tue Jul 22 2008 Nalin Dahyabhai - 3.1.0-13 -- rebuild - -* Thu Jun 12 2008 Nalin Dahyabhai - 3.1.0-12 -- call aclocal directly, because autoreconf didn't see the magic comment in - the distributed version of aclocal.m4 which made it look like it was safe - to generate a new one (#449550) - -* Mon Jun 2 2008 Nalin Dahyabhai - 3.1.0-11 -- force autoreconf to overwrite files (should fix #449550) - -* Tue Feb 19 2008 Fedora Release Engineering - 3.1.0-10 -- Autorebuild for GCC 4.3 - -* Wed Aug 22 2006 Nalin Dahyabhai - 3.1.0-9 -- rebuild - -* Mon Jul 17 2006 Nalin Dahyabhai - 3.1.0-8 -- rebuild - -* Fri Jul 7 2006 Nalin Dahyabhai - 3.1.0-7 -- use the system libtool to consistently link libhesiod.la with libresolv - -* Fri Jul 7 2006 Nalin Dahyabhai - 3.1.0-6 -- run autoreconf instead of autoconf after untarring so that we get a - config.h.in which suits the changes we make to configure.in (part of #197938) - -* Tue Jun 20 2006 Nalin Dahyabhai - 3.1.0-5 -- don't override libtool's defaults for permissions on its .la file, because - we don't get debuginfo if the execute bit isn't set (pjones, in #190219) - -* Wed Jun 7 2006 Jeremy Katz - 3.1.0-4 -- rebuild for -devel deps - -* Thu Mar 30 2006 Nalin Dahyabhai - 3.1.0-3 -- no, we really did need that patch - -* 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) - -* Fri Feb 10 2006 Jesse Keating - 3.0.2-31.2.1 -- bump again for double-long bug on ppc(64) - -* Tue Feb 07 2006 Jesse Keating - 3.0.2-31.2 -- rebuilt for new gcc4.1 snapshot and glibc changes - -* Fri Dec 09 2005 Jesse Keating -- rebuilt - -* Wed Mar 16 2005 Nalin Dahyabhai 3.0.2-31 -- rebuild - -* Tue Jun 15 2004 Elliot Lee -- rebuilt - -* Tue Mar 02 2004 Elliot Lee -- rebuilt - -* Fri Feb 13 2004 Elliot Lee -- rebuilt - -* Sun Oct 19 2003 Florian La Roche -- add a %%clean specfile target - -* Mon Jun 16 2003 Nalin Dahyabhai 3.0.2-28 -- rebuild - -* Wed Jun 04 2003 Elliot Lee -- rebuilt - -* Mon Jan 27 2003 Nalin Dahyabhai 3.0.2-26 -- link libhesiod with libresolv on all platforms - -* Wed Jan 22 2003 Tim Powers 3.0.2-25 -- rebuilt - -* Fri Jan 10 2003 Phil Knirsch 3.0.2-24 -- Fixed wrong .so name for s390/s390x. - -* Fri Jan 10 2003 Phil Knirsch 3.0.2-23 -- Build shared lib correctly on s390 and s390x (with gcc -shared -fPIC). - -* Wed Sep 24 2002 Nalin Dahyabhai 3.0.2-22 -- look harder for res_mkquery() in libresolv - -* Wed Aug 21 2002 Nalin Dahyabhai -- don't choke on large response packets - -* Fri Jun 21 2002 Tim Powers -- automated rebuild - -* Sun May 26 2002 Tim Powers -- automated rebuild - -* Thu May 16 2002 Nalin Dahyabhai 3.0.2-19 -- rebuild in new environment - -* Mon Apr 15 2002 Nalin Dahyabhai 3.0.2-18 -- add missing post/postun calls to ldconfig - -* Wed Feb 20 2002 Nalin Dahyabhai 3.0.2-17 -- rebuild in new environment - -* Wed Jan 09 2002 Tim Powers -- automated rebuild - -* Fri Oct 26 2001 Nalin Dahyabhai 3.0.2-15 -- actually set the soname in the shared library (ld doesn't automatically - set the soname to the output file's name, oops) - -* Fri Oct 5 2001 Nalin Dahyabhai 3.0.2-14 -- on second thought, put the shared library back in, using a soversion of 0 - to have a chance at providing compatibility with apps linked dynamically - on other distributions -- make -devel depend on the same version of the main package - -* Wed Oct 3 2001 Nalin Dahyabhai -- 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 -- 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 - -* Wed Jan 17 2001 Jeremy Katz -- hesiod-devel requires hesiod (bug #128) - -* Thu Sep 14 2000 Jeremy Katz -- remove hesiod man page from hesiod-devel as it conflicts with the one - from bind-devel - -* Thu Sep 14 2000 Jeremy Katz -- use rpm macros where possible and FHS-ify -- split into main and devel packages -- add back requires for nscd - -* Fri Jul 28 2000 Jeremy Katz -- rebuild in new environment - -* Thu Mar 16 2000 Jeremy Katz -- rebuild in new environment - -* Thu Sep 2 1999 Nalin Dahyabhai -- removed dependency on nscd -- changed requires: nscd back to caching-nameserver - -* Mon May 17 1999 Nalin Dahyabhai -- started changelog -- moved addition of hesiod to nsswitch.conf to this package because we - no longer use a separate libnss_hesiod.so -- changed requires: caching-nameserver to nscd -- added post-install script snippet to activate nscd on install - -%prep -%setup -q -#%patch0 -p1 -b .classes -%patch1 -p1 -b .env -%patch2 -p1 -b .str -%patch3 -p1 -b .dnsparse -%patch4 -p1 -b .libresolv -%patch5 -p1 -b .perms -# We call aclocal here because autoreconf doesn't see a 'generated by aclocal' -# comment in the already-present aclocal.m4 file, so it doesn't run it for us. -aclocal -autoreconf -f -i -v - -%build -%configure -make - -%install -[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT -rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la - -%clean -rm -rf $RPM_BUILD_ROOT - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - -%files -%defattr(-,root,root) -%doc README NEWS -%{_libdir}/libhesiod.so.* -%{_mandir}/man5/* - -%files devel -%defattr(-,root,root) -%{_libdir}/libhesiod.a -%{_libdir}/libhesiod.so -%{_includedir}/hesiod.h -%{_mandir}/man3/* diff --git a/sources b/sources deleted file mode 100644 index a408e3e..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -89c785d350e75d6628754659ee4583e8 hesiod-3.1.0.tar.gz