• Home
  • Raw
  • Download

Lines Matching refs:backend

474   struct schannel_ssl_backend_data *backend =  in schannel_acquire_credential_handle()  local
475 (struct schannel_ssl_backend_data *)(connssl->backend); in schannel_acquire_credential_handle()
477 DEBUGASSERT(backend); in schannel_acquire_credential_handle()
481 if(backend->use_manual_cred_validation) in schannel_acquire_credential_handle()
750 backend->cred = (struct Curl_schannel_cred *) in schannel_acquire_credential_handle()
752 if(!backend->cred) { in schannel_acquire_credential_handle()
764 backend->cred->refcount = 1; in schannel_acquire_credential_handle()
770 backend->cred->client_cert_store = client_cert_store; in schannel_acquire_credential_handle()
808 &backend->cred->cred_handle, in schannel_acquire_credential_handle()
809 &backend->cred->time_stamp); in schannel_acquire_credential_handle()
848 &backend->cred->cred_handle, in schannel_acquire_credential_handle()
849 &backend->cred->time_stamp); in schannel_acquire_credential_handle()
861 Curl_safefree(backend->cred); in schannel_acquire_credential_handle()
883 struct schannel_ssl_backend_data *backend = in schannel_connect_step1() local
884 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_connect_step1()
898 DEBUGASSERT(backend); in schannel_connect_step1()
914 backend->use_alpn = connssl->alpn && in schannel_connect_step1()
920 backend->use_alpn = FALSE; in schannel_connect_step1()
927 backend->use_manual_cred_validation = TRUE; in schannel_connect_step1()
936 backend->use_manual_cred_validation = TRUE; in schannel_connect_step1()
945 backend->use_manual_cred_validation = FALSE; in schannel_connect_step1()
954 backend->cred = NULL; in schannel_connect_step1()
961 backend->cred = old_cred; in schannel_connect_step1()
965 backend->cred->refcount++; in schannel_connect_step1()
968 backend->cred->refcount)); in schannel_connect_step1()
973 if(!backend->cred) { in schannel_connect_step1()
984 backend->cred->sni_hostname = curlx_convert_UTF8_to_tchar(snihost); in schannel_connect_step1()
985 if(!backend->cred->sni_hostname) in schannel_connect_step1()
995 if(backend->use_alpn) { in schannel_connect_step1()
1052 backend->req_flags = ISC_REQ_SEQUENCE_DETECT | ISC_REQ_REPLAY_DETECT | in schannel_connect_step1()
1057 backend->req_flags |= ISC_REQ_USE_SUPPLIED_CREDS; in schannel_connect_step1()
1061 backend->ctxt = (struct Curl_schannel_ctxt *) in schannel_connect_step1()
1063 if(!backend->ctxt) { in schannel_connect_step1()
1076 &backend->cred->cred_handle, NULL, backend->cred->sni_hostname, in schannel_connect_step1()
1077 backend->req_flags, 0, 0, in schannel_connect_step1()
1078 (backend->use_alpn ? &inbuf_desc : NULL), in schannel_connect_step1()
1079 0, &backend->ctxt->ctxt_handle, in schannel_connect_step1()
1080 &outbuf_desc, &backend->ret_flags, &backend->ctxt->time_stamp); in schannel_connect_step1()
1084 Curl_safefree(backend->ctxt); in schannel_connect_step1()
1129 backend->recv_unrecoverable_err = CURLE_OK; in schannel_connect_step1()
1130 backend->recv_sspi_close_notify = FALSE; in schannel_connect_step1()
1131 backend->recv_connection_closed = FALSE; in schannel_connect_step1()
1132 backend->recv_renegotiating = FALSE; in schannel_connect_step1()
1133 backend->encdata_is_incomplete = FALSE; in schannel_connect_step1()
1145 struct schannel_ssl_backend_data *backend = in schannel_connect_step2() local
1146 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_connect_step2()
1160 DEBUGASSERT(backend); in schannel_connect_step2()
1169 if(!backend->cred || !backend->ctxt) in schannel_connect_step2()
1173 if(!backend->decdata_buffer) { in schannel_connect_step2()
1174 backend->decdata_offset = 0; in schannel_connect_step2()
1175 backend->decdata_length = CURL_SCHANNEL_BUFFER_INIT_SIZE; in schannel_connect_step2()
1176 backend->decdata_buffer = malloc(backend->decdata_length); in schannel_connect_step2()
1177 if(!backend->decdata_buffer) { in schannel_connect_step2()
1184 if(!backend->encdata_buffer) { in schannel_connect_step2()
1185 backend->encdata_is_incomplete = FALSE; in schannel_connect_step2()
1186 backend->encdata_offset = 0; in schannel_connect_step2()
1187 backend->encdata_length = CURL_SCHANNEL_BUFFER_INIT_SIZE; in schannel_connect_step2()
1188 backend->encdata_buffer = malloc(backend->encdata_length); in schannel_connect_step2()
1189 if(!backend->encdata_buffer) { in schannel_connect_step2()
1196 if(backend->encdata_length - backend->encdata_offset < in schannel_connect_step2()
1199 size_t reallocated_length = backend->encdata_offset + in schannel_connect_step2()
1201 reallocated_buffer = realloc(backend->encdata_buffer, in schannel_connect_step2()
1209 backend->encdata_buffer = reallocated_buffer; in schannel_connect_step2()
1210 backend->encdata_length = reallocated_length; in schannel_connect_step2()
1218 (char *) (backend->encdata_buffer + in schannel_connect_step2()
1219 backend->encdata_offset), in schannel_connect_step2()
1220 backend->encdata_length - in schannel_connect_step2()
1221 backend->encdata_offset, in schannel_connect_step2()
1236 backend->encdata_offset += nread; in schannel_connect_step2()
1237 backend->encdata_is_incomplete = FALSE; in schannel_connect_step2()
1243 backend->encdata_offset, backend->encdata_length)); in schannel_connect_step2()
1246 InitSecBuffer(&inbuf[0], SECBUFFER_TOKEN, malloc(backend->encdata_offset), in schannel_connect_step2()
1247 curlx_uztoul(backend->encdata_offset)); in schannel_connect_step2()
1263 memcpy(inbuf[0].pvBuffer, backend->encdata_buffer, in schannel_connect_step2()
1264 backend->encdata_offset); in schannel_connect_step2()
1267 &backend->cred->cred_handle, &backend->ctxt->ctxt_handle, in schannel_connect_step2()
1268 backend->cred->sni_hostname, backend->req_flags, in schannel_connect_step2()
1270 &outbuf_desc, &backend->ret_flags, &backend->ctxt->time_stamp); in schannel_connect_step2()
1277 backend->encdata_is_incomplete = TRUE; in schannel_connect_step2()
1288 !(backend->req_flags & ISC_REQ_USE_SUPPLIED_CREDS)) { in schannel_connect_step2()
1289 backend->req_flags |= ISC_REQ_USE_SUPPLIED_CREDS; in schannel_connect_step2()
1371 if(backend->encdata_offset > inbuf[1].cbBuffer) { in schannel_connect_step2()
1372 memmove(backend->encdata_buffer, in schannel_connect_step2()
1373 (backend->encdata_buffer + backend->encdata_offset) - in schannel_connect_step2()
1375 backend->encdata_offset = inbuf[1].cbBuffer; in schannel_connect_step2()
1383 backend->encdata_offset = 0; in schannel_connect_step2()
1416 if(conn_config->verifypeer && backend->use_manual_cred_validation) { in schannel_connect_step2()
1530 struct schannel_ssl_backend_data *backend = in schannel_connect_step3() local
1531 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_connect_step3()
1541 DEBUGASSERT(backend); in schannel_connect_step3()
1547 if(!backend->cred) in schannel_connect_step3()
1551 if(backend->ret_flags != backend->req_flags) { in schannel_connect_step3()
1552 if(!(backend->ret_flags & ISC_RET_SEQUENCE_DETECT)) in schannel_connect_step3()
1554 if(!(backend->ret_flags & ISC_RET_REPLAY_DETECT)) in schannel_connect_step3()
1556 if(!(backend->ret_flags & ISC_RET_CONFIDENTIALITY)) in schannel_connect_step3()
1558 if(!(backend->ret_flags & ISC_RET_ALLOCATED_MEMORY)) in schannel_connect_step3()
1560 if(!(backend->ret_flags & ISC_RET_STREAM)) in schannel_connect_step3()
1566 if(backend->use_alpn) { in schannel_connect_step3()
1568 Curl_pSecFn->QueryContextAttributes(&backend->ctxt->ctxt_handle, in schannel_connect_step3()
1583 if(backend->recv_renegotiating) { in schannel_connect_step3()
1594 if(!backend->recv_renegotiating) in schannel_connect_step3()
1604 backend->cred->refcount++; in schannel_connect_step3()
1606 backend->cred, schannel_session_free); in schannel_connect_step3()
1615 Curl_pSecFn->QueryContextAttributes(&backend->ctxt->ctxt_handle, in schannel_connect_step3()
1746 struct schannel_ssl_backend_data *backend = in schannel_connect_common() local
1747 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_connect_common()
1748 DEBUGASSERT(backend); in schannel_connect_common()
1749 cf->conn->sslContext = &backend->ctxt->ctxt_handle; in schannel_connect_common()
1776 struct schannel_ssl_backend_data *backend = in schannel_send() local
1777 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_send()
1779 DEBUGASSERT(backend); in schannel_send()
1782 if(backend->stream_sizes.cbMaximumMessage == 0) { in schannel_send()
1784 &backend->ctxt->ctxt_handle, in schannel_send()
1786 &backend->stream_sizes); in schannel_send()
1794 if(len > backend->stream_sizes.cbMaximumMessage) { in schannel_send()
1795 len = backend->stream_sizes.cbMaximumMessage; in schannel_send()
1799 data_len = backend->stream_sizes.cbHeader + len + in schannel_send()
1800 backend->stream_sizes.cbTrailer; in schannel_send()
1809 ptr, backend->stream_sizes.cbHeader); in schannel_send()
1811 ptr + backend->stream_sizes.cbHeader, curlx_uztoul(len)); in schannel_send()
1813 ptr + backend->stream_sizes.cbHeader + len, in schannel_send()
1814 backend->stream_sizes.cbTrailer); in schannel_send()
1822 sspi_status = Curl_pSecFn->EncryptMessage(&backend->ctxt->ctxt_handle, 0, in schannel_send()
1927 struct schannel_ssl_backend_data *backend = in schannel_recv() local
1928 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_recv()
1930 DEBUGASSERT(backend); in schannel_recv()
1951 if(len && len <= backend->decdata_offset) { in schannel_recv()
1956 else if(backend->recv_unrecoverable_err) { in schannel_recv()
1957 *err = backend->recv_unrecoverable_err; in schannel_recv()
1961 else if(backend->recv_sspi_close_notify) { in schannel_recv()
1970 else if(len && !backend->recv_connection_closed) { in schannel_recv()
1972 size = backend->encdata_length - backend->encdata_offset; in schannel_recv()
1974 backend->encdata_length < min_encdata_length) { in schannel_recv()
1975 reallocated_length = backend->encdata_offset + in schannel_recv()
1980 reallocated_buffer = realloc(backend->encdata_buffer, in schannel_recv()
1988 backend->encdata_buffer = reallocated_buffer; in schannel_recv()
1989 backend->encdata_length = reallocated_length; in schannel_recv()
1990 size = backend->encdata_length - backend->encdata_offset; in schannel_recv()
1992 backend->encdata_length)); in schannel_recv()
1997 backend->encdata_offset, backend->encdata_length)); in schannel_recv()
2001 (char *)(backend->encdata_buffer + in schannel_recv()
2002 backend->encdata_offset), in schannel_recv()
2014 backend->recv_connection_closed = TRUE; in schannel_recv()
2018 backend->encdata_offset += (size_t)nread; in schannel_recv()
2019 backend->encdata_is_incomplete = FALSE; in schannel_recv()
2025 backend->encdata_offset, backend->encdata_length)); in schannel_recv()
2028 while(backend->encdata_offset > 0 && sspi_status == SEC_E_OK && in schannel_recv()
2029 (!len || backend->decdata_offset < len || in schannel_recv()
2030 backend->recv_connection_closed)) { in schannel_recv()
2032 InitSecBuffer(&inbuf[0], SECBUFFER_DATA, backend->encdata_buffer, in schannel_recv()
2033 curlx_uztoul(backend->encdata_offset)); in schannel_recv()
2043 sspi_status = Curl_pSecFn->DecryptMessage(&backend->ctxt->ctxt_handle, in schannel_recv()
2059 if(backend->decdata_length - backend->decdata_offset < size || in schannel_recv()
2060 backend->decdata_length < len) { in schannel_recv()
2062 reallocated_length = backend->decdata_offset + size; in schannel_recv()
2067 reallocated_buffer = realloc(backend->decdata_buffer, in schannel_recv()
2074 backend->decdata_buffer = reallocated_buffer; in schannel_recv()
2075 backend->decdata_length = reallocated_length; in schannel_recv()
2081 memcpy(backend->decdata_buffer + backend->decdata_offset, in schannel_recv()
2083 backend->decdata_offset += size; in schannel_recv()
2089 backend->decdata_offset, backend->decdata_length)); in schannel_recv()
2100 if(backend->encdata_offset > inbuf[3].cbBuffer) { in schannel_recv()
2103 memmove(backend->encdata_buffer, in schannel_recv()
2104 (backend->encdata_buffer + backend->encdata_offset) - in schannel_recv()
2106 backend->encdata_offset = inbuf[3].cbBuffer; in schannel_recv()
2111 backend->encdata_offset, backend->encdata_length)); in schannel_recv()
2115 backend->encdata_offset = 0; in schannel_recv()
2131 backend->recv_renegotiating = TRUE; in schannel_recv()
2133 backend->recv_renegotiating = FALSE; in schannel_recv()
2147 backend->recv_sspi_close_notify = TRUE; in schannel_recv()
2148 if(!backend->recv_connection_closed) in schannel_recv()
2149 backend->recv_connection_closed = TRUE; in schannel_recv()
2161 backend->encdata_is_incomplete = TRUE; in schannel_recv()
2179 backend->encdata_offset, backend->encdata_length)); in schannel_recv()
2182 backend->decdata_offset, backend->decdata_length)); in schannel_recv()
2199 if(len && !backend->decdata_offset && backend->recv_connection_closed && in schannel_recv()
2200 !backend->recv_sspi_close_notify) { in schannel_recv()
2205 backend->recv_sspi_close_notify = TRUE; in schannel_recv()
2214 backend->recv_unrecoverable_err = *err; in schannel_recv()
2216 size = len < backend->decdata_offset ? len : backend->decdata_offset; in schannel_recv()
2218 memcpy(buf, backend->decdata_buffer, size); in schannel_recv()
2219 memmove(backend->decdata_buffer, backend->decdata_buffer + size, in schannel_recv()
2220 backend->decdata_offset - size); in schannel_recv()
2221 backend->decdata_offset -= size; in schannel_recv()
2225 backend->decdata_offset, backend->decdata_length)); in schannel_recv()
2230 if(!*err && !backend->recv_connection_closed) in schannel_recv()
2269 struct schannel_ssl_backend_data *backend = in schannel_data_pending() local
2270 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_data_pending()
2273 DEBUGASSERT(backend); in schannel_data_pending()
2275 if(backend->ctxt) /* SSL/TLS is in use */ in schannel_data_pending()
2276 return backend->decdata_offset > 0 || in schannel_data_pending()
2277 (backend->encdata_offset > 0 && !backend->encdata_is_incomplete) || in schannel_data_pending()
2278 backend->recv_connection_closed || in schannel_data_pending()
2279 backend->recv_sspi_close_notify || in schannel_data_pending()
2280 backend->recv_unrecoverable_err; in schannel_data_pending()
2296 struct schannel_ssl_backend_data *backend = in schannel_shutdown() local
2297 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_shutdown()
2306 DEBUGASSERT(backend); in schannel_shutdown()
2312 if(backend->ctxt) { in schannel_shutdown()
2317 if(!backend->ctxt || cf->shutdown) { in schannel_shutdown()
2322 if(backend->cred && backend->ctxt && !backend->sent_shutdown) { in schannel_shutdown()
2333 sspi_status = Curl_pSecFn->ApplyControlToken(&backend->ctxt->ctxt_handle, in schannel_shutdown()
2349 &backend->cred->cred_handle, in schannel_shutdown()
2350 &backend->ctxt->ctxt_handle, in schannel_shutdown()
2351 backend->cred->sni_hostname, in schannel_shutdown()
2352 backend->req_flags, in schannel_shutdown()
2357 &backend->ctxt->ctxt_handle, in schannel_shutdown()
2359 &backend->ret_flags, in schannel_shutdown()
2360 &backend->ctxt->time_stamp); in schannel_shutdown()
2376 backend->sent_shutdown = TRUE; in schannel_shutdown()
2385 if(!backend->recv_connection_closed) { in schannel_shutdown()
2400 if(backend->cred && backend->ctxt && in schannel_shutdown()
2401 !backend->recv_sspi_close_notify && !backend->recv_connection_closed) { in schannel_shutdown()
2411 backend->recv_connection_closed = TRUE; in schannel_shutdown()
2431 struct schannel_ssl_backend_data *backend = in schannel_close() local
2432 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_close()
2435 DEBUGASSERT(backend); in schannel_close()
2438 if(backend->ctxt) { in schannel_close()
2440 Curl_pSecFn->DeleteSecurityContext(&backend->ctxt->ctxt_handle); in schannel_close()
2441 Curl_safefree(backend->ctxt); in schannel_close()
2445 if(backend->cred) { in schannel_close()
2447 schannel_session_free(backend->cred); in schannel_close()
2449 backend->cred = NULL; in schannel_close()
2453 if(backend->encdata_buffer) { in schannel_close()
2454 Curl_safefree(backend->encdata_buffer); in schannel_close()
2455 backend->encdata_length = 0; in schannel_close()
2456 backend->encdata_offset = 0; in schannel_close()
2457 backend->encdata_is_incomplete = FALSE; in schannel_close()
2461 if(backend->decdata_buffer) { in schannel_close()
2462 Curl_safefree(backend->decdata_buffer); in schannel_close()
2463 backend->decdata_length = 0; in schannel_close()
2464 backend->decdata_offset = 0; in schannel_close()
2496 struct schannel_ssl_backend_data *backend = in schannel_pkp_pin_peer_pubkey() local
2497 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_pkp_pin_peer_pubkey()
2503 DEBUGASSERT(backend); in schannel_pkp_pin_peer_pubkey()
2517 Curl_pSecFn->QueryContextAttributes(&backend->ctxt->ctxt_handle, in schannel_pkp_pin_peer_pubkey()
2630 struct schannel_ssl_backend_data *backend = in schannel_get_internals() local
2631 (struct schannel_ssl_backend_data *)connssl->backend; in schannel_get_internals()
2633 DEBUGASSERT(backend); in schannel_get_internals()
2634 return &backend->ctxt->ctxt_handle; in schannel_get_internals()