updates
[silc.git] / lib / silccrypt / silccipher.c
index 79d6e7b7bb7c8ae8e13fbf79ec199c68c828e506..70276c5144306df752f0a25b5c9fbc6bd4ffc18e 100644 (file)
@@ -68,6 +68,15 @@ SilcCipherObject silc_default_ciphers[] =
   { "mars-128-cbc", 16, 128, silc_mars_set_key, silc_mars_set_key_with_string,
     silc_mars_encrypt_cbc, silc_mars_decrypt_cbc, 
     silc_mars_context_len },
+  { "cast-256-cbc", 16, 256, silc_cast_set_key, silc_cast_set_key_with_string,
+    silc_cast_encrypt_cbc, silc_cast_decrypt_cbc, 
+    silc_cast_context_len },
+  { "cast-192-cbc", 16, 192, silc_cast_set_key, silc_cast_set_key_with_string,
+    silc_cast_encrypt_cbc, silc_cast_decrypt_cbc, 
+    silc_cast_context_len },
+  { "cast-128-cbc", 16, 128, silc_cast_set_key, silc_cast_set_key_with_string,
+    silc_cast_encrypt_cbc, silc_cast_decrypt_cbc, 
+    silc_cast_context_len },
   { "none", 0, 0, silc_none_set_key, silc_none_set_key_with_string,
     silc_none_encrypt_cbc, silc_none_decrypt_cbc, 
     silc_none_context_len },
@@ -119,6 +128,8 @@ bool silc_cipher_unregister(SilcCipherObject *cipher)
   while ((entry = silc_dlist_get(silc_cipher_list)) != SILC_LIST_END) {
     if (cipher == SILC_ALL_CIPHERS || entry == cipher) {
       silc_dlist_del(silc_cipher_list, entry);
+      silc_free(entry->name);
+      silc_free(entry);
 
       if (silc_dlist_count(silc_cipher_list) == 0) {
        silc_dlist_uninit(silc_cipher_list);