Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gupnp for openSUSE:Factory checked 
in at 2021-12-12 00:55:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gupnp (Old)
 and      /work/SRC/openSUSE:Factory/.gupnp.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gupnp"

Sun Dec 12 00:55:48 2021 rev:69 rq:937832 version:1.4.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/gupnp/gupnp.changes      2021-11-15 
00:06:56.155630915 +0100
+++ /work/SRC/openSUSE:Factory/.gupnp.new.2520/gupnp.changes    2021-12-12 
00:55:58.370516947 +0100
@@ -1,0 +2,8 @@
+Mon Dec  6 17:58:26 UTC 2021 - Bj??rn Lie <bjorn....@gmail.com>
+
+- Update to version 1.4.1:
+  + Fix regression in async deprecated API.
+  + Fix context creation not failing if the HTTP server fails to
+    bind.
+
+-------------------------------------------------------------------

Old:
----
  gupnp-1.4.0.tar.xz

New:
----
  gupnp-1.4.1.tar.xz

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

Other differences:
------------------
++++++ gupnp.spec ++++++
--- /var/tmp/diff_new_pack.LfjaR1/_old  2021-12-12 00:55:59.742517889 +0100
+++ /var/tmp/diff_new_pack.LfjaR1/_new  2021-12-12 00:55:59.746517891 +0100
@@ -21,7 +21,7 @@
 %define sover 1.2
 
 Name:           gupnp
-Version:        1.4.0
+Version:        1.4.1
 Release:        0
 Summary:        Implementation of the UPnP specification
 License:        LGPL-2.0-or-later

++++++ gupnp-1.4.0.tar.xz -> gupnp-1.4.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/NEWS new/gupnp-1.4.1/NEWS
--- old/gupnp-1.4.0/NEWS        2021-09-18 18:39:16.895417500 +0200
+++ new/gupnp-1.4.1/NEWS        2021-12-06 18:48:24.978335900 +0100
@@ -1,3 +1,15 @@
+1.4.1 (stable)
+=====
+
+- Fix regression in async deprecated API
+- Fix context creation not failing if the HTTP server fails to bind
+
+Bugs fixed in this release:
+ - https://gitlab.gnome.org/GNOME/gupnp/issues/58
+
+All contributors to this release:
+ - Jens Georg <m...@jensge.org>
+
 1.4.0 (stable)
 =====
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/libgupnp/gupnp-context.c 
new/gupnp-1.4.1/libgupnp/gupnp-context.c
--- old/gupnp-1.4.0/libgupnp/gupnp-context.c    2021-09-18 18:39:16.906417600 
+0200
+++ new/gupnp-1.4.1/libgupnp/gupnp-context.c    2021-12-06 18:48:24.990336200 
+0100
@@ -608,6 +608,7 @@
 
                 if (! soup_server_listen (priv->server,
                                           addr, (SoupServerListenOptions) 0, 
&error)) {
+                        g_clear_object(&priv->server);
                         g_warning ("GUPnPContext: Unable to listen on %s:%u 
%s", ip, priv->port, error->message);
                         g_error_free (error);
                 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/libgupnp/gupnp-service-proxy.c 
new/gupnp-1.4.1/libgupnp/gupnp-service-proxy.c
--- old/gupnp-1.4.0/libgupnp/gupnp-service-proxy.c      2021-09-18 
18:39:16.913417800 +0200
+++ new/gupnp-1.4.1/libgupnp/gupnp-service-proxy.c      2021-12-06 
18:48:24.996336200 +0100
@@ -911,7 +911,6 @@
 
         g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), FALSE);
         g_return_val_if_fail (action, FALSE);
-        g_return_val_if_fail (proxy == action->proxy, FALSE);
 
         if (action->error) {
                 g_propagate_error (error, action->error);
@@ -953,7 +952,6 @@
 
         g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), FALSE);
         g_return_val_if_fail (action, FALSE);
