Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package transmission for openSUSE:Factory 
checked in at 2023-01-28 19:59:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/transmission (Old)
 and      /work/SRC/openSUSE:Factory/.transmission.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "transmission"

Sat Jan 28 19:59:59 2023 rev:94 rq:1061421 version:3.00

Changes:
--------
--- /work/SRC/openSUSE:Factory/transmission/transmission.changes        
2022-04-06 21:51:03.079868489 +0200
+++ /work/SRC/openSUSE:Factory/.transmission.new.32243/transmission.changes     
2023-01-28 20:09:59.386646649 +0100
@@ -1,0 +2,6 @@
+Wed Jan 25 20:26:23 UTC 2023 - Michael Vetter <mvet...@suse.com>
+
+- boo#1207555: Transmission can't open Bittorrent v2 torrents
+  Add transmission-hybrid-torrent-length.patch
+
+-------------------------------------------------------------------

New:
----
  transmission-hybrid-torrent-length.patch

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

Other differences:
------------------
++++++ transmission.spec ++++++
--- /var/tmp/diff_new_pack.bX65Qg/_old  2023-01-28 20:09:59.914649545 +0100
+++ /var/tmp/diff_new_pack.bX65Qg/_new  2023-01-28 20:09:59.914649545 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package transmission
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -28,6 +28,7 @@
 Source1:        transmission-qt.desktop
 Source3:        README.openSUSE
 Patch0:         harden_transmission-daemon.service.patch
+Patch1:         transmission-hybrid-torrent-length.patch
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
 BuildRequires:  intltool
@@ -123,6 +124,7 @@
 %setup
 cp %{SOURCE3} .
 %patch0 -p1
+%patch1 -p1
 
 %build
 sed -i '/^Icon=/ s/$/-qt/' qt/transmission-qt.desktop

++++++ transmission-hybrid-torrent-length.patch ++++++
Transmission skips hybrid torrents

https://github.com/transmission/transmission/issues/1813
Index: transmission-3.00/libtransmission/variant-benc.c
===================================================================
--- transmission-3.00.orig/libtransmission/variant-benc.c
+++ transmission-3.00/libtransmission/variant-benc.c
@@ -142,7 +142,7 @@ err:
     return EILSEQ;
 }
 
-static tr_variant* get_node(tr_ptrArray* stack, tr_quark* key, tr_variant* 
top, int* err)
+static tr_variant* get_node(tr_ptrArray* stack, tr_quark* key, bool 
*key_has_value, tr_variant* top, int* err)
 {
     tr_variant* node = NULL;
 
@@ -158,10 +158,10 @@ static tr_variant* get_node(tr_ptrArray*
         {
             node = tr_variantListAdd(parent);
         }
-        else if (*key != 0 && tr_variantIsDict(parent))
+        else if (key_has_value && tr_variantIsDict(parent))
         {
             node = tr_variantDictAdd(parent, *key);
-            *key = 0;
+            *key_has_value = false;
         }
         else
         {
@@ -184,6 +184,7 @@ int tr_variantParseBenc(void const* buf_
     uint8_t const* bufend = bufend_in;
     tr_ptrArray stack = TR_PTR_ARRAY_INIT;
     tr_quark key = 0;
+    bool key_has_value = 0;
 
     tr_variantInit(top, 0);
 
@@ -212,7 +213,7 @@ int tr_variantParseBenc(void const* buf_
 
             buf = end;
 
-            if ((v = get_node(&stack, &key, top, &err)) != NULL)
+            if ((v = get_node(&stack, &key, &key_has_value, top, &err)) != 
NULL)
             {
                 tr_variantInitInt(v, val);
             }
@@ -223,7 +224,7 @@ int tr_variantParseBenc(void const* buf_
 
             ++buf;
 
-            if ((v = get_node(&stack, &key, top, &err)) != NULL)
+            if ((v = get_node(&stack, &key, &key_has_value, top, &err)) != 
NULL)
             {
                 tr_variantInitList(v, 0);
                 tr_ptrArrayAppend(&stack, v);
@@ -235,7 +236,7 @@ int tr_variantParseBenc(void const* buf_
 
             ++buf;
 
-            if ((v = get_node(&stack, &key, top, &err)) != NULL)
+            if ((v = get_node(&stack, &key, &key_has_value, top, &err)) != 
NULL)
             {
                 tr_variantInitDict(v, 0);
                 tr_ptrArrayAppend(&stack, v);
@@ -245,7 +246,7 @@ int tr_variantParseBenc(void const* buf_
         {
             ++buf;
 
-            if (tr_ptrArrayEmpty(&stack) || key != 0)
+            if (tr_ptrArrayEmpty(&stack) || key_has_value)
             {
                 err = EILSEQ;
                 break;
@@ -274,11 +275,12 @@ int tr_variantParseBenc(void const* buf_
 
             buf = end;
 
-            if (key == 0 && !tr_ptrArrayEmpty(&stack) && 
tr_variantIsDict(tr_ptrArrayBack(&stack)))
+            if (!key_has_value && !tr_ptrArrayEmpty(&stack) && 
tr_variantIsDict(tr_ptrArrayBack(&stack)))
             {
                 key = tr_quark_new(str, str_len);
+                key_has_value = true;
             }
-            else if ((v = get_node(&stack, &key, top, &err)) != NULL)
+            else if ((v = get_node(&stack, &key, &key_has_value, top, &err)) 
!= NULL)
             {
                 tr_variantInitStr(v, str, str_len);
             }

Reply via email to