[horde] Can't synchronize older devices with ActiveSync-2.13.2
Arjen de Korte
arjen+horde at de-korte.org
Sun Mar 23 21:40:20 UTC 2014
Citeren Arjen de Korte <arjen+horde at de-korte.org>:
> Citeren Arjen de Korte <arjen+horde at de-korte.org>:
>
>> Citeren Michael J Rubinsky <mrubinsk at horde.org>:
>>
>>> Quoting Arjen de Korte <arjen+horde at de-korte.org>:
>>>
>>>> I have several (older) devices that stop synchronizing with the
>>>> latest (2.13.2) version of Horde_ActiveSync. Calendar
>>>> synchronization has been broken for most of them (and the newer
>>>> ones too) for quite a while already (see Bug #13022), but now
>>>> also mailboxes are affected. Some mailboxes will synchronize
>>>> fine, but others (it seems to be the ones with lots of messages
>>>> in them) don't. Removing accounts and provisioning devices again
>>>> doesn't help.
>>>>
>>>> One thing that I noticed is, that now all devices report the same
>>>> 'Supporting protocol version':
>>>>
>>>> INFO: [5891] Request being handled for device: HTCAND543813B4,
>>>> Supporting protocol version: 14,1, Using Horde_ActiveSync v2.13.2
>>>> INFO: [5207] Request being handled for device: 847CC7DCA0F0B1CF,
>>>> Supporting protocol version: 14.1, Using Horde_ActiveSync v2.13.2
>>>> INFO: [7820] Request being handled for device:
>>>> ANDROID1325376003651, Supporting protocol version: 14.1, Using
>>>> Horde_ActiveSync v2.13.2
>>>>
>>>> The last version of Horde_ActiveSync that more-or-less works here
>>>> is 2.12.4, where the supporting protocol version matches with
>>>> what the devices actually support:
>>>>
>>>> INFO: [19415] Request being handled for device: HTCAND543813B4,
>>>> Supporting protocol version: 12.1, Using Horde_ActiveSync v2.12.4
>>>> INFO: [20366] Request being handled for device: 847CC7DCA0F0B1CF,
>>>> Supporting protocol version: 12.1, Using Horde_ActiveSync v2.12.4
>>>> INFO: [26236] Request being handled for device:
>>>> ANDROID1325376003651, Supporting protocol version: 14.1, Using
>>>> Horde_ActiveSync v2.12.4
>>>>
>>>> Only the ANDROID1325376003651 is able to synchronize mail without
>>>> issues, for the other two there will be massive looping syncs
>>>> before Horde gives up on synchronization (large mailboxes and the
>>>> calendar seem to be affected). With v2.12.4 all devices
>>>> synchronize at least mail and contacts properly and some accounts
>>>> (this doesn't seem to be related to the devices) will also have
>>>> their calendar synchronized.
>>>
>>> Can you provide the exact string that the client sends in the
>>> version header?
>>
>> Do I need to grab this from the wire or is this logged somewhere?
>
> I think I found the problem. The version returned by the client is
> not used anymore. It is supposed to be set in Horde/ActiveSync.php
> by the following code
>
> 1018 /**
> 1019 * Obtain the ActiveSync protocol version requested by
> the client headers.
> 1020 *
> 1021 * @return long
> 1022 */
> 1023 public function getProtocolVersion()
> 1024 {
> 1025 if (isset(self::$_version)) {
> 1026 return self::$_version;
> 1027 }
> 1028 self::$_version =
> $this->_request->getHeader('MS-ASProtocolVersion');
> 1029 if (empty(self::$_version)) {
> 1030 $get = $this->getGetVars();
> 1031 self::$_version = empty($get['ProtVer']) ? '1.0'
> : $get['ProtVer'];
> 1032 }
> 1033 return self::$_version;
> 1034 }
> 1035
>
> If I understand the above correctly, this will no longer work since
> the following commit already defaults $_version to 14.1 (and the
> function will always return without parsing the header).
>
> diff --git a/framework/ActiveSync/lib/Horde/ActiveSync.php
> b/framework/ActiveSync/lib/Horde/ActiveSync.php
> index e1e5840..d3bda80 100644
> --- a/framework/ActiveSync/lib/Horde/ActiveSync.php
> +++ b/framework/ActiveSync/lib/Horde/ActiveSync.php
> @@ -324,7 +324,7 @@ class Horde_ActiveSync
> *
> * @var float
> */
> - static protected $_version;
> + static protected $_version = 14.1;
>
> /**
> * Multipart support?
>
> I have yet to try if reverting this will fix things.
Yup, reverting that commit seems to fix the looping syncs on older devices.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5849 bytes
Desc: S/MIME Signature
URL: <http://lists.horde.org/archives/horde/attachments/20140323/629a19cb/attachment.bin>
More information about the horde
mailing list