Bug#1073956: remote-logon-service: Stop using libsoup2.4
Control: tags -1 + patch
Please find attached a patch; build-tested only (I could not figure
out how to test it effectively).
>From 85bef508e3427956cfcbb091f47a02633f87d05e Mon Sep 17 00:00:00 2001
From: Yavor Doganov <yavor@gnu.org>
Date: Thu, 16 Oct 2025 12:04:43 +0300
Subject: [PATCH] Port to libsoup3 (Closes: #1073956).
---
debian/changelog | 9 +++++
debian/control | 2 +-
debian/patches/1002_libsoup3.patch | 53 ++++++++++++++++++++++++++++++
debian/patches/series | 1 +
4 files changed, 64 insertions(+), 1 deletion(-)
create mode 100644 debian/patches/1002_libsoup3.patch
diff --git a/debian/changelog b/debian/changelog
index ae5e311..4cc0e0e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+remote-logon-service (1.0.2.90-5) UNRELEASED; urgency=medium
+
+ * debian/patches/1002_libsoup3.patch: New; port to libsoup3 (Closes:
+ #1073956).
+ * debian/control (Build-Depends): Replace libsoup2.4-dev with
+ libsoup-3.0-dev.
+
+ -- Yavor Doganov <yavor@gnu.org> Thu, 16 Oct 2025 12:01:20 +0300
+
remote-logon-service (1.0.2.90-4) unstable; urgency=medium
* debian/control:
diff --git a/debian/control b/debian/control
index d4b570a..a4e0d29 100644
--- a/debian/control
+++ b/debian/control
@@ -14,7 +14,7 @@ Build-Depends: dbus-test-runner,
libglib2.0-dev (>= 2.29.19),
libjson-glib-dev,
libnm-dev,
- libsoup2.4-dev,
+ libsoup-3.0-dev,
libgtest-dev,
python3,
Standards-Version: 4.6.2
diff --git a/debian/patches/1002_libsoup3.patch b/debian/patches/1002_libsoup3.patch
new file mode 100644
index 0000000..36a464a
--- /dev/null
+++ b/debian/patches/1002_libsoup3.patch
@@ -0,0 +1,53 @@
+Description: Port to libsoup3.
+Bug-Debian: https://bugs.debian.org/1073956
+Author: Yavor Doganov <yavor@gnu.org>
+Forwarded: no
+Last-Update: 2025-10-16
+---
+
+--- remote-logon-service-1.0.2.90.orig/configure.ac
++++ remote-logon-service-1.0.2.90/configure.ac
+@@ -23,7 +23,7 @@
+ tests/Makefile
+ ])
+
+-PKG_CHECK_MODULES(SERVICE, glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0 libnm libsoup-2.4)
++PKG_CHECK_MODULES(SERVICE, glib-2.0 gio-2.0 gio-unix-2.0 json-glib-1.0 libnm libsoup-3.0)
+ PKG_CHECK_MODULES(TEST, dbustest-1)
+
+ AC_CHECK_LIB(gcrypt, gcry_cipher_get_algo_keylen, GCRYPT_LIBS="-lgcrypt")
+--- remote-logon-service-1.0.2.90.orig/src/uccs-server.c
++++ remote-logon-service-1.0.2.90/src/uccs-server.c
+@@ -303,15 +303,17 @@
+
+ /* Callback from the message getting complete */
+ static void
+-verify_server_cb (SoupSession * session, SoupMessage * message, gpointer user_data)
++verify_server_cb (GObject * source, GAsyncResult * res, gpointer user_data)
+ {
+ UccsServer * server = UCCS_SERVER(user_data);
+- guint statuscode = 404;
++ SoupStatus statuscode = SOUP_STATUS_NOT_FOUND;
++ SoupMessage * message;
+
+- g_object_get(G_OBJECT(message), SOUP_MESSAGE_STATUS_CODE, &statuscode, NULL);
++ message = soup_session_get_async_result_message(SOUP_SESSION(source), res);
++ statuscode = soup_message_get_status(message);
+ g_debug("Verification came back with status: %d", statuscode);
+
+- if (statuscode == 200) {
++ if (statuscode == SOUP_STATUS_OK) {
+ server->verified_server = TRUE;
+ } else {
+ server->verified_server = FALSE;
+@@ -333,7 +335,9 @@
+ }
+
+ SoupMessage * message = soup_message_new("HEAD", server->parent.uri);
+- soup_session_queue_message(server->session, message, verify_server_cb, server);
++ soup_session_send_async(server->session, message, G_PRIORITY_DEFAULT,
++ NULL, verify_server_cb, server);
++ g_object_unref(message);
+ g_debug("Getting HEAD from: %s", server->parent.uri);
+
+ return;
diff --git a/debian/patches/series b/debian/patches/series
index f6473bc..179db57 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
0001_src-uccs-server.c-Inject-another-artificial-nm_state.patch
1001_usr-bin-merge.patch
+1002_libsoup3.patch
--
2.51.0
Reply to: