Переглянути джерело

* Properly set flood/queue time initial conditions on restart as well

Bryan Drewery 16 роки тому
батько
коміт
e913655588

+ 1 - 0
src/misc.c

@@ -724,6 +724,7 @@ readsocks(const char *fname)
       add_server(nserv);
       curserv = 0;
       keepnick = 0; /* Wait to change nicks until relinking, fixes nick/jupenick switching issues during restart */
+      reset_flood();
       if (!server_online) server_online = now;
       rehash_server(dcc[servidx].host, nick);
       if (cached_005)

+ 6 - 0
src/mod/server.mod/server.c

@@ -1069,6 +1069,12 @@ static void server_check_lag()
   }
 }
 
+void reset_flood()
+{
+  flood_time.sec = last_time.sec = now - 100;
+  flood_time.usec = last_time.usec = 0;
+}
+
 static void server_minutely()
 {
   if (server_online) {

+ 1 - 0
src/mod/server.mod/server.h

@@ -82,5 +82,6 @@ void join_chans();
 void check_hostmask();
 void next_server(int *, char *, port_t *, char *);
 void server_send_ison();
+void reset_flood();
 
 #endif		/* _EGG_MOD_SERVER_SERVER_H */

+ 2 - 4
src/mod/server.mod/servmsg.c

@@ -276,8 +276,7 @@ got004(char *from, char *msg)
     connect_bursting = now;
     msgburst = SERVER_CONNECT_BURST_RATE;
     msgrate = 200;
-    flood_time.sec = last_time.sec = now - 100;
-    flood_time.usec = last_time.usec = 0;
+    reset_flood();
     putlog(LOG_DEBUG, "*", "Server allows connect bursting, bursting for %d seconds", SERVER_CONNECT_BURST_TIME);
   }
 
@@ -2021,8 +2020,7 @@ static void server_dns_callback(int id, void *client_data, const char *host, bd:
     first_ctcp_check = 0;
 
     // Just connecting, set last queue time to the past.
-    flood_time.sec = last_time.sec = now - 100;
-    flood_time.usec = last_time.usec = 0;
+    reset_flood();
     end_burstmode();
     use_flood_count = 0;
     real_msgburst = msgburst;