summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-01-05 10:54:50 +1100
committerAndrew Bartlett <abartlet@samba.org>2012-01-10 21:50:07 +0100
commit016fc0af0c30a22d0154ca6c67bb31bac893fb7b (patch)
treec514fe134f76a01ae54acecd41d406b0c3db1143 /source3
parent6b2e742d6c719258c8ff1c2309847e88bdae97e7 (diff)
downloadsamba-016fc0af0c30a22d0154ca6c67bb31bac893fb7b.tar.gz
samba-016fc0af0c30a22d0154ca6c67bb31bac893fb7b.tar.bz2
samba-016fc0af0c30a22d0154ca6c67bb31bac893fb7b.zip
krb5: Require krb5_get_host_realm and krb5_free_host_realm be available to build with krb5
Diffstat (limited to 'source3')
-rw-r--r--source3/configure.in12
-rw-r--r--source3/libads/kerberos.c4
-rw-r--r--source3/wscript6
3 files changed, 18 insertions, 4 deletions
diff --git a/source3/configure.in b/source3/configure.in
index fd28a4bb1a..a2f414b408 100644
--- a/source3/configure.in
+++ b/source3/configure.in
@@ -4422,6 +4422,18 @@ if test x"$with_ads_support" != x"no"; then
use_ads=no
fi
+ if test x"$ac_cv_func_ext_krb5_get_host_realm" != x"yes"
+ then
+ AC_MSG_WARN(krb5_get_host_realm not found in -lkrb5)
+ use_ads=no
+ fi
+
+ if test x"$ac_cv_func_ext_krb5_free_host_realm" != x"yes"
+ then
+ AC_MSG_WARN(krb5_free_host_realm not found in -lkrb5)
+ use_ads=no
+ fi
+
if test x"$ac_cv_func_ext_krb5_principal2salt" != x"yes" -a \
x"$ac_cv_func_ext_krb5_get_pw_salt" != x"yes"
then
diff --git a/source3/libads/kerberos.c b/source3/libads/kerberos.c
index f260dcaaf0..a43c7b167c 100644
--- a/source3/libads/kerberos.c
+++ b/source3/libads/kerberos.c
@@ -484,7 +484,6 @@ char *kerberos_get_default_realm_from_ccache(TALLOC_CTX *mem_ctx)
char *kerberos_get_realm_from_hostname(TALLOC_CTX *mem_ctx, const char *hostname)
{
-#if defined(HAVE_KRB5_GET_HOST_REALM) && defined(HAVE_KRB5_FREE_HOST_REALM)
#if defined(HAVE_KRB5_REALM_TYPE)
/* Heimdal. */
krb5_realm *realm_list = NULL;
@@ -525,9 +524,6 @@ char *kerberos_get_realm_from_hostname(TALLOC_CTX *mem_ctx, const char *hostname
ctx = NULL;
}
return realm;
-#else
- return NULL;
-#endif
}
char *kerberos_get_principal_from_service_hostname(TALLOC_CTX *mem_ctx,
diff --git a/source3/wscript b/source3/wscript
index 690ae957e3..e7d9dc09c4 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -750,6 +750,12 @@ return krb5_kt_resolve(context, "WRFILE:api", &keytab);
if not conf.CONFIG_SET('HAVE_KRB5_C_ENCTYPE_COMPARE'):
Logs.warn("krb5_c_enctype_compare not found in -lkrb5")
use_ads=False
+ if not conf.CONFIG_SET('HAVE_KRB5_GET_HOST_REALM'):
+ Logs.warn("krb5_get_host_realm not found in -lkrb5")
+ use_ads=False
+ if not conf.CONFIG_SET('HAVE_KRB5_FREE_HOST_REALM'):
+ Logs.warn("krb5_free_host_realm not found in -lkrb5")
+ use_ads=False
if not conf.CONFIG_SET('HAVE_KRB5_PRINCIPAL2SALT') and \
not conf.CONFIG_SET('HAVE_KRB5_GET_PW_SALT'):
Logs.warn("no CREATE_KEY_FUNCTIONS detected")