Compare commits
No commits in common. 'c9' and 'c8-beta' have entirely different histories.
@ -1 +1 @@
|
||||
7f62450f66f2a21789fd6cfebbf3355ae99553ea SOURCES/NetworkManager-libreswan-1.2.22.tar.xz
|
||||
a3ec22a8e76f3358d9f69dc505d22267e936dbae SOURCES/NetworkManager-libreswan-1.2.10.tar.xz
|
||||
|
@ -1 +1 @@
|
||||
SOURCES/NetworkManager-libreswan-1.2.22.tar.xz
|
||||
SOURCES/NetworkManager-libreswan-1.2.10.tar.xz
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,26 @@
|
||||
From eaf501ab7cb732a152097d2af5636b03fd3f029d Mon Sep 17 00:00:00 2001
|
||||
From: Francesco Giudici <fgiudici@redhat.com>
|
||||
Date: Mon, 15 Apr 2019 14:51:26 +0200
|
||||
Subject: [PATCH] properties: set advanced dialog modal
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1697329
|
||||
---
|
||||
properties/nm-libreswan-dialog.ui | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/properties/nm-libreswan-dialog.ui b/properties/nm-libreswan-dialog.ui
|
||||
index 73522d4..e355c08 100644
|
||||
--- a/properties/nm-libreswan-dialog.ui
|
||||
+++ b/properties/nm-libreswan-dialog.ui
|
||||
@@ -451,6 +451,8 @@
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">12</property>
|
||||
<property name="title" translatable="yes">IPsec Advanced Options</property>
|
||||
+ <property name="modal">True</property>
|
||||
+ <property name="destroy_with_parent">True</property>
|
||||
<property name="type_hint">dialog</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox" id="dialog-vbox1">
|
||||
--
|
||||
2.20.1
|
||||
|
@ -0,0 +1,68 @@
|
||||
From 4be4c56b4f8a52b1cd5f8aadee273706c28ae332 Mon Sep 17 00:00:00 2001
|
||||
From: Beniamino Galvani <bgalvani@redhat.com>
|
||||
Date: Sat, 13 Jan 2024 18:10:02 +0100
|
||||
Subject: [PATCH 1/1] service: fix wrong refcounting in D-Bus handler for
|
||||
Callback()
|
||||
|
||||
The Callback() D-Bus method is handled via a GDBus-generated skeleton
|
||||
code in nm-libreswan-helper-service-dbus.c, function
|
||||
_nmdbus_libreswan_helper_skeleton_handle_method_call(). The function
|
||||
emits signal "handle-callback" to let the program handle the incoming
|
||||
method. As documented in the GDoc comments, the signal handler must
|
||||
return TRUE if it handles the call.
|
||||
|
||||
```
|
||||
/**
|
||||
* NMDBusLibreswanHelper::handle-callback:
|
||||
* @object: A #NMDBusLibreswanHelper.
|
||||
* @invocation: A #GDBusMethodInvocation.
|
||||
* @arg_environment: Argument passed by remote caller.
|
||||
|
||||
* Signal emitted when a remote caller is invoking the Callback()
|
||||
D-Bus method.
|
||||
|
||||
* If a signal handler returns %TRUE, it means the signal handler
|
||||
will handle the invocation (e.g. take a reference to @invocation
|
||||
and eventually call nmdbus_libreswan_helper_complete_callback()
|
||||
or e.g. g_dbus_method_invocation_return_error() on it) and no
|
||||
other signal handlers will run. If no signal handler handles the
|
||||
invocation, the %G_DBUS_ERROR_UNKNOWN_METHOD error is returned.
|
||||
|
||||
* Returns: %G_DBUS_METHOD_INVOCATION_HANDLED or %TRUE if the
|
||||
invocation was handled, %G_DBUS_METHOD_INVOCATION_UNHANDLED or
|
||||
%FALSE to let other signal handlers run.
|
||||
*/
|
||||
```
|
||||
|
||||
At the moment, in case of error the handler first calls
|
||||
nmdbus_libreswan_helper_complete_callback() which decreases the
|
||||
refcount of "invocation", and then returns FALSE which tells the
|
||||
skeleton code to return an error, also unreferencing the
|
||||
invocation. This causes a crash.
|
||||
|
||||
Since the G_DBUS_METHOD_INVOCATION_HANDLED alias for TRUE is only
|
||||
available since GLib 2.68 (while we target 2.36), just return TRUE.
|
||||
|
||||
Fixes: acb9eb9de50b ('service: process the configuration in the service, not the helper')
|
||||
(cherry picked from commit 8ceb901719acac3778e1d76779d9c14289185157)
|
||||
---
|
||||
src/nm-libreswan-service.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/nm-libreswan-service.c b/src/nm-libreswan-service.c
|
||||
index fc470a6..4850729 100644
|
||||
--- a/src/nm-libreswan-service.c
|
||||
+++ b/src/nm-libreswan-service.c
|
||||
@@ -1379,7 +1379,8 @@ out:
|
||||
}
|
||||
|
||||
nmdbus_libreswan_helper_complete_callback (object, invocation);
|
||||
- return success;
|
||||
+
|
||||
+ return TRUE;
|
||||
}
|
||||
|
||||
/****************************************************************/
|
||||
--
|
||||
2.43.0
|
||||
|
Loading…
Reference in new issue