Re: patch for imap bug 77153
| From: | Christoph M. Becker | Date: | Wed, 21 Nov 2018 23:40:23 +0000 |
| Subject: | Re: patch for imap bug 77153 | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-103475@lists.php.net to get a copy of this message | ||
On 21.11.2018 at 00:01, Stanislav Malyshev wrote:
>> actually the PHP wrapper should not have allowed to pass the mailbox
>> name verbatim, which would only be reasonable in my opinion, if we were
>> supporting arbitrary drivers (which we don't). And of course, userland
>
> PHP does not do anything with mailbox names. In fact, PHP doesn't even
> know what mailbox name is (it just passes opaque string to c-client and
> hopes c-client can make sense of it, whatever that string does). Thus,
> we support everything c-client supports, AFAIK. We could extract the
> whole parsing logic from c-client and re-implement it, but I don't think
> it's worth the time spent.
libc-client supports *arbitrary* drivers[1], but the PHP wrapper does
not[2] (presumably for good reasons[3]). Thus, the PHP wrapper could
have expected an array (or some such) instead of a string, assembling
the mailbox name from white-listed elements. This would have been a
much cleaner and more robust API.
Anyhow, this is water under the bridge now, and I think we should issue
a call for maintainership[4] for ext/imap as soon as possible, since
this is not the only issue[5] of this unmaintained[6] extension.
[1] see docs/drivers.txt in the imap-2007f distribution
[2]
<https://github.com/php/php-src/blob/php-7.3.0RC5/ext/imap/php_imap.c#L845-L859>
[3] see the mail_link() docs in docs/internal.txt
[4] <https://wiki.php.net/rfc/umaintained_extensions#proposal>
[5]
<https://bugs.php.net/search.php?cmd=display&package_name[]=IMAP+related&direction=DESC&limit=30&status=Open>
[6]
<https://github.com/php/php-src/blob/5a5f3617558b7a278a5c73652087b3d89927ccba/EXTENSIONS#L265>
--
Christoph M. Becker