disable use of LITERAL+ for payloads > 100k
when LITERAL+ is used, the server has no chance for early rejection of messages. this means that the client can upload megabytes for nothing. so simply don't use LITERAL+ for big messages. of course this adds server roundtrips, but that's tough luck. the limit could be arguably higher than 100k (or even configurable). i set it to ~2 sec with my fairly average DSL line.
This commit is contained in:
parent
6c959c3ee4
commit
bac2b00f1b
|
@ -271,7 +271,7 @@ send_imap_cmd( imap_store_t *ctx, struct imap_cmd *cmd )
|
|||
if (!cmd->param.data) {
|
||||
buffmt = "%d %s\r\n";
|
||||
litplus = 0;
|
||||
} else if ((cmd->param.to_trash && ctx->trashnc == TrashUnknown) || !CAP(LITERALPLUS)) {
|
||||
} else if ((cmd->param.to_trash && ctx->trashnc == TrashUnknown) || !CAP(LITERALPLUS) || cmd->param.data_len >= 100*1024) {
|
||||
buffmt = "%d %s{%d}\r\n";
|
||||
litplus = 0;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue
Block a user