|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #78572 Discontinue use of c-client library
Submitted: 2019-09-20 03:07 UTC Modified: 2019-11-05 23:52 UTC
Avg. Score:1.0 ± 0.0
Reproduced:0 of 1 (0.0%)
From: Assigned:
Status: Open Package: IMAP related
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
Block user comment
Status: Assign to:
Bug Type:
New email:
PHP Version: OS:


 [2019-09-20 03:07 UTC]
The IMAP extension does not perform as well as pure user-land implementations of the IMAP protocol. This is due, in largest part, to the c-client library on which this extension's based: c-client is many years unmaintained and there are numerous bugs related to it.

Scope of this ticket is to formulate a remediation plan, where we can either replace c-client with a similar, maintained library or implement the IMAP protocol ourselves natively. This is essentially a reboot of the IMAP extension and would require, I believe, extensive work to accomplish.

An alternative is to sunset the extension, encouraging consumers to switch to a pure PHP extension.


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2019-09-20 03:11 UTC]
See also
 [2019-09-20 03:12 UTC] bugreports at gmail dot com
problem is that there is no userland implementation i know of which supports POP3 the same way which is interesting when you have a testing mailserver with all sort of previously problem messages burried in a autotest to make sure they are reconstructed identically with IMAP/POP3 and at least here we heave a large amount of POP3 users
 [2019-09-20 04:57 UTC]
Thanks for mentioning POP3 support, No matter what happens, we'd not abandon POP3 support.

If we sunset the PHP IMAP extension, then we'd recommend consumers update their applications to use a robust, IMAP and POP3 capable library. For example, Horde/Imap_Client[1] supports POP3[2], is fast, well-tested, and extensible.

If we choose to reboot the extension, when we'd have to make it support IMAP and POP3.

 [2019-09-20 07:45 UTC]
Note, I'm not super familiar with c-client anymore.

What would the technical cost and depth be to implement it in C, as our own library? Would it be sufficient to do so or would it be an overkill? The reason I'm asking is primarily that imap is a popular extension and it has been for a very long time, I personally would be sad to see it go, but if the grounds is that there is no otherwise stable backend to base it on, then I can agree on those merits that it should go.
 [2019-09-20 07:50 UTC]
Providing a composer package that exposes the ext/imap API on top of some existing IMAP implementation is the way forward here, IMHO.

A native implementation of the IMAP protocol is a strong no-go from me. There is no benefit to implementing this in C, and lots of disadvantages, especially where it comes to security.
 [2019-09-20 09:29 UTC]
I fully agree with Nikita.

The current show-stopper appears to be mail related tests on
Windows, which currently use ext/imap.
 [2019-11-05 20:42 UTC] toddr at cpanel dot net
FYI Imap-2007 will no longer compile on RedHat 8.
 [2019-11-05 20:45 UTC] ghghghghghgh at netflix dot com
> FYI Imap-2007 will no longer compile on RedHat 8

i doubt that RHEL has anything newer than Fedora 31 where it works depsipte of httpd crahes when you relod apache instead of a hard restart

it's not nice *but* there is *no* replacement in case someone drives serious IT and autotests to compare behavior if IMAP *and* POP3 for the same messages
 [2019-11-05 23:52 UTC]
Related to Bug #78783
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sat Dec 07 19:01:24 2019 UTC