krb5 commit: Support changing the built-in ccache/keytab names

Greg Hudson ghudson at MIT.EDU
Tue Jul 24 16:36:37 EDT 2012


https://github.com/krb5/krb5/commit/688a2702d2045abf5f99acfb59f3f372391e5be4
commit 688a2702d2045abf5f99acfb59f3f372391e5be4
Author: Greg Hudson <ghudson at mit.edu>
Date:   Tue Jul 24 16:26:28 2012 -0400

    Support changing the built-in ccache/keytab names
    
    * Add DEFCCNAME, DEFKTNAME, and DEFCKTNAME configure variables to
      change the built-in ccache and keytab names.
    * Add krb5-config options to display the built-in ccache and keytab
      names.
    * In the default build, use krb5-config to discover the system's
      built-in ccache and keytab names and use them (if not overridden).
      This can be controlled with the --with-krb5-config=PATH or
      --without-krb5-config configure options.
    * Make the built-in ccache name subject to parameter expansion.
    
    ticket: 7221 (new)

 doc/rst_source/conf.py                             |   12 +++++--
 doc/rst_source/krb_admins/conf_files/krb5_conf.rst |    2 +-
 doc/rst_source/krb_basic/keytab_def.rst            |    2 +-
 doc/rst_source/krb_build/options2configure.rst     |   16 +++++++++
 .../krb_users/user_commands/kdestroy.rst           |    5 +--
 doc/rst_source/krb_users/user_commands/kinit.rst   |    5 +--
 doc/rst_source/krb_users/user_commands/klist.rst   |    5 +--
 doc/rst_source/krb_users/user_commands/kswitch.rst |    5 +--
 doc/rst_source/krb_users/user_commands/kvno.rst    |    5 +--
 doc/rst_source/mitK5defaults.rst                   |   23 +++++++------
 src/configure.in                                   |   35 ++++++++++++++++++++
 src/include/osconf.hin                             |    4 --
 src/include/win-mac.h                              |    3 ++
 src/krb5-config.M                                  |    9 +++++
 src/krb5-config.in                                 |   35 +++++++++++++++++++-
 src/lib/krb5/libkrb5.exports                       |    1 -
 src/lib/krb5/os/ccdefname.c                        |    6 +--
 src/lib/krb5/os/ktdefname.c                        |    7 +---
 src/lib/krb5/os/osconfig.c                         |    2 -
 src/man/Makefile.in                                |    8 ++++-
 20 files changed, 142 insertions(+), 48 deletions(-)

diff --git a/doc/rst_source/conf.py b/doc/rst_source/conf.py
index c4203a2..031a1a7 100644
--- a/doc/rst_source/conf.py
+++ b/doc/rst_source/conf.py
@@ -216,6 +216,9 @@ if 'mansubs' in tags:
     libdir = '``@LIBDIR@``'
     localstatedir = '``@LOCALSTATEDIR@``'
     sysconfdir = '``@SYSCONFDIR@``'
+    ccache = '``@CCNAME@``'
+    keytab = '``@KTNAME@``'
+    ckeytab = '``@CKTNAME@``'
 elif 'pathsubs' in tags:
     # Read configured paths from a file produced by the build system.
     execfile('paths.py')
@@ -225,6 +228,9 @@ else:
     libdir = ':ref:`LIBDIR <paths>`'
     localstatedir = ':ref:`LOCALSTATEDIR <paths>`'
     sysconfdir = ':ref:`SYSCONFDIR <paths>`'
+    ccache = ':ref:`DEFCCNAME <paths>`'
+    keytab = ':ref:`DEFKTNAME <paths>`'
+    ckeytab = ':ref:`DEFCKTNAME <paths>`'
 
 rst_epilog = '\n'
 rst_epilog += '.. |bindir| replace:: %s\n' % bindir
