Hello community,

here is the log from the commit of package librepo for openSUSE:Factory checked 
in at 2019-05-24 11:33:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librepo (Old)
 and      /work/SRC/openSUSE:Factory/.librepo.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "librepo"

Fri May 24 11:33:21 2019 rev:8 rq:705108 version:1.10.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/librepo/librepo.changes  2019-05-12 
11:46:25.228161549 +0200
+++ /work/SRC/openSUSE:Factory/.librepo.new.5148/librepo.changes        
2019-05-24 11:33:22.701366955 +0200
@@ -1,0 +2,7 @@
+Fri May 24 03:18:15 UTC 2019 - Neal Gompa <[email protected]>
+
+- Upgrade to 1.10.3
+  + Exit gpg-agent after repokey import (rh#1650266)
+  + Make sure to check next transfer if current zck transfer already exists 
(rh#1706627)
+
+-------------------------------------------------------------------

Old:
----
  librepo-1.10.2.tar.gz

New:
----
  librepo-1.10.3.tar.gz

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

Other differences:
------------------
++++++ librepo.spec ++++++
--- /var/tmp/diff_new_pack.ClKO9j/_old  2019-05-24 11:33:23.249366745 +0200
+++ /var/tmp/diff_new_pack.ClKO9j/_new  2019-05-24 11:33:23.253366744 +0200
@@ -35,7 +35,7 @@
 %define devname %{name}-devel
 
 Name:           librepo
-Version:        1.10.2
+Version:        1.10.3
 Release:        0
 Summary:        Repodata downloading library
 License:        LGPL-2.0-or-later

++++++ librepo-1.10.2.tar.gz -> librepo-1.10.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/librepo-1.10.2/VERSION.cmake 
new/librepo-1.10.3/VERSION.cmake
--- old/librepo-1.10.2/VERSION.cmake    2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/VERSION.cmake    2019-05-24 05:06:30.000000000 +0200
@@ -1,3 +1,3 @@
 SET(LIBREPO_MAJOR "1")
 SET(LIBREPO_MINOR "10")
-SET(LIBREPO_PATCH "2")
+SET(LIBREPO_PATCH "3")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/librepo-1.10.2/librepo/downloader.c 
new/librepo-1.10.3/librepo/downloader.c
--- old/librepo-1.10.2/librepo/downloader.c     2019-05-12 04:57:19.000000000 
+0200
+++ new/librepo-1.10.3/librepo/downloader.c     2019-05-24 05:06:30.000000000 
+0200
@@ -1450,7 +1450,7 @@
             goto fail;
         }
 
-        // If zchunk is finished, we're done
+        // If zchunk is finished, we're done, so move to next target
         if(target->zck_state == LR_ZCK_DL_FINISHED) {
             g_debug("%s: Target already fully downloaded: %s", __func__, 
target->target->path);
             target->state = LR_DS_FINISHED;
@@ -1461,7 +1461,7 @@
             fclose(target->f);
             target->f = NULL;
             lr_downloadtarget_set_error(target->target, LRE_OK, NULL);
-            return TRUE;
+            return prepare_next_transfer(dd, candidatefound, err);
         }
     }
     # endif /* WITH_ZCHUNK */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/librepo-1.10.2/librepo/gpg.c 
new/librepo-1.10.3/librepo/gpg.c
--- old/librepo-1.10.2/librepo/gpg.c    2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo/gpg.c    2019-05-24 05:06:30.000000000 +0200
@@ -32,6 +32,30 @@
 #include "util.h"
 #include "gpg.h"
 
+static void
+kill_gpg_agent(gpgme_ctx_t context, const char *home_dir)
+{
+    gpgme_error_t gpgerr;
+
+    gpgerr = gpgme_set_protocol(context, GPGME_PROTOCOL_ASSUAN);
+    if (gpgerr != GPG_ERR_NO_ERROR) {
+        g_warning("%s: gpgme_set_protocol: %s", __func__, 
gpgme_strerror(gpgerr));
+        return;
+    }
+    if (home_dir) {
+        gchar * gpg_agent_sock = g_build_filename(home_dir, "S.gpg-agent", 
NULL);
+        gpgerr = gpgme_ctx_set_engine_info(context, GPGME_PROTOCOL_ASSUAN, 
gpg_agent_sock, home_dir);
+        g_free(gpg_agent_sock);
+        if (gpgerr != GPG_ERR_NO_ERROR) {
+            g_warning("%s: gpgme_ctx_set_engine_info: %s", __func__, 
gpgme_strerror(gpgerr));
+            return;
+        }
+    }
+    gpgerr = gpgme_op_assuan_transact_ext(context, "KILLAGENT", NULL, NULL, 
NULL, NULL, NULL, NULL, NULL);
+    if (gpgerr != GPG_ERR_NO_ERROR)
+        g_debug("%s: gpgme_op_assuan_transact_ext: %s", __func__, 
gpgme_strerror(gpgerr));
+}
+
 gboolean
 lr_gpg_check_signature_fd(int signature_fd,
                           int data_fd,
@@ -295,6 +319,14 @@
     }
 
     close(key_fd);
+
+    // Running gpg-agent kept opened sockets on the system.
+    // It tries to exit gpg-agent. Path to the communication socket is derived 
from homedir.
+    // The gpg-agent automaticaly removes all its socket before exit.
+    // Newer gpg-agent creates sockets under [/var]/run/user/{pid}/... if 
directory exists.
+    // In this case gpg-agent will not be exited.
+    kill_gpg_agent(context, home_dir);
+
     gpgme_release(context);
 
     return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/librepo-1.10.2/librepo.spec 
new/librepo-1.10.3/librepo.spec
--- old/librepo-1.10.2/librepo.spec     2019-05-12 04:57:19.000000000 +0200
+++ new/librepo-1.10.3/librepo.spec     2019-05-24 05:06:30.000000000 +0200
@@ -26,7 +26,7 @@
 %global dnf_conflict 2.8.8
 
 Name:           librepo
-Version:        1.10.2
+Version:        1.10.3
 Release:        1%{?dist}
 Summary:        Repodata downloading library
 


Reply via email to