updates.
[silc.git] / apps / silcd / idlist.c
index 7e4aa75257292d51b3a7afed46cd03d416166621..ba9eaf66ea8034161857a9d930ee20361c06ba35 100644 (file)
@@ -36,10 +36,9 @@ void silc_idlist_add_data(void *entry, SilcIDListData idata)
   SilcIDListData data = (SilcIDListData)entry;
   data->send_key = idata->send_key;
   data->receive_key = idata->receive_key;
+  data->rekey = idata->rekey;
   data->hash = idata->hash;
   data->hmac = idata->hmac;
-  data->hmac_key = idata->hmac_key;
-  data->hmac_key_len = idata->hmac_key_len;
   data->public_key = idata->public_key;
   data->last_receive = idata->last_receive;
   data->last_sent = idata->last_sent;
@@ -55,12 +54,15 @@ void silc_idlist_del_data(void *entry)
     silc_cipher_free(idata->send_key);
   if (idata->receive_key)
     silc_cipher_free(idata->receive_key);
+  if (idata->rekey) {
+    if (idata->rekey->send_enc_key) {
+      memset(idata->rekey->send_enc_key, 0, idata->rekey->enc_key_len);
+      silc_free(idata->rekey->send_enc_key);
+    }
+    silc_free(idata->rekey);
+  }
   if (idata->hmac)
     silc_hmac_free(idata->hmac);
-  if (idata->hmac_key) {
-    memset(idata->hmac_key, 0, idata->hmac_key_len);
-    silc_free(idata->hmac_key);
-  }
   if (idata->public_key)
     silc_pkcs_public_key_free(idata->public_key);
 }
@@ -250,6 +252,8 @@ silc_idlist_replace_server_id(SilcIDList id_list, SilcServerID *old_id,
 
 int silc_idlist_del_server(SilcIDList id_list, SilcServerEntry entry)
 {
+  SILC_LOG_DEBUG(("Start"));
+
   if (entry) {
     /* Remove from cache */
     if (entry->id)
@@ -321,6 +325,8 @@ silc_idlist_add_client(SilcIDList id_list, unsigned char *nickname,
 
 int silc_idlist_del_client(SilcIDList id_list, SilcClientEntry entry)
 {
+  SILC_LOG_DEBUG(("Start"));
+
   if (entry) {
     /* Remove from cache */
     if (entry->id)
@@ -609,6 +615,8 @@ silc_idlist_add_channel(SilcIDList id_list, char *channel_name, int mode,
 
 int silc_idlist_del_channel(SilcIDList id_list, SilcChannelEntry entry)
 {
+  SILC_LOG_DEBUG(("Start"));
+
   if (entry) {
     SilcChannelClientEntry chl;