@@ -232,10 +238,10 @@ rst_epilog += '.. |sbindir| replace:: %s\n' % sbindir
 rst_epilog += '.. |libdir| replace:: %s\n' % libdir
 rst_epilog += '.. |kdcdir| replace:: %s\\ ``/krb5kdc``\n' % localstatedir
 rst_epilog += '.. |sysconfdir| replace:: %s\n' % sysconfdir
+rst_epilog += '.. |ccache| replace:: %s\n' % ccache
+rst_epilog += '.. |keytab| replace:: %s\n' % keytab
+rst_epilog += '.. |ckeytab| replace:: %s\n' % ckeytab
 rst_epilog += '''
-.. |ccache| replace:: ``/tmp/krb5cc_<uid>``
-.. |clkeytab| replace:: ``/etc/krb5.client-keytab``
-.. |keytab| replace:: ``/etc/krb5.keytab``
 .. |krb5conf| replace:: ``/etc/krb5.conf``
 .. |defkeysalts| replace:: ``aes256-cts-hmac-sha1-96:normal aes128-cts-hmac-sha1-96:normal des3-cbc-sha1:normal arcfour-hmac-md5:normal``
 .. |defetypes| replace:: ``aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96 des3-cbc-sha1 arcfour-hmac-md5 des-cbc-crc des-cbc-md5 des-cbc-md4``
diff --git a/doc/rst_source/krb_admins/conf_files/krb5_conf.rst b/doc/rst_source/krb_admins/conf_files/krb5_conf.rst
index 26a8818..ee7344c 100644
--- a/doc/rst_source/krb_admins/conf_files/krb5_conf.rst
+++ b/doc/rst_source/krb_admins/conf_files/krb5_conf.rst
@@ -141,7 +141,7 @@ The libdefaults section may contain any of the following relations:
 
 **default_client_keytab_name**
     This relation specifies the name of the default keytab for
-    obtaining client credentials.  The default is |clkeytab|.  This
+    obtaining client credentials.  The default is |ckeytab|.  This
     relation is subject to parameter expansion (see below).
 
 **default_keytab_name**
diff --git a/doc/rst_source/krb_basic/keytab_def.rst b/doc/rst_source/krb_basic/keytab_def.rst
index 3f1f0de..1064765 100644
--- a/doc/rst_source/krb_basic/keytab_def.rst
+++ b/doc/rst_source/krb_basic/keytab_def.rst
@@ -58,4 +58,4 @@ decreasing order of preference:
 #. The **default_client_keytab_name** profile variable in
    :ref:`libdefaults`.
 
-#. The hardcoded default, ``FILE:``\ |clkeytab|.
+#. The hardcoded default, ``FILE:``\ |ckeytab|.
diff --git a/doc/rst_source/krb_build/options2configure.rst b/doc/rst_source/krb_build/options2configure.rst
index 75cb925..3df2a45 100644
--- a/doc/rst_source/krb_build/options2configure.rst
+++ b/doc/rst_source/krb_build/options2configure.rst
@@ -118,6 +118,15 @@ Environment variables
     Berkeley DB library version to be used, override it with this
     option. For example, ``DB_LIB=-ldb-3.3``.
 
+**DEFCCNAME=**\ *ccachename*
+    Override the built-in default credential cache name.
+
+**DEFCKTNAME=**\ *keytabname*
+    Override the built-in default client keytab name.
+
+**DEFKTNAME=**\ *keytabname*
+    Override the built-in default keytab name.
+
 **LD=**\ *LINKER*
     Use *LINKER* as the default loader if it should be different from
     C compiler as specified above.
@@ -374,6 +383,13 @@ Optional packages
     Specifying **--without-system-verto** will cause the built-in
     version of libverto to be used unconditionally.
 
+**--with-krb5-config=**\ *PATH*
+    Use the krb5-config program at *PATH* to obtain the build-time
+    default credential cache, keytab, and client keytab names.  The
+    default is to use ``krb5-config`` from the program path.  Specify
+    ``--without-krb5-config`` to disable the use of krb5-config and
+    use the usual built-in defaults.
+
 
 Examples
 --------
diff --git a/doc/rst_source/krb_users/user_commands/kdestroy.rst b/doc/rst_source/krb_users/user_commands/kdestroy.rst
index 7676dc4..b8c67ab 100644
--- a/doc/rst_source/krb_users/user_commands/kdestroy.rst
+++ b/doc/rst_source/krb_users/user_commands/kdestroy.rst
@@ -67,9 +67,8 @@ kdestroy uses the following environment variable:
 FILES
 -----
 
-``/tmp/krb5cc_[uid]``
-    Default location of Kerberos 5 credentials cache ([*uid*] is the
-    decimal UID of the user).
+|ccache|
+    Default location of Kerberos 5 credentials cache
 
 
 SEE ALSO
diff --git a/doc/rst_source/krb_users/user_commands/kinit.rst b/doc/rst_source/krb_users/user_commands/kinit.rst
index 3636106..c28fd29 100644
--- a/doc/rst_source/krb_users/user_commands/kinit.rst
+++ b/doc/rst_source/krb_users/user_commands/kinit.rst
@@ -198,9 +198,8 @@ kinit uses the following environment variables:
 FILES
 -----
 
-``/tmp/krb5cc_[uid]``
-    default location of Kerberos 5 credentials cache ([*uid*] is the
-    decimal UID of the user).
+|ccache|
+    default location of Kerberos 5 credentials cache
 
 |keytab|
     default location for the local host's keytab.
diff --git a/doc/rst_source/krb_users/user_commands/klist.rst b/doc/rst_source/krb_users/user_commands/klist.rst
index 0b867a8..6eae5f4 100644
--- a/doc/rst_source/krb_users/user_commands/klist.rst
+++ b/doc/rst_source/krb_users/user_commands/klist.rst
@@ -116,9 +116,8 @@ klist uses the following environment variable:
 FILES
 -----
 
-``/tmp/krb5cc_[uid]``
-    Default location of Kerberos 5 credentials cache ([uid] is the
-    decimal UID of the user).
+|ccache|
+    Default location of Kerberos 5 credentials cache
 
 |keytab|
     Default location for the local host's keytab file.
diff --git a/doc/rst_source/krb_users/user_commands/kswitch.rst b/doc/rst_source/krb_users/user_commands/kswitch.rst
index 6213495..261660d 100644
--- a/doc/rst_source/krb_users/user_commands/kswitch.rst
+++ b/doc/rst_source/krb_users/user_commands/kswitch.rst
@@ -46,9 +46,8 @@ kswitch uses the following environment variables:
 FILES
 -----
 
-``/tmp/krb5cc_[uid]``
-    Default location of Kerberos 5 credentials cache ([*uid*] is the
-    decimal UID of the user).
+|ccache|
+    Default location of Kerberos 5 credentials cache
 
 
 SEE ALSO
diff --git a/doc/rst_source/krb_users/user_commands/kvno.rst b/doc/rst_source/krb_users/user_commands/kvno.rst
index 4f2e2fd..31ca244 100644
--- a/doc/rst_source/krb_users/user_commands/kvno.rst
+++ b/doc/rst_source/krb_users/user_commands/kvno.rst
@@ -76,9 +76,8 @@ kvno uses the following environment variable:
 FILES
 -----
 
-``/tmp/krb5cc_[uid]``
-    Default location of the credentials cache ([*uid*] is the decimal
-    UID of the user).
+|ccache|
+    Default location of the credentials cache
 
 
 SEE ALSO
diff --git a/doc/rst_source/mitK5defaults.rst b/doc/rst_source/mitK5defaults.rst
index eca502f..c971d56 100644
--- a/doc/rst_source/mitK5defaults.rst
+++ b/doc/rst_source/mitK5defaults.rst
@@ -10,7 +10,7 @@ General defaults
 Description                 Default                        Environment
 ==========================  =============================  ====================
 Keytab file                 ``FILE:``\ |keytab|            **KRB5_KTNAME**
-Client keytab file          ``FILE:``\ |clkeytab|          **KRB5_CLIENT_KTNAME**
+Client keytab file          ``FILE:``\ |ckeytab|           **KRB5_CLIENT_KTNAME**
 Kerberos config file        |krb5conf|\ ``:``\             **KRB5_CONFIG**
                             |sysconfdir|\ ``/krb5.conf``
 KDC config file             |kdcdir|\ ``/kdc.conf``        **KRB5_KDC_PROFILE**
@@ -58,12 +58,15 @@ subdirectories of ``/usr/local``.  When MIT krb5 is integrated into an
 operating system, the paths are generally chosen to match the
 operating system's filesystem layout.
 
-=======================  ===============  ===================  ===============
-Description	         Symbolic name    Custom build path    Typical OS path
-=======================  ===============  ===================  ===============
-User programs	         BINDIR           ``/usr/local/bin``   ``/usr/bin``
-Libraries and plugins    LIBDIR           ``/usr/local/lib``   ``/usr/lib``
-Parent of KDC state dir  LOCALSTATEDIR    ``/usr/local/var``   ``/var``
-Administrative programs  SBINDIR          ``/usr/local/sbin``  ``/usr/sbin``
-Alternate krb5.conf dir  SYSCONFDIR       ``/usr/local/etc``   ``/etc``
-=======================  ===============  ===================  ===============
+==========================  =============  ===========================  ===========================
+Description                 Symbolic name  Custom build path            Typical OS path
+==========================  =============  ===========================  ===========================
+User programs               BINDIR         ``/usr/local/bin``           ``/usr/bin``
+Libraries and plugins       LIBDIR         ``/usr/local/lib``           ``/usr/lib``
+Parent of KDC state dir     LOCALSTATEDIR  ``/usr/local/var``           ``/var``
+Administrative programs     SBINDIR        ``/usr/local/sbin``          ``/usr/sbin``
+Alternate krb5.conf dir     SYSCONFDIR     ``/usr/local/etc``           ``/etc``
+Default ccache name         DEFCCNAME      ``/tmp/krb5cc_%{UID}``       ``/tmp/krb5cc_%{UID}``
+Default keytab name         DEFKTNAME      ``/etc/krb5.keytab``         ``/etc/krb5.keytab``
+Default client keytab name  DEFCKTNAME     ``/etc/krb5.client-keytab``  ``/etc/krb5.client-keytab``
+==========================  =============  ===========================  ===========================
diff --git a/src/configure.in b/src/configure.in
index b1661f0..c7c92d9 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1251,6 +1251,41 @@ if test "${localedir+set}" != set; then
 fi
 AC_SUBST(localedir)
 
+# Build-time default ccache, keytab, and client keytab names.  These
+# can be given as variable arguments DEFCCNAME, DEFKTNAME, and
+# DEFCKTNAME.  Otherwise, we try to get the OS defaults from
+# krb5-config if we can, or fall back to hardcoded defaults.
+AC_ARG_VAR(DEFCCNAME, [Default ccache name])
+AC_ARG_VAR(DEFKTNAME, [Default keytab name])
+AC_ARG_VAR(DEFCKTNAME, [Default client keytab name])
+AC_ARG_WITH([krb5-config],
+	AC_HELP_STRING([--with-krb5-config=PATH],
+		[path to existing krb5-config program for defaults]), ,
+        [with_krb5_config=krb5-config])
+if test "x$with_krb5_config" != xno; then
+	if test "x$with_krb5_config" = xyes; then
+		with_krb5_config=krb5-config
+	fi
+	if $with_krb5_config --help 2>&1 | grep -q defccname; then
+		AC_MSG_NOTICE([Using $with_krb5_config for build defaults])
+		: "${DEFCCNAME=`$with_krb5_config --defccname`}"
+		: "${DEFKTNAME=`$with_krb5_config --defktname`}"
+		: "${DEFCKTNAME=`$with_krb5_config --defcktname`}"
+	fi
+fi
+if test "${DEFCCNAME+set}" != set; then
+	DEFCCNAME=FILE:/tmp/krb5cc_%{uid}
+fi
+: "${DEFKTNAME=FILE:/etc/krb5.keytab}"
+: "${DEFCKTNAME=FILE:/etc/krb5.client-keytab}"
+AC_MSG_NOTICE([Default ccache name: $DEFCCNAME])
+AC_MSG_NOTICE([Default keytab name: $DEFKTNAME])
+AC_MSG_NOTICE([Default client keytab name: $DEFCKTNAME])
+AC_DEFINE_UNQUOTED(DEFCCNAME, ["$DEFCCNAME"], [Define to default ccache name])
+AC_DEFINE_UNQUOTED(DEFKTNAME, ["$DEFKTNAME"], [Define to default keytab name])
+AC_DEFINE_UNQUOTED(DEFCKTNAME, ["$DEFCKTNAME"],
+                   [Define to default client keytab name])
+
 AC_CONFIG_FILES(krb5-config, [chmod +x krb5-config])
 V5_AC_OUTPUT_MAKEFILE(.
 
diff --git a/src/include/osconf.hin b/src/include/osconf.hin
index 803d73b..c3a33c2 100644
--- a/src/include/osconf.hin
+++ b/src/include/osconf.hin
@@ -42,8 +42,6 @@
 
 #if defined(_WIN32)
 #define DEFAULT_PROFILE_FILENAME "krb5.ini"
-#define DEFAULT_KEYTAB_NAME     "FILE:%{WINDOWS}\\krb5kt"
-#define DEFAULT_CLIENT_KEYTAB_NAME "FILE:%{WINDOWS}\\krb5clientkt"
 #else /* !_WINDOWS */
 #if TARGET_OS_MAC
 #define DEFAULT_SECURE_PROFILE_PATH "/Library/Preferences/edu.mit.Kerberos:/etc/krb5.conf:@SYSCONFDIR/krb5.conf"
@@ -55,8 +53,6 @@
 #define DEFAULT_SECURE_PROFILE_PATH     "/etc/krb5.conf:@SYSCONFDIR/krb5.conf"
 #define DEFAULT_PROFILE_PATH        DEFAULT_SECURE_PROFILE_PATH
 #endif
-#define DEFAULT_KEYTAB_NAME     "FILE:/etc/krb5.keytab"
-#define DEFAULT_CLIENT_KEYTAB_NAME "FILE:/etc/krb5.client-keytab"
 #endif /* _WINDOWS  */
 
 #define DEFAULT_PLUGIN_BASE_DIR "@LIBDIR/krb5/plugins"
diff --git a/src/include/win-mac.h b/src/include/win-mac.h
index 2274d8a..daec295 100644
--- a/src/include/win-mac.h
+++ b/src/include/win-mac.h
@@ -231,6 +231,9 @@ HINSTANCE get_lib_instance(void);
 
 #define THREEPARAMOPEN(x,y,z) open(x,y,z)
 
+#define DEFKTNAME "FILE:%{WINDOWS}\\krb5kt"
+#define DEFCKTNAME "FILE:%{WINDOWS}\\krb5clientkt"
+
 #ifndef KRB5_CALLCONV
 #define KRB5_CALLCONV
 #endif
diff --git a/src/krb5-config.M b/src/krb5-config.M
index 56661ae..ccc8698 100644
--- a/src/krb5-config.M
+++ b/src/krb5-config.M
@@ -53,6 +53,15 @@ prints the prefix with which Kerberos was built.
 \fB\--exec-prefix\fP 
 prints the exec-prefix with which Kerberos was built.
 .TP
+\fB\--defccname\fP
+prints the built-in default credential cache name.
+.TP
+\fB\--defktname\fP
+prints the built-in default keytab name.
+.TP
+\fB\--defcktname\fP
+prints the built-in default client keytab name.
+.TP
 \fB\--cflags\fP 
 prints the compiler flags with which Kerberos was built.
 .TP
diff --git a/src/krb5-config.in b/src/krb5-config.in
index b476b4f..c950b36 100755
--- a/src/krb5-config.in
+++ b/src/krb5-config.in
@@ -38,6 +38,9 @@ RPATH_FLAG='@RPATH_FLAG@'
 PROG_RPATH_FLAGS='@PROG_RPATH_FLAGS@'
 PTHREAD_CFLAGS='@PTHREAD_CFLAGS@'
 DL_LIB='@DL_LIB@'
+DEFCCNAME='@DEFCCNAME@'
+DEFKTNAME='@DEFKTNAME@'
+DEFCKTNAME='@DEFCKTNAME@'
 
 LIBS='@LIBS@'
 GEN_LIB=@GEN_LIB@
@@ -58,6 +61,15 @@ while test $# != 0; do
 	--cflags)
 	    do_cflags=1
 	    ;;
+	--defccname)
+	    do_defccname=1
+	    ;;
+	--defcktname)
+	    do_defcktname=1
+	    ;;
+	--defktname)
+	    do_defktname=1
+	    ;;
 	--deps)
 	    do_deps=1
 	    ;;
@@ -102,7 +114,10 @@ while test $# != 0; do
 done
 
 # If required options - provide help
-if test -z "$do_all" -a -z "$do_version" -a -z "$do_vendor" -a -z "$do_prefix" -a -z "$do_vendor" -a -z "$do_exec_prefix" -a -z "$do_cflags" -a -z "$do_libs"; then
+if test -z "$do_all" -a -z "$do_version" -a -z "$do_vendor" -a \
+    -z "$do_prefix" -a -z "$do_vendor" -a -z "$do_exec_prefix" -a \
+    -z "$do_defccname" -a -z "$do_defktname" -a -z "$do_defcktname" -a \
+    -z "$do_cflags" -a -z "$do_libs"; then
     do_help=1
 fi
 
@@ -116,6 +131,9 @@ if test -n "$do_help"; then
     echo "        [--vendor]        Vendor information"
     echo "        [--prefix]        Kerberos installed prefix"
     echo "        [--exec-prefix]   Kerberos installed exec_prefix"
+    echo "        [--defccname]     Show built-in default ccache name"
+    echo "        [--defktname]     Show built-in default keytab name"
+    echo "        [--defcktname]    Show built-in default client keytab name"
     echo "        [--cflags]        Compile time CFLAGS"
     echo "        [--libs]          List libraries required to link [LIBRARIES]"
     echo "Libraries:"
@@ -161,6 +179,21 @@ if test -n "$do_exec_prefix"; then
     $all_exit
 fi
 
+if test -n "$do_defccname"; then
+    echo "$DEFCCNAME"
+    $all_exit
+fi
+
+if test -n "$do_defktname"; then
+    echo "$DEFKTNAME"
+    $all_exit
+fi
+
+if test -n "$do_defcktname"; then
+    echo "$DEFCKTNAME"
+    $all_exit
+fi
+
 if test -n "$do_cflags"; then
     if test x"$includedir" != x"/usr/include" ; then
         echo "-I${includedir}"
diff --git a/src/lib/krb5/libkrb5.exports b/src/lib/krb5/libkrb5.exports
index 28049e7..3f2716a 100644
--- a/src/lib/krb5/libkrb5.exports
+++ b/src/lib/krb5/libkrb5.exports
@@ -242,7 +242,6 @@ krb5_decode_ticket
 krb5_decrypt_tkt_part
 krb5_default_pwd_prompt1
 krb5_default_pwd_prompt2
-krb5_defkeyname
 krb5_deltat_to_string
 krb5_do_preauth
 krb5_encode_authdata_container
diff --git a/src/lib/krb5/os/ccdefname.c b/src/lib/krb5/os/ccdefname.c
index cb9bb7c..a2d549d 100644
--- a/src/lib/krb5/os/ccdefname.c
+++ b/src/lib/krb5/os/ccdefname.c
@@ -226,10 +226,8 @@ get_from_os(krb5_context context)
 static void
 get_from_os(krb5_context context)
 {
-    char *name;
-
-    if (asprintf(&name, "FILE:/tmp/krb5cc_%ld", (long)getuid()) >= 0)
-        context->os_context.default_ccname = name;
+    (void)k5_expand_path_tokens(context, DEFCCNAME,
+                                &context->os_context.default_ccname);
 }
 
 #endif /* not _WIN32 */
diff --git a/src/lib/krb5/os/ktdefname.c b/src/lib/krb5/os/ktdefname.c
index 93b28dd..ffbd14d 100644
--- a/src/lib/krb5/os/ktdefname.c
+++ b/src/lib/krb5/os/ktdefname.c
@@ -29,8 +29,6 @@
 #include "k5-int.h"
 #include "os-proto.h"
 
-extern char *krb5_defkeyname;
-
 /* this is a an exceedinly gross thing. */
 char *krb5_overridekeyname = NULL;
 
@@ -54,7 +52,7 @@ kt_default_name(krb5_context context, char **name_out)
         profile_release_string(str);
         return ret;
     } else {
-        return k5_expand_path_tokens(context, krb5_defkeyname, name_out);
+        return k5_expand_path_tokens(context, DEFKTNAME, name_out);
     }
 }
 
@@ -75,8 +73,7 @@ k5_kt_client_default_name(krb5_context context, char **name_out)
         profile_release_string(str);
         return ret;
     } else {
-        return k5_expand_path_tokens(context, DEFAULT_CLIENT_KEYTAB_NAME,
-                                     name_out);
+        return k5_expand_path_tokens(context, DEFCKTNAME, name_out);
     }
 }
 
diff --git a/src/lib/krb5/os/osconfig.c b/src/lib/krb5/os/osconfig.c
index b6013c5..1f6be6f 100644
--- a/src/lib/krb5/os/osconfig.c
+++ b/src/lib/krb5/os/osconfig.c
@@ -35,8 +35,6 @@
 
 #include "k5-int.h"
 
-char *krb5_defkeyname  = DEFAULT_KEYTAB_NAME;
-
 unsigned int krb5_max_dgram_size = MAX_DGRAM_SIZE;
 
 const char *krb5_default_pwd_prompt1 = DEFAULT_PWD_STRING1;
diff --git a/src/man/Makefile.in b/src/man/Makefile.in
index b6f38c9..15a4d53 100644
--- a/src/man/Makefile.in
+++ b/src/man/Makefile.in
@@ -6,6 +6,9 @@ GROFF=@GROFF@
 GROFF_MAN=$(GROFF) -mtty-char -Tascii -mandoc -c
 localstatedir=@localstatedir@
 sysconfdir=@sysconfdir@
+DEFCCNAME=@DEFCCNAME@
+DEFKTNAME=@DEFKTNAME@
+DEFCKTNAME=@DEFCKTNAME@
 
 MANSUBS=k5identity.sub k5login.sub k5srvutil.sub kadmin.sub kadmind.sub \
 	kdb5_ldap_util.sub kdb5_util.sub kdc.conf.sub kdestroy.sub kinit.sub \
@@ -35,7 +38,10 @@ rstman:
 	    -e 's|@SBINDIR@|$(SERVER_BINDIR)|g' \
 	    -e 's|@LIBDIR@|$(KRB5_LIBDIR)|g' \
 	    -e 's|@LOCALSTATEDIR@|$(localstatedir)|g' \
-	    -e 's|@SYSCONFDIR@|$(sysconfdir)|g' $? > $@
+	    -e 's|@SYSCONFDIR@|$(sysconfdir)|g' \
+	    -e 's|@CCNAME@|$(DEFCCNAME)|g' \
+	    -e 's|@KTNAME@|$(DEFKTNAME)|g' \
+	    -e 's|@CKTNAME@|$(DEFCKTNAME)|g' $? > $@
 
 all:: $(MANSUBS)
 


More information about the cvs-krb5 mailing list