* to avoid flooding.
* -- adrian
*/
- int allow_read; /* how many we're allowed to read in this second */
- int actually_read; /* how many we've actually read in this second */
+ int dummy1;
+ int dummy0;
int sent_parsed; /* how many messages we've parsed in this second */
time_t last_knock; /* time of last knock */
unsigned long random_ping;
#define FLAGS_SERVICE 0x200000 /* network service */
#define FLAGS_TGCHANGE 0x400000 /* we're allowed to clear something */
#define FLAGS_DYNSPOOF 0x800000 /* dynamic spoof, only opers see ip */
+#define FLAGS_TGEXCESSIVE 0x1000000 /* whether the client has attemped to change targets excessively fast */
/* flags for local clients, this needs stuff moved from above to here at some point */
#define LFLAGS_SSL 0x00000001
#define IsDynSpoof(x) ((x)->flags & FLAGS_DYNSPOOF)
#define SetDynSpoof(x) ((x)->flags |= FLAGS_DYNSPOOF)
#define ClearDynSpoof(x) ((x)->flags &= ~FLAGS_DYNSPOOF)
+#define IsTGExcessive(x) ((x)->flags & FLAGS_TGEXCESSIVE)
+#define SetTGExcessive(x) ((x)->flags |= FLAGS_TGEXCESSIVE)
+#define ClearTGExcessive(x) ((x)->flags &= ~FLAGS_TGEXCESSIVE)
/* local flags */