summaryrefslogtreecommitdiffstats
path: root/src/providers/krb5/krb5_utils.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2012-06-15 13:59:44 -0400
committerStephen Gallagher <sgallagh@redhat.com>2012-06-15 14:38:22 -0400
commit6ca87e797982061576885f944e2ccfaba9573897 (patch)
tree6128b84210a53f5f0f98feb8aba1d8056dffc8d7 /src/providers/krb5/krb5_utils.c
parent7cc8729dec26c1fd5b06323237acc9ba2bdaaa17 (diff)
downloadsssd-6ca87e797982061576885f944e2ccfaba9573897.tar.gz
sssd-6ca87e797982061576885f944e2ccfaba9573897.tar.xz
sssd-6ca87e797982061576885f944e2ccfaba9573897.zip
KRB5: Auto-detect DIR cache support in configure
We can't support the DIR cache features in systems with kerberos libraries older than 1.10. Make sure we don't build it on those systems.
Diffstat (limited to 'src/providers/krb5/krb5_utils.c')
-rw-r--r--src/providers/krb5/krb5_utils.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/providers/krb5/krb5_utils.c b/src/providers/krb5/krb5_utils.c
index 8cea7ccea..68a6aab33 100644
--- a/src/providers/krb5/krb5_utils.c
+++ b/src/providers/krb5/krb5_utils.c
@@ -583,9 +583,13 @@ get_cc_be_ops(enum sss_krb5_cc_type type)
case SSS_KRB5_TYPE_FILE:
be = &file_cc;
break;
+
+#ifdef HAVE_KRB5_DIRCACHE
case SSS_KRB5_TYPE_DIR:
be = &dir_cc;
break;
+#endif /* HAVE_KRB5_DIRCACHE */
+
case SSS_KRB5_TYPE_UNKNOWN:
be = NULL;
break;
@@ -649,9 +653,11 @@ cc_residual_is_used(uid_t uid, const char *ccname,
}
switch (type) {
+#ifdef HAVE_KRB5_DIRCACHE
case SSS_KRB5_TYPE_DIR:
ret = S_ISDIR(stat_buf.st_mode);
break;
+#endif /* HAVE_KRB5_DIRCACHE */
case SSS_KRB5_TYPE_FILE:
ret = S_ISREG(stat_buf.st_mode);
break;
@@ -789,6 +795,7 @@ struct sss_krb5_cc_be file_cc = {
.remove = cc_file_remove,
};
+#ifdef HAVE_KRB5_DIRCACHE
/*======== Operations on the DIR: back end ========*/
errno_t
cc_dir_create(const char *location, pcre *illegal_re,
@@ -1000,3 +1007,5 @@ struct sss_krb5_cc_be dir_cc = {
.ccache_for_princ = cc_dir_cache_for_princ,
.remove = cc_dir_remove
};
+
+#endif /* HAVE_KRB5_DIRCACHE */