When using CMake Unity build.
- use unique name for `set_ssl_version_min_max()`
Fixes collision between GnuTLS, mbedTLS and SecureTransport.
```
lib\vtls\mbedtls.c(317,1): error C2084: function 'CURLcode set_ssl_version_min_max(Curl_easy *,ssl_peer *,ssl_primary_config *,const char **,const char *)' already has a body
lib\vtls\mbedtls.c(837,49): warning C4133: 'function': incompatible types - from 'Curl_cfilter *' to 'Curl_easy *'
lib\vtls\mbedtls.c(837,53): warning C4133: 'function': incompatible types - from 'Curl_easy *' to 'ssl_peer *'
lib\vtls\mbedtls.c(837,25): error C2198: 'set_ssl_version_min_max': too few arguments for call
```
- use unique name for `do_file_type()`
Fixes collision between GnuTLS, OpenSSL and wolfSSL.
```
lib\vtls\openssl.c(1053,12): error C2084: function 'gnutls_x509_crt_fmt_t do_file_type(const char *)' already has a body
```
Ref: https://github.com/curl/curl/actions/runs/
10341162641/job/
28622681573?pr=14484#step:10:31
Cherry-picked from #14495
Closes #14516
}
}
-static gnutls_x509_crt_fmt_t do_file_type(const char *type)
+static gnutls_x509_crt_fmt_t gnutls_do_file_type(const char *type)
{
if(!type || !type[0])
return GNUTLS_X509_FMT_PEM;
#define GNUTLS_SRP "+SRP"
static CURLcode
-set_ssl_version_min_max(struct Curl_easy *data,
- struct ssl_peer *peer,
- struct ssl_primary_config *conn_config,
- const char **prioritylist,
- const char *tls13support)
+gnutls_set_ssl_version_min_max(struct Curl_easy *data,
+ struct ssl_peer *peer,
+ struct ssl_primary_config *conn_config,
+ const char **prioritylist,
+ const char *tls13support)
{
long ssl_version = conn_config->version;
long ssl_version_max = conn_config->version_max;
}
/* At this point we know we have a supported TLS version, so set it */
- result = set_ssl_version_min_max(data, peer,
- config, &prioritylist, tls13support);
+ result = gnutls_set_ssl_version_min_max(data, peer,
+ config, &prioritylist, tls13support);
if(result)
return result;
gtls->shared_creds->creds,
config->clientcert,
ssl_config->key ? ssl_config->key : config->clientcert,
- do_file_type(ssl_config->cert_type),
+ gnutls_do_file_type(ssl_config->cert_type),
ssl_config->key_passwd,
supported_key_encryption_algorithms);
if(rc != GNUTLS_E_SUCCESS) {
gtls->shared_creds->creds,
config->clientcert,
ssl_config->key ? ssl_config->key : config->clientcert,
- do_file_type(ssl_config->cert_type) ) !=
+ gnutls_do_file_type(ssl_config->cert_type) ) !=
GNUTLS_E_SUCCESS) {
failf(data, "error reading X.509 key or certificate file");
return CURLE_SSL_CONNECT_ERROR;
#endif
static CURLcode
-set_ssl_version_min_max(struct Curl_cfilter *cf, struct Curl_easy *data)
+mbedtls_set_ssl_version_min_max(struct Curl_cfilter *cf,
+ struct Curl_easy *data)
{
struct ssl_connect_data *connssl = cf->ctx;
struct mbed_ssl_backend_data *backend =
case CURL_SSLVERSION_TLSv1_2:
case CURL_SSLVERSION_TLSv1_3:
{
- CURLcode result = set_ssl_version_min_max(cf, data);
+ CURLcode result = mbedtls_set_ssl_version_min_max(cf, data);
if(result != CURLE_OK)
return result;
break;
#ifndef SSL_FILETYPE_PKCS12
#define SSL_FILETYPE_PKCS12 43
#endif
-static int do_file_type(const char *type)
+static int ossl_do_file_type(const char *type)
{
if(!type || !type[0])
return SSL_FILETYPE_PEM;
char error_buffer[256];
bool check_privkey = TRUE;
- int file_type = do_file_type(cert_type);
+ int file_type = ossl_do_file_type(cert_type);
if(cert_file || cert_blob || (file_type == SSL_FILETYPE_ENGINE)) {
SSL *ssl;
key_blob = cert_blob;
}
else
- file_type = do_file_type(key_type);
+ file_type = ossl_do_file_type(key_type);
switch(file_type) {
case SSL_FILETYPE_PEM:
}
#endif
-static CURLcode set_ssl_version_min_max(struct Curl_cfilter *cf,
- struct Curl_easy *data)
+static CURLcode sectransp_set_ssl_version_min_max(struct Curl_cfilter *cf,
+ struct Curl_easy *data)
{
struct ssl_connect_data *connssl = cf->ctx;
struct st_ssl_backend_data *backend =
case CURL_SSLVERSION_TLSv1_1:
case CURL_SSLVERSION_TLSv1_2:
case CURL_SSLVERSION_TLSv1_3:
- result = set_ssl_version_min_max(cf, data);
+ result = sectransp_set_ssl_version_min_max(cf, data);
if(result != CURLE_OK)
return result;
break;
case CURL_SSLVERSION_TLSv1_1:
case CURL_SSLVERSION_TLSv1_2:
case CURL_SSLVERSION_TLSv1_3:
- result = set_ssl_version_min_max(cf, data);
+ result = sectransp_set_ssl_version_min_max(cf, data);
if(result != CURLE_OK)
return result;
break;
}
#endif /* OPENSSL_EXTRA */
-static int do_file_type(const char *type)
+static int wolfssl_do_file_type(const char *type)
{
if(!type || !type[0])
return SSL_FILETYPE_PEM;
const char *key_file = ssl_config->key;
const struct curl_blob *cert_blob = ssl_config->primary.cert_blob;
const struct curl_blob *key_blob = ssl_config->key_blob;
- int file_type = do_file_type(ssl_config->cert_type);
+ int file_type = wolfssl_do_file_type(ssl_config->cert_type);
int rc;
switch(file_type) {
key_file = cert_file;
}
else
- file_type = do_file_type(ssl_config->key_type);
+ file_type = wolfssl_do_file_type(ssl_config->key_type);
rc = key_blob ?
wolfSSL_CTX_use_PrivateKey_buffer(backend->ctx, key_blob->data,
if(ssl_config->primary.cert_blob) {
const struct curl_blob *cert_blob = ssl_config->primary.cert_blob;
const struct curl_blob *key_blob = ssl_config->key_blob;
- int file_type = do_file_type(ssl_config->cert_type);
+ int file_type = wolfssl_do_file_type(ssl_config->cert_type);
int rc;
switch(file_type) {
if(!key_blob)
key_blob = cert_blob;
else
- file_type = do_file_type(ssl_config->key_type);
+ file_type = wolfssl_do_file_type(ssl_config->key_type);
if(wolfSSL_CTX_use_PrivateKey_buffer(backend->ctx, key_blob->data,
(long)key_blob->len,