commit acafce5b7ddd4342e45a7731ae3f261e6f202a77 from: Omar Polo date: Sat Oct 02 17:20:56 2021 UTC libevent2 fix: unfreeze the client evbuffer libevent2 has this concept of "freezeness" of a buffer. It's a way to avoid accidentally write/remove data from the wrong "edge" of the buffer. The client_tls_{read,write} functions need to add/drain data from the opposite edge, hence the need for the unfreeze call. This is the minimum change in order to work on libevent2 too. Another way would be to define evbuffer_{un,}freeze as NOP on libevent 1, but it's ugly IMHO. commit - efb6210d7745c9466ab9a16f23d1549523428ef7 commit + acafce5b7ddd4342e45a7731ae3f261e6f202a77 blob - dec3898dcbcebcd8d573edc6d3c111f1b9c1a0cf blob + 165baab4f3e12a3ec07586db7165eed910b0f5d8 --- server.c +++ server.c @@ -505,6 +505,11 @@ found: event_set(&c->bev->ev_write, c->fd, EV_WRITE, client_tls_writecb, c->bev); +#if HAVE_LIBEVENT2 + evbuffer_unfreeze(c->bev->input, 0); + evbuffer_unfreeze(c->bev->output, 1); +#endif + bufferevent_enable(c->bev, EV_READ); return;