-        g_return_val_if_fail (proxy == action->proxy, FALSE);
 
         if (action->error) {
                 g_propagate_error (error, action->error);
@@ -1002,7 +1000,6 @@
 
         g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), FALSE);
         g_return_val_if_fail (action, FALSE);
-        g_return_val_if_fail (proxy == action->proxy, FALSE);
 
         /* Check for saved error from begin_action() */
         if (action->error) {
@@ -1047,7 +1044,6 @@
 
         g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), FALSE);
         g_return_val_if_fail (action, FALSE);
-        g_return_val_if_fail (proxy == action->proxy, FALSE);
 
         /* Check for saved error from begin_action() */
         if (action->error) {
@@ -1082,7 +1078,6 @@
 {
         g_return_if_fail (GUPNP_IS_SERVICE_PROXY (proxy));
         g_return_if_fail (action);
-        g_return_if_fail (proxy == action->proxy);
 
         if (action->cancellable != NULL) {
                 g_cancellable_cancel (action->cancellable);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/meson.build new/gupnp-1.4.1/meson.build
--- old/gupnp-1.4.0/meson.build 2021-09-18 18:39:16.918418000 +0200
+++ new/gupnp-1.4.1/meson.build 2021-12-06 18:48:24.999336200 +0100
@@ -1,4 +1,4 @@
-project('gupnp', 'c', version : '1.4.0', meson_version : '>= 0.54.0')
+project('gupnp', 'c', version : '1.4.1', meson_version : '>= 0.54.0')
 gnome = import('gnome')
 pkg = import('pkgconfig')
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/subprojects/gssdp-1.2.wrap 
new/gupnp-1.4.1/subprojects/gssdp-1.2.wrap
--- old/gupnp-1.4.0/subprojects/gssdp-1.2.wrap  2021-09-18 18:39:16.918418000 
+0200
+++ new/gupnp-1.4.1/subprojects/gssdp-1.2.wrap  2021-12-06 18:48:25.000336200 
+0100
@@ -1,6 +1,6 @@
 [wrap-git]
 url = https://gitlab.gnome.org/GNOME/gssdp.git
-revision = master
+revision = gssdp-1.4
 depth = 1
  
 [provides]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/tests/data/TestService.xml 
new/gupnp-1.4.1/tests/data/TestService.xml
--- old/gupnp-1.4.0/tests/data/TestService.xml  2021-09-18 18:39:16.919417900 
+0200
+++ new/gupnp-1.4.1/tests/data/TestService.xml  2021-12-06 18:48:25.000336200 
+0100
@@ -43,6 +43,9 @@
   </serviceStateTable>
   <actionList>
     <action>
+      <name>Ping</name>
+    </action>
+    <action>
       <name>Browse</name>
       <argumentList>
         <argument>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gupnp-1.4.0/tests/test-bugs.c 
new/gupnp-1.4.1/tests/test-bugs.c
--- old/gupnp-1.4.0/tests/test-bugs.c   2021-09-18 18:39:16.920418000 +0200
+++ new/gupnp-1.4.1/tests/test-bugs.c   2021-12-06 18:48:25.000336200 +0100
@@ -523,6 +523,143 @@
                 validate_host_header ("[fe80::01%eth0]", "fe80::acab", 4711));
 }
 
+/*
+ * Test that the legacy async _end_action calls still work
+ *
+ * https://gitlab.gnome.org/GNOME/gupnp/-/issues/58
+ */
+
+static void
+test_ggo_58_on_ping (GUPnPServiceProxy *proxy,
+                     GUPnPServiceProxyAction *action,
+                     gpointer user_data)
+{
+        TestServiceProxyData *data = (TestServiceProxyData *) user_data;
+
+        g_main_loop_quit (data->loop);
+}
+
+static void
+test_ggo_58_on_ping_call (GUPnPService *service,
+                          GUPnPServiceAction *action,
+                          gpointer user_data)
+{
+        gupnp_service_action_return (action);
+}
+
+static void
+test_ggo_58 ()
+{
+        GUPnPContext *context = NULL;
+        GError *error = NULL;
+        GUPnPControlPoint *cp = NULL;
+        GUPnPRootDevice *rd;
+        TestServiceProxyData data = { NULL, NULL };
+        GUPnPServiceInfo *info = NULL;
+
+        data.loop = g_main_loop_new (NULL, FALSE);
+
+        context = create_context (0, &error);
+        g_assert_no_error (error);
+        g_assert (context != NULL);
+
+        cp = gupnp_control_point_new (
+                context,
+                "urn:test-gupnp-org:service:TestService:1");
+
+        gssdp_resource_browser_set_active (GSSDP_RESOURCE_BROWSER (cp), TRUE);
+
+        g_signal_connect (G_OBJECT (cp),
+                          "service-proxy-available",
+                          G_CALLBACK (test_on_sp_available),
+                          &data);
+
+
+        rd = gupnp_root_device_new (context,
+                                    "TestDevice.xml",
+                                    DATA_PATH,
+                                    &error);
+        g_assert_no_error (error);
+        g_assert (rd != NULL);
+        gupnp_root_device_set_available (rd, TRUE);
+        info = gupnp_device_info_get_service (
+                GUPNP_DEVICE_INFO (rd),
+                "urn:test-gupnp-org:service:TestService:1");
+        g_signal_connect (G_OBJECT (info),
+                          "action-invoked::Ping",
+                          G_CALLBACK (test_ggo_58_on_ping_call),
+                          &data);
+
+        test_run_loop (data.loop);
+        g_assert (data.proxy != NULL);
+
+        G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+        GUPnPServiceProxyAction *action =
+                gupnp_service_proxy_begin_action (data.proxy,
+                                                  "Ping",
+                                                  test_ggo_58_on_ping,
+                                                  &data,
+                                                  NULL);
+
+        test_run_loop (data.loop);
+
+        gboolean success = gupnp_service_proxy_end_action (data.proxy,
+                                                           action,
+                                                           &error,
+                                                           NULL);
+
+        g_assert (success);
+        g_assert_no_error (error);
+
+        action = gupnp_service_proxy_begin_action (data.proxy,
+                                                   "Ping",
+                                                   test_ggo_58_on_ping,
+                                                   &data,
+                                                   NULL);
+
+        test_run_loop (data.loop);
+
+        GHashTable *result_hash = g_hash_table_new (g_str_hash, g_str_equal);
+
+        success = gupnp_service_proxy_end_action_hash (data.proxy,
+                                                       action,
+                                                       result_hash,
+                                                       &error);
+        g_hash_table_destroy (result_hash);
+
+        g_assert (success);
+        g_assert_no_error (error);
+
+        action = gupnp_service_proxy_begin_action (data.proxy,
+                                                   "Ping",
+                                                   test_ggo_58_on_ping,
+                                                   &data,
+                                                   NULL);
+
+        test_run_loop (data.loop);
+
+        GList *result_list = NULL;
+        success = gupnp_service_proxy_end_action_list (data.proxy,
+                                                       action,
+                                                       NULL,
+                                                       NULL,
+                                                       &result_list,
+                                                       &error);
+
+        g_assert (success);
+        g_assert_no_error (error);
+
+        G_GNUC_END_IGNORE_DEPRECATIONS
+
+        g_object_unref (info);
+        g_object_unref (data.proxy);
+        g_object_unref (cp);
+        g_object_unref (rd);
+        g_object_unref (context);
+
+        g_main_loop_unref (data.loop);
+}
+
 int
 main (int argc, char *argv[]) {
     g_test_init (&argc, &argv, NULL);
@@ -532,6 +669,7 @@
     g_test_add_func ("/bugs/bgo/722696", test_bgo_722696);
     g_test_add_func ("/bugs/bgo/743233", test_bgo_743233);
     g_test_add_func ("/bugs/ggo/24", test_ggo_24);
+    g_test_add_func ("/bugs/ggo/58", test_ggo_58);
 
     return g_test_run ();
 }

Reply via email to