[Bug 59536] New: Missing WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
http://bugs.winehq.org/show_bug.cgi?id=59536 Bug ID: 59536 Summary: Missing WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT Product: Wine Version: 11.4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: winhttp Assignee: wine-bugs@list.winehq.org Reporter: alexeysf.prvt@gmail.com Distribution: --- On the GnuTLS/Schannel thing, it looks like a similar situation where something is calling the functions get_cipher_algid and get_mac_algid of secur32.dll with cipher 23. Much less clear what cipher 23 is supposed to be, but in GnuTLS it matches GNUTLS_CIPHER_CHACHA20_POLY1305. Feels like a very odd obscure choice though, so I doubt it's correct. with these changes all work case WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT: { const CERT_CONTEXT *cert; const CERT_CHAIN_CONTEXT *cert_chain; char oid_server_auth[] = szOID_PKIX_KP_SERVER_AUTH; char *server_auth[] = { oid_server_auth }; CERT_CHAIN_PARA chainPara = { sizeof(chainPara), { 0 } }; chainPara.RequestedUsage.Usage.cUsageIdentifier = 1; chainPara.RequestedUsage.Usage.rgpszUsageIdentifier = server_auth; FIXME("WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT in request_query_option"); if (!validate_buffer( buffer, buflen, sizeof(cert) )) return FALSE; if (!(cert = CertDuplicateCertificateContext( request->server_cert ))) return FALSE; CertGetCertificateChain(NULL, cert, NULL, NULL, &chainPara, 0, NULL, &cert_chain); CertFreeCertificateContext(cert); *(CERT_CHAIN_CONTEXT **)buffer = (CERT_CHAIN_CONTEXT *)cert_chain; *buflen = sizeof(cert_chain); return TRUE; } -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 Alexey <alexeysf.prvt@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |ArchLinux -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #1 from Hans Leidekker <hans@meelstraat.net> --- Thanks. Would you be willing to create a merge request? Note that you should check CertGetCertificateChain() for failure and you can remove the FIXME. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #2 from Alexey <alexeysf.prvt@gmail.com> --- I don't know how to create a merge request on GitLab. When I try to fork a repository on GitLab, I get an error saying that the limit has been reached and to contact the administrator. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #3 from Hans Leidekker <hans@meelstraat.net> --- (In reply to Alexey from comment #2)
I don't know how to create a merge request on GitLab. When I try to fork a repository on GitLab, I get an error saying that the limit has been reached and to contact the administrator.
Right, you need permission to do so. On the Wine project page, select the vertical ellipsis (⋮) in the top right and select Request Access. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #4 from Alexey <alexeysf.prvt@gmail.com> --- (In reply to Hans Leidekker from comment #3)
(In reply to Alexey from comment #2)
I don't know how to create a merge request on GitLab. When I try to fork a repository on GitLab, I get an error saying that the limit has been reached and to contact the administrator.
Right, you need permission to do so. On the Wine project page, select the vertical ellipsis (⋮) in the top right and select Request Access.
Thanks for the tip; I've requested access to the repository. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #5 from Alexey <alexeysf.prvt@gmail.com> --- (In reply to Alexey from comment #4)
(In reply to Hans Leidekker from comment #3)
(In reply to Alexey from comment #2)
I don't know how to create a merge request on GitLab. When I try to fork a repository on GitLab, I get an error saying that the limit has been reached and to contact the administrator.
Right, you need permission to do so. On the Wine project page, select the vertical ellipsis (⋮) in the top right and select Request Access.
Thanks for the tip; I've requested access to the repository.
How long does it usually take for a request to access the repository to be approved? I still don't have access to it. Could you or someone on the team submit a merge request for this code? I made some changes based on your feedback. Note: Some online gaming services may require this function to be called; otherwise, if this function is missing, a server connection error will be displayed. case WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT: { const CERT_CONTEXT *cert; CERT_CHAIN_CONTEXT *cert_chain = NULL; char oid_server_auth[] = szOID_PKIX_KP_SERVER_AUTH; char *server_auth[] = { oid_server_auth }; CERT_CHAIN_PARA chainPara = { sizeof(chainPara), { 0 } }; chainPara.RequestedUsage.Usage.cUsageIdentifier = 1; chainPara.RequestedUsage.Usage.rgpszUsageIdentifier = server_auth; if (!validate_buffer(buffer, buflen, sizeof(cert_chain))) return FALSE; if (!(cert = CertDuplicateCertificateContext(request->server_cert))) return FALSE; if (!CertGetCertificateChain(NULL, cert, NULL, NULL, &chainPara, 0, NULL, &cert_chain)) { CertFreeCertificateContext(cert); return FALSE; } CertFreeCertificateContext(cert); *(CERT_CHAIN_CONTEXT **)buffer = cert_chain; *buflen = sizeof(cert_chain); return TRUE; } -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #6 from Hans Leidekker <hans@meelstraat.net> --- (In reply to Alexey from comment #5)
Thanks for the tip; I've requested access to the repository.
How long does it usually take for a request to access the repository to be approved? I still don't have access to it.
A couple of days I would say but I guess it can be longer if the people involved are out. Let's wait a bit longer. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 --- Comment #7 from Alexandre Julliard <julliard@winehq.org> --- To get access, you need to file a user verification issue, cf. https://gitlab.winehq.org/winehq/winehq/-/wikis/home -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 Alexey <alexeysf.prvt@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #8 from Alexey <alexeysf.prvt@gmail.com> --- https://gitlab.winehq.org/wine/wine/-/merge_requests/10357 closed due already have it -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59536 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |a1a13c25374dd5e80b5837fe574 | |cfa967ac53efb -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla