Cancel rekey timeout when closing connection.
[silc.git] / apps / silcd / server.c
index 751abc7a8b47892ec45e1d698e27558be8618456..1299b98066eb5a835ff0916fb8da4c153527bf0a 100644 (file)
@@ -2996,8 +2996,10 @@ void silc_server_free_client_data(SilcServer server,
   SILC_OPER_STATS_UPDATE(client, router, SILC_UMODE_ROUTER_OPERATOR);
   silc_schedule_task_del_by_context(server->schedule, client);
 
-  if (client->data.sconn)
+  if (client->data.sconn) {
     silc_server_connection_free(client->data.sconn);
+    client->data.sconn = NULL;
+  }
 
   /* We will not delete the client entry right away. We will take it
      into history (for WHOWAS command) for 5 minutes, unless we're
@@ -3034,7 +3036,8 @@ void silc_server_free_sock_user_data(SilcServer server,
   if (!idata)
     return;
 
-  //  silc_schedule_task_del_by_context(server->schedule, sock);
+  silc_schedule_task_del_by_all(server->schedule, 0, silc_server_do_rekey,
+                               sock);
 
   /* Cancel active protocols */
   if (idata) {