aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1996-11-13 21:05:00 +0000
committerTom Yu <tlyu@mit.edu>1996-11-13 21:05:00 +0000
commit81daff23ac65fdc3ce54f88151b934ce8e063fb3 (patch)
treef8f38b061d634d97d0bdc80d41d28d6de46436fb /src/lib/krb5
parent7d984070f857f571b2040ed9a5b7b1c20e0531e9 (diff)
downloadkrb5-81daff23ac65fdc3ce54f88151b934ce8e063fb3.zip
krb5-81daff23ac65fdc3ce54f88151b934ce8e063fb3.tar.gz
krb5-81daff23ac65fdc3ce54f88151b934ce8e063fb3.tar.bz2
revert kt_default_name changes; see ChangeLogs for details
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@9407 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5')
-rw-r--r--src/lib/krb5/krb/ChangeLog4
-rw-r--r--src/lib/krb5/krb/init_ctx.c3
-rw-r--r--src/lib/krb5/os/ChangeLog3
-rw-r--r--src/lib/krb5/os/ktdefname.c79
-rw-r--r--src/lib/krb5/os/osconfig.c2
5 files changed, 39 insertions, 52 deletions
diff --git a/src/lib/krb5/krb/ChangeLog b/src/lib/krb5/krb/ChangeLog
index a45b8a9..c702d0a 100644
--- a/src/lib/krb5/krb/ChangeLog
+++ b/src/lib/krb5/krb/ChangeLog
@@ -1,3 +1,7 @@
+Wed Nov 13 14:30:47 1996 Tom Yu <tlyu@mit.edu>
+
+ * init_ctx.c: Revert previous kt_default_name changes.
+
Tue Nov 12 22:07:33 1996 Tom Yu <tlyu@mit.edu>
* init_ctx.c (krb5_init_context): Oops. Initialize kt_default_name
diff --git a/src/lib/krb5/krb/init_ctx.c b/src/lib/krb5/krb/init_ctx.c
index d84d59d..19aaf66 100644
--- a/src/lib/krb5/krb/init_ctx.c
+++ b/src/lib/krb5/krb/init_ctx.c
@@ -68,7 +68,6 @@ krb5_init_context(context)
goto cleanup;
ctx->default_realm = 0;
- ctx->kt_default_name = 0;
profile_get_integer(ctx->profile, "libdefaults", "clockskew",
0, 5 * 60, &tmp);
ctx->clockskew = tmp;
@@ -155,8 +154,6 @@ krb5_free_context(ctx)
if (ctx->ser_ctx_count && ctx->ser_ctx)
free(ctx->ser_ctx);
- if (ctx->kt_default_name)
- free(ctx->kt_default_name);
ctx->magic = 0;
free(ctx);
}
diff --git a/src/lib/krb5/os/ChangeLog b/src/lib/krb5/os/ChangeLog
index 124935e..85a320d 100644
--- a/src/lib/krb5/os/ChangeLog
+++ b/src/lib/krb5/os/ChangeLog
@@ -1,5 +1,8 @@
Wed Nov 13 02:53:31 1996 Tom Yu <tlyu@mit.edu>
+ * ktdefname.c, osconfig.c: Revert previous kt_default_name
+ changes.
+
* ktdefname.c (krb5_kt_default_name): Fix a few memory-leak type
problems in previous changes.
diff --git a/src/lib/krb5/os/ktdefname.c b/src/lib/krb5/os/ktdefname.c
index ef5391a..29eb54f 100644
--- a/src/lib/krb5/os/ktdefname.c
+++ b/src/lib/krb5/os/ktdefname.c
@@ -28,6 +28,8 @@
#include "k5-int.h"
+extern char *krb5_defkeyname;
+
krb5_error_code
krb5_kt_default_name(context, name, namesize)
krb5_context context;
@@ -38,58 +40,37 @@ krb5_kt_default_name(context, name, namesize)
krb5_error_code code;
char *retval;
- if (context->kt_default_name == NULL) {
- if ((context->profile_secure == FALSE) &&
- (cp = getenv("KRB5_KTNAME"))) {
- if ((context->kt_default_name = malloc(strlen(cp) + 1)) == NULL)
- return ENOMEM;
- strcpy(context->kt_default_name, cp);
- } else if (((code = profile_get_string(context->profile,
- "libdefaults",
- "default_keytab_name", NULL,
- NULL, &cp)) == 0) && cp){
- context->kt_default_name = cp;
- } else {
+ if ((context->profile_secure == FALSE) &&
+ (cp = getenv("KRB5_KTNAME"))) {
+ strncpy(name, cp, namesize);
+ if (strlen(cp) >= (size_t) namesize)
+ return KRB5_CONFIG_NOTENUFSPACE;
+ } else if (((code = profile_get_string(context->profile,
+ "libdefaults",
+ "default_keytab_name", NULL,
+ NULL, &retval)) == 0) &&
+ retval) {
+ strncpy(name, retval, namesize);
+ if ((size_t) namesize < strlen(retval))
+ return KRB5_CONFIG_NOTENUFSPACE;
+ } else {
#if defined (_MSDOS) || defined(_WIN32)
- {
- char defname[160];
- int len;
-
- len= GetWindowsDirectory( defname, sizeof(defname)-2 );
- defname[len]= '\0';
- if ((cp = malloc(strlen(DEFAULT_KEYTAB_NAME) + 1 + len))
- == NULL)
- return ENOMEM;
- sprintf(cp, DEFAULT_KEYTAB_NAME, defname);
- context->kt_default_name = cp;
- }
+ {
+ 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
- if ((cp = malloc(strlen(DEFAULT_KEYTAB_NAME) + 1)) == NULL)
- return ENOMEM;
- strcpy(cp, DEFAULT_KEYTAB_NAME);
- context->kt_default_name = cp;
+ strncpy(name, krb5_defkeyname, namesize);
+ if ((size_t) namesize < strlen(krb5_defkeyname))
+ return KRB5_CONFIG_NOTENUFSPACE;
#endif
- }
}
- strncpy(name, context->kt_default_name, namesize);
- if ((size_t) namesize < strlen(context->kt_default_name))
- return KRB5_CONFIG_NOTENUFSPACE;
return 0;
}
-
-krb5_error_code
-krb5_kt_set_default_name(context, name)
- krb5_context context;
- char *name;
-{
- char *cp;
- if ((cp = malloc(strlen(name) + 1)) == NULL)
- return ENOMEM;
- else {
- strcpy(cp, name);
- if (context->kt_default_name)
- free(context->kt_default_name);
- context->kt_default_name = cp;
- return 0;
- }
-}
+
diff --git a/src/lib/krb5/os/osconfig.c b/src/lib/krb5/os/osconfig.c
index 568ed02..8403aa3 100644
--- a/src/lib/krb5/os/osconfig.c
+++ b/src/lib/krb5/os/osconfig.c
@@ -26,6 +26,8 @@
#include "k5-int.h"
+char *krb5_defkeyname = DEFAULT_KEYTAB_NAME;
+
int krb5_max_dgram_size = MAX_DGRAM_SIZE;
int krb5_max_skdc_timeout = MAX_SKDC_TIMEOUT;
int krb5_skdc_timeout_shift = SKDC_TIMEOUT_SHIFT;