Sha256: 25f2ea15f561992e10193af8c63a3be94c5c1d57cfd83d6d0f85bd119c78ab12
Contents?: true
Size: 979 Bytes
Versions: 13
Compression:
Stored size: 979 Bytes
Contents
--- a/src/tds/sspi.c +++ b/src/tds/sspi.c @@ -172,8 +172,19 @@ tds_sspi_handle_next(TDSSOCKET * tds, struct tds_authentication * tds_auth, size free(auth_buf); - if (status != SEC_E_OK) + switch (status) { + case SEC_I_COMPLETE_AND_CONTINUE: + sec_fn->CompleteAuthToken(&auth->cred_ctx, &out_desc); + break; + + case SEC_I_CONTINUE_NEEDED: + case SEC_E_OK: + break; + + default: return TDS_FAIL; + } + if (out_buf.cbBuffer == 0) return TDS_SUCCEED; @@ -275,9 +286,16 @@ tds_sspi_get_auth(TDSSOCKET * tds) &auth->cred_ctx, &desc, &attrs, &ts); - if (status == SEC_I_COMPLETE_AND_CONTINUE || status == SEC_I_CONTINUE_NEEDED) { + switch (status) { + case SEC_I_COMPLETE_AND_CONTINUE: sec_fn->CompleteAuthToken(&auth->cred_ctx, &desc); - } else if(status != SEC_E_OK) { + break; + + case SEC_I_CONTINUE_NEEDED: + case SEC_E_OK: + break; + + default: free(auth->sname); free(auth->tds_auth.packet); sec_fn->FreeCredentialsHandle(&auth->cred);
Version data entries
13 entries across 13 versions & 1 rubygems