Jacek Caban : wininet: Use hostname stored in server_t in NETCON_secure_connect.
Alexandre Julliard
julliard at winehq.org
Mon Apr 30 14:13:08 CDT 2012
Module: wine
Branch: master
Commit: 905ede6c6d3366aa10098f83d8d248b7ce4e0c8f
URL: http://source.winehq.org/git/wine.git/?a=commit;h=905ede6c6d3366aa10098f83d8d248b7ce4e0c8f
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Apr 30 14:49:41 2012 +0200
wininet: Use hostname stored in server_t in NETCON_secure_connect.
---
dlls/wininet/http.c | 2 +-
dlls/wininet/internet.h | 2 +-
dlls/wininet/netconnection.c | 20 ++------------------
3 files changed, 4 insertions(+), 20 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 69068bf..54db118 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -4616,7 +4616,7 @@ static DWORD open_http_connection(http_request_t *request, BOOL *reusing)
if(session->appInfo->proxy)
res = HTTP_SecureProxyConnect(request);
if(res == ERROR_SUCCESS)
- res = NETCON_secure_connect(request->netconn, session->hostName);
+ res = NETCON_secure_connect(request->netconn);
if(res != ERROR_SUCCESS)
{
WARN("Couldn't connect securely to host\n");
diff --git a/dlls/wininet/internet.h b/dlls/wininet/internet.h
index 720b330..6cf1f38 100644
--- a/dlls/wininet/internet.h
+++ b/dlls/wininet/internet.h
@@ -525,7 +525,7 @@ BOOL INTERNET_FindProxyForProtocol(LPCWSTR szProxy, LPCWSTR proto, WCHAR *foundP
DWORD create_netconn(BOOL, server_t *, DWORD, DWORD, netconn_t **) DECLSPEC_HIDDEN;
void free_netconn(netconn_t*) DECLSPEC_HIDDEN;
void NETCON_unload(void) DECLSPEC_HIDDEN;
-DWORD NETCON_secure_connect(netconn_t *connection, LPWSTR hostname) DECLSPEC_HIDDEN;
+DWORD NETCON_secure_connect(netconn_t *connection) DECLSPEC_HIDDEN;
DWORD NETCON_send(netconn_t *connection, const void *msg, size_t len, int flags,
int *sent /* out */) DECLSPEC_HIDDEN;
DWORD NETCON_recv(netconn_t *connection, void *buf, size_t len, int flags,
diff --git a/dlls/wininet/netconnection.c b/dlls/wininet/netconnection.c
index 870b317..4d3e13f 100644
--- a/dlls/wininet/netconnection.c
+++ b/dlls/wininet/netconnection.c
@@ -114,7 +114,6 @@ static const SSL_METHOD *meth;
static SSL_METHOD *meth;
#endif
static SSL_CTX *ctx;
-static int hostname_idx;
static int error_idx;
static int conn_idx;
@@ -309,7 +308,6 @@ static DWORD netconn_verify_cert(PCCERT_CONTEXT cert, HCERTSTORE store,
static int netconn_secure_verify(int preverify_ok, X509_STORE_CTX *ctx)
{
SSL *ssl;
- WCHAR *server;
BOOL ret = FALSE;
HCERTSTORE store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0,
CERT_STORE_CREATE_NEW_FLAG, NULL);
@@ -317,7 +315,6 @@ static int netconn_secure_verify(int preverify_ok, X509_STORE_CTX *ctx)
ssl = pX509_STORE_CTX_get_ex_data(ctx,
pSSL_get_ex_data_X509_STORE_CTX_idx());
- server = pSSL_get_ex_data(ssl, hostname_idx);
conn = pSSL_get_ex_data(ssl, conn_idx);
if (store)
{
@@ -342,7 +339,7 @@ static int netconn_secure_verify(int preverify_ok, X509_STORE_CTX *ctx)
if (!endCert) ret = FALSE;
if (ret)
{
- DWORD_PTR err = netconn_verify_cert(endCert, store, server,
+ DWORD_PTR err = netconn_verify_cert(endCert, store, conn->server->name,
conn->security_flags);
if (err)
@@ -457,12 +454,6 @@ static DWORD init_openssl(void)
return ERROR_OUTOFMEMORY;
}
- hostname_idx = pSSL_get_ex_new_index(0, (void *)"hostname index", NULL, NULL, NULL);
- if(hostname_idx == -1) {
- ERR("SSL_get_ex_new_index failed; %s\n", pERR_error_string(pERR_get_error(), 0));
- return ERROR_OUTOFMEMORY;
- }
-
error_idx = pSSL_get_ex_new_index(0, (void *)"error index", NULL, NULL, NULL);
if(error_idx == -1) {
ERR("SSL_get_ex_new_index failed; %s\n", pERR_error_string(pERR_get_error(), 0));
@@ -692,7 +683,7 @@ int sock_get_error( int err )
* NETCON_secure_connect
* Initiates a secure connection over an existing plaintext connection.
*/
-DWORD NETCON_secure_connect(netconn_t *connection, LPWSTR hostname)
+DWORD NETCON_secure_connect(netconn_t *connection)
{
DWORD res = ERROR_NOT_SUPPORTED;
#ifdef SONAME_LIBSSL
@@ -721,13 +712,6 @@ DWORD NETCON_secure_connect(netconn_t *connection, LPWSTR hostname)
goto fail;
}
- if (!pSSL_set_ex_data(ssl_s, hostname_idx, hostname))
- {
- ERR("SSL_set_ex_data failed: %s\n",
- pERR_error_string(pERR_get_error(), 0));
- res = ERROR_INTERNET_SECURITY_CHANNEL_ERROR;
- goto fail;
- }
if (!pSSL_set_ex_data(ssl_s, conn_idx, connection))
{
ERR("SSL_set_ex_data failed: %s\n",
More information about the wine-cvs
mailing list