diff --git a/modules/m_starttls.c b/modules/m_starttls.c index 6c1530b5..92631908 100644 --- a/modules/m_starttls.c +++ b/modules/m_starttls.c @@ -80,7 +80,7 @@ mr_starttls(struct Client *client_p, struct Client *source_p, int parc, const ch sendto_one_numeric(client_p, RPL_STARTTLS, form_str(RPL_STARTTLS)); send_queued(client_p); - ctl = start_ssld_accept(client_p->localClient->F, F[1], rb_get_fd(F[0])); + ctl = start_ssld_accept(client_p->localClient->F, F[1], client_p->localClient->connid); if (ctl != NULL) { client_p->localClient->F = F[0]; diff --git a/src/sslproc.c b/src/sslproc.c index 432b4185..e51a8e2a 100644 --- a/src/sslproc.c +++ b/src/sslproc.c @@ -785,7 +785,7 @@ start_zlib_session(void *data) buf = rb_malloc(len); level = ConfigFileEntry.compression_level; - uint32_to_buf(&buf[1], rb_get_fd(server->localClient->F)); + uint32_to_buf(&buf[1], server->localClient->zconnid); buf[5] = (char) level; recvq_start = &buf[6]; @@ -814,11 +814,7 @@ start_zlib_session(void *data) F[0] = server->localClient->F; F[1] = xF1; - del_from_cli_connid_hash(server); server->localClient->F = xF2; - /* need to redo as what we did before isn't valid now */ - uint32_to_buf(&buf[1], rb_get_fd(server->localClient->F)); - add_to_cli_connid_hash(server); server->localClient->z_ctl = which_ssld(); server->localClient->z_ctl->cli_count++;