Hello community,

here is the log from the commit of package seafile for openSUSE:Factory checked 
in at 2020-10-13 15:42:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/seafile (Old)
 and      /work/SRC/openSUSE:Factory/.seafile.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "seafile"

Tue Oct 13 15:42:20 2020 rev:5 rq:841270 version:7.0.10

Changes:
--------
--- /work/SRC/openSUSE:Factory/seafile/seafile.changes  2020-08-10 
14:52:05.163813212 +0200
+++ /work/SRC/openSUSE:Factory/.seafile.new.3486/seafile.changes        
2020-10-13 15:44:00.493407299 +0200
@@ -1,0 +2,5 @@
+Mon Oct 12 09:30:54 UTC 2020 - Paolo Stivanin <i...@paolostivanin.com>
+
+- Update to 7.0.10 (no changelog) 
+
+-------------------------------------------------------------------

Old:
----
  v7.0.9.tar.gz

New:
----
  v7.0.10.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ seafile.spec ++++++
--- /var/tmp/diff_new_pack.gTtEsH/_old  2020-10-13 15:44:02.401408123 +0200
+++ /var/tmp/diff_new_pack.gTtEsH/_new  2020-10-13 15:44:02.405408125 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           seafile
-Version:        7.0.9
+Version:        7.0.10
 Release:        0
 Summary:        Cloud storage client
 License:        GPL-2.0-only

++++++ v7.0.9.tar.gz -> v7.0.10.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/README.markdown 
new/seafile-7.0.10/README.markdown
--- old/seafile-7.0.9/README.markdown   2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/README.markdown  2020-10-12 04:19:33.000000000 +0200
@@ -57,7 +57,7 @@
 * Android app: https://github.com/haiwen/seadroid
 * WebDAV: https://github.com/haiwen/seafdav
 
-Before version 6.0, the source code of "sync client daemon" and "server core" 
are mixed together in https://github.com/haiwen/seafile.
+Before version 6.0, the source code of "sync client daemon" and "server core" 
was mixed together in https://github.com/haiwen/seafile.
 But after 6.0 version, the server core is separated into its own repository.
 For this reason, the sync client daemon repository is still the "front page" 
for Seafile project on Github.
 
@@ -76,7 +76,7 @@
 * Android client: https://github.com/haiwen/seadroid/issues
 * iOS client: https://github.com/haiwen/seafile-iOS/issues
 
-Feature requests and installation/usage problem should be asked in the forum 
https://forum.seafile.com/.
+Feature requests can be made and installation/usage problems can be discussed 
in the forum https://forum.seafile.com/.
 
 Internationalization (I18n)
 ===========================
@@ -101,7 +101,7 @@
 Contributing
 ===========
 
