updates.
[silc.git] / apps / silcd / server.c
index df6a94db45eb4bf98f9a345bd042518dab4e1aea..a6ae79ff22a1dc677976eb4d994219a62ab66f1d 100644 (file)
@@ -2477,6 +2477,9 @@ SilcChannelEntry silc_server_create_new_channel(SilcServer server,
     return NULL;
   }
 
+  entry->cipher = strdup(cipher);
+  entry->hmac_name = strdup(hmac);
+
   /* Now create the actual key material */
   silc_server_create_channel_key(server, entry, 
                                 silc_cipher_get_key_len(key) / 8);
@@ -2670,6 +2673,10 @@ SilcChannelEntry silc_server_save_channel_key(SilcServer server,
     goto out;
   }
 
+  if (channel->cipher)
+    silc_free(channel->cipher);
+  channel->cipher = strdup(cipher);
+
   /* Save the key */
   channel->key_len = tmp_len * 8;
   channel->key = silc_calloc(tmp_len, sizeof(unsigned char));