[turba] Problems with GAL and ActiveSync

Sebastian Arcus s.arcus at open-t.co.uk
Thu Mar 29 17:09:56 UTC 2018


On 28/03/18 18:18, Sebastian Arcus wrote:
> I am running Horde 5.2.17, with Dovecot, Exim and Postgresql. I have 
> enabled ActiveSync and it is technically working, but I have several 
> issues with it:
> 
> 1. Although in the Turba global configuration I select "None" for 
> $conf[gal][addressbook], when I go back into it it reads "contacts" - no 
> matter how many times I do it.
> 
> 2. Although I make sure an individual user account has his/her own 
> address book, and then make sure that is the default address book in 
> Turba settings, when I connect an iPhone ( iPhone 6, iOS 11.3) in 
> Exchange mode to it, on the iPhone, under Contacts -> Groups (which 
> seems to be Apple speak for address books), I only see:
> 
>      "All <username> "
> 
>        and under it
> 
>      "<username> Global Address List"
> 
> First of all, there should be no Global Address List - as I have 
> presumably disabled it - then, what seems to be happening is that Horde 
> doesn't expose the account's default address book, which is user's own 
> address book, but only the Global Address Book, over ActiveSync.
> 
> The only way to get the sync working seems to be to enable multiple 
> address book support in the sync settings, in Turba, for the individual 
> user account. And even then, the user's address book still doesn't get 
> sent to the device as the default address book.

OK - I have sort of discovered the problem. I have two Horde servers. 
One was working correctly, the other wasn't. The one which is not 
working correctly does the following:

1. New contacts created on the server are synced to the device.
2. New contacts on the device are not synced to the server.
3. Amendments to server contacts previously synced on the device, done 
on the device, are synced back to the server.

The server which wasn't working correctly had auto share creation 
disabled. Both servers have ActiveSync support for multiple address 
books disabled.It seems that there are two fundamental differences 
between shares created automatically and those created manually. Looking 
at the turba_sharesng table, in the attribute_params column:

1. If the auto share creation is disabled, the created shares look 
something like this:

a:2:{s:6:"source";s:8:"localsql";s:4:"name";s:23:"MOT1v6aHfUmi8k66VG99TU_";}

If I set the share as default for the account, it actually adds a 
's:7:"default";b:0' to the above- for some bizarre reason - so it 
disables the default. It also gets that cryptic name, regardless of what 
I name it in the interface.

2. With the auto share creation enabled, the record looks something like 
this:

a:3:{s:6:"source";s:8:"localsql";s:7:"default";b:1;s:4:"name";s:25:"jsmith at mycompany.co.uk";}

So the share is set as the default, and it also gets a meaningful name.

It seems to me that something is broken when auto share creation is 
disabled, and address book shares get created with the wrong attributes.

Incidentally, changing "b:0" to "b:1" manually doesn't fix ActiveSync. 
But deleting the manually created address book, enabling auto share 
creation, and allowing it to be automatically recreated does fix things.


More information about the turba mailing list