From 8836c7ca6ab7ac4915a0282ad840bb45b8785906 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 25 Apr 2011 21:41:17 -0400 Subject: [PATCH] Windows: afskfw return error if krb5 not loaded If the Kerberos v5 library cannot be loaded (pkrb5_init_context equal to NULL) return a reasonable error code instead of returning success and doing nothing. Change-Id: I8f77b51089d8c2a147fc9edc575dc92cd254a876 Reviewed-on: http://gerrit.openafs.org/4560 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot --- src/WINNT/afsd/afskfw.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/WINNT/afsd/afskfw.c b/src/WINNT/afsd/afskfw.c index bd68e0a03..9633e78f4 100644 --- a/src/WINNT/afsd/afskfw.c +++ b/src/WINNT/afsd/afskfw.c @@ -1008,7 +1008,7 @@ KFW_get_ccache(krb5_context alt_ctx, krb5_principal principal, krb5_ccache * cc) krb5_error_code code; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if ( alt_ctx ) { ctx = alt_ctx; @@ -1361,7 +1361,7 @@ KFW_AFS_get_cred( char * username, char * dot; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if ( IsDebuggerPresent() ) { OutputDebugString("KFW_AFS_get_cred for token "); @@ -1547,7 +1547,7 @@ KFW_AFS_destroy_tickets_for_cell(char * cell) char ** principals = NULL; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if ( IsDebuggerPresent() ) { OutputDebugString("KFW_AFS_destroy_tickets_for_cell: "); @@ -1614,7 +1614,7 @@ KFW_AFS_destroy_tickets_for_principal(char * user) krb5_ccache cc = NULL; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if ( IsDebuggerPresent() ) { OutputDebugString("KFW_AFS_destroy_tickets_for_user: "); @@ -1673,7 +1673,7 @@ KFW_AFS_renew_expiring_tokens(void) struct afsconf_cell cellconfig; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if ( pcc_next == NULL ) // nothing to do return 0; @@ -1777,7 +1777,7 @@ KFW_AFS_renew_token_for_cell(char * cell) char ** principals = NULL; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if ( IsDebuggerPresent() ) { OutputDebugString("KFW_AFS_renew_token_for_cell:"); @@ -1932,7 +1932,7 @@ KFW_renew(krb5_context alt_ctx, krb5_ccache alt_cc) krb5_data *realm = NULL; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; memset(&my_creds, 0, sizeof(krb5_creds)); @@ -2051,7 +2051,7 @@ KFW_kinit( krb5_context alt_ctx, int i = 0, addr_count = 0; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; pkrb5_get_init_creds_opt_init(&options); memset(&my_creds, 0, sizeof(my_creds)); @@ -2211,7 +2211,7 @@ KFW_kdestroy(krb5_context alt_ctx, krb5_ccache alt_cc) krb5_error_code code; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; if (alt_ctx) { @@ -2881,7 +2881,7 @@ KFW_AFS_klog( } if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; memset(&ak_cellconfig, 0, sizeof(ak_cellconfig)); memset(RealmName, '\0', sizeof(RealmName)); @@ -3677,7 +3677,7 @@ BOOL KFW_probe_kdc(struct afsconf_cell * cellconfig) BOOL serverReachable = 0; if (!pkrb5_init_context) - return 0; + return KRB5_CONFIG_CANTOPEN; code = pkrb5_init_context(&ctx); if (code) goto cleanup; -- 2.39.5