summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-10-31 18:01:05 -0400
committerJune McEnroe <june@causal.agency>2019-10-31 18:04:59 -0400
commitd30aee7722a6cd3a68dcd282c626b65e969f6520 (patch)
tree33426c80457bcd22d9a1b918c805d6b8b441886e
parentIterator over pollfds in reverse (diff)
downloadpounce-d30aee7722a6cd3a68dcd282c626b65e969f6520.tar.gz
pounce-d30aee7722a6cd3a68dcd282c626b65e969f6520.zip
Shrink client buffer size
Clients are generally not going to send huge amounts at a time, and IRC
messages are limited to 512 bytes. If in the future we supported message
tags from clients, which have a size limit of 8191 bytes, this would
unfortunately have to be set much higher.
-rw-r--r--client.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/client.c b/client.c
index a191f42..bcb281f 100644
--- a/client.c
+++ b/client.c
@@ -38,7 +38,7 @@ struct Client {
 	enum Need need;
 	size_t consumer;
 	bool serverTime;
-	char buf[4096];
+	char buf[1024];
 	size_t len;
 	bool error;
 };
@@ -220,6 +220,7 @@ static bool intercept(const char *line, size_t len) {
 }
 
 void clientRecv(struct Client *client) {
+	assert(client->len < sizeof(client->buf));
 	ssize_t read = tls_read(
 		client->tls,
 		&client->buf[client->len], sizeof(client->buf) - client->len
>June McEnroe 2019-10-27Improve client/server error messagesJune McEnroe 2019-10-27Add reload cmd to rc scriptJune McEnroe Using daemon(8) makes this way more awkward than it should be. 2019-10-27Reload certificate on SIGUSR1June McEnroe 2019-10-27Drop clients on zero-length readsJune McEnroe 2019-10-27Explicitly tls_handshake new clientsJune McEnroe This prevents a client connecting, sending nothing, and getting blocked in tls_read immediately. 2019-10-26Document rationaleJune McEnroe 2019-10-26Handle nick collisionJune McEnroe 2019-10-26Wait for AUTHENTICATE + from serverJune McEnroe 2019-10-26Respond to PING with same parameterJune McEnroe 2019-10-26Add undocumented flag to disable verificationJune McEnroe 2019-10-26Do not require RPL_ISUPPORT for stateReadyJune McEnroe 2019-10-26Implement graceful shutdownJune McEnroe 2019-10-26Require PASS before USERJune McEnroe Prevent creating a ring consumer without authentication. 2019-10-26Track channel topicsJune McEnroe 2019-10-26Set AWAY when no clients are connectedJune McEnroe 2019-10-26Add flags to request TOPIC and NAMES on client connectJune McEnroe 2019-10-26OopsJune McEnroe 2019-10-26Disconnect client on unknown commandJune McEnroe During registration, no other commands should be sent. Afterwards, only intercepted commands will get parsed. 2019-10-26Allow reading sensitive information from filesJune McEnroe 2019-10-26Add rc scriptJune McEnroe 2019-10-25Add install and uninstall targetsJune McEnroe 2019-10-25Expand documentationJune McEnroe 2019-10-25Add AGPLv3 notice on client registrationJune McEnroe OwO 2019-10-25Rename project pounceJune McEnroe