+Sat Oct 18 11:55:33 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
+
+ * Unregister channel key saving callback when deleting channel.
+ Affected file lib/silcclient/idlist.c.
+
+ * Do not remove the client from channels in NOTIFY_TYPE_SIGNOFF
+ before calling notify client operation. Affected file is
+ lib/silcclient/client_notify.c.
+
Tue Oct 14 18:24:53 EEST 2003 Pekka Riikonen <priikone@silcnet.org>
* Save old channel keys in list to allow more rapid change
if (!client_entry)
goto out;
- /* Remove from all channels */
- silc_client_remove_from_channels(client, conn, client_entry);
-
- /* Remove from cache */
- silc_idcache_del_by_context(conn->internal->client_cache, client_entry);
-
/* Get signoff message */
tmp = silc_argument_get_arg_type(args, 2, &tmp_len);
if (tmp_len > 128)
/* Notify application */
client->internal->ops->notify(client, conn, type, client_entry, tmp);
+ /* Remove from all channels */
+ silc_client_remove_from_channels(client, conn, client_entry);
+
+ /* Remove from cache */
+ silc_idcache_del_by_context(conn->internal->client_cache, client_entry);
+
/* Free data */
silc_client_del_client_entry(client, conn, client_entry);
break;
silc_hmac_free(hmac);
silc_dlist_uninit(channel->old_hmacs);
}
+ silc_schedule_task_del_by_context(conn->client->schedule, channel);
silc_client_del_channel_private_keys(client, conn, channel);
silc_free(channel);
return ret;