From bc9235cfb80bd64a3bfa959e8d26d5ad1be0bdf4 Mon Sep 17 00:00:00 2001
From: Jakub Hrozek <jhrozek@redhat.com>
Date: Thu, 14 Jun 2012 21:18:10 +0200
Subject: Make krb5_ccname_template and krb5_ccachedir configurable

---
 src/conf_macros.m4             | 30 ++++++++++++++++++++++++++++++
 src/providers/ipa/ipa_opts.h   |  4 ++--
 src/providers/krb5/krb5_opts.h |  4 ++--
 3 files changed, 34 insertions(+), 4 deletions(-)

(limited to 'src')

diff --git a/src/conf_macros.m4 b/src/conf_macros.m4
index 8c13e5dba..2e98b84c2 100644
--- a/src/conf_macros.m4
+++ b/src/conf_macros.m4
@@ -247,6 +247,36 @@ AC_DEFUN([WITH_KRB5_RCACHE_DIR],
     AC_DEFINE_UNQUOTED(KRB5_RCACHE_DIR, "$krb5rcachedir", [Directory used for storing Kerberos replay caches])
   ])
 
+AC_DEFUN([WITH_DEFAULT_CCACHE_DIR],
+  [ AC_ARG_WITH([default-ccache-dir],
+                [AC_HELP_STRING([--with-default-ccache-dir=CCACHEDIR],
+                                [The default value of krb5_ccachedir [/tmp]]
+                               )
+                ]
+               )
+    config_def_ccache_dir="/tmp"
+    if test x"$with_default_ccache_dir" != x; then
+        config_def_ccache_dir=$with_default_ccache_dir
+    fi
+    AC_SUBST(config_def_ccache_dir)
+    AC_DEFINE_UNQUOTED(DEFAULT_CCACHE_DIR, "$config_def_ccache_dir", [The default value of krb5_ccachedir])
+  ])
+
+AC_DEFUN([WITH_DEFAULT_CCNAME_TEMPLATE],
+  [ AC_ARG_WITH([default-ccname-template],
+                [AC_HELP_STRING([--with-default-ccname-template=CCACHE],
+                                [The default value of krb5_ccname_template [FILE:%d/krb5cc_%U_XXXXXX]]
+                               )
+                ]
+               )
+    config_def_ccname_template="FILE:%d/krb5cc_%U_XXXXXX"
+    if test x"$with_default_ccname_template" != x; then
+        config_def_ccname_template=$with_default_ccname_template
+    fi
+    AC_SUBST(config_def_ccname_template)
+    AC_DEFINE_UNQUOTED(DEFAULT_CCNAME_TEMPLATE, "$config_def_ccname_template", [The default value of krb5_ccname_template])
+  ])
+
 AC_DEFUN([WITH_PYTHON_BINDINGS],
   [ AC_ARG_WITH([python-bindings],
                 [AC_HELP_STRING([--with-python-bindings],
diff --git a/src/providers/ipa/ipa_opts.h b/src/providers/ipa/ipa_opts.h
index a0714cb40..4366a12c2 100644
--- a/src/providers/ipa/ipa_opts.h
+++ b/src/providers/ipa/ipa_opts.h
@@ -234,8 +234,8 @@ struct sdap_attr_map ipa_selinux_user_map[] = {
 struct dp_option ipa_def_krb5_opts[] = {
     { "krb5_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
     { "krb5_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING },
-    { "krb5_ccachedir", DP_OPT_STRING, { "/tmp" }, NULL_STRING },
-    { "krb5_ccname_template", DP_OPT_STRING, { "FILE:%d/krb5cc_%U_XXXXXX" }, NULL_STRING},
+    { "krb5_ccachedir", DP_OPT_STRING, { DEFAULT_CCACHE_DIR }, NULL_STRING },
+    { "krb5_ccname_template", DP_OPT_STRING, { DEFAULT_CCNAME_TEMPLATE }, NULL_STRING},
     { "krb5_auth_timeout", DP_OPT_NUMBER, { .number = 15 }, NULL_NUMBER },
     { "krb5_keytab", DP_OPT_STRING, { "/etc/krb5.keytab" }, NULL_STRING },
     { "krb5_validate", DP_OPT_BOOL, BOOL_TRUE, BOOL_TRUE },
diff --git a/src/providers/krb5/krb5_opts.h b/src/providers/krb5/krb5_opts.h
index 45dfec544..9de93b0cd 100644
--- a/src/providers/krb5/krb5_opts.h
+++ b/src/providers/krb5/krb5_opts.h
@@ -28,8 +28,8 @@
 struct dp_option default_krb5_opts[] = {
     { "krb5_server", DP_OPT_STRING, NULL_STRING, NULL_STRING },
     { "krb5_realm", DP_OPT_STRING, NULL_STRING, NULL_STRING },
-    { "krb5_ccachedir", DP_OPT_STRING, { "/run/user/%u" }, NULL_STRING },
-    { "krb5_ccname_template", DP_OPT_STRING, { "DIR:%d" }, NULL_STRING},
+    { "krb5_ccachedir", DP_OPT_STRING, { DEFAULT_CCACHE_DIR }, NULL_STRING },
+    { "krb5_ccname_template", DP_OPT_STRING, { DEFAULT_CCNAME_TEMPLATE }, NULL_STRING},
     { "krb5_auth_timeout", DP_OPT_NUMBER, { .number = 15 }, NULL_NUMBER },
     { "krb5_keytab", DP_OPT_STRING, { "/etc/krb5.keytab" }, NULL_STRING },
     { "krb5_validate", DP_OPT_BOOL, BOOL_FALSE, BOOL_FALSE },
-- 
cgit