Overview

Request 3135 (accepted)

New release


debian.changelog Changed
x
 
1
@@ -1,4 +1,4 @@
2
-roundcubemail (1.5.3-1~kolab5) unstable; urgency=low
3
+roundcubemail (1.5.3-1~kolab6) unstable; urgency=low
4
 
5
   * New tarball
6
   * Set tasklist.inc.php
7
roundcubemail-1.5.3.tar.gz/SQL/mysql/2020020101.sql Changed
31
 
1
@@ -26,15 +26,6 @@
2
 ALTER TABLE `filestore` ROW_FORMAT=DYNAMIC;
3
 ALTER TABLE `system` ROW_FORMAT=DYNAMIC;
4
 
5
-
6
-ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL;
7
-ALTER TABLE `cache` CHANGE `cache_key` `cache_key` varchar(128) BINARY NOT NULL;
8
-ALTER TABLE `cache_shared` CHANGE `cache_key` `cache_key` varchar(191) BINARY NOT NULL;
9
-ALTER TABLE `cache_index` CHANGE `mailbox` `mailbox` varchar(191) BINARY NOT NULL;
10
-ALTER TABLE `cache_thread` CHANGE `mailbox` `mailbox` varchar(191) BINARY NOT NULL;
11
-ALTER TABLE `cache_messages` CHANGE `mailbox` `mailbox` varchar(191) BINARY NOT NULL;
12
-
13
-
14
 ALTER TABLE `session` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
15
 ALTER TABLE `users` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
16
 ALTER TABLE `cache` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
17
@@ -50,6 +41,13 @@
18
 ALTER TABLE `filestore` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
19
 ALTER TABLE `system` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
20
 
21
+ALTER TABLE `users` CHANGE `username` `username` varchar(128) BINARY NOT NULL;
22
+ALTER TABLE `cache` CHANGE `cache_key` `cache_key` varchar(128) BINARY NOT NULL;
23
+ALTER TABLE `cache_shared` CHANGE `cache_key` `cache_key` varchar(255) BINARY NOT NULL;
24
+ALTER TABLE `cache_index` CHANGE `mailbox` `mailbox` varchar(255) BINARY NOT NULL;
25
+ALTER TABLE `cache_thread` CHANGE `mailbox` `mailbox` varchar(255) BINARY NOT NULL;
26
+ALTER TABLE `cache_messages` CHANGE `mailbox` `mailbox` varchar(255) BINARY NOT NULL;
27
+
28
 ALTER TABLE `cache`
29
   ADD CONSTRAINT `user_id_fk_cache` FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE;
30
 ALTER TABLE `cache_index`
31
roundcubemail-1.5.3.tar.gz/SQL/mysql/2020091000.sql Changed
12
 
