summaryrefslogtreecommitdiff
path: root/lib/vtls/gtls.h
diff options
context:
space:
mode:
authorStefan Eissing <stefan@eissing.org>2022-11-30 14:42:37 +0100
committerDaniel Stenberg <daniel@haxx.se>2022-12-01 10:57:36 +0100
commit27ec767ebd2032a98db9d98ec575b0d0301a91d8 (patch)
tree3f9b908aae48772b00a056bd883140229ac7bfe6 /lib/vtls/gtls.h
parentb8ffb02e84224c5cfc9c42c2143d026bcf1ad37e (diff)
downloadcurl-27ec767ebd2032a98db9d98ec575b0d0301a91d8.tar.gz
gnutls: use common gnutls init and verify code for ngtcp2
Closes #10007
Diffstat (limited to 'lib/vtls/gtls.h')
-rw-r--r--lib/vtls/gtls.h44
1 files changed, 39 insertions, 5 deletions
diff --git a/lib/vtls/gtls.h b/lib/vtls/gtls.h
index af00b4543..49c1c4763 100644
--- a/lib/vtls/gtls.h
+++ b/lib/vtls/gtls.h
@@ -25,16 +25,50 @@
***************************************************************************/
#include "curl_setup.h"
+#include <curl/curl.h>
#ifdef USE_GNUTLS
-#include "urldata.h"
-#include "cfilters.h"
#include <gnutls/gnutls.h>
+
+#ifdef HAVE_GNUTLS_SRP
+/* the function exists */
+#ifdef USE_TLS_SRP
+/* the functionality is not disabled */
+#define USE_GNUTLS_SRP
+#endif
+#endif
+
+struct Curl_easy;
+struct Curl_cfilter;
+struct ssl_primary_config;
+struct ssl_config_data;
+
+struct gtls_instance {
+ gnutls_session_t session;
+ gnutls_certificate_credentials_t cred;
+#ifdef USE_GNUTLS_SRP
+ gnutls_srp_client_credentials_t srp_client_cred;
+#endif
+};
+
CURLcode
-Curl_gtls_verifyserver(struct Curl_cfilter *cf,
- struct Curl_easy *data,
- gnutls_session_t session);
+gtls_client_init(struct Curl_easy *data,
+ struct ssl_primary_config *config,
+ struct ssl_config_data *ssl_config,
+ const char *hostname,
+ struct gtls_instance *gtls,
+ long *pverifyresult);
+
+CURLcode
+Curl_gtls_verifyserver(struct Curl_easy *data,
+ gnutls_session_t session,
+ struct ssl_primary_config *config,
+ struct ssl_config_data *ssl_config,
+ const char *hostname,
+ const char *dispname,
+ const char *pinned_key);
+
extern const struct Curl_ssl Curl_ssl_gnutls;
#endif /* USE_GNUTLS */