aboutsummaryrefslogtreecommitdiff
path: root/lib/urldata.h
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-04-07 15:27:13 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-04-07 15:27:13 +0000
commit6e619393824922118317689ef59a73c556b7ef98 (patch)
tree87adafabc035fe32f74e78cba20220986a8fe039 /lib/urldata.h
parent015a6181725a654fb6d1eb8ff55e116ea15dc89a (diff)
GnuTLS support added. There's now a "generic" SSL layer that we use all over
internally, with code provided by sslgen.c. All SSL-layer-specific code is then written in ssluse.c (for OpenSSL) and gtls.c (for GnuTLS). As far as possible, internals should not need to know what SSL layer that is in use. Building with GnuTLS currently makes two test cases fail. TODO.gnutls contains a few known outstanding issues for the GnuTLS support. GnuTLS support is enabled with configure --with-gnutls
Diffstat (limited to 'lib/urldata.h')
-rw-r--r--lib/urldata.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/urldata.h b/lib/urldata.h
index 6fa65fcdf..27b5e2d1b 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -50,7 +50,6 @@
#include "formdata.h"
#ifdef USE_SSLEAY
-/* SSLeay stuff usually in /usr/local/ssl/include */
#ifdef USE_OPENSSL
#include "openssl/rsa.h"
#include "openssl/crypto.h"
@@ -64,14 +63,18 @@
#ifdef HAVE_OPENSSL_PKCS12_H
#include <openssl/pkcs12.h>
#endif
-#else
+#else /* SSLeay-style includes */
#include "rsa.h"
#include "crypto.h"
#include "x509.h"
#include "pem.h"
#include "ssl.h"
#include "err.h"
-#endif
+#endif /* USE_OPENSSL */
+#endif /* USE_SSLEAY */
+
+#ifdef USE_GNUTLS
+#include <gnutls/gnutls.h>
#endif
#ifdef HAVE_NETINET_IN_H
@@ -139,6 +142,10 @@ struct ssl_connect_data {
SSL* handle;
X509* server_cert;
#endif /* USE_SSLEAY */
+#ifdef USE_GNUTLS
+ gnutls_session session;
+ gnutls_anon_client_credentials cred;
+#endif /* USE_GNUTLS */
};
struct ssl_config_data {
@@ -162,6 +169,7 @@ struct ssl_config_data {
struct curl_ssl_session {
char *name; /* host name for which this ID was used */
void *sessionid; /* as returned from the SSL layer */
+ size_t idsize; /* if known, otherwise 0 */
long age; /* just a number, the higher the more recent */
unsigned short remote_port; /* remote port to connect to */
struct ssl_config_data ssl_config; /* setup for this session */
@@ -659,20 +667,16 @@ struct connectdata {
char *newurl; /* This can only be set if a Location: was in the
document headers */
+ int sec_complete; /* if krb4 is enabled for this connection */
#ifdef HAVE_KRB4
enum protection_level command_prot;
enum protection_level data_prot;
enum protection_level request_data_prot;
-
size_t buffer_size;
-
struct krb4buffer in_buffer, out_buffer;
- int sec_complete;
void *app_data;
-
const struct Curl_sec_client_mech *mech;
struct sockaddr_in local_addr;
-
#endif
/*************** Request - specific items ************/