[Tickets #14655] OS version detection when using android/gmail app doesn't work
noreply at bugs.horde.org
noreply at bugs.horde.org
Fri Jun 9 13:33:00 UTC 2017
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: https://bugs.horde.org/ticket/14655
------------------------------------------------------------------------------
Ticket | 14655
Created By | manuel-horde at mausz.at
Summary | OS version detection when using android/gmail app
| doesn't work
Queue | Synchronization
Version | FRAMEWORK_5_2
Type | Bug
State | Unconfirmed
Priority | 1. Low
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
manuel-horde at mausz.at (2017-06-09 13:33) wrote:
The multiplex detection in ActiveSync/Device.php relies on the OS
version being sent by the client. However the gmail app only sends the
UserAgent, no OS version or any other properties to detect the OS.
Thus everything gets multiplexed / no support for separate calendars.
A currently up2date android / gmail app sends these properties:
device_type: Android
device_agent: Android-Mail/7.5.21.158049789.release
device_supported:
a:1:{s:8:"Contacts";a:58:{i:0;s:22:"POOMCONTACTS:FirstName";i:1;s:21:"POOMCONTACTS:LastName";i:2;s:23:"POOMCONTACTS:MiddleName";i:3;s:19:"POOMCONTACTS:Suffix";i:4;s:24:"POOMCONTACTS:CompanyName";i:5;s:21:"POOMCONTACTS:JobTitle";i:6;s:26:"POOMCONTACTS:Email1Address";i:7;s:26:"POOMCONTACTS:Email2Address";i:8;s:26:"POOMCONTACTS:Email3Address";i:9;s:33:"POOMCONTACTS:Business2PhoneNumber";i:10;s:32:"POOMCONTACTS:BusinessPhoneNumber";i:11;s:17:"POOMCONTACTS2:MMS";i:12;s:30:"POOMCONTACTS:BusinessFaxNumber";i:13;s:30:"POOMCONTACTS2:CompanyMainPhone";i:14;s:26:"POOMCONTACTS:HomeFaxNumber";i:15;s:28:"POOMCONTACTS:HomePhoneNumber";i:16;s:29:"POOMCONTACTS:Home2PhoneNumber";i:17;s:30:"POOMCONTACTS:MobilePhoneNumber";i:18;s:27:"POOMCONTACTS:CarPhoneNumber";i:19;s:29:"POOMCONTACTS:RadioPhoneNumber";i:20;s:24:"POOMCONTACTS:PagerNumber";i:21;s:34:"POOMCONTACTS:AssistnamePhoneNumber";i:22;s:23:"POOMCONTACTS2:IMAddress";i:23;s:24:"POOMCONTACTS2:IMAddress2";i:24;s:24:"POOMCONTACTS2:IMAddress3";i:25;s:25
:"POOMCONTACTS:BusinessCity";i:26;s:28:"POOMCONTACTS:BusinessCountry";i:27;s:31:"POOMCONTACTS:BusinessPostalCode";i:28;s:26:"POOMCONTACTS:BusinessState";i:29;s:27:"POOMCONTACTS:BusinessStreet";i:30;s:21:"POOMCONTACTS:HomeCity";i:31;s:24:"POOMCONTACTS:HomeCountry";i:32;s:27:"POOMCONTACTS:HomePostalCode";i:33;s:22:"POOMCONTACTS:HomeState";i:34;s:23:"POOMCONTACTS:HomeStreet";i:35;s:22:"POOMCONTACTS:OtherCity";i:36;s:25:"POOMCONTACTS:OtherCountry";i:37;s:28:"POOMCONTACTS:OtherPostalCode";i:38;s:23:"POOMCONTACTS:OtherState";i:39;s:24:"POOMCONTACTS:OtherStreet";i:40;s:28:"POOMCONTACTS:YomiCompanyName";i:41;s:26:"POOMCONTACTS:YomiFirstName";i:42;s:25:"POOMCONTACTS:YomiLastName";i:43;s:22:"POOMCONTACTS2:NickName";i:44;s:26:"POOMCONTACTS:AssistantName";i:45;s:25:"POOMCONTACTS2:ManagerName";i:46;s:19:"POOMCONTACTS:Spouse";i:47;s:23:"POOMCONTACTS:Department";i:48;s:18:"POOMCONTACTS:Title";i:49;s:27:"POOMCONTACTS:OfficeLocation";i:50;s:24:"POOMCONTACTS2:CustomerId";i:51;s:26:"POOMCONTACTS2:Gover
nmentId";i:52;s:25:"POOMCONTACTS2:AccountName";i:53;s:24:"POOMCONTACTS:Anniversary";i:54;s:21:"POOMCONTACTS:Birthday";i:55;s:20:"POOMCONTACTS:WebPage";i:56;s:20:"POOMCONTACTS:Picture";i:57;s:19:"POOMCONTACTS:FileAs";}}
device_properties:
a:5:{s:16:"announcedVersion";s:23:"2.5,12.0,12.1,14.0,14.1";s:9:"userAgent";s:37:"Android-Mail/7.5.21.158049789.release";s:7:"version";s:4:"14.1";s:7:"blocked";N;s:9:"multiplex";i:15;}
where as "Android-Mail/7.5.21.158049789.release" is the current gmail
app version.
Also the current code in getMajorVersion and getMinorVersion
incorrectly parses the useragent as Android 7.5
I assume the best thing to do is to add "Android-Mail" to the parsing
and return some fixed android version. e.g 6.0 or something. Plus
extend the _sniffMultiplex method. I can send a PR for that if desired.
More information about the bugs
mailing list