Ignore numeric 020 ("please wait while we process your coinnection")

Some servers send the numeric 020 ("please wait while we process your
connection") when a client connects. This is no useful information for
this server, so we simply ignore it :-)
This commit is contained in:
Alexander Barton 2008-11-11 23:10:52 +01:00
parent 3a5b7b63ae
commit 5a91d62100
1 changed files with 12 additions and 4 deletions

View File

@ -381,7 +381,8 @@ static bool
Handle_Numeric(CLIENT *client, REQUEST *Req)
{
static const struct _NUMERIC Numerics[] = {
{ 005, IRC_Num_ISUPPORT },
{ 5, IRC_Num_ISUPPORT },
{ 20, NULL },
{ 376, IRC_Num_ENDOFMOTD }
};
int i, num;
@ -389,8 +390,12 @@ Handle_Numeric(CLIENT *client, REQUEST *Req)
CLIENT *prefix, *target = NULL;
/* Determine target */
if (Req->argc > 0)
target = Client_Search(Req->argv[0]);
if (Req->argc > 0) {
if (strcmp(Req->argv[0], "*") != 0)
target = Client_Search(Req->argv[0]);
else
target = Client_ThisServer();
}
if (!target) {
/* Status code without target!? */
@ -409,8 +414,11 @@ Handle_Numeric(CLIENT *client, REQUEST *Req)
num = atoi(Req->command);
for (i = 0; i < (int) ARRAY_SIZE(Numerics); i++) {
if (num == Numerics[i].numeric)
if (num == Numerics[i].numeric) {
if (!Numerics[i].function)
return CONNECTED;
return Numerics[i].function(client, Req);
}
}
LogDebug("Ignored status code %s from \"%s\".",