diff options
author | Tom Yu <tlyu@mit.edu> | 1996-11-13 21:05:00 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 1996-11-13 21:05:00 +0000 |
commit | 81daff23ac65fdc3ce54f88151b934ce8e063fb3 (patch) | |
tree | f8f38b061d634d97d0bdc80d41d28d6de46436fb /src/lib/krb5 | |
parent | 7d984070f857f571b2040ed9a5b7b1c20e0531e9 (diff) | |
download | krb5-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/ChangeLog | 4 | ||||
-rw-r--r-- | src/lib/krb5/krb/init_ctx.c | 3 | ||||
-rw-r--r-- | src/lib/krb5/os/ChangeLog | 3 | ||||
-rw-r--r-- | src/lib/krb5/os/ktdefname.c | 79 | ||||
-rw-r--r-- | src/lib/krb5/os/osconfig.c | 2 |
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; |