Cyrus extension fixes
| From: | Moriyoshi Koizumi | Date: | Sat, 19 Jun 2004 23:41:42 +0000 |
| Subject: | Cyrus extension fixes | ||
| Groups: | php.pecl.dev | ||
| Request: | Send a blank email to pecl-dev+get-868@lists.php.net to get a copy of this message | ||
Hello,
I made a huge patch for the cyrus imap extension to get it usable
with the recent versions of cyrus-imapd.
The patch against the HEAD of pecl/cyrus module can be downloaded
from the following place:
http://www.voltex.jp/patches/cyrus-misc-fixes-20040620.patch.diff.txt
The attached text file briefly describes how it can be used in reality.
The changes include:
- Changed cyrus_query() to correctly issue imclient_processoneevent()
calls until the end of the response sequence.
- Changed cyrus_query() to return the status of the query instead of
a simple boolean value.
- Fixed cyrus_bind() to keep the php_cyrus_callback instance in the
linked list associated to the resource descriptor, instead of passing
one allocated in the stack frame to imclient_addcallback() as a
"rock", to prevent following undesired crashes in the callback
function.
- Fixed memory leaks in cyrus_generic_callback(), by changing it to
destroy the return value resulted from the user land callback on
success.
- Modified cyrus_authenticate() so it can handle password authentication
without a console interaction by adding SASL callbacks.
- Added two #include's to prevent warnings.
- Some typo / CS fixes.
Although it was one of the things I was really careing about,
I'm not sure if this completely maintains backwards compatibilities.
If there's no problem, please commit this one. Hope this will
save someone's time.
Thanks,
Moriyoshi