]> git.pld-linux.org Git - packages/wine.git/blame - wine-secur32.patch
- rel 3; enable 64bit wine
[packages/wine.git] / wine-secur32.patch
CommitLineData
109bb081
MWP
1diff --git a/dlls/secur32/schannel.c b/dlls/secur32/schannel.c
2index 8f127e6..ce711e4 100644
3--- a/dlls/secur32/schannel.c
4+++ b/dlls/secur32/schannel.c
5@@ -48,6 +48,7 @@ MAKE_FUNCPTR(gnutls_alert_get);
6 MAKE_FUNCPTR(gnutls_alert_get_name);
7 MAKE_FUNCPTR(gnutls_certificate_allocate_credentials);
8 MAKE_FUNCPTR(gnutls_certificate_free_credentials);
9+MAKE_FUNCPTR(gnutls_certificate_get_peers);
10 MAKE_FUNCPTR(gnutls_cipher_get);
11 MAKE_FUNCPTR(gnutls_credentials_set);
12 MAKE_FUNCPTR(gnutls_deinit);
13@@ -872,6 +873,31 @@ static SECURITY_STATUS SEC_ENTRY schan_QueryContextAttributesW(
14 return SEC_E_OK;
15 }
16
17+ case SECPKG_ATTR_REMOTE_CERT_CONTEXT:
18+ {
19+ unsigned int list_count;
20+ const gnutls_datum_t *list;
21+ PCCERT_CONTEXT *context = (PCCERT_CONTEXT *)buffer;
22+ list = pgnutls_certificate_get_peers(ctx->session, &list_count);
23+ FIXME("Got %d certs\n", list_count);
24+ *context = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, list[0].data, list[0].size);
25+ return SEC_E_OK;
26+ }
27+
28+ case SECPKG_ATTR_CONNECTION_INFO:
29+ {
30+ SecPkgContext_ConnectionInfo *conn_info = (SecPkgContext_ConnectionInfo *)buffer;
31+ FIXME("conn_info %p\n", conn_info);
32+ conn_info->dwProtocol = SP_PROT_TLS1_CLIENT;
33+ conn_info->aiCipher = CALG_AES_256;
34+ conn_info->dwCipherStrength = 256;
35+ conn_info->aiHash = CALG_SHA;
36+ conn_info->dwHashStrength = 160;
37+ conn_info->aiExch = CALG_RSA_KEYX;
38+ conn_info->dwExchStrength = 1024;
39+ return SEC_E_OK;
40+ }
41+
42 default:
43 FIXME("Unhandled attribute %#x\n", attribute);
44 return SEC_E_UNSUPPORTED_FUNCTION;
45@@ -887,6 +913,8 @@ static SECURITY_STATUS SEC_ENTRY schan_QueryContextAttributesA(
46 switch(attribute)
47 {
48 case SECPKG_ATTR_STREAM_SIZES:
49+ case SECPKG_ATTR_REMOTE_CERT_CONTEXT:
50+ case SECPKG_ATTR_CONNECTION_INFO:
51 return schan_QueryContextAttributesW(context_handle, attribute, buffer);
52
53 default:
54@@ -1220,6 +1248,7 @@ void SECUR32_initSchannelSP(void)
55 LOAD_FUNCPTR(gnutls_alert_get_name)
56 LOAD_FUNCPTR(gnutls_certificate_allocate_credentials)
57 LOAD_FUNCPTR(gnutls_certificate_free_credentials)
58+ LOAD_FUNCPTR(gnutls_certificate_get_peers)
59 LOAD_FUNCPTR(gnutls_cipher_get)
60 LOAD_FUNCPTR(gnutls_credentials_set)
61 LOAD_FUNCPTR(gnutls_deinit)
This page took 0.103152 seconds and 4 git commands to generate.