Projects
Kolab:16:Enterprise
kolab-syncroton
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 38
View file
kolab-syncroton.spec
Changed
@@ -36,7 +36,7 @@ %global _ap_sysconfdir %{_sysconfdir}/%{httpd_name} Name: kolab-syncroton -Version: 2.3.17 +Version: 2.3.18 Release: 1%{?dist} Summary: ActiveSync for Kolab Groupware @@ -203,6 +203,9 @@ %attr(0770,%{httpd_user},%{httpd_group}) %{_var}/log/%{name} %changelog +* Mon Dec 16 2020 Christian Mollekopf <mollekopf@kolabsys.com> - 2.3.18-1 +- Release version 2.3.18 + * Mon May 4 2020 Christian Mollekopf <mollekopf@kolabsys.com> - 2.3.17-1 - Release version 2.3.17
View file
debian.changelog
Changed
@@ -1,3 +1,9 @@ +kolab-syncroton (2.3.18-0~kolab2) unstable; urgency=low + + * Release version 2.3.18 + + -- Christian Mollekopf <mollekopf@kolabsys.com> Wed, 16 Dec 2020 15:13:40 +0200 + kolab-syncroton (2.3.17-1~kolab3) unstable; urgency=low * Adjusted kolab-syncroton.logrotate according to new filenames
View file
kolab-syncroton-2.3.17.tar.gz/lib/ext/Syncroton/Command/Sync.php -> kolab-syncroton-2.3.18.tar.gz/lib/ext/Syncroton/Command/Sync.php
Changed
@@ -414,7 +414,7 @@ if ($this->_logger instanceof Zend_Log) $this->_logger->info(__METHOD__ . '::' . __LINE__ . " found " . count($fetches) . " entries to be fetched from server"); - $toBeFecthed = array(); + $toBeFetched = array(); foreach ($fetches as $fetch) { $serverId = (string)$fetch->ServerId; @@ -548,6 +548,10 @@ // First check for folders hierarchy changes foreach ($this->_collections as $collectionData) { if (! ($collectionData->folder instanceof Syncroton_Model_IFolder)) { + + if ($this->_logger instanceof Zend_Log) + $this->_logger->warn(__METHOD__ . '::' . __LINE__ . " Detected a folder hierarchy change on {$collectionData->collectionId}."); + $sync->appendChild($this->_outputDom->createElementNS('uri:AirSync', 'Status', self::STATUS_FOLDER_HIERARCHY_HAS_CHANGED)); return $this->_outputDom; }
View file
kolab-syncroton-2.3.17.tar.gz/lib/ext/Syncroton/Server.php -> kolab-syncroton-2.3.18.tar.gz/lib/ext/Syncroton/Server.php
Changed
@@ -346,6 +346,11 @@ $tag = ord(fread($stream, 1)); $length = ord(fread($stream, 1)); + // If the stream is at the end we'll get a 0-length + if (!$length) { + continue; + } + switch ($tag) { case self::PARAMETER_ATTACHMENTNAME: $unpacked = unpack('A' . $length . 'string', fread($stream, $length));
View file
kolab-syncroton-2.3.17.tar.gz/lib/kolab_sync.php -> kolab-syncroton-2.3.18.tar.gz/lib/kolab_sync.php
Changed
@@ -46,7 +46,7 @@ public $password; const CHARSET = 'UTF-8'; - const VERSION = "2.3.17"; + const VERSION = "2.3.18"; /**
View file
kolab-syncroton-2.3.17.tar.gz/lib/kolab_sync_data_tasks.php -> kolab-syncroton-2.3.18.tar.gz/lib/kolab_sync_data_tasks.php
Changed
@@ -164,6 +164,23 @@ return $as_array ? $result : new Syncroton_Model_Task($result); } + + + /** + * Apply a timezone matching the utc offset. + */ + private static function applyTimezone($value, $utcValue) + { + $tzc = kolab_sync_timezone_converter::getInstance(); + $tz = $tzc->getOffsetTimezone($value, $utcValue); + if ($tz) { + //Setting the timezone will change the time, so we set it on the utc variant instead to end up with the same time in the new timezone. + $value = $utcValue; + $value->setTimezone($tz); + } + return $value; + } + /** * convert contact from xml to libkolab array * @@ -186,6 +203,23 @@ $value = $data->$key; switch ($name) { + + case 'due': + case 'start': + // We expect to always get regular and utc variants, so we only need to take one into account. + if ($key == 'utcStartDate' || $key == 'utcDueDate') { + continue 2; + } + if ($value) { + if ($name =='due' && $data->utcDueDate) { + $value = static::applyTimezone($value, $data->utcDueDate); + } + if ($name =='start' && $data->utcStartDate) { + $value = static::applyTimezone($value, $data->utcStartDate); + } + } + break; + case 'sensitivity': $map = array_flip($this->sensitivityMap); $value = $map$value;
View file
kolab-syncroton-2.3.17.tar.gz/lib/kolab_sync_timezone_converter.php -> kolab-syncroton-2.3.18.tar.gz/lib/kolab_sync_timezone_converter.php
Changed
@@ -87,6 +87,43 @@ return self::$_instance; } + + /** + * Returns a timezone with an offset matching the time difference + * of $dt from $referenceDt. + * + * If set and matching the offset, kolab_format::$timezone is preferred. + * + * @param DateTime $dt The date time value for which we + * calculate the offset. + * @param DateTime $referenceDt The reference value, for instance in UTC. + * + * @return DateTimeZone|null + */ + public function getOffsetTimezone($dt, $referenceDt) + { + $interval = $referenceDt->diff($dt); + $tz = new DateTimeZone($interval->format('%R%H%I')); //e.g. +0200 + $utcOffset = $tz->getOffset($dt); + + //Prefer the configured timezone if it matches the offset. + if (kolab_format::$timezone) { + if (kolab_format::$timezone->getOffset($dt) == $utcOffset) { + return kolab_format::$timezone; + } + } + + //Look for any timezone with a matching offset. + foreach (DateTimeZone::listIdentifiers() as $timezoneIdentifier) { + $timezone = new DateTimeZone($timezoneIdentifier); + if ($timezone->getOffset($dt) == $utcOffset) { + return $timezone; + } + } + return null; + } + + /** * Returns a list of timezones that match to the {@param $_offsets} *
View file
kolab-syncroton.dsc
Changed
@@ -2,7 +2,7 @@ Source: kolab-syncroton Binary: kolab-syncroton Architecture: all -Version: 2.3.17-1~kolab3 +Version: 2.3.18-0~kolab2 Maintainer: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> Uploaders: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> Homepage: http://www.kolab.org/ @@ -12,5 +12,5 @@ Package-List: kolab-syncroton deb utils extra Files: - 00000000000000000000000000000000 0 kolab-syncroton-2.3.17.tar.gz + 00000000000000000000000000000000 0 kolab-syncroton-2.3.18.tar.gz 00000000000000000000000000000000 0 debian.tar.gz
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
.