• Home
  • Raw
  • Download

Lines Matching refs:BACKEND

148 #define BACKEND connssl->backend  macro
454 BACKEND->use_alpn = conn->bits.tls_enable_alpn && in schannel_connect_step1()
460 BACKEND->use_alpn = false; in schannel_connect_step1()
467 BACKEND->use_manual_cred_validation = true; in schannel_connect_step1()
476 BACKEND->use_manual_cred_validation = true; in schannel_connect_step1()
485 BACKEND->use_manual_cred_validation = false; in schannel_connect_step1()
494 BACKEND->cred = NULL; in schannel_connect_step1()
500 BACKEND->cred = old_cred; in schannel_connect_step1()
504 BACKEND->cred->refcount++; in schannel_connect_step1()
507 BACKEND->cred->refcount)); in schannel_connect_step1()
512 if(!BACKEND->cred) { in schannel_connect_step1()
519 if(BACKEND->use_manual_cred_validation) in schannel_connect_step1()
665 BACKEND->cred = (struct curl_schannel_cred *) in schannel_connect_step1()
667 if(!BACKEND->cred) { in schannel_connect_step1()
675 BACKEND->cred->refcount = 1; in schannel_connect_step1()
683 &BACKEND->cred->cred_handle, in schannel_connect_step1()
684 &BACKEND->cred->time_stamp); in schannel_connect_step1()
693 Curl_safefree(BACKEND->cred); in schannel_connect_step1()
718 if(BACKEND->use_alpn) { in schannel_connect_step1()
775 BACKEND->req_flags = ISC_REQ_SEQUENCE_DETECT | ISC_REQ_REPLAY_DETECT | in schannel_connect_step1()
780 BACKEND->ctxt = (struct curl_schannel_ctxt *) in schannel_connect_step1()
782 if(!BACKEND->ctxt) { in schannel_connect_step1()
799 &BACKEND->cred->cred_handle, NULL, host_name, BACKEND->req_flags, 0, 0, in schannel_connect_step1()
800 (BACKEND->use_alpn ? &inbuf_desc : NULL), in schannel_connect_step1()
801 0, &BACKEND->ctxt->ctxt_handle, in schannel_connect_step1()
802 &outbuf_desc, &BACKEND->ret_flags, &BACKEND->ctxt->time_stamp); in schannel_connect_step1()
808 Curl_safefree(BACKEND->ctxt); in schannel_connect_step1()
852 BACKEND->recv_unrecoverable_err = CURLE_OK; in schannel_connect_step1()
853 BACKEND->recv_sspi_close_notify = false; in schannel_connect_step1()
854 BACKEND->recv_connection_closed = false; in schannel_connect_step1()
855 BACKEND->encdata_is_incomplete = false; in schannel_connect_step1()
890 if(!BACKEND->cred || !BACKEND->ctxt) in schannel_connect_step2()
894 if(BACKEND->decdata_buffer == NULL) { in schannel_connect_step2()
895 BACKEND->decdata_offset = 0; in schannel_connect_step2()
896 BACKEND->decdata_length = CURL_SCHANNEL_BUFFER_INIT_SIZE; in schannel_connect_step2()
897 BACKEND->decdata_buffer = malloc(BACKEND->decdata_length); in schannel_connect_step2()
898 if(BACKEND->decdata_buffer == NULL) { in schannel_connect_step2()
905 if(BACKEND->encdata_buffer == NULL) { in schannel_connect_step2()
906 BACKEND->encdata_is_incomplete = false; in schannel_connect_step2()
907 BACKEND->encdata_offset = 0; in schannel_connect_step2()
908 BACKEND->encdata_length = CURL_SCHANNEL_BUFFER_INIT_SIZE; in schannel_connect_step2()
909 BACKEND->encdata_buffer = malloc(BACKEND->encdata_length); in schannel_connect_step2()
910 if(BACKEND->encdata_buffer == NULL) { in schannel_connect_step2()
917 if(BACKEND->encdata_length - BACKEND->encdata_offset < in schannel_connect_step2()
920 reallocated_length = BACKEND->encdata_offset + in schannel_connect_step2()
922 reallocated_buffer = realloc(BACKEND->encdata_buffer, in schannel_connect_step2()
930 BACKEND->encdata_buffer = reallocated_buffer; in schannel_connect_step2()
931 BACKEND->encdata_length = reallocated_length; in schannel_connect_step2()
939 (char *) (BACKEND->encdata_buffer + in schannel_connect_step2()
940 BACKEND->encdata_offset), in schannel_connect_step2()
941 BACKEND->encdata_length - in schannel_connect_step2()
942 BACKEND->encdata_offset, in schannel_connect_step2()
958 BACKEND->encdata_offset += nread; in schannel_connect_step2()
959 BACKEND->encdata_is_incomplete = false; in schannel_connect_step2()
965 BACKEND->encdata_offset, BACKEND->encdata_length)); in schannel_connect_step2()
968 InitSecBuffer(&inbuf[0], SECBUFFER_TOKEN, malloc(BACKEND->encdata_offset), in schannel_connect_step2()
969 curlx_uztoul(BACKEND->encdata_offset)); in schannel_connect_step2()
985 memcpy(inbuf[0].pvBuffer, BACKEND->encdata_buffer, in schannel_connect_step2()
986 BACKEND->encdata_offset); in schannel_connect_step2()
995 &BACKEND->cred->cred_handle, &BACKEND->ctxt->ctxt_handle, in schannel_connect_step2()
996 host_name, BACKEND->req_flags, 0, 0, &inbuf_desc, 0, NULL, in schannel_connect_step2()
997 &outbuf_desc, &BACKEND->ret_flags, &BACKEND->ctxt->time_stamp); in schannel_connect_step2()
1006 BACKEND->encdata_is_incomplete = true; in schannel_connect_step2()
1017 !(BACKEND->req_flags & ISC_REQ_USE_SUPPLIED_CREDS)) { in schannel_connect_step2()
1018 BACKEND->req_flags |= ISC_REQ_USE_SUPPLIED_CREDS; in schannel_connect_step2()
1096 if(BACKEND->encdata_offset > inbuf[1].cbBuffer) { in schannel_connect_step2()
1097 memmove(BACKEND->encdata_buffer, in schannel_connect_step2()
1098 (BACKEND->encdata_buffer + BACKEND->encdata_offset) - in schannel_connect_step2()
1100 BACKEND->encdata_offset = inbuf[1].cbBuffer; in schannel_connect_step2()
1108 BACKEND->encdata_offset = 0; in schannel_connect_step2()
1137 if(conn->ssl_config.verifypeer && BACKEND->use_manual_cred_validation) { in schannel_connect_step2()
1222 if(!BACKEND->cred) in schannel_connect_step3()
1226 if(BACKEND->ret_flags != BACKEND->req_flags) { in schannel_connect_step3()
1227 if(!(BACKEND->ret_flags & ISC_RET_SEQUENCE_DETECT)) in schannel_connect_step3()
1229 if(!(BACKEND->ret_flags & ISC_RET_REPLAY_DETECT)) in schannel_connect_step3()
1231 if(!(BACKEND->ret_flags & ISC_RET_CONFIDENTIALITY)) in schannel_connect_step3()
1233 if(!(BACKEND->ret_flags & ISC_RET_ALLOCATED_MEMORY)) in schannel_connect_step3()
1235 if(!(BACKEND->ret_flags & ISC_RET_STREAM)) in schannel_connect_step3()
1241 if(BACKEND->use_alpn) { in schannel_connect_step3()
1242 sspi_status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle, in schannel_connect_step3()
1284 if(old_cred != BACKEND->cred) { in schannel_connect_step3()
1293 result = Curl_ssl_addsessionid(conn, (void *)BACKEND->cred, in schannel_connect_step3()
1303 BACKEND->cred->refcount++; in schannel_connect_step3()
1313 sspi_status = s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle, in schannel_connect_step3()
1449 conn->sslContext = &BACKEND->ctxt->ctxt_handle; in schannel_connect_common()
1477 if(BACKEND->stream_sizes.cbMaximumMessage == 0) { in schannel_send()
1479 &BACKEND->ctxt->ctxt_handle, in schannel_send()
1481 &BACKEND->stream_sizes); in schannel_send()
1489 if(len > BACKEND->stream_sizes.cbMaximumMessage) { in schannel_send()
1490 len = BACKEND->stream_sizes.cbMaximumMessage; in schannel_send()
1494 data_len = BACKEND->stream_sizes.cbHeader + len + in schannel_send()
1495 BACKEND->stream_sizes.cbTrailer; in schannel_send()
1504 data, BACKEND->stream_sizes.cbHeader); in schannel_send()
1506 data + BACKEND->stream_sizes.cbHeader, curlx_uztoul(len)); in schannel_send()
1508 data + BACKEND->stream_sizes.cbHeader + len, in schannel_send()
1509 BACKEND->stream_sizes.cbTrailer); in schannel_send()
1517 sspi_status = s_pSecFn->EncryptMessage(&BACKEND->ctxt->ctxt_handle, 0, in schannel_send()
1639 if(len && len <= BACKEND->decdata_offset) { in schannel_recv()
1643 else if(BACKEND->recv_unrecoverable_err) { in schannel_recv()
1644 *err = BACKEND->recv_unrecoverable_err; in schannel_recv()
1648 else if(BACKEND->recv_sspi_close_notify) { in schannel_recv()
1660 else if(!BACKEND->recv_connection_closed) { in schannel_recv()
1662 size = BACKEND->encdata_length - BACKEND->encdata_offset; in schannel_recv()
1664 BACKEND->encdata_length < min_encdata_length) { in schannel_recv()
1665 reallocated_length = BACKEND->encdata_offset + in schannel_recv()
1670 reallocated_buffer = realloc(BACKEND->encdata_buffer, in schannel_recv()
1678 BACKEND->encdata_buffer = reallocated_buffer; in schannel_recv()
1679 BACKEND->encdata_length = reallocated_length; in schannel_recv()
1680 size = BACKEND->encdata_length - BACKEND->encdata_offset; in schannel_recv()
1682 BACKEND->encdata_length)); in schannel_recv()
1687 BACKEND->encdata_offset, BACKEND->encdata_length)); in schannel_recv()
1691 (char *)(BACKEND->encdata_buffer + in schannel_recv()
1692 BACKEND->encdata_offset), in schannel_recv()
1705 BACKEND->recv_connection_closed = true; in schannel_recv()
1709 BACKEND->encdata_offset += (size_t)nread; in schannel_recv()
1710 BACKEND->encdata_is_incomplete = false; in schannel_recv()
1717 BACKEND->encdata_offset, BACKEND->encdata_length)); in schannel_recv()
1720 while(BACKEND->encdata_offset > 0 && sspi_status == SEC_E_OK && in schannel_recv()
1721 (!len || BACKEND->decdata_offset < len || in schannel_recv()
1722 BACKEND->recv_connection_closed)) { in schannel_recv()
1724 InitSecBuffer(&inbuf[0], SECBUFFER_DATA, BACKEND->encdata_buffer, in schannel_recv()
1725 curlx_uztoul(BACKEND->encdata_offset)); in schannel_recv()
1735 sspi_status = s_pSecFn->DecryptMessage(&BACKEND->ctxt->ctxt_handle, in schannel_recv()
1751 if(BACKEND->decdata_length - BACKEND->decdata_offset < size || in schannel_recv()
1752 BACKEND->decdata_length < len) { in schannel_recv()
1754 reallocated_length = BACKEND->decdata_offset + size; in schannel_recv()
1759 reallocated_buffer = realloc(BACKEND->decdata_buffer, in schannel_recv()
1766 BACKEND->decdata_buffer = reallocated_buffer; in schannel_recv()
1767 BACKEND->decdata_length = reallocated_length; in schannel_recv()
1773 memcpy(BACKEND->decdata_buffer + BACKEND->decdata_offset, in schannel_recv()
1775 BACKEND->decdata_offset += size; in schannel_recv()
1781 BACKEND->decdata_offset, BACKEND->decdata_length)); in schannel_recv()
1792 if(BACKEND->encdata_offset > inbuf[3].cbBuffer) { in schannel_recv()
1795 memmove(BACKEND->encdata_buffer, in schannel_recv()
1796 (BACKEND->encdata_buffer + BACKEND->encdata_offset) - in schannel_recv()
1798 BACKEND->encdata_offset = inbuf[3].cbBuffer; in schannel_recv()
1803 BACKEND->encdata_offset, BACKEND->encdata_length)); in schannel_recv()
1807 BACKEND->encdata_offset = 0; in schannel_recv()
1817 if(BACKEND->encdata_offset) { in schannel_recv()
1841 BACKEND->recv_sspi_close_notify = true; in schannel_recv()
1842 if(!BACKEND->recv_connection_closed) { in schannel_recv()
1843 BACKEND->recv_connection_closed = true; in schannel_recv()
1850 BACKEND->encdata_is_incomplete = true; in schannel_recv()
1867 BACKEND->encdata_offset, BACKEND->encdata_length)); in schannel_recv()
1871 BACKEND->decdata_offset, BACKEND->decdata_length)); in schannel_recv()
1885 if(len && !BACKEND->decdata_offset && BACKEND->recv_connection_closed && in schannel_recv()
1886 !BACKEND->recv_sspi_close_notify) { in schannel_recv()
1891 BACKEND->recv_sspi_close_notify = true; in schannel_recv()
1900 BACKEND->recv_unrecoverable_err = *err; in schannel_recv()
1902 size = len < BACKEND->decdata_offset ? len : BACKEND->decdata_offset; in schannel_recv()
1904 memcpy(buf, BACKEND->decdata_buffer, size); in schannel_recv()
1905 memmove(BACKEND->decdata_buffer, BACKEND->decdata_buffer + size, in schannel_recv()
1906 BACKEND->decdata_offset - size); in schannel_recv()
1907 BACKEND->decdata_offset -= size; in schannel_recv()
1911 BACKEND->decdata_offset, BACKEND->decdata_length)); in schannel_recv()
1916 if(!*err && !BACKEND->recv_connection_closed) in schannel_recv()
1954 return (BACKEND->decdata_offset > 0 || in Curl_schannel_data_pending()
1955 (BACKEND->encdata_offset > 0 && !BACKEND->encdata_is_incomplete)); in Curl_schannel_data_pending()
1994 if(BACKEND->cred && BACKEND->ctxt) { in Curl_schannel_shutdown()
2007 sspi_status = s_pSecFn->ApplyControlToken(&BACKEND->ctxt->ctxt_handle, in Curl_schannel_shutdown()
2025 &BACKEND->cred->cred_handle, in Curl_schannel_shutdown()
2026 &BACKEND->ctxt->ctxt_handle, in Curl_schannel_shutdown()
2028 BACKEND->req_flags, in Curl_schannel_shutdown()
2033 &BACKEND->ctxt->ctxt_handle, in Curl_schannel_shutdown()
2035 &BACKEND->ret_flags, in Curl_schannel_shutdown()
2036 &BACKEND->ctxt->time_stamp); in Curl_schannel_shutdown()
2055 if(BACKEND->ctxt) { in Curl_schannel_shutdown()
2057 s_pSecFn->DeleteSecurityContext(&BACKEND->ctxt->ctxt_handle); in Curl_schannel_shutdown()
2058 Curl_safefree(BACKEND->ctxt); in Curl_schannel_shutdown()
2062 if(BACKEND->cred) { in Curl_schannel_shutdown()
2069 Curl_schannel_session_free(BACKEND->cred); in Curl_schannel_shutdown()
2071 BACKEND->cred = NULL; in Curl_schannel_shutdown()
2075 if(BACKEND->encdata_buffer != NULL) { in Curl_schannel_shutdown()
2076 Curl_safefree(BACKEND->encdata_buffer); in Curl_schannel_shutdown()
2077 BACKEND->encdata_length = 0; in Curl_schannel_shutdown()
2078 BACKEND->encdata_offset = 0; in Curl_schannel_shutdown()
2079 BACKEND->encdata_is_incomplete = false; in Curl_schannel_shutdown()
2083 if(BACKEND->decdata_buffer != NULL) { in Curl_schannel_shutdown()
2084 Curl_safefree(BACKEND->decdata_buffer); in Curl_schannel_shutdown()
2085 BACKEND->decdata_length = 0; in Curl_schannel_shutdown()
2086 BACKEND->decdata_offset = 0; in Curl_schannel_shutdown()
2150 s_pSecFn->QueryContextAttributes(&BACKEND->ctxt->ctxt_handle, in pkp_pin_peer_pubkey()
2267 return &BACKEND->ctxt->ctxt_handle; in Curl_schannel_get_internals()