From: brian m. carlson Date: Sun, 14 Apr 2024 17:44:08 GMT Subject: Re: [PATCH] imap-send: increase command size limit Message-ID: In-Reply-To: <7026075c-db4e-4d43-bbd1-d2edb52da9b7@web.de> On 2024-04-14 at 16:47:52, René Scharfe wrote: > nfvasprintf() has a 8KB limit, but it's not relevant, as its result is > combined with other strings and added to a 1KB buffer by its caller. > That 1KB limit is not mentioned in RFC 9051, which specifies IMAP. > > While 1KB is plenty for user names, passwords and mailbox names, > there's no point in limiting our commands like that. Call xstrvfmt() > instead of open-coding it and use strbuf to format the command to > send, as we need its length. Fail hard if it exceeds INT_MAX, because > socket_write() can't take more than that. > > Suggested-by: Jeff King > Signed-off-by: René Scharfe > --- > This time I compiled with NO_CURL=1 and NO_APPLE_COMMON_CRYPTO=1 and > verified with a silly printf that the changed code was actually used > and wrote the present message to an IMAP folder whose name is 1006 > characters log, which required a 1026 bytes long APPEND command. Yay, > freedom! I'm curious, is there a particular problem that you (or someone else) ran into that caused you to make this change? I agree it seems prudent in general, but if there's a particular real-world broken case that this hits (e.g., mailbox names in a given language), I think the commit message would be a great place to mention this real-world impact, which would lend support to your argument that this is a valuable change to make. -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA