packages: wine/wine-secur32.patch (NEW) - Bug 17296, Partial support for SEC...
wolvverine
wolvverine at pld-linux.org
Tue Jun 9 13:34:06 CEST 2009
Author: wolvverine Date: Tue Jun 9 11:34:06 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- Bug 17296,Partial support for SECPKG_ATTR_REMOTE_CERT_CONTEXT and SECPKG_ATTR_CONNECTION_INFO.
---- Files affected:
packages/wine:
wine-secur32.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/wine/wine-secur32.patch
diff -u /dev/null packages/wine/wine-secur32.patch:1.1
--- /dev/null Tue Jun 9 13:34:06 2009
+++ packages/wine/wine-secur32.patch Tue Jun 9 13:34:01 2009
@@ -0,0 +1,61 @@
+diff --git a/dlls/secur32/schannel.c b/dlls/secur32/schannel.c
+index 8f127e6..ce711e4 100644
+--- a/dlls/secur32/schannel.c
++++ b/dlls/secur32/schannel.c
+@@ -48,6 +48,7 @@ MAKE_FUNCPTR(gnutls_alert_get);
+ MAKE_FUNCPTR(gnutls_alert_get_name);
+ MAKE_FUNCPTR(gnutls_certificate_allocate_credentials);
+ MAKE_FUNCPTR(gnutls_certificate_free_credentials);
++MAKE_FUNCPTR(gnutls_certificate_get_peers);
+ MAKE_FUNCPTR(gnutls_cipher_get);
+ MAKE_FUNCPTR(gnutls_credentials_set);
+ MAKE_FUNCPTR(gnutls_deinit);
+@@ -872,6 +873,31 @@ static SECURITY_STATUS SEC_ENTRY schan_QueryContextAttributesW(
+ return SEC_E_OK;
+ }
+
++ case SECPKG_ATTR_REMOTE_CERT_CONTEXT:
++ {
++ unsigned int list_count;
++ const gnutls_datum_t *list;
++ PCCERT_CONTEXT *context = (PCCERT_CONTEXT *)buffer;
++ list = pgnutls_certificate_get_peers(ctx->session, &list_count);
++ FIXME("Got %d certs\n", list_count);
++ *context = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, list[0].data, list[0].size);
++ return SEC_E_OK;
++ }
++
++ case SECPKG_ATTR_CONNECTION_INFO:
++ {
++ SecPkgContext_ConnectionInfo *conn_info = (SecPkgContext_ConnectionInfo *)buffer;
++ FIXME("conn_info %p\n", conn_info);
++ conn_info->dwProtocol = SP_PROT_TLS1_CLIENT;
++ conn_info->aiCipher = CALG_AES_256;
++ conn_info->dwCipherStrength = 256;
++ conn_info->aiHash = CALG_SHA;
++ conn_info->dwHashStrength = 160;
++ conn_info->aiExch = CALG_RSA_KEYX;
++ conn_info->dwExchStrength = 1024;
++ return SEC_E_OK;
++ }
++
+ default:
+ FIXME("Unhandled attribute %#x\n", attribute);
+ return SEC_E_UNSUPPORTED_FUNCTION;
+@@ -887,6 +913,8 @@ static SECURITY_STATUS SEC_ENTRY schan_QueryContextAttributesA(
+ switch(attribute)
+ {
+ case SECPKG_ATTR_STREAM_SIZES:
++ case SECPKG_ATTR_REMOTE_CERT_CONTEXT:
++ case SECPKG_ATTR_CONNECTION_INFO:
+ return schan_QueryContextAttributesW(context_handle, attribute, buffer);
+
+ default:
+@@ -1220,6 +1248,7 @@ void SECUR32_initSchannelSP(void)
+ LOAD_FUNCPTR(gnutls_alert_get_name)
+ LOAD_FUNCPTR(gnutls_certificate_allocate_credentials)
+ LOAD_FUNCPTR(gnutls_certificate_free_credentials)
++ LOAD_FUNCPTR(gnutls_certificate_get_peers)
+ LOAD_FUNCPTR(gnutls_cipher_get)
+ LOAD_FUNCPTR(gnutls_credentials_set)
+ LOAD_FUNCPTR(gnutls_deinit)
================================================================
More information about the pld-cvs-commit
mailing list