Projects
Kolab:Winterfell
kolab-syncroton
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 12
View file
kolab-syncroton.spec
Changed
@@ -31,7 +31,7 @@ Name: kolab-syncroton Version: 2.3.3 -Release: 0.20160921.git%{?dist} +Release: 1%{?dist} Summary: ActiveSync for Kolab Groupware Group: Applications/Internet @@ -209,6 +209,9 @@ %attr(0770,%{httpd_user},%{httpd_group}) %{_var}/log/%{name} %changelog +* Tue Nov 15 2016 Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> - 2.3.3-1 +- Release of version 2.3.3 + * Fri Mar 27 2015 Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> - 2.3.2-1 - Release of version 2.3.2, see;
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +kolab-syncroton (2.3.3-0~kolab1) unstable; urgency=low + + * Release of version 2.3.3 + + -- Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Tue, 15 Nov 2016 15:13:40 +0200 + kolab-syncroton (2.3.3~dev20160921-0~kolab1) unstable; urgency=low * Release of version 2.3.2, see:
View file
kolab-syncroton-2.3.3.tar.gz/config/config.inc.php.dist
Changed
@@ -83,6 +83,12 @@ // 32 - all folders in shared namespace $config['activesync_init_subscriptions'] = 0; +// Defines blacklist of devices (device type strings) that do not support folder hierarchies. +// When set to an array folder hierarchies are used on all devices not listed here. +// When set to null an old whitelist approach will be used where we do opposite +// action and enable folder hierarchies only on device types known to support it. +$config['activesync_multifolder_blacklist'] = null; + // Enables adding sender name in the From: header of send email // when a device uses email address only (e.g. iOS devices) $config['activesync_fix_from'] = false;
View file
kolab-syncroton-2.3.3.tar.gz/lib/ext/Syncroton/Model/AXMLEntry.php
Changed
@@ -183,16 +183,21 @@ } } - /** - * removed control chars from string which are not allowd in XML values - * - * @param string|array $_dirty - * @return string - */ - protected function _removeControlChars($dirty) + /** + * remove control chars from a string which are not allowed in XML values + * + * @param string $dirty An input string + * @return string Cleaned up string + */ + protected function _removeControlChars($dirty) { - return preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F]/', null, $dirty); - } + // Replace non-character UTF-8 sequences that cause XML Parser to fail + // https://git.kolab.org/T1311 + $dirty = str_replace(array("\xEF\xBF\xBE", "\xEF\xBF\xBF"), '', $dirty); + + // Replace ASCII control-characters + return preg_replace('/[\x00-\x08\x0B\x0C\x0E-\x1F]/', '', $dirty); + } /** * enforce >valid< utf-8 encoding
View file
kolab-syncroton-2.3.3.tar.gz/lib/kolab_sync.php
Changed
@@ -46,7 +46,7 @@ public $password; const CHARSET = 'UTF-8'; - const VERSION = "2.3.2"; + const VERSION = "2.3.3"; /**
View file
kolab-syncroton-2.3.3.tar.gz/lib/kolab_sync_data.php
Changed
@@ -208,7 +208,7 @@ $list = array(); // device supports multiple folders ? - if (in_array(strtolower($this->device->devicetype), $this->ext_devices)) { + if ($this->isMultiFolder()) { // get the folders the user has access to $list = $this->listFolders(); } @@ -243,6 +243,23 @@ } /** + * Returns true if the device supports multiple folders or it was configured so + */ + protected function isMultiFolder() + { + $blacklist = rcube::get_instance()->config->get('activesync_multifolder_blacklist'); + + if (is_array($blacklist)) { + $is_multifolder = !in_array_nocase($this->device->devicetype, $blacklist); + } + else { + $is_multifolder = in_array_nocase($this->device->devicetype, $this->ext_devices); + } + + return $is_multifolder; + } + + /** * Returns default folder for current class type. */ protected function getDefaultFolder() @@ -878,6 +895,17 @@ */ public function hasChanges(Syncroton_Backend_IContent $contentBackend, Syncroton_Model_IFolder $folder, Syncroton_Model_ISyncState $syncState) { + // Try to detect change in multi-folder mode and throw exception + // so device will re-sync folders hierarchy + // @TODO: this is a temp solution until we have real hierarchy + // changes detection fort Ping/Hartbeat + $is_multifolder = $this->isMultiFolder(); + if (($is_multifolder && $folder->serverId == $this->defaultRootFolder) + || (!$is_multifolder && $folder->type >= 12) + ) { + throw new Syncroton_Exception_NotFound('Folder not found'); + } + try { if ($this->getChangedEntriesCount($folder->serverId, $syncState->lastsync, null, $folder->lastfiltertype)) { return true;
View file
kolab-syncroton-2.3.3.tar.gz/lib/kolab_sync_data_email.php
Changed
@@ -459,7 +459,7 @@ } // device doesn't support multiple folders - if (!in_array(strtolower($this->device->devicetype), $this->ext_devices)) { + if (!$this->isMultiFolder()) { // We'll return max. one folder of supported type $result = array(); $types = $this->folder_types; @@ -501,7 +501,7 @@ } // device supports multiple folders? - if (in_array(strtolower($this->device->devicetype), $this->ext_devices)) { + if ($this->isMultiFolder()) { if ($list[$folder_id]) { $result[] = $folder_id; }
View file
kolab-syncroton.dsc
Changed
@@ -2,7 +2,7 @@ Source: kolab-syncroton Binary: kolab-syncroton Architecture: all -Version: 2.3.3~dev20160921-0~kolab1 +Version: 2.3.3-0~kolab1 Maintainer: Jeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com> Uploaders: Paul Klos <kolab@klos2day.nl> Homepage: http://www.kolab.org/
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.