diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/krb5/os/init_os_ctx.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/src/lib/krb5/os/init_os_ctx.c b/src/lib/krb5/os/init_os_ctx.c index 668336c2b..edfbb5dc3 100644 --- a/src/lib/krb5/os/init_os_ctx.c +++ b/src/lib/krb5/os/init_os_ctx.c @@ -202,7 +202,7 @@ os_get_default_config_files(pfiles, secure) #ifdef macintosh files = malloc(3 * sizeof(FSSpec)); if (files != 0) { - OSErr err = GetMacProfileFileSpec(&(files [0]), "\pkrb Configuration"); + OSErr err = GetMacProfileFileSpec(&(files [0]), "\pKerberos5 Configuration"); if (err == noErr) { err = GetMacProfileFileSpec( &(files [1]), "\pkrb5.ini"); } @@ -391,6 +391,35 @@ krb5_os_init_context(ctx) return retval; } +krb5_error_code +krb5_get_profile (ctx, profile) + krb5_context ctx; + profile_t* profile; +{ + krb5_error_code retval = 0; + profile_filespec_t *files = 0; + + retval = os_get_default_config_files(&files, ctx->profile_secure); + + if (!retval) + retval = profile_init(files, profile); + + if (files) + free_filespecs(files); + + if (retval == ENOENT) + return KRB5_CONFIG_CANTOPEN; + + if ((retval == PROF_SECTION_NOTOP) || + (retval == PROF_SECTION_SYNTAX) || + (retval == PROF_RELATION_SYNTAX) || + (retval == PROF_EXTRA_CBRACE) || + (retval == PROF_MISSING_OBRACE)) + return KRB5_CONFIG_BADFORMAT; + + return retval; +} + #ifndef macintosh krb5_error_code |
