diff options
| -rw-r--r-- | src/lib/krb5/os/ChangeLog | 5 | ||||
| -rw-r--r-- | src/lib/krb5/os/ktdefname.c | 15 |
2 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog index bec11f9fb..ce3b729af 100644 --- a/src/lib/krb5/os/ChangeLog +++ b/src/lib/krb5/os/ChangeLog @@ -1,3 +1,8 @@ +Sat Feb 24 18:57:56 1996 Theodore Y. Ts'o <tytso@dcl> + + * ktdefname.c (krb5_kt_default_name): Under Windows, assume that + the keytab file is located in the Windows directory. + Thu Feb 22 13:16:16 1996 Ezra Peisach <epeisach@kangaroo.mit.edu> * Makefile.in (check-unix): Set LD_LIBRARY_PATH for kdb5_anadd. diff --git a/src/lib/krb5/os/ktdefname.c b/src/lib/krb5/os/ktdefname.c index 5db076f5a..b431b945c 100644 --- a/src/lib/krb5/os/ktdefname.c +++ b/src/lib/krb5/os/ktdefname.c @@ -24,6 +24,8 @@ * Return default keytab file name. */ +#define NEED_WINDOWS + #include "k5-int.h" extern char *krb5_defkeyname; @@ -42,9 +44,22 @@ krb5_kt_default_name(context, name, namesize) if (strlen(cp) >= (size_t) namesize) return KRB5_CONFIG_NOTENUFSPACE; } else { +#if defined (_WINDOWS) || defined(WIN32) + { + char defname[160]; + int len; + + len= GetWindowsDirectory( defname, sizeof(defname)-2 ); + defname[len]= '\0'; + if ( (len + strlen(krb5_defkeyname) + 1) > namesize ) + return KRB5_CONFIG_NOTENUFSPACE; + sprintf(name, krb5_defkeyname, defname); + } +#else strncpy(name, krb5_defkeyname, namesize); if ((size_t) namesize < strlen(krb5_defkeyname)) return KRB5_CONFIG_NOTENUFSPACE; +#endif } return 0; } |
