diff mbox series

[meta-oe,2/2] freerdp: upgrade 2.11.7 -> 2.11.8

Message ID 20260324192553.2628357-2-ankur.tyagi85@gmail.com
State Under Review
Headers show
Series [meta-oe,1/2] freerdp3: upgrade 3.24.0 -> 3.24.1 | expand

Commit Message

Ankur Tyagi March 24, 2026, 7:25 p.m. UTC
From: Ankur Tyagi <ankur.tyagi85@gmail.com>

Dropped 0001-Fix-const-qualifier-error.patch
* error no longer reproducible with clang

Dropped 0001-Fixed-compilation-warnings-in-ainput-channel.patch
* changes merged upstream[1]

Dropped 0001-Fixed-compilation-warnings.patch
* changes merged upstream[2]

Added 0001-Fix-compilation-error.patch to fix error:

| /yocto/bitbake-builds/poky-master/build/tmp/work/x86-64-v3-poky-linux/freerdp/2.11.8/sources/freerdp-2.11.8/winpr/libwinpr/utils/collections/Queue.c: In function 'Queue_EnsureCapacity':
| /yocto/bitbake-builds/poky-master/build/tmp/work/x86-64-v3-poky-linux/freerdp/2.11.8/sources/freerdp-2.11.8/winpr/libwinpr/utils/collections/Queue.c:169:30: error: assignment to 'void **' from incompatible pointer type 'uintptr_t *' {aka 'long unsigned int *'} [-Wincompatible-pointer-types]
|   169 |                 queue->array = newArray;
|       |

Release Notes:
https://github.com/FreeRDP/FreeRDP/releases/tag/2.11.8

Ptests passed:

START: ptest-runner
2026-03-24T19:06
BEGIN: /usr/lib/freerdp/ptest
PASS: TestClient TestClientRdpFile
...
PASS: TestWtsApi TestWtsApiWaitSystemEvent
DURATION: 180
END: /usr/lib/freerdp/ptest
2026-03-24T19:09
STOP: ptest-runner
TOTAL: 1 FAIL: 0

