OSDN Git Service

upg
[joborun/jobcore.git] / libsasl / 0022-Fix-keytab-option-for-MIT-Kerberos.patch
1 From: Debian Cyrus SASL Team
2  <pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org>
3 Date: Thu, 24 Mar 2016 11:35:05 +0100
4 Subject: Fix keytab option for MIT Kerberos
5
6 ---
7  m4/sasl2.m4      |  1 +
8  plugins/gssapi.c | 11 ++++++++---
9  2 files changed, 9 insertions(+), 3 deletions(-)
10
11 diff --git a/m4/sasl2.m4 b/m4/sasl2.m4
12 index 56e0504..a90f7b4 100644
13 --- a/m4/sasl2.m4
14 +++ b/m4/sasl2.m4
15 @@ -282,6 +282,7 @@ if test "$gssapi" != no; then
16                      ])
17      fi
18    fi
19 +  AC_CHECK_FUNCS(krb5_gss_register_acceptor_identity)
20    AC_CHECK_FUNCS(gss_decapsulate_token)
21    AC_CHECK_FUNCS(gss_encapsulate_token)
22    AC_CHECK_FUNCS(gss_oid_equal)
23 diff --git a/plugins/gssapi.c b/plugins/gssapi.c
24 index ff663da..7c69ac2 100644
25 --- a/plugins/gssapi.c
26 +++ b/plugins/gssapi.c
27 @@ -1545,7 +1545,7 @@ static sasl_server_plug_t gssapi_server_plugins[] =
28  };
29  
30  int gssapiv2_server_plug_init(
31 -#ifndef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
32 +#if !defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) && !defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY)
33      const sasl_utils_t *utils __attribute__((unused)),
34  #else
35      const sasl_utils_t *utils,
36 @@ -1555,7 +1555,7 @@ int gssapiv2_server_plug_init(
37      sasl_server_plug_t **pluglist,
38      int *plugcount)
39  {
40 -#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
41 +#if defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) || defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY)
42      const char *keytab = NULL;
43      char keytab_path[1024];
44      unsigned int rl;
45 @@ -1565,7 +1565,7 @@ int gssapiv2_server_plug_init(
46         return SASL_BADVERS;
47      }
48      
49 -#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
50 +#if defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) || defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY)
51      /* unfortunately, we don't check for readability of keytab if it's
52         the standard one, since we don't know where it is */
53      
54 @@ -1587,7 +1587,12 @@ int gssapiv2_server_plug_init(
55         
56         strncpy(keytab_path, keytab, 1024);
57         
58 +#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY
59         gsskrb5_register_acceptor_identity(keytab_path);
60 +#endif
61 +#ifdef HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY
62 +       krb5_gss_register_acceptor_identity(keytab_path);
63 +#endif
64      }
65  #endif
66