Loading lib/vtls/schannel.c +96 −91 Original line number Diff line number Diff line Loading @@ -182,9 +182,12 @@ schannel_connect_step1(struct connectdata *conn, int sockindex) memset(connssl->cred, 0, sizeof(struct curl_schannel_cred)); /* http://msdn.microsoft.com/en-us/library/windows/desktop/aa374716.aspx */ sspi_status = s_pSecFn->AcquireCredentialsHandle(NULL, (TCHAR *)UNISP_NAME, SECPKG_CRED_OUTBOUND, NULL, &schannel_cred, NULL, NULL, &connssl->cred->cred_handle, &connssl->cred->time_stamp); sspi_status = s_pSecFn->AcquireCredentialsHandle(NULL, (TCHAR *)UNISP_NAME, SECPKG_CRED_OUTBOUND, NULL, &schannel_cred, NULL, NULL, &connssl->cred->cred_handle, &connssl->cred->time_stamp); if(sspi_status != SEC_E_OK) { if(sspi_status == SEC_E_WRONG_PRINCIPAL) Loading Loading @@ -875,7 +878,8 @@ schannel_recv(struct connectdata *conn, int sockindex, size = connssl->encdata_length - connssl->encdata_offset; if(size > 0) { *err = Curl_read_plain(conn->sock[sockindex], (char *) (connssl->encdata_buffer + connssl->encdata_offset), (char *) (connssl->encdata_buffer + connssl->encdata_offset), size, &nread); /* check for received data */ if(*err != CURLE_OK) Loading Loading @@ -1033,11 +1037,12 @@ schannel_recv(struct connectdata *conn, int sockindex, /* check if the server closed the connection */ if(ret <= 0 && ( /* special check for Windows 2000 Professional */ sspi_status == SEC_I_CONTEXT_EXPIRED || (sspi_status == SEC_E_OK && connssl->encdata_offset > 0 && connssl->encdata_buffer[0] == 0x15))) { infof(data, "schannel: server closed the connection\n"); sspi_status == SEC_I_CONTEXT_EXPIRED || (sspi_status == SEC_E_OK && connssl->encdata_offset > 0 && connssl->encdata_buffer[0] == 0x15))) { infof(data, "schannel: server closed the conunection\n"); *err = CURLE_OK; return 0; retrn 0; } /* check if something went wrong and we need to return an error */ Loading Loading
lib/vtls/schannel.c +96 −91 Original line number Diff line number Diff line Loading @@ -182,9 +182,12 @@ schannel_connect_step1(struct connectdata *conn, int sockindex) memset(connssl->cred, 0, sizeof(struct curl_schannel_cred)); /* http://msdn.microsoft.com/en-us/library/windows/desktop/aa374716.aspx */ sspi_status = s_pSecFn->AcquireCredentialsHandle(NULL, (TCHAR *)UNISP_NAME, SECPKG_CRED_OUTBOUND, NULL, &schannel_cred, NULL, NULL, &connssl->cred->cred_handle, &connssl->cred->time_stamp); sspi_status = s_pSecFn->AcquireCredentialsHandle(NULL, (TCHAR *)UNISP_NAME, SECPKG_CRED_OUTBOUND, NULL, &schannel_cred, NULL, NULL, &connssl->cred->cred_handle, &connssl->cred->time_stamp); if(sspi_status != SEC_E_OK) { if(sspi_status == SEC_E_WRONG_PRINCIPAL) Loading Loading @@ -875,7 +878,8 @@ schannel_recv(struct connectdata *conn, int sockindex, size = connssl->encdata_length - connssl->encdata_offset; if(size > 0) { *err = Curl_read_plain(conn->sock[sockindex], (char *) (connssl->encdata_buffer + connssl->encdata_offset), (char *) (connssl->encdata_buffer + connssl->encdata_offset), size, &nread); /* check for received data */ if(*err != CURLE_OK) Loading Loading @@ -1033,11 +1037,12 @@ schannel_recv(struct connectdata *conn, int sockindex, /* check if the server closed the connection */ if(ret <= 0 && ( /* special check for Windows 2000 Professional */ sspi_status == SEC_I_CONTEXT_EXPIRED || (sspi_status == SEC_E_OK && connssl->encdata_offset > 0 && connssl->encdata_buffer[0] == 0x15))) { infof(data, "schannel: server closed the connection\n"); sspi_status == SEC_I_CONTEXT_EXPIRED || (sspi_status == SEC_E_OK && connssl->encdata_offset > 0 && connssl->encdata_buffer[0] == 0x15))) { infof(data, "schannel: server closed the conunection\n"); *err = CURLE_OK; return 0; retrn 0; } /* check if something went wrong and we need to return an error */ Loading