[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#567708: openssh: FTPFS with heimdal < 1.3.0



Package: openssh
Version: 5.3p1-1
Severity: important
Tags: patch
Justification: fails to build from source

Hi,

when trying to build openssh with heimdal < 13.0 it fails
because heimdal misses the krb5_free_unparsed_name() function,
that gets called by OpenSSH since version 5.2p1.

According to https://roundup.it.su.se/jira/browse/HEIMDAL-626
one possible solution is to simply call krb5_xfree() instead,
as I did in the attchaed patch, that I have in use since 5.2p1
came out (sorry I was lazy in reporting it).

Perhaps te better alternative is to depend on heimdal >= 1.3.0,
as I do not know whether the aptch works for all architectures.

Thanks for maintaining openssh in Debian
Peter


-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-trunk-amd64 (SMP w/2 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
#! /bin/sh /usr/share/dpatch/dpatch-run
## openssh-5.3p1-heimdal.patch
## DP: avoid krb5_free_unparsed_name() with heimdal
## DP: in favour of krb5_xfree()
# From: Peter Marschall <peter@adpm.de>
# Subject: avoid krb5_free_unparsed_name() with heimdal
# Description: as heimdal < 1.3.0 does not provide krb5_free_unparsed_name(),
#  use krb5_xfree() instead.
#  According to heimdal upstream the difference only matters "on windows or
#  platforms that have diffrent memory pools for different libraries" only.
#  more info on: https://roundup.it.su.se/jira/browse/HEIMDAL-626


--- openssh-5.3p1/gss-serv-krb5.c
+++ openssh-5.3p1/gss-serv-krb5.c	2010-01-06 13:02:03.000000000 +0100
@@ -228,10 +228,20 @@
 		debug("Name in local credentials cache differs. Not storing");
 		krb5_free_principal(krb_context, principal);
 		krb5_cc_close(krb_context, ccache);
+/* kludge to make it work with heimdal < 1.3.0 */
+#if HEIMDAL
+		krb5_xfree(name);
+#else
 		krb5_free_unparsed_name(krb_context, name);
+#endif
 		return 0;
 	}
+/* kludge to make it work with heimdal < 1.3.0 */
+#if HEIMDAL
+	krb5_xfree(name);
+#else
 	krb5_free_unparsed_name(krb_context, name);
+#endif
 
 	/* Name matches, so lets get on with it! */
 

Reply to: