diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-06-29 06:33:00 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2003-06-29 06:33:00 +0000 |
commit | 59d919bb50f8c4237cce822aec88c9a0367e371d (patch) | |
tree | ce011ee85e1294373b490e3f01eebe958a1f96ee | |
parent | 2f47221cdf08a73ad66a82b87b2454fbc66a56bb (diff) | |
download | gnutls-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-- | NEWS | 2 | ||||
-rw-r--r-- | configure.in | 6 | ||||
-rw-r--r-- | lib/gnutls.h.in.in | 82 | ||||
-rw-r--r-- | lib/gnutls_int.h | 38 |
4 files changed, 53 insertions, 75 deletions
@@ -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 */ |