[ratbox3 svn r26397] Make it more likely that error messages on ssld connections get through.
When ssld reports a connection closure because of "Remote host closed the connection" and the connection is any server or a registered client, try a read_packet() on the client. This should mainly help LIBRB_USE_IOTYPE=poll which iterates over the ready file descriptors in numerical order, processing the ssld control connection before the closing data connection.
This commit is contained in:
parent
0bd120ed48
commit
42d609f65a
1 changed files with 8 additions and 0 deletions
|
@ -377,6 +377,14 @@ ssl_process_dead_fd(ssl_ctl_t * ctl, ssl_ctl_buf_t * ctl_buf)
|
|||
client_p = find_cli_fd_hash(fd);
|
||||
if(client_p == NULL)
|
||||
return;
|
||||
if(IsAnyServer(client_p) || IsRegistered(client_p))
|
||||
{
|
||||
/* read any last moment ERROR, QUIT or the like -- jilles */
|
||||
if (!strcmp(reason, "Remote host closed the connection"))
|
||||
read_packet(client_p->localClient->F, client_p);
|
||||
if (IsAnyDead(client_p))
|
||||
return;
|
||||
}
|
||||
if(IsAnyServer(client_p))
|
||||
{
|
||||
sendto_realops_snomask(SNO_GENERAL, is_remote_connect(client_p) && !IsServer(client_p) ? L_NETWIDE : L_ALL, "ssld error for %s: %s", client_p->name, reason);
|
||||
|
|
Loading…
Reference in a new issue