6.0.0-RC7
6/21/26

[#13970] Fix expunge when UIDPLUS capability is not available
Summary Fix expunge when UIDPLUS capability is not available
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 2. Medium
Owners slusarz (at) horde (dot) org
Requester rmccorkell (at) karoshi (dot) org (dot) uk
Created 4/29/15 (4071 days ago)
Due
Updated 4/29/15 (4071 days ago)
Assigned
Resolved 4/29/15 (4071 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch Yes

History
224 Git Commit Comment #4 Reply to this comment
Changes have been made in Git (master):

commit b3abe789b5ff9dfc194b6775a8d4529d12da956e
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Wed Apr 29 10:26:56 2015 -0600

     [mms] Fix expunging in certain cases when UIDPLUS is not 
available (Bug #13970; Robin McCorkell <rmccorkell@karoshi.org.uk>).

  framework/Imap_Client/package.xml |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://github.com/horde/horde/commit/b3abe789b5ff9dfc194b6775a8d4529d12da956e
64 Michael Slusarz Comment #3
Assigned to Michael Slusarz
State ⇒ Resolved
Reply to this comment
Slightly modified and committed.  Thanks.

Horde_Imap_Client 2.28.1.
234 Git Commit Comment #2 Reply to this comment
Changes have been made in Git (master):

commit afe1cd81f7e5fe374d5f7952956cdf15319601da
Author: Robin McCorkell <rmccorkell@karoshi.org.uk>
Date:   Wed Apr 29 10:28:02 2015 +0100

     Fix _expunge when UIDPLUS is not available

     $this->close() is called during the _expunge, resetting $this->_selected

     Signed-off-by: Michael M Slusarz <slusarz@horde.org>
     Bug #13970

  .../Imap_Client/lib/Horde/Imap/Client/Socket.php   |   19 ++++++++++---------
  1 files changed, 10 insertions(+), 9 deletions(-)

http://github.com/horde/horde/commit/afe1cd81f7e5fe374d5f7952956cdf15319601da
539 rmccorkell (at) karoshi (dot) org (dot) uk Comment #1
Priority ⇒ 2. Medium
New Attachment: 0001-Fix-_expunge-when-UIDPLUS-is-not-available.patch Download
Patch ⇒ Yes
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Fix expunge when UIDPLUS capability is not available
Type ⇒ Bug
State ⇒ Unconfirmed
Reply to this comment
When UIDPLUS is not available, and certain other circumstances are 
met, _expunge() runs close(), resetting the value of $this->_selected, 
causing other function calls relying on that to fail. This patch 
stores the value of $this->_selected in a variable at the beginning of 
_expunge(), and all further function calls use that instead, 
guaranteeing the same mailbox is used throughout (even if it gets 
closed as part of the expunging).

Real world example of breakage: 
https://github.com/owncloud/mail/issues/408 (on behalf of the ownCloud 
team we'd appreciate a quick turnaround and/or backport!)

Saved Queries