commit c5e967f94d94c151b9f5ed7900bf09a1e4ff396d
parent 5048521d79342d3e6724a947de5b4a4fac328f13
Author: Oswald Buddenhagen <ossi@users.sf.net>
Date: Wed, 24 Nov 2021 16:55:52 +0100
add support for LITERAL- extension
it's the same as LITERAL+, only with a strongly limited payload size.
Diffstat:
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/drv_imap.c b/src/drv_imap.c
@@ -234,6 +234,7 @@ enum CAPABILITY {
#endif
UIDPLUS,
LITERALPLUS,
+ LITERALMINUS,
MOVE,
NAMESPACE,
COMPRESS_DEFLATE
@@ -249,6 +250,7 @@ static const char *cap_list[] = {
#endif
"UIDPLUS",
"LITERAL+",
+ "LITERAL-",
"MOVE",
"NAMESPACE",
"COMPRESS=DEFLATE"
@@ -315,7 +317,8 @@ send_imap_cmd( imap_store_t *ctx, imap_cmd_t *cmd )
if (cmd->param.data) {
assert( cmdl > 2 && !memcmp( cmd->cmd + cmdl - 2, "+}", 2 ) );
if ((!cmd->param.to_trash || ctx->trashnc != TrashUnknown) &&
- CAP(LITERALPLUS) && cmd->param.data_len <= 100*1024) {
+ ((CAP(LITERALPLUS) && cmd->param.data_len <= 100*1024) ||
+ (CAP(LITERALMINUS) && cmd->param.data_len <= 4*1024))) {
litplus = 1;
} else {
cmd->cmd[cmdl - 2] = '}';