Add dleyna-core package version 0.6.0 (#4837)

* dleyna-core: Add package version 0.6.0

- Patch to use gupnp api version 1.6

* dleyna-core: cgmanifest add package entry

* dleyna-core: licenses add package entry
This commit is contained in:
Sumynwa 2023-03-02 15:51:06 +05:30 коммит произвёл GitHub
Родитель 449dff8a1f
Коммит c21cb51672
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
9 изменённых файлов: 542 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,162 @@
From 99244a4a19ee208e757df90602723278007c1b58 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@freedesktop.org>
Date: Fri, 4 Dec 2020 02:17:48 +0100
Subject: [PATCH] Don't remove a queue more than once
Currently, the dleyna_task_processor_remove_queues_for_sink and
dleyna_task_processor_remove_queues_for_source APIs can corrupt the
memory of the hash table of queues in the processor.
These APIs iterate through the queues in the hash table using
g_hash_table_foreach_remove, and let the callbacks return TRUE when a
queue is to be removed. Unfortunately, the callbacks use prv_cancel,
which might have already removed the queue using g_hash_table_remove.
It happens specifically for queues that have no current_task and have
the DLEYNA_TASK_QUEUE_FLAG_AUTO_REMOVE flag set.
dleyna-renderer-service has such a queue, whose task_delete_cb handler
is set to dleyna_gasync_task_delete_cb. When dleyna-renderer-service
loses it's last D-Bus client, it first invokes
dleyna_task_processor_remove_queues_for_source, followed by
dleyna_task_processor_set_quitting. The former corrupts the hash
table. The latter invokes prv_cancel_all_queues, which again goes
through the hash table and tries to remove them. This leads to crashes
with backtraces containing dleyna_gasync_task_delete_cb, GPtrArray,
prv_task_cancel_and_free_cb, or similar code paths originating from
prv_cancel_only.
Here's an example:
%0 prv_task_cancel_and_free_cb (data=0x56246f2425f0,
user_data=<optimized out>)
at libdleyna/core/task-processor.c:180
%1 g_ptr_array_foreach (array=0x56246f68b5a0,
func=0x7f41d2335850 <prv_task_cancel_and_free_cb>,
user_data=0x56246f4ea1a0)
at ../glib/garray.c:2091
%2 prv_cancel_only (queue_id=<optimized out>,
task_queue=0x56246f4ea1a0)
at libdleyna/core/task-processor.c:193
%3 prv_cancel_cb (key=<optimized out>,
value=0x56246f4ea1a0,
user_data=<optimized out>)
at libdleyna/core/task-processor.c:229
%4 g_hash_table_foreach_remove_or_steal (hash_table=0x56246f1e82a0,
func=func@entry=0x7f41d2335c10 <prv_cancel_cb>,
user_data=user_data@entry=0x0,
notify=notify@entry=1)
at ../glib/ghash.c:1947
%5 g_hash_table_foreach_remove (hash_table=<optimized out>,
func=func@entry=0x7f41d2335c10 <prv_cancel_cb>,
user_data=user_data@entry=0x0)
at ../glib/ghash.c:1993
%6 prv_cancel_all_queues (processor=0x56246f1f3510)
at libdleyna/core/task-processor.c:244
%7 dleyna_task_processor_set_quitting (processor=0x56246f1f3510)
at libdleyna/core/task-processor.c:259
%8 prv_lost_client (connection=<optimized out>,
name=0x56246f24e5d0 ":1.47515",
user_data=<optimized out>)
at src/connector-dbus.c:283
%9 actually_do_call (call_type=CALL_TYPE_NAME_VANISHED,
name_owner=<optimized out>,
connection=<optimized out>,
client=0x56246f24efb0)
at ../gio/gdbusnamewatching.c:171
%10 actually_do_call (call_type=CALL_TYPE_NAME_VANISHED,
name_owner=<optimized out>,
connection=<optimized out>,
client=0x56246f24efb0)
at ../gio/gdbusnamewatching.c:149
%11 do_call (client=0x56246f24efb0, call_type=CALL_TYPE_NAME_VANISHED)
at ../gio/gdbusnamewatching.c:224
%12 call_vanished_handler (client=0x56246f24efb0)
at ../gio/gdbusnamewatching.c:249
%13 call_vanished_handler (client=0x56246f24efb0)
at ../gio/gdbusnamewatching.c:242
%14 on_name_owner_changed (connection=<optimized out>,
sender_name=0x56246f24a260 "org.freedesktop.DBus",
object_path=0x56246f7ad950 "/org/freedesktop/DBus",
interface_name=0x56246f27a2a0 "org.freedesktop.DBus",
signal_name=<optimized out>,
parameters=0x56246f21ee90, user_data=0x1)
at ../gio/gdbusnamewatching.c:352
%15 emit_signal_instance_in_idle_cb (data=data@entry=0x56246f236950)
at ../gio/gdbusconnection.c:3777
%16 g_idle_dispatch (source=source@entry=0x56246f7080a0,
callback=0x7f41d1e1e640 <emit_signal_instance_in_idle_cb>,
user_data=0x56246f236950)
at ../glib/gmain.c:5836
%17 g_main_dispatch (context=0x56246f1f2920) at ../glib/gmain.c:3325
%18 g_main_context_dispatch (context=0x56246f1f2920)
at ../glib/gmain.c:4043
%19 g_main_context_iterate.constprop.0 (context=0x56246f1f2920,
block=block@entry=1,
dispatch=dispatch@entry=1,
self=<optimized out>)
at ../glib/gmain.c:4119
%20 g_main_loop_run (loop=0x56246f2337a0) at ../glib/gmain.c:4317
%21 dleyna_main_loop_start (server=<optimized out>,
control_point=<optimized out>,
user_data=<optimized out>)
at libdleyna/core/main-loop.c:154
%22 __libc_start_main (main=0x56246d8b40d0 <main>,
argc=1,
argv=0x7ffd4b757768,
init=<optimized out>,
fini=<optimized out>,
rtld_fini=<optimized out>,
stack_end=0x7ffd4b757758)
at ../csu/libc-start.c:314
%23 _start ()
Looking at the innards of the task_queue, it's seen that all the
function pointers have the same value, which doesn't match with the
reality of the code and is indicative of a memory error:
(gdb) print *task_queue
$2 = {tasks = 0x56210d62385a,
task_process_cb = 0x9595959595959595,
task_cancel_cb = 0x9595959595959595,
task_delete_cb = 0x9595959595959595,
task_queue_finally_cb = 0x9595959595959595,
current_task = 0x9595959595959595,
idle_id = 2509608341,
defer_remove = -1785358955,
flags = 2509608341,
user_data = 0x9595959595959595,
cancelled = -1785358955}
Based on initial work done by Robert Tiemann.
https://bugzilla.redhat.com/show_bug.cgi?id=1903139
https://github.com/phako/dleyna-core/pull/1
---
libdleyna/core/task-processor.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libdleyna/core/task-processor.c b/libdleyna/core/task-processor.c
index 39529a3dc967..f50dd569ed61 100644
--- a/libdleyna/core/task-processor.c
+++ b/libdleyna/core/task-processor.c
@@ -285,7 +285,7 @@ static gboolean prv_free_queue_for_source(gpointer key, gpointer value,
if (!strcmp(source, queue_key->source) && !queue->defer_remove) {
queue->defer_remove = (queue->current_task != NULL);
- prv_cancel(queue_key, queue);
+ prv_cancel_only(queue_key, queue);
if (!queue->defer_remove) {
DLEYNA_LOG_DEBUG("Removing queue <%s,%s>",
@@ -320,7 +320,7 @@ static gboolean prv_free_queue_for_sink(gpointer key, gpointer value,
if (!strcmp(sink, queue_key->sink) && !queue->defer_remove) {
queue->defer_remove = (queue->current_task != NULL);
- prv_cancel(queue_key, queue);
+ prv_cancel_only(queue_key, queue);
if (!queue->defer_remove) {
DLEYNA_LOG_DEBUG("Removing queue <%s,%s>",
--
2.28.0

Просмотреть файл

@ -0,0 +1,71 @@
From 5a63a38a0f7dc23725903ee9a38efe68efe693c0 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@freedesktop.org>
Date: Fri, 4 Dec 2020 14:47:13 +0100
Subject: [PATCH 1/2] Remove any pending task processing handlers when
destroying a queue
https://github.com/phako/dleyna-core/pull/2
---
libdleyna/core/task-processor.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libdleyna/core/task-processor.c b/libdleyna/core/task-processor.c
index 39529a3dc967..2a126df66f6c 100644
--- a/libdleyna/core/task-processor.c
+++ b/libdleyna/core/task-processor.c
@@ -96,6 +96,11 @@ static void prv_free_cb(gpointer data)
DLEYNA_LOG_DEBUG("Enter");
+ if (task_queue->idle_id) {
+ g_source_remove(task_queue->idle_id);
+ task_queue->idle_id = 0;
+ }
+
g_ptr_array_foreach(task_queue->tasks, prv_task_free_cb, task_queue);
g_ptr_array_unref(task_queue->tasks);
--
2.28.0
From 8455170d145e712d03824211efdba44e3960d051 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <debarshir@freedesktop.org>
Date: Fri, 4 Dec 2020 20:24:20 +0100
Subject: [PATCH 2/2] Remove queues only if dleyna_task_processor_t->on_quit_cb
is scheduled
See commit 1de3325c201dc0e1 for the original reason why all the queues
need to be removed before dleyna_task_processor_t->on_quit_cb is run.
However, if we remove them too early then there might still be tasks
in flight that need to use them.
https://github.com/phako/dleyna-core/pull/2
---
libdleyna/core/task-processor.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libdleyna/core/task-processor.c b/libdleyna/core/task-processor.c
index 2a126df66f6c..dc57c086cbd1 100644
--- a/libdleyna/core/task-processor.c
+++ b/libdleyna/core/task-processor.c
@@ -257,12 +257,12 @@ void dleyna_task_processor_set_quitting(dleyna_task_processor_t *processor)
DLEYNA_LOG_DEBUG("Enter");
processor->quitting = TRUE;
+ prv_cancel_all_queues(processor);
- if (processor->running_tasks == 0)
+ if (processor->running_tasks == 0) {
g_idle_add(processor->on_quit_cb, NULL);
-
- prv_cancel_all_queues(processor);
- g_hash_table_remove_all(processor->task_queues);
+ g_hash_table_remove_all(processor->task_queues);
+ }
DLEYNA_LOG_DEBUG("Exit");
}
--
2.28.0

Просмотреть файл

@ -0,0 +1,5 @@
{
"Signatures": {
"dleyna-core-0.6.0.tar_3.gz": "e999ef3829837b777d04dc964e564704327533f5401b158ce1da8ab9be5cb61b"
}
}

Просмотреть файл

@ -0,0 +1,157 @@
%define api 1.0
Summary: Utilities for higher level dLeyna libraries
Name: dleyna-core
Version: 0.6.0
Release: 15%{?dist}
License: LGPLv2
Vendor: Microsoft Corporation
Distribution: Mariner
URL: https://01.org/dleyna/
Source0: https://01.org/sites/default/files/downloads/dleyna/%{name}-%{version}.tar_3.gz
# Backported from upstream
Patch0: port-to-gupnp-1.6.patch
Patch1: dleyna-core-Don-t-remove-a-queue-more-than-once.patch
Patch2: dleyna-core-Make-the-task-processor-more-robust.patch
Patch3: port_gupnp_1.6_context_filter.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: make
BuildRequires: pkgconfig
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gmodule-2.0)
BuildRequires: pkgconfig(gupnp-1.6)
%description
A set of utility functions that are used by the higher level dLeyna libraries
to communicate with DLNA devices. It provides APIs for logging, error, settings
and task management, and an IPC abstraction.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%prep
%autosetup -p1
%build
autoreconf -f -i
%configure \
--disable-silent-rules \
--disable-static
%make_build
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%ldconfig_scriptlets
%files
%license COPYING
%doc AUTHORS
%doc ChangeLog
%doc README
%{_libdir}/libdleyna-core-%{api}.so.*
%files devel
%{_libdir}/libdleyna-core-%{api}.so
%{_libdir}/pkgconfig/%{name}-%{api}.pc
%dir %{_includedir}/dleyna-%{api}
%dir %{_includedir}/dleyna-%{api}/libdleyna
%{_includedir}/dleyna-%{api}/libdleyna/core
%changelog
* Wed Feb 01 2023 Sumedh Sharma <sumsharma@microsoft.com> - 0.6.0-15
- Initial CBL-Mariner import from Fedora 37 (license: MIT)
- Port to gupnp api version 1.6
- License verified
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Fri Aug 20 2021 Kalev Lember <klember@redhat.com> - 0.6.0-12
- Rebuilt for gupnp soname bump
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Dec 04 2020 Debarshi Ray <rishi@fedoraproject.org> - 0.6.0-9
- Don't remove a queue more than once (RH #1903139)
- Remove any pending task processing handlers when destroying a queue
(RH #1890618)
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Mar 12 2020 Kalev Lember <klember@redhat.com> - 0.6.0-7
- Port to gupnp 1.2
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Oct 05 2017 Debarshi Ray <rishi@fedoraproject.org> - 0.6.0-1
- Update to 0.6.0
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Sep 15 2016 Debarshi Ray <rishi@fedoraproject.org> - 0.5.0-4
- Don't schedule dleyna_task_processor_t->on_quit_cb more than once
(RH #1251366)
- Remove all queues before dleyna_task_processor_t->on_quit_cb is run
(RH #1205574, #1360209)
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed May 06 2015 Debarshi Ray <rishi@fedoraproject.org> - 0.5.0-1
- Update to 0.5.0
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Jan 15 2014 Bastien Nocera <bnocera@redhat.com> - 0.4.0-1
- Update to 0.4.0
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jun 26 2013 Debarshi Ray <rishi@fedoraproject.org> - 0.1.0-1
- Initial spec.

Просмотреть файл

@ -0,0 +1,22 @@
diff -Naur dleyna-core-0.6.0-orig/configure.ac dleyna-core-0.6.0/configure.ac
--- dleyna-core-0.6.0-orig/configure.ac 2017-03-04 23:40:11.000000000 +0530
+++ dleyna-core-0.6.0/configure.ac 2023-02-01 12:48:56.378813142 +0530
@@ -39,7 +39,7 @@
PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.28])
PKG_CHECK_MODULES([GIO], [gio-2.0 >= 2.28])
PKG_CHECK_MODULES([GMODULE], [gmodule-2.0 >= 2.28])
-PKG_CHECK_MODULES([GUPNP], [gupnp-1.0 >= 0.20.5])
+PKG_CHECK_MODULES([GUPNP], [gupnp-1.6 >= 1.6.3])
# Checks for header files.
AC_CHECK_HEADERS([stdlib.h string.h syslog.h])
diff -Naur dleyna-core-0.6.0-orig/dleyna-core-1.0.pc.in dleyna-core-0.6.0/dleyna-core-1.0.pc.in
--- dleyna-core-0.6.0-orig/dleyna-core-1.0.pc.in 2017-03-04 23:40:11.000000000 +0530
+++ dleyna-core-0.6.0/dleyna-core-1.0.pc.in 2023-02-01 12:49:20.250643806 +0530
@@ -8,5 +8,5 @@
Description: UPnP & DLNA core library
Libs: -L${libdir} -ldleyna-core-1.0
Cflags: -I${includedir}/dleyna-1.0
-Requires: glib-2.0 gio-2.0 gmodule-2.0 gupnp-1.0
+Requires: glib-2.0 gio-2.0 gmodule-2.0 gupnp-1.6
Version: @VERSION@

Просмотреть файл

@ -0,0 +1,113 @@
diff -Naur dleyna-core-0.6.0-orig/libdleyna/core/service-task.c dleyna-core-0.6.0/libdleyna/core/service-task.c
--- dleyna-core-0.6.0-orig/libdleyna/core/service-task.c 2017-03-04 23:40:11.000000000 +0530
+++ dleyna-core-0.6.0/libdleyna/core/service-task.c 2023-02-01 16:44:47.831113876 +0530
@@ -21,6 +21,7 @@
*
*/
+#include <gio/gio.h>
#include "log.h"
#include "service-task.h"
#include "task-processor.h"
@@ -102,9 +103,14 @@
dleyna_service_task_t *task = (dleyna_service_task_t *)atom;
if (task->p_action) {
- if (task->proxy)
- gupnp_service_proxy_cancel_action(task->proxy,
- task->p_action);
+ if (task->proxy) {
+ GError *error = NULL;
+ GCancellable *cancellable = g_cancellable_new ();
+ gupnp_service_proxy_call_action (task->proxy,
+ task->p_action,
+ cancellable,
+ &error);
+ }
task->p_action = NULL;
dleyna_task_queue_task_completed(task->base.queue_id);
diff -Naur dleyna-core-0.6.0-orig/libdleyna/core/white-list.c dleyna-core-0.6.0/libdleyna/core/white-list.c
--- dleyna-core-0.6.0-orig/libdleyna/core/white-list.c 2017-03-04 23:40:11.000000000 +0530
+++ dleyna-core-0.6.0/libdleyna/core/white-list.c 2023-02-01 15:57:11.697278291 +0530
@@ -26,15 +26,15 @@
#include "log.h"
struct dleyna_white_list_t_ {
- GUPnPWhiteList *gupnp_wl;
+ GUPnPContextFilter *gupnp_wl;
};
#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
-static void prv_dump_wl_entries(GUPnPWhiteList *wl)
+static void prv_dump_wl_entries(GUPnPContextFilter *wl)
{
GList *l;
- l = gupnp_white_list_get_entries(wl);
+ l = gupnp_context_filter_get_entries(wl);
DLEYNA_LOG_DEBUG_NL();
DLEYNA_LOG_DEBUG("White List entries:");
@@ -52,7 +52,7 @@
}
#endif
-dleyna_white_list_t *dleyna_white_list_new(GUPnPWhiteList *gupnp_wl)
+dleyna_white_list_t *dleyna_white_list_new(GUPnPContextFilter *gupnp_wl)
{
dleyna_white_list_t *wl;
@@ -78,7 +78,7 @@
gboolean enabled)
{
if (wl->gupnp_wl != NULL) {
- gupnp_white_list_set_enabled(wl->gupnp_wl, enabled);
+ gupnp_context_filter_set_enabled(wl->gupnp_wl, enabled);
DLEYNA_LOG_DEBUG("White List enabled: %d", enabled);
}
@@ -96,7 +96,7 @@
(void) g_variant_iter_init(&viter, entries);
while (g_variant_iter_next(&viter, "&s", &entry))
- (void) gupnp_white_list_add_entry(wl->gupnp_wl, entry);
+ (void) gupnp_context_filter_add_entry(wl->gupnp_wl, entry);
#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
prv_dump_wl_entries(wl->gupnp_wl);
@@ -116,7 +116,7 @@
(void) g_variant_iter_init(&viter, entries);
while (g_variant_iter_next(&viter, "&s", &entry))
- (void) gupnp_white_list_remove_entry(wl->gupnp_wl,
+ (void) gupnp_context_filter_remove_entry(wl->gupnp_wl,
entry);
#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
@@ -129,7 +129,7 @@
{
if (wl->gupnp_wl != NULL) {
DLEYNA_LOG_DEBUG("Clear white list");
- gupnp_white_list_clear(wl->gupnp_wl);
+ gupnp_context_filter_clear(wl->gupnp_wl);
#if DLEYNA_LOG_LEVEL & DLEYNA_LOG_LEVEL_DEBUG
prv_dump_wl_entries(wl->gupnp_wl);
diff -Naur dleyna-core-0.6.0-orig/libdleyna/core/white-list.h dleyna-core-0.6.0/libdleyna/core/white-list.h
--- dleyna-core-0.6.0-orig/libdleyna/core/white-list.h 2017-03-04 23:40:11.000000000 +0530
+++ dleyna-core-0.6.0/libdleyna/core/white-list.h 2023-02-01 15:53:54.282735424 +0530
@@ -24,11 +24,11 @@
#define DLEYNA_WHITE_LIST_H__
#include <glib.h>
-#include <libgupnp/gupnp-white-list.h>
+#include <libgupnp/gupnp-context-filter.h>
typedef struct dleyna_white_list_t_ dleyna_white_list_t;
-dleyna_white_list_t *dleyna_white_list_new(GUPnPWhiteList *gupnp_wl);
+dleyna_white_list_t *dleyna_white_list_new(GUPnPContextFilter *gupnp_wl);
void dleyna_white_list_delete(dleyna_white_list_t *wl);

2
SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md сгенерированный

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -164,6 +164,7 @@
"discount",
"distribution-gpg-keys",
"dleyna-connector-dbus",
"dleyna-core",
"dmraid",
"dnf",
"dnf-plugins-core",

Просмотреть файл

@ -2603,6 +2603,16 @@
}
}
},
{
"component": {
"type": "other",
"other": {
"name": "dleyna-core",
"version": "0.6.0",
"downloadUrl": "https://01.org/sites/default/files/downloads/dleyna/dleyna-core-0.6.0.tar_3.gz"
}
}
},
{
"component": {
"type": "other",