notify clients about malformed requests I think this has been broken for a while and I came across it while implementing my own client. The server should notify the client that the request is malformed but wasn't sending the response when SSL_read returned SSL_ERROR_WANT_READ.
1 files changed, 4 insertions(+), 1 deletions(-) M src/server.c
M src/server.c => src/server.c +4 -1
@@ 345,7 345,10 @@ client_readable(struct gmnisrv_server *server, struct gmnisrv_client *client) switch (e) { case SSL_ERROR_WANT_READ: case SSL_ERROR_WANT_WRITE: goto queue_ssl_write; if (client->bufln == 0) { goto queue_ssl_write; } // intentional fallthrough default: client_submit_response(client, GEMINI_STATUS_BAD_REQUEST, error, NULL);