Merge branch 'topic/serverlink-fixes' of git://valera-ext.nynaeve.net/silc into silc...
[silc.git] / apps / silcd / server.c
index 6cef2417d9c3ecd65a55f607390ff406e81c1ec9..777d724336699556b6d6d020eeb115566eb2e13d 100644 (file)
@@ -283,9 +283,14 @@ static void silc_server_packet_error(SilcPacketEngine engine,
   if (!silc_packet_stream_is_valid(stream))
     return;
 
+  /* In case we get here many times, register only one timeout */
+  silc_schedule_task_del_by_all(server->schedule, 0,
+                               silc_server_packet_error_timeout, stream);
+
+  /* Close connection with random timeout */
   silc_schedule_task_add_timeout(server->schedule,
                                 silc_server_packet_error_timeout, stream,
-                                silc_rng_get_byte(server->rng) % 5, 0);
+                                silc_rng_get_byte(server->rng) % 10, 0);
 }
 
 /* Packet stream callbacks */