[1] https://github.com/FreeRDP/FreeRDP/commit/5b2b53b15c9af46b85c4ef0007e7fb59d7608289
[2] https://github.com/FreeRDP/FreeRDP/commit/d2b6771c748e54e659d5f1243a92e499c3beaa36

Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
---
 .../freerdp/0001-Fix-compilation-error.patch  | 101 ++++++++++++++++++
 .../0001-Fix-const-qualifier-error.patch      |  57 ----------
 ...mpilation-warnings-in-ainput-channel.patch |  72 -------------
 .../0001-Fixed-compilation-warnings.patch     |  27 -----
 .../{freerdp_2.11.7.bb => freerdp_2.11.8.bb}  |   6 +-
 5 files changed, 103 insertions(+), 160 deletions(-)
 create mode 100644 meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch
 delete mode 100644 meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch
 delete mode 100644 meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch
 delete mode 100644 meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch
 rename meta-oe/recipes-support/freerdp/{freerdp_2.11.7.bb => freerdp_2.11.8.bb} (95%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch
new file mode 100644
index 0000000000..c2c093bc47
--- /dev/null
+++ b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-compilation-error.patch
@@ -0,0 +1,101 @@ 
+From 0d48a9cb6e25afa10e76de75232ad32a82806aae Mon Sep 17 00:00:00 2001
+From: Ankur Tyagi <ankur.tyagi85@gmail.com>
+Date: Wed, 25 Mar 2026 00:04:42 +1300
+Subject: [PATCH] Fix compilation error
+
+Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/b78cb455cbe847da934c777189b6e7f25267502e]
+
+Signed-off-by: Ankur Tyagi <ankur.tyagi85@gmail.com>
+---
+ winpr/include/winpr/collections.h        |  2 +-
+ winpr/libwinpr/utils/collections/Queue.c | 28 ++++++++++++++++++------
+ 2 files changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h
+index b8c8d9d66..64705751e 100644
+--- a/winpr/include/winpr/collections.h
++++ b/winpr/include/winpr/collections.h
+@@ -63,7 +63,7 @@ extern "C"
+ 		int head;
+ 		int tail;
+ 		int size;
+-		void** array;
++		uintptr_t* array;
+ 		CRITICAL_SECTION lock;
+ 		HANDLE event;
+ 
+diff --git a/winpr/libwinpr/utils/collections/Queue.c b/winpr/libwinpr/utils/collections/Queue.c
+index bb789b658..6b86f7ab7 100644
+--- a/winpr/libwinpr/utils/collections/Queue.c
++++ b/winpr/libwinpr/utils/collections/Queue.c
+@@ -34,6 +34,16 @@
+  * Properties
+  */
+ 
++static inline void* uptr2void(uintptr_t ptr)
++{
++	return (void*)ptr;
++}
++
++static inline uintptr_t void2uptr(const void* ptr)
++{
++	return (uintptr_t)ptr;
++}
++
+ /**
+  * Gets the number of elements contained in the Queue.
+  */
+@@ -98,9 +108,12 @@ void Queue_Clear(wQueue* queue)
+ 	for (index = queue->head; index != queue->tail; index = (index + 1) % queue->capacity)
+ 	{
+ 		if (queue->object.fnObjectFree)
+-			queue->object.fnObjectFree(queue->array[index]);
++		{
++			void* obj = uptr2void(queue->array[index]);
++			queue->object.fnObjectFree(obj);
++		}
+ 
+-		queue->array[index] = NULL;
++		queue->array[index] = 0;
+ 	}
+ 
+ 	queue->size = 0;
+@@ -124,7 +137,8 @@ BOOL Queue_Contains(wQueue* queue, void* obj)
+ 
+ 	for (index = 0; index < queue->tail; index++)
+ 	{
+-		if (queue->object.fnObjectEquals(queue->array[index], obj))
++		void* ptr = uptr2void(queue->array[index]);
++		if (queue->object.fnObjectEquals(ptr, obj))
+ 		{
+ 			found = TRUE;
+ 			break;
+@@ -217,7 +231,7 @@ BOOL Queue_Enqueue(wQueue* queue, void* obj)
+ 	if (!Queue_EnsureCapacity(queue, 1))
+ 		goto out;
+ 
+-	queue->array[queue->tail] = obj;
++	queue->array[queue->tail] = void2uptr(obj);
+ 	queue->tail = (queue->tail + 1) % queue->capacity;
+ 	queue->size++;
+ 	SetEvent(queue->event);
+@@ -242,8 +256,8 @@ void* Queue_Dequeue(wQueue* queue)
+ 
+ 	if (queue->size > 0)
+ 	{
+-		obj = queue->array[queue->head];
+-		queue->array[queue->head] = NULL;
++		obj = uptr2void(queue->array[queue->head]);
++		queue->array[queue->head] = 0;
+ 		queue->head = (queue->head + 1) % queue->capacity;
+ 		queue->size--;
+ 	}
+@@ -269,7 +283,7 @@ void* Queue_Peek(wQueue* queue)
+ 		EnterCriticalSection(&queue->lock);
+ 
+ 	if (queue->size > 0)
+-		obj = queue->array[queue->head];
++		obj = uptr2void(queue->array[queue->head]);
+ 
+ 	if (queue->synchronized)
+ 		LeaveCriticalSection(&queue->lock);
diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch
deleted file mode 100644
index 87a456d16d..0000000000
--- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fix-const-qualifier-error.patch
+++ /dev/null
@@ -1,57 +0,0 @@ 
-From 761b4df04a141cc8c9507c741e4046c6c6b00491 Mon Sep 17 00:00:00 2001
-From: Wang Mingyu <wangmy@fujitsu.com>
-Date: Mon, 11 Sep 2023 09:00:39 +0000
-Subject: [PATCH] Fix const qualifier error
-
-Fixes clang error
-error: incompatible function pointer types assigning to 'OBJECT_NEW_FN' (aka 'void *(*)(void *)') from 'void *(const void *)' [-Wincompatible-function-pointer-types]
-|         obj->fnObjectNew = uwac_event_clone;
-|                          ^ ~~~~~~~~~~~~~~~~
-
-https://github.com/FreeRDP/FreeRDP/commit/6e3c00725aae99d03a0baa65430eceddebd9dee8
-Upstream-Status: Backport
-
-Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
----
- libfreerdp/codec/rfx.c            | 4 ++--
- winpr/include/winpr/collections.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/libfreerdp/codec/rfx.c b/libfreerdp/codec/rfx.c
-index ccbc5af..eec7365 100644
---- a/libfreerdp/codec/rfx.c
-+++ b/libfreerdp/codec/rfx.c
-@@ -153,7 +153,7 @@ static void rfx_tile_init(void* obj)
- 	}
- }
- 
--static void* rfx_decoder_tile_new(void* val)
-+static void* rfx_decoder_tile_new(const void* val)
- {
- 	RFX_TILE* tile = NULL;
- 	WINPR_UNUSED(val);
-@@ -184,7 +184,7 @@ static void rfx_decoder_tile_free(void* obj)
- 	}
- }
- 
--static void* rfx_encoder_tile_new(void* val)
-+static void* rfx_encoder_tile_new(const void* val)
- {
- 	WINPR_UNUSED(val);
- 	return calloc(1, sizeof(RFX_TILE));
-diff --git a/winpr/include/winpr/collections.h b/winpr/include/winpr/collections.h
-index 807f011..b8c8d9d 100644
---- a/winpr/include/winpr/collections.h
-+++ b/winpr/include/winpr/collections.h
-@@ -36,7 +36,7 @@ extern "C"
- {
- #endif
- 
--	typedef void* (*OBJECT_NEW_FN)(void* val);
-+	typedef void* (*OBJECT_NEW_FN)(const void* val);
- 	typedef void (*OBJECT_INIT_FN)(void* obj);
- 	typedef void (*OBJECT_UNINIT_FN)(void* obj);
- 	typedef void (*OBJECT_FREE_FN)(void* obj);
--- 
-2.34.1
-
diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch
deleted file mode 100644
index 62600cddab..0000000000
--- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings-in-ainput-channel.patch
+++ /dev/null
@@ -1,72 +0,0 @@ 
-From 130094de3244d5039e463e1142e1ec487c1104ef Mon Sep 17 00:00:00 2001
-From: Armin Novak <armin.novak@thincast.com>
-Date: Tue, 22 Feb 2022 12:05:08 +0100
-Subject: [PATCH] Fixed compilation warnings in ainput channel
-
-Upstream-Status: Backport [130094de3 Fixed compilation warnings in ainput channel]
-Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
----
- channels/ainput/server/ainput_main.c | 18 ++++++++++++------
- 1 file changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/channels/ainput/server/ainput_main.c b/channels/ainput/server/ainput_main.c
-index bc1737ee1..17d2ec681 100644
---- a/channels/ainput/server/ainput_main.c
-+++ b/channels/ainput/server/ainput_main.c
-@@ -192,7 +192,7 @@ static UINT ainput_server_recv_mouse_event(ainput_server* ainput, wStream* s)
- 
- static HANDLE ainput_server_get_channel_handle(ainput_server* ainput)
- {
--	BYTE* buffer = NULL;
-+	void* buffer = NULL;
- 	DWORD BytesReturned = 0;
- 	HANDLE ChannelEvent = NULL;
- 
-@@ -389,7 +389,7 @@ ainput_server_context* ainput_server_context_new(HANDLE vcm)
- 		goto fail;
- 	return &ainput->context;
- fail:
--	ainput_server_context_free(ainput);
-+	ainput_server_context_free(&ainput->context);
- 	return NULL;
- }
- 
-@@ -496,17 +496,23 @@ UINT ainput_server_context_poll_int(ainput_server_context* context)
- 			break;
- 		case AINPUT_OPENED:
- 		{
--			BYTE* buffer = NULL;
-+			union
-+			{
-+				BYTE* pb;
-+				void* pv;
-+			} buffer;
- 			DWORD BytesReturned = 0;
- 
--			if (WTSVirtualChannelQuery(ainput->ainput_channel, WTSVirtualChannelReady, &buffer,
-+			buffer.pv = NULL;
-+
-+			if (WTSVirtualChannelQuery(ainput->ainput_channel, WTSVirtualChannelReady, &buffer.pv,
- 			                           &BytesReturned) != TRUE)
- 			{
- 				WLog_ERR(TAG, "WTSVirtualChannelReady failed,");
- 			}
- 			else
- 			{
--				if (*buffer != 0)
-+				if (*buffer.pb != 0)
- 				{
- 					error = ainput_server_send_version(ainput);
- 					if (error)
-@@ -518,7 +524,7 @@ UINT ainput_server_context_poll_int(ainput_server_context* context)
- 				else
- 					error = CHANNEL_RC_OK;
- 			}
--			WTSFreeMemory(buffer);
-+			WTSFreeMemory(buffer.pv);
- 		}
- 		break;
- 		case AINPUT_VERSION_SENT:
--- 
-2.43.0
-
diff --git a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch b/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch
deleted file mode 100644
index 7fae2703f8..0000000000
--- a/meta-oe/recipes-support/freerdp/freerdp/0001-Fixed-compilation-warnings.patch
+++ /dev/null
@@ -1,27 +0,0 @@ 
-From 75fa1fa5bd5ef2350390564245fd0984209ac092 Mon Sep 17 00:00:00 2001
-From: akallabeth <akallabeth@posteo.net>
-Date: Mon, 4 Jul 2022 14:34:46 +0200
-Subject: [PATCH] Fixed compilation warnings
-
-Upstream-Status: Backport [https://github.com/FreeRDP/FreeRDP/commit/2da280b8a1748052b70b3f5a1ef0d8e932c33adc]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- client/X11/xf_graphics.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/client/X11/xf_graphics.c b/client/X11/xf_graphics.c
-index 5aa1fd48b..fe81e0ed9 100644
---- a/client/X11/xf_graphics.c
-+++ b/client/X11/xf_graphics.c
-@@ -438,7 +438,7 @@ static BOOL xf_Pointer_New(rdpContext* context, rdpPointer* pointer)
- 
- #endif
- fail:
--	WLog_DBG(TAG, "%s: %ld", __func__, rc ? pointer : -1);
-+	WLog_DBG(TAG, "%s: %p", __func__, rc ? pointer : NULL);
- 	return rc;
- }
- 
--- 
-2.45.0
-
diff --git a/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb
similarity index 95%
rename from meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb
rename to meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb
index dff3f6dafe..2cc8dc6cf2 100644
--- a/meta-oe/recipes-support/freerdp/freerdp_2.11.7.bb
+++ b/meta-oe/recipes-support/freerdp/freerdp_2.11.8.bb
@@ -15,14 +15,12 @@  RDEPENDS:${PN}-ptest += "coreutils pcsc-lite-lib"
 PE = "1"
 PKGV = "${GITPKGVTAG}"
 
-SRCREV = "efa899d3deb8595a29fabb2a2251722f9d7e0d7f"
+SRCREV = "9b678b6d5a40ce01607d8c3b1b1416437c8416c4"
 SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-2.0;protocol=https \
            file://run-ptest \
            file://winpr-makecert-Build-with-install-RPATH.patch \
-           file://0001-Fixed-compilation-warnings.patch \
-           file://0001-Fix-const-qualifier-error.patch \
            file://0002-Do-not-install-tools-a-CMake-targets.patch \
-           file://0001-Fixed-compilation-warnings-in-ainput-channel.patch \
+           file://0001-Fix-compilation-error.patch \
            file://CVE-2024-32661.patch \
            file://CVE-2026-22854.patch \
            file://CVE-2026-22855.patch \