starttls: Don't corrupt the FD hash.
Altering localClient->F without updating the FD hash leaves the struct Client in the FD hash indefinitely which causes a crash later if the struct is reused for a remote client. It also prevents error messages from ssld showing up on IRC properly.
This commit is contained in:
parent
e5149d6169
commit
c1cddb36c0
1 changed files with 2 additions and 0 deletions
|
@ -69,7 +69,9 @@ mr_starttls(struct Client *client_p, struct Client *source_p, int parc, const ch
|
|||
ctl = start_ssld_accept(client_p->localClient->F, F[1], rb_get_fd(F[0]));
|
||||
if (ctl != NULL)
|
||||
{
|
||||
del_from_cli_fd_hash(client_p);
|
||||
client_p->localClient->F = F[0];
|
||||
add_to_cli_fd_hash(client_p);
|
||||
client_p->localClient->ssl_ctl = ctl;
|
||||
SetSSL(client_p);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue