summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2001-02-03 11:47:04 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2001-02-03 11:47:04 +0000
commit3a2ae44a681e13cd0c7cb5a4030986ca5921fa73 (patch)
tree4d074d79bdd647e273803f98c196a042e1faf4ed
parent22012f5b0ac190d75189c25aa1b724a95fd452b6 (diff)
downloadgnutls-3a2ae44a681e13cd0c7cb5a4030986ca5921fa73.tar.gz
added rijndael-256 as described in draft-ietf-tls-ciphersuite-03
-rw-r--r--lib/gnutls.h2
-rw-r--r--lib/gnutls_algorithms.c25
-rw-r--r--lib/gnutls_cipher_int.c7
-rw-r--r--lib/gnutls_db.c2
-rw-r--r--lib/gnutls_int.h2
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 };