From: Jeffrey Altman Date: Tue, 26 Apr 2011 01:41:17 +0000 (-0400) Subject: Windows: afskfw return error if krb5 not loaded X-Git-Tag: upstream/1.6.0.pre5^2~21 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=ac0797822c976b2b3c239ffcbcd7713897743eaa;p=packages%2Fo%2Fopenafs.git 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: I90c106ff6bb4463c3d55d5ac1bbf225464c80c0d Reviewed-on: http://gerrit.openafs.org/4560 Reviewed-by: Derrick Brashear Reviewed-by: Jeffrey Altman Tested-by: BuildBot Reviewed-on: http://gerrit.openafs.org/4568 --- diff --git a/src/WINNT/afsd/afskfw.c b/src/WINNT/afsd/afskfw.c index d2b3e9a59..07091adf2 100644 --- a/src/WINNT/afsd/afskfw.c +++ b/src/WINNT/afsd/afskfw.c @@ -1007,7 +1007,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; @@ -1360,7 +1360,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 "); @@ -1546,7 +1546,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: "); @@ -1613,7 +1613,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: "); @@ -1672,7 +1672,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; @@ -1776,7 +1776,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:"); @@ -1931,7 +1931,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)); @@ -2050,7 +2050,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)); @@ -2210,7 +2210,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) { @@ -2880,7 +2880,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)); @@ -3676,7 +3676,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;