Description: Port to libsoup3.
Bug-Debian: https://bugs.debian.org/1073956
Author: Yavor Doganov <yavor@gnu.org>
Forwarded: https://github.com/ArcticaProject/remote-logon-service/issues/5
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;