-For more informations read 
[Contribution](http://manual.seafile.com/contribution.html).
+For more information read 
[Contribution](http://manual.seafile.com/contribution.html).
 
 
 License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/common/commit-mgr.c 
new/seafile-7.0.10/common/commit-mgr.c
--- old/seafile-7.0.9/common/commit-mgr.c       2020-07-29 04:32:25.000000000 
+0200
+++ new/seafile-7.0.10/common/commit-mgr.c      2020-10-12 04:19:33.000000000 
+0200
@@ -757,6 +757,14 @@
         if (!salt || strlen(salt) != 64)
             return NULL;
         break;
+    case 4:
+        if (!magic || strlen(magic) != 64)
+            return NULL;
+        if (!random_key || strlen(random_key) != 96)
+            return NULL;
+        if (!salt || strlen(salt) != 64)
+            return NULL;
+        break;
     default:
         seaf_warning ("Unknown encryption version %d.\n", enc_version);
         return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/common/seafile-crypt.c 
new/seafile-7.0.10/common/seafile-crypt.c
--- old/seafile-7.0.9/common/seafile-crypt.c    2020-07-29 04:32:25.000000000 
+0200
+++ new/seafile-7.0.10/common/seafile-crypt.c   2020-10-12 04:19:33.000000000 
+0200
@@ -63,7 +63,7 @@
 
     return 0;
 #else
-    if (version == 3) {
+    if (version >= 3) {
         unsigned char repo_salt_bin[32];
 
         hex_to_rawdata (repo_salt, repo_salt_bin, 32);
@@ -205,7 +205,7 @@
     unsigned char key[32], iv[16];
     char hex[65];
 
-    if (version != 1 && version != 2 && version != 3) {
+    if (version != 1 && version != 2 && version != 3 && version != 4) {
         seaf_warning ("Unsupported enc_version %d.\n", version);
         return -1;
     }
@@ -458,21 +458,21 @@
     /* Prepare CTX for encryption. */
     ctx = EVP_CIPHER_CTX_new ();
 
-    if (crypt->version == 2)
+    if (crypt->version == 1)
         ret = EVP_EncryptInit_ex (ctx,
-                                  EVP_aes_256_cbc(), /* cipher mode */
+                                  EVP_aes_128_cbc(), /* cipher mode */
                                   NULL, /* engine, NULL for default */
                                   crypt->key,  /* derived key */
                                   crypt->iv);  /* initial vector */
-    else if (crypt->version == 1)
+    else if (crypt->version == 3)
         ret = EVP_EncryptInit_ex (ctx,
-                                  EVP_aes_128_cbc(), /* cipher mode */
+                                  EVP_aes_128_ecb(), /* cipher mode */
                                   NULL, /* engine, NULL for default */
                                   crypt->key,  /* derived key */
                                   crypt->iv);  /* initial vector */
     else
         ret = EVP_EncryptInit_ex (ctx,
-                                  EVP_aes_128_ecb(), /* cipher mode */
+                                  EVP_aes_256_cbc(), /* cipher mode */
                                   NULL, /* engine, NULL for default */
                                   crypt->key,  /* derived key */
                                   crypt->iv);  /* initial vector */
@@ -567,21 +567,21 @@
     /* Prepare CTX for decryption. */
     ctx = EVP_CIPHER_CTX_new ();
 
-    if (crypt->version == 2)
+    if (crypt->version == 1)
         ret = EVP_DecryptInit_ex (ctx,
-                                  EVP_aes_256_cbc(), /* cipher mode */
+                                  EVP_aes_128_cbc(), /* cipher mode */
                                   NULL, /* engine, NULL for default */
                                   crypt->key,  /* derived key */
                                   crypt->iv);  /* initial vector */
-    else if (crypt->version == 1)
+    else if (crypt->version == 3)
         ret = EVP_DecryptInit_ex (ctx,
-                                  EVP_aes_128_cbc(), /* cipher mode */
+                                  EVP_aes_128_ecb(), /* cipher mode */
                                   NULL, /* engine, NULL for default */
                                   crypt->key,  /* derived key */
                                   crypt->iv);  /* initial vector */
     else
         ret = EVP_DecryptInit_ex (ctx,
-                                  EVP_aes_128_ecb(), /* cipher mode */
+                                  EVP_aes_256_cbc(), /* cipher mode */
                                   NULL, /* engine, NULL for default */
                                   crypt->key,  /* derived key */
                                   crypt->iv);  /* initial vector */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/configure.ac 
new/seafile-7.0.10/configure.ac
--- old/seafile-7.0.9/configure.ac      2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/configure.ac     2020-10-12 04:19:33.000000000 +0200
@@ -2,7 +2,7 @@
 
 
 AC_PREREQ(2.61)
-AC_INIT([seafile], [7.0.9], [i...@seafile.com])
+AC_INIT([seafile], [7.0.10], [i...@seafile.com])
 AC_CONFIG_HEADER([config.h])
 
 AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/daemon/clone-mgr.c 
new/seafile-7.0.10/daemon/clone-mgr.c
--- old/seafile-7.0.9/daemon/clone-mgr.c        2020-07-29 04:32:25.000000000 
+0200
+++ new/seafile-7.0.10/daemon/clone-mgr.c       2020-10-12 04:19:33.000000000 
+0200
@@ -1055,7 +1055,7 @@
         return FALSE;
     }
 
-    if (enc_version != 1 && enc_version != 2 && enc_version != 3) {
+    if (enc_version != 1 && enc_version != 2 && enc_version != 3 && 
enc_version != 4) {
         g_set_error (error, SEAFILE_DOMAIN, SEAF_ERR_BAD_ARGS,
                      "Unsupported enc version");
         return FALSE;
@@ -1067,7 +1067,7 @@
                          "Random key not specified");
             return FALSE;
         }
-        if (enc_version == 3 && (!(repo_salt) || strlen(repo_salt) != 64) ) {
+        if (enc_version >= 3 && (!(repo_salt) || strlen(repo_salt) != 64) ) {
             g_set_error (error, SEAFILE_DOMAIN, SEAF_ERR_BAD_ARGS,
                          "Repo salt not specified");
             return FALSE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/daemon/http-tx-mgr.c 
new/seafile-7.0.10/daemon/http-tx-mgr.c
--- old/seafile-7.0.9/daemon/http-tx-mgr.c      2020-07-29 04:32:25.000000000 
+0200
+++ new/seafile-7.0.10/daemon/http-tx-mgr.c     2020-10-12 04:19:33.000000000 
+0200
@@ -4418,8 +4418,10 @@
 
     int i;
     char *block_id;
+    int *pcnt;
     for (i = 0; i < file->n_blocks; ++i) {
         block_id = file->blk_sha1s[i];
+        pthread_mutex_lock (&task->ref_cnt_lock);
         if (seaf_block_manager_block_exists (seaf->block_mgr,
                                              task->repo_id, task->repo_version,
                                              block_id)) {
@@ -4428,11 +4430,19 @@
                                                  task->repo_id, 
task->repo_version,
                                                  block_id);
             if (bmd) {
+                pcnt = g_hash_table_lookup (task->blk_ref_cnts, block_id);
+                if (!pcnt) {
+                    pcnt = g_new0(int, 1);
+                    g_hash_table_insert (task->blk_ref_cnts, 
g_strdup(block_id), pcnt);
+                }
+                *pcnt += 1;
+                pthread_mutex_unlock (&task->ref_cnt_lock);
                 task->done_download += bmd->size;
                 g_free (bmd);
                 continue;
             }
         }
+        pthread_mutex_unlock (&task->ref_cnt_lock);
 
         ret = get_block (task, conn, block_id);
         if (ret < 0 || task->state == HTTP_TASK_STATE_CANCELED)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/daemon/repo-mgr.c 
new/seafile-7.0.10/daemon/repo-mgr.c
--- old/seafile-7.0.9/daemon/repo-mgr.c 2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/daemon/repo-mgr.c        2020-10-12 04:19:33.000000000 
+0200
@@ -859,6 +859,8 @@
     if (g_access(repo->worktree, F_OK) < 0) {
         seaf_warning ("Failed to access worktree %s for repo '%s'(%.8s)\n",
                       repo->worktree, repo->name, repo->id);
+        seaf_repo_manager_set_repo_property (
+            seaf->repo_mgr, repo->id, REPO_AUTO_SYNC, "false");
         return -1;
     }
     if (seaf_stat(repo->worktree, &st) < 0) {
@@ -969,6 +971,11 @@
             memcpy (repo->random_key, commit->random_key, 96);
             memcpy (repo->salt, commit->salt, 64);
         }
+        else if (repo->enc_version == 4) {
+            memcpy (repo->magic, commit->magic, 64);
+            memcpy (repo->random_key, commit->random_key, 96);
+            memcpy (repo->salt, commit->salt, 64);
+        }
     }
     repo->no_local_history = commit->no_local_history;
     repo->version = commit->version;
@@ -993,6 +1000,11 @@
             commit->random_key = g_strdup (repo->random_key);
             commit->salt = g_strdup (repo->salt);
         }
+        else if (commit->enc_version == 4) {
+            commit->magic = g_strdup (repo->magic);
+            commit->random_key = g_strdup (repo->random_key);
+            commit->salt = g_strdup (repo->salt);
+        }
     }
     commit->no_local_history = repo->no_local_history;
     commit->version = repo->version;
@@ -5229,7 +5241,7 @@
         goto out;
     }
 
-    seaf_message ("Moved folder %s to Seafile recyle bin %s.\n",
+    seaf_message ("Moved folder %s to Seafile recycle bin %s.\n",
                   dir_path, dst_path);
 
 out:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/daemon/sync-mgr.c 
new/seafile-7.0.10/daemon/sync-mgr.c
--- old/seafile-7.0.9/daemon/sync-mgr.c 2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/daemon/sync-mgr.c        2020-10-12 04:19:33.000000000 
+0200
@@ -1939,6 +1939,9 @@
     for (ptr = repos; ptr != NULL; ptr = ptr->next) {
         repo = ptr->data;
 
+        if (!manager->priv->auto_sync_enabled || !repo->auto_sync)
+            continue;
+
         /* Every second, we'll check the worktree to see if it still exists.
          * We'll invalidate worktree if it gets moved or deleted.
          * But there is a hole here: If the user delete the worktree dir and
@@ -1990,9 +1993,6 @@
         if (!repo->head)
             continue;
 
-        if (!manager->priv->auto_sync_enabled || !repo->auto_sync)
-            continue;
-
 #if defined WIN32 || defined __APPLE__
         if (repo->version > 0) {
             if (repo->checking_locked_files)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/daemon/vc-utils.c 
new/seafile-7.0.10/daemon/vc-utils.c
--- old/seafile-7.0.9/daemon/vc-utils.c 2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/daemon/vc-utils.c        2020-10-12 04:19:33.000000000 
+0200
@@ -357,7 +357,6 @@
 {
     int base_len = strlen(worktree);
     int full_len;
-    char path[SEAF_PATH_MAX];
     int offset;
     SeafStat st;
 
@@ -366,31 +365,32 @@
         return NULL;
     }
 
-    snprintf (path, SEAF_PATH_MAX, "%s/", worktree);
+    GString *path = g_string_new ("");
+
+    g_string_append_printf (path, "%s/", worktree);
 
     /* first create all leading directories. */
     full_len = base_len + len + 1;
     offset = base_len + 1;
     while (offset < full_len) {
         do {
-            path[offset] = ce_name[offset-base_len-1];
+            g_string_append_c (path, ce_name[offset-base_len-1]);
             offset++;
         } while (offset < full_len && ce_name[offset-base_len-1] != '/');
         if (offset >= full_len)
             break;
-        path[offset] = 0;
 
-        if (seaf_stat (path, &st) == 0 && S_ISDIR(st.st_mode))
+        if (seaf_stat (path->str, &st) == 0 && S_ISDIR(st.st_mode))
             continue;
         
-        if (seaf_util_mkdir (path, 0777) < 0) {
-            seaf_warning ("Failed to create directory %s.\n", path);
+        if (seaf_util_mkdir (path->str, 0777) < 0) {
+            g_string_free (path, TRUE);
+            seaf_warning ("Failed to create directory %s.\n", path->str);
             return NULL;
         }
     }
-    path[offset] = 0;
 
-    return g_strdup(path);
+    return g_string_free (path, FALSE);
 }
 
 int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/debian/changelog 
new/seafile-7.0.10/debian/changelog
--- old/seafile-7.0.9/debian/changelog  2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/debian/changelog 2020-10-12 04:19:33.000000000 +0200
@@ -1,3 +1,8 @@
+seafile-daemon (7.0.10) unstable; urgency=low
+
+  * new upstream release
+
+ -- Jonathan Xu <jonathan...@seafile.com>  Mon, 12 Oct  2020 10:07:11 +0800
 seafile-daemon (7.0.9) unstable; urgency=low
 
   * new upstream release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/seafile-7.0.9/msi/Includes.wxi 
new/seafile-7.0.10/msi/Includes.wxi
--- old/seafile-7.0.9/msi/Includes.wxi  2020-07-29 04:32:25.000000000 +0200
+++ new/seafile-7.0.10/msi/Includes.wxi 2020-10-12 04:19:33.000000000 +0200
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <Include Id="SeafileInclude">
-  <?define CurrentSeafileVersion="7.0.9" ?>
+  <?define CurrentSeafileVersion="7.0.10" ?>
 
   <!-- Update Guid 不能变 -->
   <?define CurrentUpdateGuid="65DED1C8-A5F1-4C49-8E7E-B0A8A5A6535C" ?>
@@ -140,8 +140,9 @@
   <!-- <?define ProductGuid="3A3D3777-A5C1-4089-A2F7-33D55A36E41E" ?> (7.0.5) 
-->
   <!-- <?define ProductGuid="9A180890-0EED-4E38-BAB0-A6E148D89F4A" ?> (7.0.6) 
-->
   <!-- <?define ProductGuid="1E617234-A273-41F9-8BA7-70C6F1644AC4" ?> (7.0.7) 
-->
-  <!-- <?define ProductGuid="7944DDB5-1C68-4C9F-9FA5-01224493EFF0" ?> (7.0.9) 
-->
-  <?define ProductGuid="C54F03E9-9522-4C70-8134-5199BD74AFBA" ?>
+  <!-- <?define ProductGuid="7944DDB5-1C68-4C9F-9FA5-01224493EFF0" ?> (7.0.8) 
-->
+  <!-- <?define ProductGuid="C54F03E9-9522-4C70-8134-5199BD74AFBA" ?> (7.0.9) 
-->
+  <?define ProductGuid="D21D1108-878F-43D9-A3A2-39F4B38A5694" ?>
 
   <?define GuidOfCustomComponent="AD201805-3CBD-4834-9097-5D934F7E0000" ?>
   <?define GuidOfAutoStartComponent="AD201805-3CBD-4834-9097-5D934F7E0001" ?>


Reply via email to