mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-30 19:26:37 +02:00
- Add unknown_list for tracking unknown clients.
This commit is contained in:
+1
-1
@@ -150,7 +150,7 @@ extern MODVAR int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
|
||||
R_do_id, R_fin_id, R_fail_id;
|
||||
|
||||
#endif
|
||||
extern MODVAR struct list_head client_list, lclient_list, server_list, oper_list;
|
||||
extern MODVAR struct list_head client_list, lclient_list, server_list, oper_list, unknown_list;
|
||||
extern inline aCommand *find_Command(char *cmd, short token, int flags);
|
||||
extern aCommand *find_Command_simple(char *cmd);
|
||||
extern aChannel *find_channel(char *, aChannel *);
|
||||
|
||||
+4
-4
@@ -72,7 +72,7 @@ MODVAR MembershipL *freemembershipL = NULL;
|
||||
MODVAR int numclients = 0;
|
||||
|
||||
/* unless documented otherwise, these are all local-only, except client_list. */
|
||||
MODVAR struct list_head client_list, lclient_list, server_list, oper_list;
|
||||
MODVAR struct list_head client_list, lclient_list, server_list, oper_list, unknown_list;
|
||||
|
||||
void initlists(void)
|
||||
{
|
||||
@@ -89,6 +89,7 @@ void initlists(void)
|
||||
INIT_LIST_HEAD(&lclient_list);
|
||||
INIT_LIST_HEAD(&server_list);
|
||||
INIT_LIST_HEAD(&oper_list);
|
||||
INIT_LIST_HEAD(&unknown_list);
|
||||
}
|
||||
|
||||
void outofmemory(void)
|
||||
@@ -155,6 +156,8 @@ aClient *make_client(aClient *from, aClient *servr)
|
||||
cptr->buffer[0] = '\0';
|
||||
cptr->authfd = -1;
|
||||
cptr->fd = -1;
|
||||
|
||||
list_add(&cptr->lclient_node, &unknown_list);
|
||||
} else {
|
||||
cptr->fd = -256;
|
||||
}
|
||||
@@ -357,9 +360,6 @@ void remove_client_from_list(aClient *cptr)
|
||||
void add_client_to_list(aClient *cptr)
|
||||
{
|
||||
list_add(&cptr->client_node, &client_list);
|
||||
|
||||
if (MyConnect(cptr))
|
||||
list_add(&cptr->lclient_node, &lclient_list);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -1059,6 +1059,8 @@ int _register_user(aClient *cptr, aClient *sptr, char *nick, char *username, cha
|
||||
snprintf(descbuf, sizeof descbuf, "Client: %s", nick);
|
||||
fd_desc(sptr->fd, descbuf);
|
||||
|
||||
list_move(&sptr->lclient_node, &lclient_list);
|
||||
|
||||
IRCstats.unknown--;
|
||||
IRCstats.me_clients++;
|
||||
if (IsHidden(sptr))
|
||||
|
||||
@@ -761,6 +761,7 @@ int m_server_synch(aClient *cptr, long numeric, ConfigItem_link *aconf)
|
||||
IRCstats.me_servers++;
|
||||
IRCstats.servers++;
|
||||
IRCstats.unknown--;
|
||||
list_move(&acptr->lclient_node, &lclient_list);
|
||||
list_add(&cptr->special_node, &server_list);
|
||||
if ((Find_uline(cptr->name)))
|
||||
cptr->flags |= FLAGS_ULINE;
|
||||
|
||||
@@ -1362,6 +1362,7 @@ void start_of_normal_client_handshake(aClient *acptr)
|
||||
struct hostent *he;
|
||||
|
||||
acptr->status = STAT_UNKNOWN;
|
||||
list_add(&acptr->special_node, &unknown_list);
|
||||
|
||||
RunHook(HOOKTYPE_HANDSHAKE, acptr);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user