1
@@ -1,8 +1,8 @@
2
 CREATE TABLE `collected_addresses` (
3
  `address_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
4
  `changed` datetime NOT NULL DEFAULT '1000-01-01 00:00:00',
5
- `name` varchar(191) NOT NULL DEFAULT '',
6
- `email` varchar(191) NOT NULL,
7
+ `name` varchar(255) NOT NULL DEFAULT '',
8
+ `email` varchar(255) NOT NULL,
9
  `user_id` int(10) UNSIGNED NOT NULL,
10
  `type` int(10) UNSIGNED NOT NULL,
11
  PRIMARY KEY(`address_id`),
12
roundcubemail-1.5.3.tar.gz/plugins/calendar/drivers/caldav/SQL/mysql.initial.sql Changed
22
 
1
@@ -1,6 +1,6 @@
2
-DROP TABLE `kolab_alarms` IF EXISTS;
3
+DROP TABLE IF EXISTS `kolab_alarms`;
4
 
5
-CREATE TABLE IF NOT EXISTS `kolab_alarms` (
6
+CREATE TABLE `kolab_alarms` (
7
   `alarm_id` VARCHAR(255) NOT NULL,
8
   `user_id` int(10) UNSIGNED NOT NULL,
9
   `notifyat` DATETIME DEFAULT NULL,
10
@@ -10,9 +10,9 @@
11
     REFERENCES `users`(`user_id`) ON DELETE CASCADE ON UPDATE CASCADE
12
 ) ROW_FORMAT=DYNAMIC ENGINE=INNODB CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
13
 
14
-DROP TABLE `itipinvitations` IF EXISTS;
15
+DROP TABLE IF EXISTS `itipinvitations`;
16
 
17
-CREATE TABLE IF NOT EXISTS `itipinvitations` (
18
+CREATE TABLE `itipinvitations` (
19
   `token` VARCHAR(64) NOT NULL,
20
   `event_uid` VARCHAR(255) NOT NULL,
21
   `user_id` int(10) UNSIGNED NOT NULL DEFAULT '0',
22
roundcubemail-1.5.3.tar.gz/plugins/calendar/drivers/kolab/kolab_driver.php Changed
20
 
1
@@ -1021,17 +1021,12 @@
2
 
3
             $old = $fromcalendar->get_event($event'id');
4
 
5
-            if ($event'_savemode' != 'new') {
6
+            if (empty($event'_savemode') || $event'_savemode' != 'new') {
7
                 if (!$fromcalendar->storage->move($old'uid', $storage->storage)) {
8
                     return false;
9
                 }
10
-
11
-                $fromcalendar = $storage;
12
             }
13
         }
14
-        else {
15
-            $fromcalendar = $storage;
16
-        }
17
 
18
         $success  = false;
19
         $savemode = 'all';
20
roundcubemail-1.5.3.tar.gz/plugins/kolab_addressbook/drivers/kolab/kolab_contacts.php Changed
9
 
1
@@ -476,6 +476,7 @@
2
         }
3
 
4
         // advanced search
5
+        $advanced = false;
6
         if (is_array($value)) {
7
             $advanced = true;
8
             $value = array_map('mb_strtolower', $value);
9
roundcubemail-1.5.3.tar.gz/plugins/libkolab/lib/kolab_dav_client.php Changed
14
 
1
@@ -359,10 +359,10 @@
2
             . '</d:propfind>';
3
 
4
         // Note: Cyrus CardDAV service requires Depth:1 (CalDAV works without it)
5
-        $response = $this->request($location, 'PROPFIND', $body, 'Depth' => 1, 'Prefer' => 'return-minimal');
6
+        $response = $this->request($location, 'PROPFIND', $body, 'Depth' => 0, 'Prefer' => 'return-minimal');
7
 
8
         if (!empty($response)
9
-            && ($element = $response->getElementsByTagName('response'))
10
+            && ($element = $response->getElementsByTagName('response')->item(0))
11
             && ($folder = $this->getFolderPropertiesFromResponse($element))
12
         ) {
13
             return $folder;
14
roundcubemail-1.5.3.tar.gz/plugins/libkolab/lib/kolab_format_contact.php Changed
9
 
1
@@ -310,6 +310,7 @@
2
 
3
         // organisation related properties (affiliation)
4
         $orgs = $this->obj->affiliations();
5
+        $org = null;
6
         if ($orgs->size()) {
7
             $org = $orgs->get(0);
8
             $object'organization'   = $org->organisation();
9
roundcubemail-1.5.3.tar.gz/plugins/libkolab/lib/kolab_storage_cache.php Changed
35
 
1
@@ -25,7 +25,6 @@
2
 class kolab_storage_cache
3
 {
4
     const DB_DATE_FORMAT = 'Y-m-d H:i:s';
5
-    const MAX_RECORDS    = 500;
6
 
7
     protected $db;
8
     protected $imap;
9
@@ -778,8 +777,8 @@
10
         if ($this->ready) {
11
             $this->_read_folder_data();
12
 
13
-            // fetch full object data on one query if a small result set is expected
14
-            $fetchall = !$uids && ($this->limit ? $this->limit0 : ($count = $this->count($query))) < self::MAX_RECORDS;
15
+            // fetch full object data unless only uids are requested
16
+            $fetchall = !$uids;
17
 
18
             // skip SELECT if we know it will return nothing
19
             if ($count === 0) {
20
@@ -921,6 +920,14 @@
21
     }
22
 
23
     /**
24
+     * Reset the sync state, i.e. force sync when synchronize() is called again
25
+     */
26
+    public function reset()
27
+    {
28
+        $this->synched = null;
29
+    }
30
+
31
+    /**
32
      * Define ORDER BY clause for cache queries
33
      */
34
     public function set_order_by($sortcols)
35
roundcubemail-1.5.3.tar.gz/plugins/libkolab/lib/kolab_storage_dav.php Changed
24
 
1
@@ -38,14 +38,6 @@
2
     public function __construct($url)
3
     {
4
         $this->url = $url;
5
-        $this->setup();
6
-    }
7
-
8
-    /**
9
-     * Setup the environment
10
-     */
11
-    public function setup()
12
-    {
13
         $this->dav = new kolab_dav_client($this->url);
14
     }
15
 
16
@@ -58,7 +50,6 @@
17
      */
18
     public function get_folders($type)
19
     {
20
-        // TODO: This should be cached
21
         $folders = $this->dav->listFolders($this->get_dav_type($type));
22
 
23
         if (is_array($folders)) {
24
roundcubemail-1.5.3.tar.gz/plugins/libkolab/lib/kolab_storage_dav_folder.php Changed
57
 
1
@@ -24,10 +24,16 @@
2
 #AllowDynamicProperties
3
 class kolab_storage_dav_folder extends kolab_storage_folder
4
 {
5
+    /** @var kolab_dav_client DAV Client */
6
     public $dav;
7
+
8
+    /** @var string Folder URL */
9
     public $href;
10
+
11
+    /** @var array Folder DAV attributes */
12
     public $attributes;
13
 
14
+
15
     /**
16
      * Object constructor
17
      */
18
@@ -76,6 +82,13 @@
19
      */
20
     public function get_ctag()
21
     {
22
+        // Refresh requested, get the current CTag from the DAV server
23
+        if ($this->attributes'ctag' === false) {
24
+            if ($fresh = $this->dav->folderInfo($this->href)) {
25
+                $this->attributes'ctag' = $fresh'ctag';
26
+            }
27
+        }
28
+
29
         return $this->attributes'ctag';
30
     }
31
 
32
@@ -330,6 +343,8 @@
33
 
34
         if ($success) {
35
             $this->cache->set($uid, false);
36
+            $target_folder->reset();
37
+            $this->reset();
38
         }
39
 
40
         return $success;
41
@@ -463,6 +478,15 @@
42
     }
43
 
44
     /**
45
+     * Reset the folder status
46
+     */
47
+    public function reset()
48
+    {
49
+        $this->cache->reset();
50
+        $this->attributes'ctag' = false;
51
+    }
52
+
53
+    /**
54
      * Convert DAV object into PHP array
55
      *
56
      * @param array Object data in kolab_dav_client::fetchData() format
57
roundcubemail-1.5.3.tar.gz/plugins/libkolab/lib/kolab_storage_folder.php Changed
62
 
1
@@ -69,7 +69,7 @@
2
         }
3
 
4
         $oldtype = $this->type;
5
-        list($this->type, $suffix) = explode('.', $type_annotation);
6
+        list($this->type, $suffix) = array_pad(explode('.', $type_annotation), 2, null);
7
         $this->default      = $suffix == 'default';
8
         $this->subtype      = $this->default ? '' : $suffix;
9
         $this->id           = kolab_storage::folder_id($name);
10
@@ -266,6 +266,25 @@
11
     }
12
 
13
     /**
14
+     * Getter for a single Kolab object identified by its UID
15
+     *
16
+     * @param string $uid Object UID
17
+     *
18
+     * @return array The Kolab object represented as hash array
19
+     */
20
+    public function get_object($uid)
21
+    {
22
+        if (!$this->valid || !$uid) {
23
+            return false;
24
+        }
25
+
26
+        // synchronize caches
27
+        $this->cache->synchronize();
28
+
29
+        return $this->cache->get_by_uid($uid);
30
+    }
31
+
32
+    /**
33
      * List Kolab objects matching the given query
34
      *
35
      * @param mixed Pseudo-SQL query as list of filter parameter triplets
36
@@ -366,25 +385,6 @@
37
     }
38
 
39
     /**
40
-     * Getter for a single Kolab object identified by its UID
41
-     *
42
-     * @param string $uid Object UID
43
-     *
44
-     * @return array The Kolab object represented as hash array
45
-     */
46
-    public function get_object($uid)
47
-    {
48
-        if (!$this->valid || !$uid) {
49
-            return false;
50
-        }
51
-
52
-        // synchronize caches
53
-        $this->cache->synchronize();
54
-
55
-        return $this->cache->get_by_uid($uid);
56
-    }
57
-
58
-    /**
59
      * Fetch a Kolab object attachment which is stored in a separate part
60
      * of the mail MIME message that represents the Kolab record.
61
      *
62
roundcubemail-1.5.3.tar.gz/temp/js_cache/tinymce-langs-5.8.2.zip Changed
roundcubemail-1.5.3.tar.gz/vendor/autoload.php Changed
7
 
1
@@ -4,4 +4,4 @@
2
 
3
 require_once __DIR__ . '/composer/autoload_real.php';
4
 
5
-return ComposerAutoloaderInitee8891559e48bc80a86f1e6d014fe94b::getLoader();
6
+return ComposerAutoloaderInit1d664382e5eafcfdffb85f2dfa64b0a5::getLoader();
7
roundcubemail-1.5.3.tar.gz/vendor/composer/autoload_real.php Changed
54
 
1
@@ -2,7 +2,7 @@
2
 
3
 // autoload_real.php @generated by Composer
4
 
5
-class ComposerAutoloaderInitee8891559e48bc80a86f1e6d014fe94b
6
+class ComposerAutoloaderInit1d664382e5eafcfdffb85f2dfa64b0a5
7
 {
8
     private static $loader;
9
 
10
@@ -24,9 +24,9 @@
11
 
12
         require __DIR__ . '/platform_check.php';
13
 
14
-        spl_autoload_register(array('ComposerAutoloaderInitee8891559e48bc80a86f1e6d014fe94b', 'loadClassLoader'), true, true);
15
+        spl_autoload_register(array('ComposerAutoloaderInit1d664382e5eafcfdffb85f2dfa64b0a5', 'loadClassLoader'), true, true);
16
         self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
17
-        spl_autoload_unregister(array('ComposerAutoloaderInitee8891559e48bc80a86f1e6d014fe94b', 'loadClassLoader'));
18
+        spl_autoload_unregister(array('ComposerAutoloaderInit1d664382e5eafcfdffb85f2dfa64b0a5', 'loadClassLoader'));
19
 
20
         $includePaths = require __DIR__ . '/include_paths.php';
21
         $includePaths = get_include_path();
22
@@ -36,7 +36,7 @@
23
         if ($useStaticLoader) {
24
             require __DIR__ . '/autoload_static.php';
25
 
26
-            call_user_func(\Composer\Autoload\ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::getInitializer($loader));
27
+            call_user_func(\Composer\Autoload\ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::getInitializer($loader));
28
         } else {
29
             $map = require __DIR__ . '/autoload_namespaces.php';
30
             foreach ($map as $namespace => $path) {
31
@@ -57,19 +57,19 @@
32
         $loader->register(true);
33
 
34
         if ($useStaticLoader) {
35
-            $includeFiles = Composer\Autoload\ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::$files;
36
+            $includeFiles = Composer\Autoload\ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::$files;
37
         } else {
38
             $includeFiles = require __DIR__ . '/autoload_files.php';
39
         }
40
         foreach ($includeFiles as $fileIdentifier => $file) {
41
-            composerRequireee8891559e48bc80a86f1e6d014fe94b($fileIdentifier, $file);
42
+            composerRequire1d664382e5eafcfdffb85f2dfa64b0a5($fileIdentifier, $file);
43
         }
44
 
45
         return $loader;
46
     }
47
 }
48
 
49
-function composerRequireee8891559e48bc80a86f1e6d014fe94b($fileIdentifier, $file)
50
+function composerRequire1d664382e5eafcfdffb85f2dfa64b0a5($fileIdentifier, $file)
51
 {
52
     if (empty($GLOBALS'__composer_autoload_files'$fileIdentifier)) {
53
         require $file;
54
roundcubemail-1.5.3.tar.gz/vendor/composer/autoload_static.php Changed
27
 
1
@@ -4,7 +4,7 @@
2
 
3
 namespace Composer\Autoload;
4
 
5
-class ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b
6
+class ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5
7
 {
8
     public static $files = array (
9
         '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
10
@@ -1006,11 +1006,11 @@
11
     public static function getInitializer(ClassLoader $loader)
12
     {
13
         return \Closure::bind(function () use ($loader) {
14
-            $loader->prefixLengthsPsr4 = ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::$prefixLengthsPsr4;
15
-            $loader->prefixDirsPsr4 = ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::$prefixDirsPsr4;
16
-            $loader->prefixesPsr0 = ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::$prefixesPsr0;
17
-            $loader->fallbackDirsPsr0 = ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::$fallbackDirsPsr0;
18
-            $loader->classMap = ComposerStaticInitee8891559e48bc80a86f1e6d014fe94b::$classMap;
19
+            $loader->prefixLengthsPsr4 = ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::$prefixLengthsPsr4;
20
+            $loader->prefixDirsPsr4 = ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::$prefixDirsPsr4;
21
+            $loader->prefixesPsr0 = ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::$prefixesPsr0;
22
+            $loader->fallbackDirsPsr0 = ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::$fallbackDirsPsr0;
23
+            $loader->classMap = ComposerStaticInit1d664382e5eafcfdffb85f2dfa64b0a5::$classMap;
24
 
25
         }, null, ClassLoader::class);
26
     }
27
roundcubemail-1.5.3.tar.gz/vendor/composer/installed.php Changed
19
 
1
@@ -5,7 +5,7 @@
2
         'type' => 'library',
3
         'install_path' => __DIR__ . '/../../',
4
         'aliases' => array(),
5
-        'reference' => '2ceefc7c03d9b71f5f64cff42ec4e1fc3f66958d',
6
+        'reference' => 'b28b335e51cf2a83cb35480b53022080d2f5893c',
7
         'name' => 'roundcube/roundcubemail',
8
         'dev' => true,
9
     ),
10
@@ -544,7 +544,7 @@
11
             'type' => 'library',
12
             'install_path' => __DIR__ . '/../../',
13
             'aliases' => array(),
14
-            'reference' => '2ceefc7c03d9b71f5f64cff42ec4e1fc3f66958d',
15
+            'reference' => 'b28b335e51cf2a83cb35480b53022080d2f5893c',
16
             'dev_requirement' => false,
17
         ),
18
         'roundcube/rtf-html-php' => array(
19
roundcubemail.dsc Changed
10
 
1
@@ -2,7 +2,7 @@
2
 Source: roundcubemail
3
 Binary: roundcubemail
4
 Architecture: all
5
-Version: 1:1.5.3-1~kolab5
6
+Version: 1:1.5.3-1~kolab6
7
 Maintainer: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com>
8
 Uploaders: Jeroen van Meeuwen <vanmeeuwen@kolabsys.com>
9
 Homepage: http://www.roundcube.net/
10
Refresh
Refresh
Request History
mollekopf's avatar

mollekopf created request almost 2 years ago

New release


mollekopf's avatar

mollekopf accepted request almost 2 years ago