PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Networking » Net_Sieve » Bug #3242

cyrus murder referrals not followed

Details

Submitted2005-01-19 13:11 UTC
Fromandre at gaarden dot net
Assigneddamian
StatusClosed
PackageNet_Sieve
PHP VersionIrrelevant
OSIrrelevant
Roadmaps(Not assigned)

Comments

[2005-01-19 13:11 UTC] andre at gaarden dot net

Description:
------------
When Net_Sieve connects to a Cyrus timsieved with "murder" setup, it might receive an answer with a referral to the backend host.
(see bug #591)

If the referral line contains the "sieve://" protocol name, Net_Sieve does not follow it correctly, an error is risen instead.

Reproduce code:
---------------
The following patch fixes this problem (for me):

949c949
< if (preg_match('/^bye \(referral "([^"]+)/i', $line, $matches)) {
---
> if (preg_match('/^bye \(referral "(sieve:\/\/)?([^"]+)/i', $line, $matches)) {
951c951
< $this->_data['host'] = $matches[1];
---
> $this->_data['host'] = $matches[2];