6.0.0-beta1
7/13/25

[#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 04/29/2015 (3728 days ago)
Due
Updated 04/29/2015 (3728 days ago)
Assigned
Resolved 04/29/2015 (3728 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch Yes

History
04/29/2015 04:28:22 PM 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
04/29/2015 04:26:06 PM 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.
04/29/2015 04:25:23 PM 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
04/29/2015 09:46:53 AM 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