~sircmpwn/gmni-discuss

notify clients about malformed requests v1 APPLIED

Julian Maingot: 1
 notify clients about malformed requests

 1 files changed, 4 insertions(+), 1 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~sircmpwn/gmni-discuss/patches/34317/mbox | git am -3
Learn more about email & git

[PATCH] notify clients about malformed requests Export this patch

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.
---
 src/server.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/server.c b/src/server.c
index e199f6f..56e11c9 100644
--- a/src/server.c
+++ b/src/server.c
@@ -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);
-- 
2.37.1
Thanks!

To git@git.sr.ht:~sircmpwn/gmnisrv
   1925bc3..132f2ec  master -> master