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

Version Path
tiny_tds-0.6.2-x86-mingw32 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.2-x64-mingw32 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.2 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.1-x86-mingw32 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.1 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.0 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.0-x86-mingw32 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.0.rc1-x86-mingw32 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.6.0.rc1 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.5.2.rc4-x86-mingw32 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.5.2.rc4 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.5.2.rc3 ext/patch/sspi_w_kerberos.diff
tiny_tds-0.5.2.rc3-x86-mingw32 ext/patch/sspi_w_kerberos.diff