From 802c255fcaa8fa804a3d47fd424012d9898d18f5 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Sat, 26 Jul 2014 09:08:39 +0000 Subject: [PATCH] Fix up error reported by Ragnorok (thanks!) regarding the STATUS command. It appears the some clients don't obey this bit of the RFC: The STATUS command MUST NOT be used as a "check for new messages in the selected mailbox" operation --- exec/imapservice.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/exec/imapservice.js b/exec/imapservice.js index a30f1cab22..4e69e0c0d3 100644 --- a/exec/imapservice.js +++ b/exec/imapservice.js @@ -1456,6 +1456,8 @@ var authenticated_command_handlers = { var base; var mademap=false; var index; + var old_saved; + var base_code; if(typeof(items)!="object") items=[items]; @@ -1466,7 +1468,18 @@ var authenticated_command_handlers = { } if(base.cfg != undefined && orig_ptrs[base.subnum]==undefined) orig_ptrs[base.subnum]=msg_area.sub[base.cfg.code].scan_ptr; + + if(base.cfg != undefined) + base_code=base.cfg.code; + else + base_code='mail'; + if (saved_config[base_code] != undefined) + old_saved = saved_config[base_code]; + read_cfg(base_code); index=read_index(base); + delete saved_config[base_code]; + if (old_saved != undefined) + saved_config[base_code] = old_saved; base.close(); for(i in items) { switch(items[i].toUpperCase()) { -- GitLab