diff --git a/.gitignore b/.gitignore index 1c94557..4e9c9a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ /heimdal-1.6.0-a5adc06.tar.gz /heimdal-a5adc06-autoconf.tar.gz +/heimdal-1.6.0-c25f45a.tar.gz +/heimdal-c25f45a-autoconf.tar.gz diff --git a/heimdal-1.6.0-229d8c7-libtool-macro.patch b/heimdal-1.6.0-229d8c7-libtool-macro.patch deleted file mode 100644 index eadf747..0000000 --- a/heimdal-1.6.0-229d8c7-libtool-macro.patch +++ /dev/null @@ -1,35 +0,0 @@ -commit 748bf6e0c68e888b88b15e0925c03baba46fe24c -Author: Ken Dreyer -Date: Thu May 22 15:45:06 2014 -0600 - - configure: update libtool initialization macro - - According to the GNU Libtool NEWS file, LT_INIT has superceded - AC_PROG_LIBTOOL since version 1.9b (2004-08-29). - -diff --git a/cf/roken-frag.m4 b/cf/roken-frag.m4 -index 5c82d27..b6f362d 100644 ---- a/cf/roken-frag.m4 -+++ b/cf/roken-frag.m4 -@@ -17,7 +17,7 @@ AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_PROG_AWK]) - AC_REQUIRE([AC_OBJEXT]) - AC_REQUIRE([AC_EXEEXT]) --AC_REQUIRE([AC_PROG_LIBTOOL]) -+AC_REQUIRE([LT_INIT]) - - AC_REQUIRE([AC_MIPS_ABI]) - -diff --git a/configure.ac b/configure.ac -index 6ee5f8e..51746e2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -14,7 +14,7 @@ dnl Checks for programs. - AC_PROG_CC - AM_PROG_CC_C_O - AC_PROG_CPP --AC_PROG_LIBTOOL -+LT_INIT - - m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) - diff --git a/heimdal-1.6.0-229d8c7-rename-commands.patch b/heimdal-1.6.0-229d8c7-rename-commands.patch deleted file mode 100644 index 9f02d95..0000000 --- a/heimdal-1.6.0-229d8c7-rename-commands.patch +++ /dev/null @@ -1,49 +0,0 @@ -commit 6fa462442e098ba8edde2c95dbc630d1c4910e9b -Author: Ken Dreyer -Date: Wed May 28 15:00:44 2014 -0600 - - Fedora: add heimdal- prefixes to heimtools cmds - - The Fedora Heimdal package renames the klist and kswitch commands in - /usr/bin to use "heimdal-" prefixes in order to avoid conflicting with - MIT's utilities. - - Add these "heimdal-" names to the heimtools command configuration so - that heimtools will recognize the commands under the new names as well - as the old names. - -diff --git a/kuser/heimtools-commands.in b/kuser/heimtools-commands.in -index b22a8c5..62388ce 100644 ---- a/kuser/heimtools-commands.in -+++ b/kuser/heimtools-commands.in -@@ -34,6 +34,7 @@ - command = { - name = "klist" - name = "list" -+ name = "heimdal-klist" - help = "List kerberos tickets" - option = { - long = "cache" -@@ -136,6 +137,7 @@ command = { - command = { - name = "kswitch" - name = "switch" -+ name = "heimdal-kswitch" - help = "Switch default kerberos cache" - option = { - long = "type" -diff --git a/kuser/heimtools.c b/kuser/heimtools.c -index 70b23d6..c1ef60e 100644 ---- a/kuser/heimtools.c -+++ b/kuser/heimtools.c -@@ -89,8 +89,8 @@ static int - command_alias(const char *name) - { - const char *aliases[] = { -- "kinit", "klist", "kswitch", "kgetcred", "kvno", "kdeltkt", -- "kdestroy", "kcpytkt", NULL -+ "kinit", "klist", "heimdal-klist", "kswitch", "heimdal-kswitch", -+ "kgetcred", "kvno", "kdeltkt", "kdestroy", "kcpytkt", NULL - }, **p = aliases; - - while (*p && strcmp(name, *p) != 0) diff --git a/heimdal-1.6.0-a5adc06-kadm5_err.patch b/heimdal-1.6.0-a5adc06-kadm5_err.patch deleted file mode 100644 index aea9be6..0000000 --- a/heimdal-1.6.0-a5adc06-kadm5_err.patch +++ /dev/null @@ -1,30 +0,0 @@ -From d285d8ea09d63e5c4634ad3f52df5a7b05bd48ba Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jakub=20=C4=8Cajka?= -Date: Tue, 1 Jul 2014 13:13:43 -0600 -Subject: [PATCH] kadm5: fix race in Makefile with kadm5_err.h - -When running make with -j4, occasionally kadm5 fails due to a missing -header file kadm5_err.h. Fix the race condition. - -Reported at https://bugzilla.redhat.com/1115164 - -Reviewed-by: Ken Dreyer ---- - lib/kadm5/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/kadm5/Makefile.am b/lib/kadm5/Makefile.am -index f8be3b1..1b399b1 100644 ---- a/lib/kadm5/Makefile.am -+++ b/lib/kadm5/Makefile.am -@@ -155,6 +155,7 @@ iprop-commands.c iprop-commands.h: iprop-commands.in - $(SLC) $(srcdir)/iprop-commands.in - - $(libkadm5srv_la_OBJECTS): kadm5_err.h -+$(libkadm5clnt_la_OBJECTS): kadm5_err.h - $(iprop_log_OBJECTS): iprop-commands.h - - client_glue.lo server_glue.lo: $(srcdir)/common_glue.c --- -1.9.0 - diff --git a/heimdal-1.6.0-c25f45a-ipv6-loopbacks-fix.patch b/heimdal-1.6.0-c25f45a-ipv6-loopbacks-fix.patch new file mode 100644 index 0000000..529f894 --- /dev/null +++ b/heimdal-1.6.0-c25f45a-ipv6-loopbacks-fix.patch @@ -0,0 +1,38 @@ +From cad1d75c0461c63646917cf959dfb7f224e4dba3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rok=20Pape=C5=BE=2C=20ARNES?= +Date: Wed, 16 Oct 2013 15:57:55 -0600 +Subject: [PATCH 2/2] ipv6 loopbacks fix + +Fix IPv6 and multiple interfaces bug in krb5_parse_address. See +discussion at https://bugzilla.redhat.com/808147 +--- + lib/krb5/addr_families.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/lib/krb5/addr_families.c b/lib/krb5/addr_families.c +index 10b1024..981bbeb 100644 +--- a/lib/krb5/addr_families.c ++++ b/lib/krb5/addr_families.c +@@ -1161,6 +1161,7 @@ krb5_parse_address(krb5_context context, + { + int i, n; + struct addrinfo *ai, *a; ++ struct addrinfo hint; + int error; + int save_errno; + +@@ -1180,7 +1181,10 @@ krb5_parse_address(krb5_context context, + } + } + +- error = getaddrinfo (string, NULL, NULL, &ai); ++ // if not parsed as numeric address, do a name lookup ++ memset(&hint, 0x00, sizeof(hint)); ++ hint.ai_family = AF_UNSPEC; ++ error = getaddrinfo (string, NULL, &hint, &ai); + if (error) { + krb5_error_code ret2; + save_errno = errno; +-- +1.9.3 + diff --git a/heimdal-1.6.0-c25f45a-rename-commands.patch b/heimdal-1.6.0-c25f45a-rename-commands.patch new file mode 100644 index 0000000..bc0f92b --- /dev/null +++ b/heimdal-1.6.0-c25f45a-rename-commands.patch @@ -0,0 +1,55 @@ +From 15d0c5593079f0c75b0e3ed9209e549e5d2e7822 Mon Sep 17 00:00:00 2001 +From: Ken Dreyer +Date: Wed, 28 May 2014 15:00:44 -0600 +Subject: [PATCH 1/2] Fedora: add heimdal- prefixes to heimtools cmds + +The Fedora Heimdal package renames the klist and kswitch commands in +/usr/bin to use "heimdal-" prefixes in order to avoid conflicting with +MIT's utilities. + +Add these "heimdal-" names to the heimtools command configuration so +that heimtools will recognize the commands under the new names as well +as the old names. +--- + kuser/heimtools-commands.in | 2 ++ + kuser/heimtools.c | 4 ++-- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/kuser/heimtools-commands.in b/kuser/heimtools-commands.in +index b22a8c5..62388ce 100644 +--- a/kuser/heimtools-commands.in ++++ b/kuser/heimtools-commands.in +@@ -34,6 +34,7 @@ + command = { + name = "klist" + name = "list" ++ name = "heimdal-klist" + help = "List kerberos tickets" + option = { + long = "cache" +@@ -136,6 +137,7 @@ command = { + command = { + name = "kswitch" + name = "switch" ++ name = "heimdal-kswitch" + help = "Switch default kerberos cache" + option = { + long = "type" +diff --git a/kuser/heimtools.c b/kuser/heimtools.c +index 70b23d6..c1ef60e 100644 +--- a/kuser/heimtools.c ++++ b/kuser/heimtools.c +@@ -89,8 +89,8 @@ static int + command_alias(const char *name) + { + const char *aliases[] = { +- "kinit", "klist", "kswitch", "kgetcred", "kvno", "kdeltkt", +- "kdestroy", "kcpytkt", NULL ++ "kinit", "klist", "heimdal-klist", "kswitch", "heimdal-kswitch", ++ "kgetcred", "kvno", "kdeltkt", "kdestroy", "kcpytkt", NULL + }, **p = aliases; + + while (*p && strcmp(name, *p) != 0) +-- +1.9.3 + diff --git a/heimdal-1.6.0-d60ba47-ldap-declarations.patch b/heimdal-1.6.0-d60ba47-ldap-declarations.patch deleted file mode 100644 index a0798d4..0000000 --- a/heimdal-1.6.0-d60ba47-ldap-declarations.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 97a0361523e1b7b2f302bb6aa47f8beeb6759691 Mon Sep 17 00:00:00 2001 -From: Ken Dreyer -Date: Thu, 27 Mar 2014 10:07:29 -0600 -Subject: [PATCH] remove hdb ldap create declarations - -The hdb_ldap_create and hdb_ldapi_create prototypes use the "static" -keyword, but the functions themselves are not implemented as static. - -Heimdal's buildsystem dynamically adds function declarations to -hdb-protos.h based on the actual function implementations. Those -declarations in hdb-protos.h are not declared as static. - -Since the build system generates the declarations dynamically, just -remove them from hdb-ldap.c. - -(cherry picked from commit 10519ce50d3aaa8e40bb9e1e0dee5da847648f42) ---- - lib/hdb/hdb-ldap.c | 3 --- - 1 file changed, 3 deletions(-) - -diff --git a/lib/hdb/hdb-ldap.c b/lib/hdb/hdb-ldap.c -index 767d88e..caf892e 100644 ---- a/lib/hdb/hdb-ldap.c -+++ b/lib/hdb/hdb-ldap.c -@@ -44,9 +44,6 @@ - static krb5_error_code LDAP__connect(krb5_context context, HDB *); - static krb5_error_code LDAP_close(krb5_context context, HDB *); - --static krb5_error_code hdb_ldap_create(krb5_context context, HDB **, const char *); --static krb5_error_code hdb_ldapi_create(krb5_context context, HDB **, const char *); -- - static krb5_error_code - LDAP_message2entry(krb5_context context, HDB * db, LDAPMessage * msg, - int flags, hdb_entry_ex * ent); --- -1.9.0 - diff --git a/heimdal-1.6.0-ddde77b-kadmin-setpgid.patch b/heimdal-1.6.0-ddde77b-kadmin-setpgid.patch deleted file mode 100644 index 8cb2866..0000000 --- a/heimdal-1.6.0-ddde77b-kadmin-setpgid.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit ccd3f1982361edcaf28a132de60ca9cc5ecda933 -Author: Ken Dreyer -Date: Sat May 31 02:00:58 2014 -0600 - - kadmin: handle systemd setpgid failure - - When running as a service under systemd, kadmin cannot successfully use - setpgid(). The call fails with EPERM. Do not treat this as a fatal - error; instead, allow kadmind to continue starting up. - -diff --git a/kadmin/kadm_conn.c b/kadmin/kadm_conn.c -index e959d03..58aceb8 100644 ---- a/kadmin/kadm_conn.c -+++ b/kadmin/kadm_conn.c -@@ -189,7 +189,8 @@ wait_for_connection(krb5_context contextp, - - pgrp = getpid(); - -- if(setpgid(0, pgrp) < 0) -+ /* systemd may cause setpgid to fail with EPERM */ -+ if(setpgid(0, pgrp) < 0 && errno != EPERM) - err(1, "setpgid"); - - signal(SIGTERM, terminate); diff --git a/heimdal-generate-autoconf-tarball b/heimdal-generate-autoconf-tarball index ec32d9f..e092d90 100755 --- a/heimdal-generate-autoconf-tarball +++ b/heimdal-generate-autoconf-tarball @@ -4,7 +4,7 @@ # It's useful to pregenerate this data before building in mock, because # GNU autoconf on RHEL 5 is too old to parse the autoconf syntax in Heimdal. -COMMIT=a5adc061079ddab92b9520e9c55f1c157c354f38 +COMMIT=c25f45a4c0cd252402484316b23582e1d4555fd6 SHORT_COMMIT=${COMMIT:0:7} set -e diff --git a/heimdal.spec b/heimdal.spec index fbb4004..1afeb9f 100644 --- a/heimdal.spec +++ b/heimdal.spec @@ -2,8 +2,8 @@ %global libdir %{_libdir}/heimdal %global bindir %{_exec_prefix}/lib/heimdal -%global commitdate 20140621 -%global commit a5adc061079ddab92b9520e9c55f1c157c354f38 +%global commitdate 20150115 +%global commit c25f45a4c0cd252402484316b23582e1d4555fd6 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %if 0%{?el5} %global need_autogen 0 @@ -56,20 +56,11 @@ Source31: %{name}-ipropd-slave-wrapper # klist, kswitch, and kvno are symlinks to "heimtools", and this utility needs # to know how to interpret the "heimdal-" prefixes. -Patch1: heimdal-1.6.0-229d8c7-rename-commands.patch - -Patch3: ipv6_loopbacks_fix.patch -# Submitted upstream for 1.6 at https://github.com/heimdal/heimdal/pull/90 -Patch4: heimdal-1.6.0-d60ba47-ldap-declarations.patch -# Remove deprecated autoconf/libtool macro -# Submitted upstream for master at https://github.com/heimdal/heimdal/pull/95 -Patch5: heimdal-1.6.0-229d8c7-libtool-macro.patch -# Fix kadmin's setpgid() call under systemd -# Submitted upstream for master at https://github.com/heimdal/heimdal/pull/100 -Patch6: heimdal-1.6.0-ddde77b-kadmin-setpgid.patch -# Fix race condition with building kadm5 -# Submitted upstream for master at https://github.com/heimdal/heimdal/pull/108 -Patch7: heimdal-1.6.0-a5adc06-kadm5_err.patch +Patch1: heimdal-1.6.0-c25f45a-rename-commands.patch + +# Submitted upstream at https://github.com/heimdal/heimdal/pull/119 +# Seems to have originated from https://bugzilla.redhat.com/808147 +Patch2: heimdal-1.6.0-c25f45a-ipv6-loopbacks-fix.patch BuildRequires: bison BuildRequires: flex @@ -113,6 +104,9 @@ BuildRequires: systemd-units BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) %endif +# Bundled libtommath (https://bugzilla.redhat.com/1118462) +Provides: bundled(libtommath) = 0.42.0 + # This macro was added in Fedora 20. Use the old version if it's undefined # on older Fedoras and RHELs prior to RHEL 8. # https://fedoraproject.org/wiki/Changes/UnversionedDocdirs @@ -214,11 +208,7 @@ PATH. %prep %setup -b 1 -qn %{name}-%{commit} %patch1 -p1 -b .cmds -%patch3 -p1 -b .getaddrinfo -%patch4 -p1 -b .declarations -%patch5 -p1 -b .libtool -%patch6 -p1 -b .setpgid -%patch7 -p1 -b .kadm5 +%patch2 -p1 -b .getaddrinfo %if 0%{?need_autogen} ./autogen.sh @@ -672,6 +662,11 @@ fi %{_sysconfdir}/profile.d/%{name}.csh %changelog +* Thu Jan 15 2015 Ken Dreyer - 1.6.0-0.10.20150115gitc25f45a +- Update git snapshot to latest tip of heimdal-1-6-branch +- Remove upstreamed patches +- Add virtual provides for bundled(libtommath) (RHBZ #1118462) + * Sat Aug 16 2014 Fedora Release Engineering - 1.6.0-0.10.20140621gita5adc06 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild diff --git a/ipv6_loopbacks_fix.patch b/ipv6_loopbacks_fix.patch deleted file mode 100644 index f6c25cb..0000000 --- a/ipv6_loopbacks_fix.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d6eecd38430dc9fceacd6eeea19880d2f6c555d3 Mon Sep 17 00:00:00 2001 -From: Ken Dreyer -Date: Wed, 16 Oct 2013 15:57:55 -0600 -Subject: [PATCH] Fedora: ipv6 loopbacks fix - ---- - lib/krb5/addr_families.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/lib/krb5/addr_families.c b/lib/krb5/addr_families.c -index 10b1024..981bbeb 100644 ---- a/lib/krb5/addr_families.c -+++ b/lib/krb5/addr_families.c -@@ -1161,6 +1161,7 @@ krb5_parse_address(krb5_context context, - { - int i, n; - struct addrinfo *ai, *a; -+ struct addrinfo hint; - int error; - int save_errno; - -@@ -1180,7 +1181,10 @@ krb5_parse_address(krb5_context context, - } - } - -- error = getaddrinfo (string, NULL, NULL, &ai); -+ // if not parsed as numeric address, do a name lookup -+ memset(&hint, 0x00, sizeof(hint)); -+ hint.ai_family = AF_UNSPEC; -+ error = getaddrinfo (string, NULL, &hint, &ai); - if (error) { - krb5_error_code ret2; - save_errno = errno; --- -1.8.3.1 - diff --git a/sources b/sources index ed94cda..cd6d673 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -55a89a5de5eda3e3dd7c463d945f3042 heimdal-1.6.0-a5adc06.tar.gz -f8675615a0565448bd13153806c222af heimdal-a5adc06-autoconf.tar.gz +ecfee6465dca889a889e6a79b080e4a7 heimdal-1.6.0-c25f45a.tar.gz +aad41eff6eb4730361f57ed9f4d06070 heimdal-c25f45a-autoconf.tar.gz