diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-02-03 11:47:04 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-02-03 11:47:04 +0000 |
commit | 3a2ae44a681e13cd0c7cb5a4030986ca5921fa73 (patch) | |
tree | 4d074d79bdd647e273803f98c196a042e1faf4ed | |
parent | 22012f5b0ac190d75189c25aa1b724a95fd452b6 (diff) | |
download | gnutls-3a2ae44a681e13cd0c7cb5a4030986ca5921fa73.tar.gz |
added rijndael-256 as described in draft-ietf-tls-ciphersuite-03
-rw-r--r-- | lib/gnutls.h | 2 | ||||
-rw-r--r-- | lib/gnutls_algorithms.c | 25 | ||||
-rw-r--r-- | lib/gnutls_cipher_int.c | 7 | ||||
-rw-r--r-- | lib/gnutls_db.c | 2 | ||||
-rw-r--r-- | lib/gnutls_int.h | 2 |
5 files changed, 34 insertions, 4 deletions
diff --git a/lib/gnutls.h b/lib/gnutls.h index 9607cc9eb0..916bff8e00 100644 --- a/lib/gnutls.h +++ b/lib/gnutls.h @@ -22,7 +22,7 @@ enum ContentType { GNUTLS_APPLICATION_DATA=23 }; typedef enum ContentType ContentType; #define GNUTLS_AES GNUTLS_RIJNDAEL -enum BulkCipherAlgorithm { GNUTLS_NULL_CIPHER, GNUTLS_ARCFOUR=1, GNUTLS_3DES = 4, GNUTLS_RIJNDAEL, GNUTLS_TWOFISH }; +enum BulkCipherAlgorithm { GNUTLS_NULL_CIPHER, GNUTLS_ARCFOUR=1, GNUTLS_3DES = 4, GNUTLS_RIJNDAEL, GNUTLS_TWOFISH, GNUTLS_RIJNDAEL256 }; typedef enum BulkCipherAlgorithm BulkCipherAlgorithm; enum KXAlgorithm { GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA, GNUTLS_KX_DH_DSS, GNUTLS_KX_DH_RSA, GNUTLS_KX_ANON_DH }; typedef enum KXAlgorithm KXAlgorithm; diff --git a/lib/gnutls_algorithms.c b/lib/gnutls_algorithms.c index c8d43d5c7b..f062aa1e73 100644 --- a/lib/gnutls_algorithms.c +++ b/lib/gnutls_algorithms.c @@ -177,6 +177,7 @@ typedef struct { #define GNUTLS_DH_anon_3DES_EDE_CBC_SHA { 0x00, 0x1B } #define GNUTLS_DH_anon_ARCFOUR_MD5 { 0x00, 0x18 } #define GNUTLS_DH_anon_RIJNDAEL_128_CBC_SHA { 0x00, 0x34 } +#define GNUTLS_DH_anon_RIJNDAEL_256_CBC_SHA { 0x00, 0x3A } #define GNUTLS_DH_anon_TWOFISH_128_CBC_SHA { 0xFF, 0x50 } #define GNUTLS_DH_DSS_3DES_EDE_CBC_SHA { 0x00, 0x0D } @@ -198,6 +199,12 @@ typedef struct { #define GNUTLS_DHE_DSS_RIJNDAEL_128_CBC_SHA { 0x00, 0x32 } #define GNUTLS_DHE_RSA_RIJNDAEL_128_CBC_SHA { 0x00, 0x33 } +#define GNUTLS_RSA_RIJNDAEL_256_CBC_SHA { 0x00, 0x35 } +#define GNUTLS_DH_DSS_RIJNDAEL_256_CBC_SHA { 0x00, 0x36 } +#define GNUTLS_DH_RSA_RIJNDAEL_256_CBC_SHA { 0x00, 0x37 } +#define GNUTLS_DHE_DSS_RIJNDAEL_256_CBC_SHA { 0x00, 0x38 } +#define GNUTLS_DHE_RSA_RIJNDAEL_256_CBC_SHA { 0x00, 0x39 } + static gnutls_cipher_suite_entry cs_algorithms[] = { GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DH_anon_ARCFOUR_MD5, @@ -245,6 +252,24 @@ static gnutls_cipher_suite_entry cs_algorithms[] = { GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DH_anon_RIJNDAEL_128_CBC_SHA, GNUTLS_RIJNDAEL, GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA), + GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_RSA_RIJNDAEL_256_CBC_SHA, + GNUTLS_RIJNDAEL256, GNUTLS_KX_RSA, + GNUTLS_MAC_SHA), + GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DH_DSS_RIJNDAEL_256_CBC_SHA, + GNUTLS_RIJNDAEL256, GNUTLS_KX_DH_DSS, + GNUTLS_MAC_SHA), + GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DH_RSA_RIJNDAEL_256_CBC_SHA, + GNUTLS_RIJNDAEL256, GNUTLS_KX_DH_RSA, + GNUTLS_MAC_SHA), + GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DHE_DSS_RIJNDAEL_256_CBC_SHA, + GNUTLS_RIJNDAEL256, GNUTLS_KX_DHE_DSS, + GNUTLS_MAC_SHA), + GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DHE_RSA_RIJNDAEL_256_CBC_SHA, + GNUTLS_RIJNDAEL256, GNUTLS_KX_DHE_RSA, + GNUTLS_MAC_SHA), + GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DH_anon_RIJNDAEL_256_CBC_SHA, + GNUTLS_RIJNDAEL256, GNUTLS_KX_ANON_DH, + GNUTLS_MAC_SHA), GNUTLS_CIPHER_SUITE_ENTRY(GNUTLS_DH_anon_TWOFISH_128_CBC_SHA, GNUTLS_TWOFISH, GNUTLS_KX_ANON_DH, GNUTLS_MAC_SHA), diff --git a/lib/gnutls_cipher_int.c b/lib/gnutls_cipher_int.c index adc6cfa169..99631ce968 100644 --- a/lib/gnutls_cipher_int.c +++ b/lib/gnutls_cipher_int.c @@ -38,6 +38,13 @@ GNUTLS_CIPHER_HANDLE ret; ret = gcry_cipher_open(GCRY_CIPHER_RIJNDAEL, GCRY_CIPHER_MODE_CBC, 0); #endif break; + case GNUTLS_RIJNDAEL256: +#ifdef USE_MCRYPT + ret = mcrypt_module_open( "rijndael-256", NULL, "cbc", NULL); +#else + ret = gcry_cipher_open(GCRY_CIPHER_RIJNDAEL256, GCRY_CIPHER_MODE_CBC, 0); +#endif + break; case GNUTLS_TWOFISH: #ifdef USE_MCRYPT ret = mcrypt_module_open( "twofish", NULL, "cbc", NULL); diff --git a/lib/gnutls_db.c b/lib/gnutls_db.c index 347d78a09e..4c58a92bb5 100644 --- a/lib/gnutls_db.c +++ b/lib/gnutls_db.c @@ -33,7 +33,6 @@ int gnutls_set_cache_expiration( GNUTLS_STATE state, int seconds) { int gnutls_set_db_name( GNUTLS_STATE state, char* filename) { #ifdef HAVE_LIBGDBM -GDBM_FILE dbf; gnutls_free(state->gnutls_internals.db_name); state->gnutls_internals.db_name = strdup(filename); @@ -116,7 +115,6 @@ int _gnutls_db_remove_session( GNUTLS_STATE state, uint8* session_id, int sessio { #ifdef HAVE_LIBGDBM GDBM_FILE dbf; -datum content; datum key = { session_id, session_id_size}; int ret; diff --git a/lib/gnutls_int.h b/lib/gnutls_int.h index f34b9276a7..a88f2a732c 100644 --- a/lib/gnutls_int.h +++ b/lib/gnutls_int.h @@ -113,7 +113,7 @@ typedef struct { /* STATE */ enum ConnectionEnd { GNUTLS_SERVER, GNUTLS_CLIENT }; -enum BulkCipherAlgorithm { GNUTLS_NULL_CIPHER, GNUTLS_ARCFOUR=1, GNUTLS_3DES = 4, GNUTLS_RIJNDAEL, GNUTLS_TWOFISH }; +enum BulkCipherAlgorithm { GNUTLS_NULL_CIPHER, GNUTLS_ARCFOUR=1, GNUTLS_3DES = 4, GNUTLS_RIJNDAEL, GNUTLS_TWOFISH, GNUTLS_RIJNDAEL256 }; enum KXAlgorithm { GNUTLS_KX_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_DHE_RSA, GNUTLS_KX_DH_DSS, GNUTLS_KX_DH_RSA, GNUTLS_KX_ANON_DH }; enum KeyExchangeAlgorithm { GNUTLS_RSA, GNUTLS_DIFFIE_HELLMAN }; enum CipherType { CIPHER_STREAM, CIPHER_BLOCK }; |