Projects
Kolab:16:Testing
kolab-syncroton
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 26
View file
kolab-syncroton.spec
Changed
@@ -37,7 +37,7 @@ %global upstream_version 2.4.2 Name: kolab-syncroton -Version: 2.4.2.2 +Version: 2.4.2.3 Release: 1%{?dist} Summary: ActiveSync for Kolab Groupware
View file
debian.changelog
Changed
@@ -1,4 +1,4 @@ -kolab-syncroton (2.4.2.2-0~kolab1) unstable; urgency=low +kolab-syncroton (2.4.2.3-0~kolab1) unstable; urgency=low * Release version 2.4.2
View file
kolab-syncroton-2.4.2.tar.gz/lib/kolab_sync_data_email.php
Changed
@@ -127,8 +127,12 @@ public static function encodeGlobalObjId(array $data): string { $classid = "040000008200e00074c5b7101a82e008"; - $uid = $data'uid'; - $vcalid = "vCal-Uid\1\0\0\0{$uid}\0"; + if (!empty($data'data')) { + $payload = $data'data'; + } else { + $uid = $data'uid'; + $payload = "vCal-Uid\1\0\0\0{$uid}\0"; + } $packed = pack( "H32nCCPx8Va*", @@ -137,8 +141,8 @@ $data'month' ?? 0, $data'day' ?? 0, $data'now' ?? 0, - strlen($vcalid), - $vcalid + strlen($payload), + $payload ); return base64_encode($packed); @@ -431,10 +435,18 @@ } } + $fileTime = ($event'start'->getTimestamp() + 11644473600) * 10000000; // 1.1.1600 - 1.1.1970 difference in seconds. Converted to microseconds + // Kolab Format 3.0 and xCal does support timezone per-date, but ActiveSync allows // only one timezone per-event. We'll use timezone of the start date $meeting'timeZone' = kolab_sync_timezone_converter::encodeTimezoneFromDate($event'start'); - $meeting'globalObjId' = self::encodeGlobalObjId('uid' => $event'uid'); + $meeting'globalObjId' = self::encodeGlobalObjId( + 'uid' => $event'uid', + 'year' => intval($event'start'->format('Y')), + 'month' => intval($event'start'->format('n')), + 'day' => intval($event'start'->format('j')), + 'now' => $fileTime, + ); // TODO handle other methods if ($event'_method' == 'REQUEST') {
View file
kolab-syncroton-2.4.2.tar.gz/tests/globalid_converter.php
Changed
@@ -25,8 +25,15 @@ $this->assertSame(2004, $output'year'); $this->assertSame(9, $output'month'); $this->assertSame(16, $output'day'); - //FIXME we don't currently implement non ical uids - // $encoded = kolab_sync_data_email::encodeGlobalObjId($output); - // $this->assertSame($encoded, $input); + $this->assertSame(127373090979660000, $output'now'); + + // This is how the "now" value is interpreted + // $winSecs = (int)($output'now' / 10000000); // convert microseconds to seconds + // $unixTimestamp = ($winSecs - 11644473600); // subtract 1.1.1600 - 1.1.1970 difference in seconds + // print(date(DateTime::RFC822, $unixTimestamp)); + + $encoded = kolab_sync_data_email::encodeGlobalObjId($output); + $this->assertSame($encoded, $input); + base64_decode($encoded); } }
View file
kolab-syncroton.dsc
Changed
@@ -2,7 +2,7 @@ Source: kolab-syncroton Binary: kolab-syncroton Architecture: all -Version: 1:2.4.2.2-1~kolab1 +Version: 1:2.4.2.3-1~kolab1 Maintainer: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> Uploaders: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com> 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
.