Package: libauthen-krb5-perl
Version: 1.9-4
Severity: serious

$ env PERL_DL_NONLAZY=1 perl -MAuthen::Krb5 -e '1;'
Can't load '/usr/lib/i386-linux-gnu/perl5/5.20/auto/Authen/Krb5/Krb5.so' for 
module Authen::Krb5: 
/usr/lib/i386-linux-gnu/perl5/5.20/auto/Authen/Krb5/Krb5.so: undefined symbol: 
krb5_free_krbhst at /usr/lib/i386-linux-gnu/perl/5.20/DynaLoader.pm line 187.
 at -e line 0.
Compilation failed in require.
BEGIN failed--compilation aborted.

This breaks test suites or anything else that sets PERL_DL_NONLAZY=1.

The problem is that this module uses an internal MIT Kerberos API that has
been removed. From Krb5.xs:

/*
 * These are internal Kerberos library functions that aren't prototyped and
 * that we probably shouldn't be calling.  Prototype them with the arguments
 * we expect and leave them for now pending an API cleanup.
 */
krb5_error_code krb5_free_krbhst(krb5_context, char * const *);
krb5_error_code krb5_get_krbhst(krb5_context, const krb5_data *, char ***);

And from the changelog (doc/CHANGES) for package krb5:

commit 81fde7e475b02986c1aff88766cc48882004d5dc
Author: Greg Hudson <ghud...@mit.edu>
Date:   Fri Mar 22 16:00:48 2013 -0400

    Get rid of krb5_{get,free}_krbhst

    These functions were always internal.  They haven't been used since
    v5passwdd was eliminated in krb5 1.4.

Reply via email to