summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2003-06-29 06:33:00 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2003-06-29 06:33:00 +0000
commit59d919bb50f8c4237cce822aec88c9a0367e371d (patch)
treece011ee85e1294373b490e3f01eebe958a1f96ee
parent2f47221cdf08a73ad66a82b87b2454fbc66a56bb (diff)
downloadgnutls-59d919bb50f8c4237cce822aec88c9a0367e371d.tar.gz
- The gnutls_transport_ptr type was changed to a pointer type (void*).
(programs would need recompile, since the library version has changed)
-rw-r--r--NEWS2
-rw-r--r--configure.in6
-rw-r--r--lib/gnutls.h.in.in82
-rw-r--r--lib/gnutls_int.h38
4 files changed, 53 insertions, 75 deletions
diff --git a/NEWS b/NEWS
index eb1cb2222d..703f3fb13a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
Version 0.8.9
- Corrected a null pointer dereference in gnutls_certificate_get_ours().
Report and Patch by Steve Langasek <vorlon@netexpress.net>.
+- The gnutls_transport_ptr type was changed to a pointer type (void*).
+ (programs would need recompile, since the library version has changed)
Version 0.8.8 (10/06/2003)
- Corrected a bug in the record layer buffering, which affected
diff --git a/configure.in b/configure.in
index 267d50e1c1..af8b219e49 100644
--- a/configure.in
+++ b/configure.in
@@ -12,7 +12,7 @@ AC_DEFINE_UNQUOTED(T_OS, "$target_os", [OS name])
dnl Gnutls Version
GNUTLS_MAJOR_VERSION=0
GNUTLS_MINOR_VERSION=8
-GNUTLS_MICRO_VERSION=8
+GNUTLS_MICRO_VERSION=9
GNUTLS_VERSION=$GNUTLS_MAJOR_VERSION.$GNUTLS_MINOR_VERSION.$GNUTLS_MICRO_VERSION
AC_DEFINE_UNQUOTED(GNUTLS_VERSION, "$GNUTLS_VERSION", [version of gnutls])
@@ -23,9 +23,9 @@ AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
dnl This is the library version
-GNUTLS_MOST_RECENT_INTERFACE=8
+GNUTLS_MOST_RECENT_INTERFACE=7
GNUTLS_CURRENT_INTERFACE_IMPLEMENTATION_NUMBER=$GNUTLS_MICRO_VERSION
-GNUTLS_OLDEST_INTERFACE=5
+GNUTLS_OLDEST_INTERFACE=7
AC_SUBST(GNUTLS_MAJOR_VERSION)
diff --git a/lib/gnutls.h.in.in b/lib/gnutls.h.in.in
index 43ad152d41..7d49252b87 100644
--- a/lib/gnutls.h.in.in
+++ b/lib/gnutls.h.in.in
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000,2001,2002,2003 Nikos Mavroyanopoulos
+ * Copyright (C) 2000,2001,2002 Nikos Mavroyanopoulos
*
* This file is part of GNUTLS.
*
@@ -63,11 +63,11 @@ typedef enum gnutls_kx_algorithm { GNUTLS_KX_RSA=1, GNUTLS_KX_DHE_DSS,
typedef enum gnutls_credentials_type { GNUTLS_CRD_CERTIFICATE=1, GNUTLS_CRD_ANON, GNUTLS_CRD_SRP } gnutls_credentials_type;
-typedef enum gnutls_mac_algorithm { GNUTLS_MAC_NULL=1, GNUTLS_MAC_MD5, GNUTLS_MAC_SHA, GNUTLS_MAC_MD2 } gnutls_mac_algorithm;
+typedef enum gnutls_mac_algorithm { GNUTLS_MAC_NULL=1, GNUTLS_MAC_MD5, GNUTLS_MAC_SHA } gnutls_mac_algorithm;
/* The enumerations here should have the same value with gnutls_mac_algorithm.
*/
-typedef enum gnutls_digest_algorithm { GNUTLS_DIG_NULL=1, GNUTLS_DIG_MD5, GNUTLS_DIG_SHA, GNUTLS_DIG_MD2 } gnutls_digest_algorithm;
+typedef enum gnutls_digest_algorithm { GNUTLS_DIG_NULL=1, GNUTLS_DIG_MD5, GNUTLS_DIG_SHA } gnutls_digest_algorithm;
/* exported for other gnutls headers. This is the maximum number
* of algorithms (ciphers, kx or macs).
@@ -116,17 +116,16 @@ typedef enum gnutls_protocol_version { GNUTLS_SSL3=1, GNUTLS_TLS1 } gnutls_proto
typedef enum gnutls_certificate_type { GNUTLS_CRT_X509=1, GNUTLS_CRT_OPENPGP
} gnutls_certificate_type;
-typedef enum gnutls_x509_crt_fmt { GNUTLS_X509_FMT_DER,
- GNUTLS_X509_FMT_PEM } gnutls_x509_crt_fmt;
+typedef enum gnutls_x509_certificate_format { GNUTLS_X509_FMT_DER,
+ GNUTLS_X509_FMT_PEM } gnutls_x509_certificate_format;
-typedef enum gnutls_pk_algorithm { GNUTLS_PK_RSA = 1, GNUTLS_PK_DSA,
- GNUTLS_PK_UNKNOWN = 0xff
+typedef enum gnutls_pk_algorithm { GNUTLS_PK_RSA = 1, GNUTLS_PK_DSA
} gnutls_pk_algorithm;
/* If you want to change this, then also change the
* define in gnutls_int.h, and recompile.
*/
-typedef int gnutls_transport_ptr;
+typedef void * gnutls_transport_ptr;
struct gnutls_session_int;
typedef struct gnutls_session_int* gnutls_session;
@@ -301,33 +300,30 @@ int gnutls_anon_allocate_client_credentials( gnutls_anon_server_credentials *sc)
void gnutls_certificate_free_credentials( gnutls_certificate_credentials sc);
int gnutls_certificate_allocate_credentials( gnutls_certificate_credentials *sc);
-void gnutls_certificate_set_dh_params(gnutls_certificate_credentials res, gnutls_dh_params);
-void gnutls_certificate_set_rsa_params(gnutls_certificate_credentials res, gnutls_rsa_params rsa_params);
-void gnutls_certificate_set_verify_flags(gnutls_certificate_credentials res, unsigned int flags);
+int gnutls_certificate_set_dh_params(gnutls_certificate_credentials res, gnutls_dh_params);
+int gnutls_certificate_set_rsa_params(gnutls_certificate_credentials res, gnutls_rsa_params rsa_params);
int gnutls_certificate_set_x509_trust_file( gnutls_certificate_credentials res, const char* CAFILE,
- gnutls_x509_crt_fmt);
+ gnutls_x509_certificate_format);
int gnutls_certificate_set_x509_trust_mem(gnutls_certificate_credentials res,
- const gnutls_datum *CA, gnutls_x509_crt_fmt);
-
-int gnutls_certificate_set_x509_crl_file(gnutls_certificate_credentials res,
- const char *crlfile, gnutls_x509_crt_fmt type);
-int gnutls_certificate_set_x509_crl_mem(gnutls_certificate_credentials res,
- const gnutls_datum *CRL, gnutls_x509_crt_fmt type);
+ const gnutls_datum *CA, gnutls_x509_certificate_format);
int gnutls_certificate_set_x509_key_file( gnutls_certificate_credentials res,
- const char *CERTFILE, const char* KEYFILE, gnutls_x509_crt_fmt);
+ const char *CERTFILE, const char* KEYFILE, gnutls_x509_certificate_format);
int gnutls_certificate_set_x509_key_mem(gnutls_certificate_credentials res,
const gnutls_datum* CERT, const gnutls_datum* KEY,
- gnutls_x509_crt_fmt);
+ gnutls_x509_certificate_format);
/* global state functions
*/
+/* In this version global_init accepts two files (pkix.asn, pkcs1.asn).
+ * This will not be the case in the final version. These files
+ * are located in the src/ directory of gnutls distribution.
+ */
int gnutls_global_init(void);
void gnutls_global_deinit(void);
typedef void* (*gnutls_alloc_function)(size_t);
-typedef void* (*gnutls_calloc_function)(size_t, size_t);
typedef void (*gnutls_free_function)(void*);
typedef void* (*gnutls_realloc_function)(void*, size_t);
@@ -338,42 +334,29 @@ void gnutls_global_set_mem_functions(
/* For use in callbacks */
extern gnutls_alloc_function gnutls_malloc;
-extern gnutls_calloc_function gnutls_calloc;
extern gnutls_free_function gnutls_free;
typedef void (*gnutls_log_func)( const char*);
void gnutls_global_set_log_function( gnutls_log_func log_func);
-/* Diffie Hellman parameter handling.
- */
+/* DH params */
+int gnutls_dh_params_set( gnutls_dh_params, gnutls_datum prime, gnutls_datum generator, int bits);
int gnutls_dh_params_init( gnutls_dh_params*);
void gnutls_dh_params_deinit( gnutls_dh_params);
-int gnutls_dh_params_import_raw(gnutls_dh_params dh_params, const gnutls_datum *prime,
- const gnutls_datum* generator);
-int gnutls_dh_params_import_pkcs3(gnutls_dh_params params,
- const gnutls_datum * pkcs3_params, gnutls_x509_crt_fmt format);
-int gnutls_dh_params_generate2(gnutls_dh_params params, int bits);
-int gnutls_dh_params_export_pkcs3( gnutls_dh_params params,
- gnutls_x509_crt_fmt format, unsigned char* params_data, int* params_data_size);
-int gnutls_dh_params_export_raw(gnutls_dh_params params,
- gnutls_datum * prime, gnutls_datum * generator, int *bits);
-
-
-/* RSA params
- */
+int gnutls_dh_params_generate( gnutls_datum* prime, gnutls_datum* generator, int bits);
+
+/* RSA params */
+int gnutls_rsa_params_set(gnutls_rsa_params rsa_params,
+ gnutls_datum m, gnutls_datum e, gnutls_datum d,
+ gnutls_datum p, gnutls_datum q, gnutls_datum u,
+ int bits);
+int gnutls_rsa_params_generate(gnutls_datum * m, gnutls_datum *e,
+ gnutls_datum *d, gnutls_datum *p, gnutls_datum* q,
+ gnutls_datum* u, int bits);
int gnutls_rsa_params_init(gnutls_rsa_params * rsa_params);
void gnutls_rsa_params_deinit(gnutls_rsa_params rsa_params);
-int gnutls_rsa_params_import_raw(gnutls_rsa_params rsa_params,
- gnutls_datum m, gnutls_datum e,
- gnutls_datum d, gnutls_datum p, gnutls_datum q, gnutls_datum u);
-int gnutls_rsa_params_generate2(gnutls_rsa_params params, int bits);
-int gnutls_rsa_params_export_raw(gnutls_rsa_params params,
- gnutls_datum * m, gnutls_datum *e,
- gnutls_datum *d, gnutls_datum *p, gnutls_datum* q,
- gnutls_datum* u, int *bits);
-/* Session stuff
- */
+
typedef ssize_t (*gnutls_pull_func)(gnutls_transport_ptr, void*, size_t);
typedef ssize_t (*gnutls_push_func)(gnutls_transport_ptr, const void*, size_t);
void gnutls_transport_set_ptr(gnutls_session session, gnutls_transport_ptr ptr);
@@ -398,7 +381,6 @@ void* gnutls_session_get_ptr(gnutls_session session);
void gnutls_openpgp_send_key(gnutls_session session, gnutls_openpgp_key_status status);
-/* fingerprint */
-int gnutls_fingerprint(gnutls_digest_algorithm algo, const gnutls_datum* data,
- char* result, size_t* result_size);
+int gnutls_x509_fingerprint(gnutls_digest_algorithm algo, const gnutls_datum* data, char* result, size_t* result_size);
+
diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h
index 4fd336172f..d7a7d0d738 100644
--- a/lib/gnutls_int.h
+++ b/lib/gnutls_int.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2000,2001,2002,2003 Nikos Mavroyanopoulos
+ * Copyright (C) 2000,2001,2002 Nikos Mavroyanopoulos
*
* This file is part of GNUTLS.
*
@@ -34,14 +34,16 @@
#define HANDSHAKE_DEBUG // Prints some information on handshake
#define X509_DEBUG
#define RECORD_DEBUG
-#define COMPRESSION_DEBUG*/
+#define COMPRESSION_DEBUG
#define DEBUG
-
+*/
/* It might be a good idea to replace int with void*
* here.
*/
-typedef int gnutls_transport_ptr;
+typedef void * gnutls_transport_ptr;
+
+#define MIN_BITS 767
#define MAX32 4294967295
#define MAX24 16777215
@@ -136,11 +138,6 @@ typedef struct {
opaque * data;
unsigned int size;
} gnutls_datum;
-
-typedef struct {
- const opaque * data;
- unsigned int size;
-} gnutls_const_datum;
typedef gnutls_datum gnutls_sdatum;
#include <gnutls_buffer.h>
@@ -165,8 +162,7 @@ typedef enum gnutls_kx_algorithm { GNUTLS_KX_RSA=1, GNUTLS_KX_DHE_DSS,
GNUTLS_KX_RSA_EXPORT, GNUTLS_KX_SRP_RSA, GNUTLS_KX_SRP_DSS
} gnutls_kx_algorithm;
-typedef enum gnutls_mac_algorithm { GNUTLS_MAC_NULL=1, GNUTLS_MAC_MD5, GNUTLS_MAC_SHA, GNUTLS_MAC_MD2 } gnutls_mac_algorithm;
-typedef gnutls_mac_algorithm gnutls_digest_algorithm;
+typedef enum gnutls_mac_algorithm { GNUTLS_MAC_NULL=1, GNUTLS_MAC_MD5, GNUTLS_MAC_SHA } gnutls_mac_algorithm;
typedef enum gnutls_compression_method { GNUTLS_COMP_NULL=1, GNUTLS_COMP_ZLIB,
GNUTLS_COMP_LZO
@@ -194,8 +190,8 @@ typedef enum ContentType { GNUTLS_CHANGE_CIPHER_SPEC=20, GNUTLS_ALERT,
GNUTLS_HANDSHAKE, GNUTLS_APPLICATION_DATA
} ContentType;
-typedef enum gnutls_x509_crt_fmt { GNUTLS_X509_FMT_DER,
- GNUTLS_X509_FMT_PEM } gnutls_x509_crt_fmt;
+typedef enum gnutls_x509_certificate_format { GNUTLS_X509_FMT_DER,
+ GNUTLS_X509_FMT_PEM } gnutls_x509_certificate_format;
typedef enum gnutls_pk_algorithm { GNUTLS_PK_RSA = 1, GNUTLS_PK_DSA,
GNUTLS_PK_UNKNOWN = 0xff
@@ -563,7 +559,7 @@ typedef struct {
*/
uint16 extensions_sent[MAX_EXT_TYPES];
uint16 extensions_sent_size;
-
+
/* is 0 if we are to send the whole PGP key, or non zero
* if the fingerprint is to be sent.
*/
@@ -593,11 +589,6 @@ typedef struct {
* openpgp key. (if the peer sends a fingerprint)
*/
gnutls_openpgp_recv_key_func openpgp_recv_key_func;
-
- /* If non zero the server will not advertize the CA's he
- * trusts (do not send an RDN sequence).
- */
- int ignore_rdn_sequence;
/* If you add anything here, check _gnutls_handshake_internal_state_clear().
*/
@@ -614,8 +605,14 @@ struct gnutls_session_int {
typedef struct gnutls_session_int *gnutls_session;
typedef struct {
+ int bits;
MPI _prime;
MPI _generator;
+ gnutls_datum generator;
+ gnutls_datum prime;
+ int local; /* indicates if it is
+ * not malloced, !=0 indicates malloced
+ */
} _gnutls_dh_params;
#define gnutls_dh_params _gnutls_dh_params*
@@ -650,7 +647,4 @@ void _gnutls_free_auth_info( gnutls_session session);
void _gnutls_set_adv_version( gnutls_session, gnutls_protocol_version);
gnutls_protocol_version _gnutls_get_adv_version( gnutls_session);
-int gnutls_fingerprint(gnutls_digest_algorithm algo, const gnutls_datum* data,
- char* result, size_t* result_size);
-
#endif /* GNUTLS_INT_H */