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