mirror of
https://github.com/curl/curl.git
synced 2026-08-25 23:23:31 +03:00
lib1587: fix gcc -Wconversion with LibreSSL on Windows, test in CI
By exposing and reusing existing custom type via `vtls/openss.h`.
Also:
- GHA/curl-for-win: test in CI by enabling building tests.
Cost is 45s per job, so limit it to the gcc job.
Seen with Windows x64 gcc (not tested in CI prior to this patch):
```
tests/libtest/lib1587.c:50:7: error: conversion from 'opt1587' {aka 'long long unsigned int'} to 'long int' may change value [-Werror=conversion]
50 | SSL_CTX_set_options(info->internals, opts);
| ^~~~~~~~~~~~~~~~~~~
tests/libtest/lib1587.c:59:7: error: conversion from 'opt1587' {aka 'long long unsigned int'} to 'long int' may change value [-Werror=conversion]
59 | SSL_set_options(info->internals, opts);
| ^~~~~~~~~~~~~~~
```
Ref: https://github.com/curl/curl/actions/runs/28258372229/job/83727170184?pr=22195#step:3:4884
Ref: da2f05e6f6 #22198
Ref: 6163566461 #22197
Follow-up to 3e40ccb875 #21290
Follow-up to 2db8ae480f #17809 #17801
Closes #22195
This commit is contained in:
parent
da2f05e6f6
commit
9f9d2d10d9
4 changed files with 11 additions and 18 deletions
|
|
@ -26,13 +26,6 @@
|
|||
#ifdef USE_OPENSSL
|
||||
#include <vtls/openssl.h>
|
||||
|
||||
#ifdef HAVE_BORINGSSL_LIKE
|
||||
/* AWS-LC and BoringSSL */
|
||||
typedef uint32_t opt1587;
|
||||
#else
|
||||
typedef uint64_t opt1587;
|
||||
#endif
|
||||
|
||||
static size_t write_cb(char *ptr, size_t size, size_t nmemb, void *stream)
|
||||
{
|
||||
const struct curl_tlssessioninfo *info;
|
||||
|
|
@ -46,7 +39,7 @@ static size_t write_cb(char *ptr, size_t size, size_t nmemb, void *stream)
|
|||
|
||||
if(result == CURLE_OK) {
|
||||
/* set and read stuff using the SSL_CTX to verify it */
|
||||
opt1587 opts = SSL_CTX_get_options(info->internals);
|
||||
ctx_option_t opts = SSL_CTX_get_options(info->internals);
|
||||
SSL_CTX_set_options(info->internals, opts);
|
||||
curl_mprintf("CURLINFO_TLS_SESSION: OK\n");
|
||||
}
|
||||
|
|
@ -55,7 +48,7 @@ static size_t write_cb(char *ptr, size_t size, size_t nmemb, void *stream)
|
|||
|
||||
if(result == CURLE_OK) {
|
||||
/* set and read stuff using the SSL pointer to verify it */
|
||||
opt1587 opts = SSL_get_options(info->internals);
|
||||
ctx_option_t opts = SSL_get_options(info->internals);
|
||||
SSL_set_options(info->internals, opts);
|
||||
curl_mprintf("CURLINFO_TLS_SSL_PTR: OK\n");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue