updates.
[runtime.git] / apps / silcd / idlist.c
index eba17160d884a26baae61b4c5d3978c85c064024..6785ab452d0cc815c532ddbc1ebfa5e98cfa1ec5 100644 (file)
@@ -36,11 +36,10 @@ 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->send_enc_key = idata->send_enc_key;
-  data->enc_key_len = idata->enc_key_len;
-  data->pfs = idata->pfs;
+  data->rekey = idata->rekey;
   data->hash = idata->hash;
-  data->hmac = idata->hmac;
+  data->hmac_send = idata->hmac_send;
+  data->hmac_receive = idata->hmac_receive;
   data->public_key = idata->public_key;
   data->last_receive = idata->last_receive;
   data->last_sent = idata->last_sent;
@@ -56,12 +55,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->send_enc_key) {
-    memset(idata->send_enc_key, 0, idata->enc_key_len);
-    silc_free(idata->send_enc_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_send)                /* Same as idata->hmac_receive */
+    silc_hmac_free(idata->hmac_send);
   if (idata->public_key)
     silc_pkcs_public_key_free(idata->public_key);
 }
@@ -251,6 +253,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)
@@ -322,6 +326,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)
@@ -610,6 +616,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;