import RHEL 10 Beta freerdp-3.6.3-1.el10
This commit is contained in:
parent
1178f88fc5
commit
327256c363
@ -1 +0,0 @@
|
||||
14a73f092e227a77f3d483658033d15d4501a753 SOURCES/FreeRDP-2.11.7.tar.gz
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
SOURCES/FreeRDP-2.11.7.tar.gz
|
||||
FreeRDP-3.6.3-repack.tar.gz
|
||||
|
@ -1,560 +0,0 @@
|
||||
From a441e68fccc8ef137c9e8e667fed6adaab34ba37 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Holy <oholy@redhat.com>
|
||||
Date: Tue, 1 Oct 2024 15:43:07 +0200
|
||||
Subject: [PATCH] Revert "Moved clipboard utils to core library, fixes #6760
|
||||
(#7752)"
|
||||
|
||||
This reverts commit 26a83e6ccde272c1bbc2b2591325dc7a493811bc.
|
||||
---
|
||||
channels/cliprdr/client/cliprdr_format.c | 195 +++++++++++++++++++
|
||||
include/freerdp/channels/cliprdr.h | 12 +-
|
||||
include/freerdp/utils/cliprdr_utils.h | 48 -----
|
||||
libfreerdp/utils/CMakeLists.txt | 1 -
|
||||
libfreerdp/utils/cliprdr_utils.c | 235 -----------------------
|
||||
5 files changed, 206 insertions(+), 285 deletions(-)
|
||||
delete mode 100644 include/freerdp/utils/cliprdr_utils.h
|
||||
delete mode 100644 libfreerdp/utils/cliprdr_utils.c
|
||||
|
||||
diff --git a/channels/cliprdr/client/cliprdr_format.c b/channels/cliprdr/client/cliprdr_format.c
|
||||
index 0b6111b96..4c31a1b08 100644
|
||||
--- a/channels/cliprdr/client/cliprdr_format.c
|
||||
+++ b/channels/cliprdr/client/cliprdr_format.c
|
||||
@@ -173,3 +173,198 @@ UINT cliprdr_process_format_data_response(cliprdrPlugin* cliprdr, wStream* s, UI
|
||||
|
||||
return error;
|
||||
}
|
||||
+
|
||||
+static UINT64 filetime_to_uint64(FILETIME value)
|
||||
+{
|
||||
+ UINT64 converted = 0;
|
||||
+ converted |= (UINT32)value.dwHighDateTime;
|
||||
+ converted <<= 32;
|
||||
+ converted |= (UINT32)value.dwLowDateTime;
|
||||
+ return converted;
|
||||
+}
|
||||
+
|
||||
+static FILETIME uint64_to_filetime(UINT64 value)
|
||||
+{
|
||||
+ FILETIME converted;
|
||||
+ converted.dwLowDateTime = (UINT32)(value >> 0);
|
||||
+ converted.dwHighDateTime = (UINT32)(value >> 32);
|
||||
+ return converted;
|
||||
+}
|
||||
+
|
||||
+#define CLIPRDR_FILEDESCRIPTOR_SIZE (4 + 32 + 4 + 16 + 8 + 8 + 520)
|
||||
+
|
||||
+/**
|
||||
+ * Parse a packed file list.
|
||||
+ *
|
||||
+ * The resulting array must be freed with the `free()` function.
|
||||
+ *
|
||||
+ * @param [in] format_data packed `CLIPRDR_FILELIST` to parse.
|
||||
+ * @param [in] format_data_length length of `format_data` in bytes.
|
||||
+ * @param [out] file_descriptor_array parsed array of `FILEDESCRIPTOR` structs.
|
||||
+ * @param [out] file_descriptor_count number of elements in `file_descriptor_array`.
|
||||
+ *
|
||||
+ * @returns 0 on success, otherwise a Win32 error code.
|
||||
+ */
|
||||
+UINT cliprdr_parse_file_list(const BYTE* format_data, UINT32 format_data_length,
|
||||
+ FILEDESCRIPTORW** file_descriptor_array, UINT32* file_descriptor_count)
|
||||
+{
|
||||
+ UINT result = NO_ERROR;
|
||||
+ UINT32 i;
|
||||
+ UINT32 count = 0;
|
||||
+ wStream* s = NULL;
|
||||
+
|
||||
+ if (!format_data || !file_descriptor_array || !file_descriptor_count)
|
||||
+ return ERROR_BAD_ARGUMENTS;
|
||||
+
|
||||
+ s = Stream_New((BYTE*)format_data, format_data_length);
|
||||
+ if (!s)
|
||||
+ return ERROR_NOT_ENOUGH_MEMORY;
|
||||
+
|
||||
+ if (Stream_GetRemainingLength(s) < 4)
|
||||
+ {
|
||||
+ WLog_ERR(TAG, "invalid packed file list");
|
||||
+
|
||||
+ result = ERROR_INCORRECT_SIZE;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ Stream_Read_UINT32(s, count); /* cItems (4 bytes) */
|
||||
+
|
||||
+ if (Stream_GetRemainingLength(s) / CLIPRDR_FILEDESCRIPTOR_SIZE < count)
|
||||
+ {
|
||||
+ WLog_ERR(TAG, "packed file list is too short: expected %" PRIuz ", have %" PRIuz,
|
||||
+ ((size_t)count) * CLIPRDR_FILEDESCRIPTOR_SIZE, Stream_GetRemainingLength(s));
|
||||
+
|
||||
+ result = ERROR_INCORRECT_SIZE;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ *file_descriptor_count = count;
|
||||
+ *file_descriptor_array = calloc(count, sizeof(FILEDESCRIPTORW));
|
||||
+ if (!*file_descriptor_array)
|
||||
+ {
|
||||
+ result = ERROR_NOT_ENOUGH_MEMORY;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ for (i = 0; i < count; i++)
|
||||
+ {
|
||||
+ int c;
|
||||
+ UINT64 lastWriteTime;
|
||||
+ FILEDESCRIPTORW* file = &((*file_descriptor_array)[i]);
|
||||
+
|
||||
+ Stream_Read_UINT32(s, file->dwFlags); /* flags (4 bytes) */
|
||||
+ Stream_Seek(s, 32); /* reserved1 (32 bytes) */
|
||||
+ Stream_Read_UINT32(s, file->dwFileAttributes); /* fileAttributes (4 bytes) */
|
||||
+ Stream_Seek(s, 16); /* reserved2 (16 bytes) */
|
||||
+ Stream_Read_UINT64(s, lastWriteTime); /* lastWriteTime (8 bytes) */
|
||||
+ file->ftLastWriteTime = uint64_to_filetime(lastWriteTime);
|
||||
+ Stream_Read_UINT32(s, file->nFileSizeHigh); /* fileSizeHigh (4 bytes) */
|
||||
+ Stream_Read_UINT32(s, file->nFileSizeLow); /* fileSizeLow (4 bytes) */
|
||||
+ for (c = 0; c < 260; c++) /* cFileName (520 bytes) */
|
||||
+ Stream_Read_UINT16(s, file->cFileName[c]);
|
||||
+ }
|
||||
+
|
||||
+ if (Stream_GetRemainingLength(s) > 0)
|
||||
+ WLog_WARN(TAG, "packed file list has %" PRIuz " excess bytes",
|
||||
+ Stream_GetRemainingLength(s));
|
||||
+out:
|
||||
+ Stream_Free(s, FALSE);
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
+
|
||||
+#define CLIPRDR_MAX_FILE_SIZE (2U * 1024 * 1024 * 1024)
|
||||
+
|
||||
+/**
|
||||
+ * Serialize a packed file list.
|
||||
+ *
|
||||
+ * The resulting format data must be freed with the `free()` function.
|
||||
+ *
|
||||
+ * @param [in] file_descriptor_array array of `FILEDESCRIPTOR` structs to serialize.
|
||||
+ * @param [in] file_descriptor_count number of elements in `file_descriptor_array`.
|
||||
+ * @param [out] format_data serialized CLIPRDR_FILELIST.
|
||||
+ * @param [out] format_data_length length of `format_data` in bytes.
|
||||
+ *
|
||||
+ * @returns 0 on success, otherwise a Win32 error code.
|
||||
+ */
|
||||
+UINT cliprdr_serialize_file_list(const FILEDESCRIPTORW* file_descriptor_array,
|
||||
+ UINT32 file_descriptor_count, BYTE** format_data,
|
||||
+ UINT32* format_data_length)
|
||||
+{
|
||||
+ return cliprdr_serialize_file_list_ex(CB_STREAM_FILECLIP_ENABLED, file_descriptor_array,
|
||||
+ file_descriptor_count, format_data, format_data_length);
|
||||
+}
|
||||
+
|
||||
+UINT cliprdr_serialize_file_list_ex(UINT32 flags, const FILEDESCRIPTORW* file_descriptor_array,
|
||||
+ UINT32 file_descriptor_count, BYTE** format_data,
|
||||
+ UINT32* format_data_length)
|
||||
+{
|
||||
+ UINT result = NO_ERROR;
|
||||
+ UINT32 i;
|
||||
+ wStream* s = NULL;
|
||||
+
|
||||
+ if (!file_descriptor_array || !format_data || !format_data_length)
|
||||
+ return ERROR_BAD_ARGUMENTS;
|
||||
+
|
||||
+ if ((flags & CB_STREAM_FILECLIP_ENABLED) == 0)
|
||||
+ {
|
||||
+ WLog_WARN(TAG, "No file clipboard support annouonced!");
|
||||
+ return ERROR_BAD_ARGUMENTS;
|
||||
+ }
|
||||
+
|
||||
+ s = Stream_New(NULL, 4 + file_descriptor_count * CLIPRDR_FILEDESCRIPTOR_SIZE);
|
||||
+ if (!s)
|
||||
+ return ERROR_NOT_ENOUGH_MEMORY;
|
||||
+
|
||||
+ Stream_Write_UINT32(s, file_descriptor_count); /* cItems (4 bytes) */
|
||||
+
|
||||
+ for (i = 0; i < file_descriptor_count; i++)
|
||||
+ {
|
||||
+ int c;
|
||||
+ UINT64 lastWriteTime;
|
||||
+ const FILEDESCRIPTORW* file = &file_descriptor_array[i];
|
||||
+
|
||||
+ /*
|
||||
+ * There is a known issue with Windows server getting stuck in
|
||||
+ * an infinite loop when downloading files that are larger than
|
||||
+ * 2 gigabytes. Do not allow clients to send such file lists.
|
||||
+ *
|
||||
+ * https://support.microsoft.com/en-us/help/2258090
|
||||
+ */
|
||||
+ if ((flags & CB_HUGE_FILE_SUPPORT_ENABLED) == 0)
|
||||
+ {
|
||||
+ if ((file->nFileSizeHigh > 0) || (file->nFileSizeLow >= CLIPRDR_MAX_FILE_SIZE))
|
||||
+ {
|
||||
+ WLog_ERR(TAG, "cliprdr does not support files over 2 GB");
|
||||
+ result = ERROR_FILE_TOO_LARGE;
|
||||
+ goto error;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ Stream_Write_UINT32(s, file->dwFlags); /* flags (4 bytes) */
|
||||
+ Stream_Zero(s, 32); /* reserved1 (32 bytes) */
|
||||
+ Stream_Write_UINT32(s, file->dwFileAttributes); /* fileAttributes (4 bytes) */
|
||||
+ Stream_Zero(s, 16); /* reserved2 (16 bytes) */
|
||||
+ lastWriteTime = filetime_to_uint64(file->ftLastWriteTime);
|
||||
+ Stream_Write_UINT64(s, lastWriteTime); /* lastWriteTime (8 bytes) */
|
||||
+ Stream_Write_UINT32(s, file->nFileSizeHigh); /* fileSizeHigh (4 bytes) */
|
||||
+ Stream_Write_UINT32(s, file->nFileSizeLow); /* fileSizeLow (4 bytes) */
|
||||
+ for (c = 0; c < 260; c++) /* cFileName (520 bytes) */
|
||||
+ Stream_Write_UINT16(s, file->cFileName[c]);
|
||||
+ }
|
||||
+
|
||||
+ Stream_SealLength(s);
|
||||
+
|
||||
+ Stream_GetBuffer(s, *format_data);
|
||||
+ Stream_GetLength(s, *format_data_length);
|
||||
+
|
||||
+ Stream_Free(s, FALSE);
|
||||
+
|
||||
+ return result;
|
||||
+
|
||||
+error:
|
||||
+ Stream_Free(s, TRUE);
|
||||
+
|
||||
+ return result;
|
||||
+}
|
||||
diff --git a/include/freerdp/channels/cliprdr.h b/include/freerdp/channels/cliprdr.h
|
||||
index fbf23f6e5..86fc65890 100644
|
||||
--- a/include/freerdp/channels/cliprdr.h
|
||||
+++ b/include/freerdp/channels/cliprdr.h
|
||||
@@ -22,7 +22,6 @@
|
||||
|
||||
#include <freerdp/api.h>
|
||||
#include <freerdp/types.h>
|
||||
-#include <freerdp/utils/cliprdr_utils.h>
|
||||
|
||||
#include <winpr/shell.h>
|
||||
|
||||
@@ -94,6 +93,17 @@ extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
+ FREERDP_API UINT cliprdr_parse_file_list(const BYTE* format_data, UINT32 format_data_length,
|
||||
+ FILEDESCRIPTORW** file_descriptor_array,
|
||||
+ UINT32* file_descriptor_count);
|
||||
+ FREERDP_API UINT cliprdr_serialize_file_list(const FILEDESCRIPTORW* file_descriptor_array,
|
||||
+ UINT32 file_descriptor_count, BYTE** format_data,
|
||||
+ UINT32* format_data_length);
|
||||
+ FREERDP_API UINT cliprdr_serialize_file_list_ex(UINT32 flags,
|
||||
+ const FILEDESCRIPTORW* file_descriptor_array,
|
||||
+ UINT32 file_descriptor_count,
|
||||
+ BYTE** format_data, UINT32* format_data_length);
|
||||
+
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
diff --git a/include/freerdp/utils/cliprdr_utils.h b/include/freerdp/utils/cliprdr_utils.h
|
||||
deleted file mode 100644
|
||||
index 59ecf848f..000000000
|
||||
--- a/include/freerdp/utils/cliprdr_utils.h
|
||||
+++ /dev/null
|
||||
@@ -1,48 +0,0 @@
|
||||
-/**
|
||||
- * FreeRDP: A Remote Desktop Protocol Implementation
|
||||
- * RDPDR utility functions
|
||||
- *
|
||||
- * Copyright 2022 Armin Novak <armin.novak@thincast.com>
|
||||
- * Copyright 2022 Thincast Technologies GmbH
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-#ifndef FREERDP_UTILS_CLIPRDR_H
|
||||
-#define FREERDP_UTILS_CLIPRDR_H
|
||||
-
|
||||
-#include <winpr/wtypes.h>
|
||||
-#include <winpr/shell.h>
|
||||
-#include <freerdp/api.h>
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-extern "C"
|
||||
-{
|
||||
-#endif
|
||||
-
|
||||
- FREERDP_API UINT cliprdr_parse_file_list(const BYTE* format_data, UINT32 format_data_length,
|
||||
- FILEDESCRIPTORW** file_descriptor_array,
|
||||
- UINT32* file_descriptor_count);
|
||||
- FREERDP_API UINT cliprdr_serialize_file_list(const FILEDESCRIPTORW* file_descriptor_array,
|
||||
- UINT32 file_descriptor_count, BYTE** format_data,
|
||||
- UINT32* format_data_length);
|
||||
- FREERDP_API UINT cliprdr_serialize_file_list_ex(UINT32 flags,
|
||||
- const FILEDESCRIPTORW* file_descriptor_array,
|
||||
- UINT32 file_descriptor_count,
|
||||
- BYTE** format_data, UINT32* format_data_length);
|
||||
-
|
||||
-#ifdef __cplusplus
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
-#endif
|
||||
diff --git a/libfreerdp/utils/CMakeLists.txt b/libfreerdp/utils/CMakeLists.txt
|
||||
index 2ec561d33..7bff6736a 100644
|
||||
--- a/libfreerdp/utils/CMakeLists.txt
|
||||
+++ b/libfreerdp/utils/CMakeLists.txt
|
||||
@@ -20,7 +20,6 @@ set(MODULE_PREFIX "FREERDP_UTILS")
|
||||
|
||||
set(${MODULE_PREFIX}_SRCS
|
||||
passphrase.c
|
||||
- cliprdr_utils.c
|
||||
pcap.c
|
||||
profiler.c
|
||||
ringbuffer.c
|
||||
diff --git a/libfreerdp/utils/cliprdr_utils.c b/libfreerdp/utils/cliprdr_utils.c
|
||||
deleted file mode 100644
|
||||
index 7fb99d63a..000000000
|
||||
--- a/libfreerdp/utils/cliprdr_utils.c
|
||||
+++ /dev/null
|
||||
@@ -1,235 +0,0 @@
|
||||
-/**
|
||||
- * FreeRDP: A Remote Desktop Protocol Implementation
|
||||
- * Clipboard Virtual Channel Extension
|
||||
- *
|
||||
- * Copyright 2013 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
||||
- * Copyright 2022 Armin Novak <anovak@thincast.com
|
||||
- * Copyright 2022 Thincast Technologies GmbH
|
||||
- *
|
||||
- * Licensed under the Apache License, Version 2.0 (the "License");
|
||||
- * you may not use this file except in compliance with the License.
|
||||
- * You may obtain a copy of the License at
|
||||
- *
|
||||
- * http://www.apache.org/licenses/LICENSE-2.0
|
||||
- *
|
||||
- * Unless required by applicable law or agreed to in writing, software
|
||||
- * distributed under the License is distributed on an "AS IS" BASIS,
|
||||
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
- * See the License for the specific language governing permissions and
|
||||
- * limitations under the License.
|
||||
- */
|
||||
-
|
||||
-#include <winpr/stream.h>
|
||||
-#include <freerdp/utils/cliprdr_utils.h>
|
||||
-#include <freerdp/channels/cliprdr.h>
|
||||
-
|
||||
-#include <freerdp/log.h>
|
||||
-#define TAG FREERDP_TAG("utils." CLIPRDR_SVC_CHANNEL_NAME)
|
||||
-
|
||||
-#define CLIPRDR_FILEDESCRIPTOR_SIZE (4 + 32 + 4 + 16 + 8 + 8 + 520)
|
||||
-#define CLIPRDR_MAX_FILE_SIZE (2U * 1024 * 1024 * 1024)
|
||||
-
|
||||
-static UINT64 filetime_to_uint64(FILETIME value)
|
||||
-{
|
||||
- UINT64 converted = 0;
|
||||
- converted |= (UINT32)value.dwHighDateTime;
|
||||
- converted <<= 32;
|
||||
- converted |= (UINT32)value.dwLowDateTime;
|
||||
- return converted;
|
||||
-}
|
||||
-
|
||||
-static FILETIME uint64_to_filetime(UINT64 value)
|
||||
-{
|
||||
- FILETIME converted;
|
||||
- converted.dwLowDateTime = (UINT32)(value >> 0);
|
||||
- converted.dwHighDateTime = (UINT32)(value >> 32);
|
||||
- return converted;
|
||||
-}
|
||||
-
|
||||
-/**
|
||||
- * Parse a packed file list.
|
||||
- *
|
||||
- * The resulting array must be freed with the `free()` function.
|
||||
- *
|
||||
- * @param [in] format_data packed `CLIPRDR_FILELIST` to parse.
|
||||
- * @param [in] format_data_length length of `format_data` in bytes.
|
||||
- * @param [out] file_descriptor_array parsed array of `FILEDESCRIPTOR` structs.
|
||||
- * @param [out] file_descriptor_count number of elements in `file_descriptor_array`.
|
||||
- *
|
||||
- * @returns 0 on success, otherwise a Win32 error code.
|
||||
- */
|
||||
-UINT cliprdr_parse_file_list(const BYTE* format_data, UINT32 format_data_length,
|
||||
- FILEDESCRIPTORW** file_descriptor_array, UINT32* file_descriptor_count)
|
||||
-{
|
||||
- UINT result = NO_ERROR;
|
||||
- UINT32 i;
|
||||
- UINT32 count = 0;
|
||||
- wStream sbuffer;
|
||||
- wStream* s = &sbuffer;
|
||||
-
|
||||
- if (!format_data || !file_descriptor_array || !file_descriptor_count)
|
||||
- return ERROR_BAD_ARGUMENTS;
|
||||
-
|
||||
- Stream_StaticInit(&sbuffer, format_data, format_data_length);
|
||||
- if (!s)
|
||||
- return ERROR_NOT_ENOUGH_MEMORY;
|
||||
-
|
||||
- if (Stream_GetRemainingLength(s) < 4)
|
||||
- {
|
||||
- WLog_ERR(TAG, "invalid packed file list");
|
||||
-
|
||||
- result = ERROR_INCORRECT_SIZE;
|
||||
- goto out;
|
||||
- }
|
||||
-
|
||||
- Stream_Read_UINT32(s, count); /* cItems (4 bytes) */
|
||||
-
|
||||
- if (Stream_GetRemainingLength(s) / CLIPRDR_FILEDESCRIPTOR_SIZE < count)
|
||||
- {
|
||||
- WLog_ERR(TAG, "packed file list is too short: expected %" PRIuz ", have %" PRIuz,
|
||||
- ((size_t)count) * CLIPRDR_FILEDESCRIPTOR_SIZE, Stream_GetRemainingLength(s));
|
||||
-
|
||||
- result = ERROR_INCORRECT_SIZE;
|
||||
- goto out;
|
||||
- }
|
||||
-
|
||||
- *file_descriptor_count = count;
|
||||
- *file_descriptor_array = calloc(count, sizeof(FILEDESCRIPTORW));
|
||||
- if (!*file_descriptor_array)
|
||||
- {
|
||||
- result = ERROR_NOT_ENOUGH_MEMORY;
|
||||
- goto out;
|
||||
- }
|
||||
-
|
||||
- for (i = 0; i < count; i++)
|
||||
- {
|
||||
- UINT64 tmp;
|
||||
- FILEDESCRIPTORW* file = &((*file_descriptor_array)[i]);
|
||||
-
|
||||
- Stream_Read_UINT32(s, file->dwFlags); /* flags (4 bytes) */
|
||||
- Stream_Read_UINT32(s, file->clsid.Data1);
|
||||
- Stream_Read_UINT16(s, file->clsid.Data2);
|
||||
- Stream_Read_UINT16(s, file->clsid.Data3);
|
||||
- Stream_Read(s, &file->clsid.Data4, sizeof(file->clsid.Data4));
|
||||
- Stream_Read_INT32(s, file->sizel.cx);
|
||||
- Stream_Read_INT32(s, file->sizel.cy);
|
||||
- Stream_Read_INT32(s, file->pointl.x);
|
||||
- Stream_Read_INT32(s, file->pointl.y);
|
||||
- Stream_Read_UINT32(s, file->dwFileAttributes); /* fileAttributes (4 bytes) */
|
||||
- Stream_Read_UINT64(s, tmp); /* ftCreationTime (8 bytes) */
|
||||
- file->ftCreationTime = uint64_to_filetime(tmp);
|
||||
- Stream_Read_UINT64(s, tmp); /* ftLastAccessTime (8 bytes) */
|
||||
- file->ftLastAccessTime = uint64_to_filetime(tmp);
|
||||
- Stream_Read_UINT64(s, tmp); /* lastWriteTime (8 bytes) */
|
||||
- file->ftLastWriteTime = uint64_to_filetime(tmp);
|
||||
- Stream_Read_UINT32(s, file->nFileSizeHigh); /* fileSizeHigh (4 bytes) */
|
||||
- Stream_Read_UINT32(s, file->nFileSizeLow); /* fileSizeLow (4 bytes) */
|
||||
- Stream_Read_UTF16_String(s, file->cFileName,
|
||||
- ARRAYSIZE(file->cFileName)); /* cFileName (520 bytes) */
|
||||
- }
|
||||
-
|
||||
- if (Stream_GetRemainingLength(s) > 0)
|
||||
- WLog_WARN(TAG, "packed file list has %" PRIuz " excess bytes",
|
||||
- Stream_GetRemainingLength(s));
|
||||
-out:
|
||||
-
|
||||
- return result;
|
||||
-}
|
||||
-
|
||||
-/**
|
||||
- * Serialize a packed file list.
|
||||
- *
|
||||
- * The resulting format data must be freed with the `free()` function.
|
||||
- *
|
||||
- * @param [in] file_descriptor_array array of `FILEDESCRIPTOR` structs to serialize.
|
||||
- * @param [in] file_descriptor_count number of elements in `file_descriptor_array`.
|
||||
- * @param [out] format_data serialized CLIPRDR_FILELIST.
|
||||
- * @param [out] format_data_length length of `format_data` in bytes.
|
||||
- *
|
||||
- * @returns 0 on success, otherwise a Win32 error code.
|
||||
- */
|
||||
-UINT cliprdr_serialize_file_list(const FILEDESCRIPTORW* file_descriptor_array,
|
||||
- UINT32 file_descriptor_count, BYTE** format_data,
|
||||
- UINT32* format_data_length)
|
||||
-{
|
||||
- return cliprdr_serialize_file_list_ex(CB_STREAM_FILECLIP_ENABLED, file_descriptor_array,
|
||||
- file_descriptor_count, format_data, format_data_length);
|
||||
-}
|
||||
-
|
||||
-UINT cliprdr_serialize_file_list_ex(UINT32 flags, const FILEDESCRIPTORW* file_descriptor_array,
|
||||
- UINT32 file_descriptor_count, BYTE** format_data,
|
||||
- UINT32* format_data_length)
|
||||
-{
|
||||
- UINT result = NO_ERROR;
|
||||
- UINT32 i;
|
||||
- size_t len;
|
||||
- wStream* s = NULL;
|
||||
-
|
||||
- if (!file_descriptor_array || !format_data || !format_data_length)
|
||||
- return ERROR_BAD_ARGUMENTS;
|
||||
-
|
||||
- if ((flags & CB_STREAM_FILECLIP_ENABLED) == 0)
|
||||
- {
|
||||
- WLog_WARN(TAG, "No file clipboard support annouonced!");
|
||||
- return ERROR_BAD_ARGUMENTS;
|
||||
- }
|
||||
-
|
||||
- s = Stream_New(NULL, 4 + file_descriptor_count * CLIPRDR_FILEDESCRIPTOR_SIZE);
|
||||
- if (!s)
|
||||
- return ERROR_NOT_ENOUGH_MEMORY;
|
||||
-
|
||||
- Stream_Write_UINT32(s, file_descriptor_count); /* cItems (4 bytes) */
|
||||
-
|
||||
- for (i = 0; i < file_descriptor_count; i++)
|
||||
- {
|
||||
- int c;
|
||||
- UINT64 lastWriteTime;
|
||||
- const FILEDESCRIPTORW* file = &file_descriptor_array[i];
|
||||
-
|
||||
- /*
|
||||
- * There is a known issue with Windows server getting stuck in
|
||||
- * an infinite loop when downloading files that are larger than
|
||||
- * 2 gigabytes. Do not allow clients to send such file lists.
|
||||
- *
|
||||
- * https://support.microsoft.com/en-us/help/2258090
|
||||
- */
|
||||
- if ((flags & CB_HUGE_FILE_SUPPORT_ENABLED) == 0)
|
||||
- {
|
||||
- if ((file->nFileSizeHigh > 0) || (file->nFileSizeLow >= CLIPRDR_MAX_FILE_SIZE))
|
||||
- {
|
||||
- WLog_ERR(TAG, "cliprdr does not support files over 2 GB");
|
||||
- result = ERROR_FILE_TOO_LARGE;
|
||||
- goto error;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- Stream_Write_UINT32(s, file->dwFlags); /* flags (4 bytes) */
|
||||
- Stream_Zero(s, 32); /* reserved1 (32 bytes) */
|
||||
- Stream_Write_UINT32(s, file->dwFileAttributes); /* fileAttributes (4 bytes) */
|
||||
- Stream_Zero(s, 16); /* reserved2 (16 bytes) */
|
||||
- lastWriteTime = filetime_to_uint64(file->ftLastWriteTime);
|
||||
- Stream_Write_UINT64(s, lastWriteTime); /* lastWriteTime (8 bytes) */
|
||||
- Stream_Write_UINT32(s, file->nFileSizeHigh); /* fileSizeHigh (4 bytes) */
|
||||
- Stream_Write_UINT32(s, file->nFileSizeLow); /* fileSizeLow (4 bytes) */
|
||||
- for (c = 0; c < 260; c++) /* cFileName (520 bytes) */
|
||||
- Stream_Write_UINT16(s, file->cFileName[c]);
|
||||
- }
|
||||
-
|
||||
- Stream_SealLength(s);
|
||||
-
|
||||
- Stream_GetBuffer(s, *format_data);
|
||||
- Stream_GetLength(s, len);
|
||||
- if (len > UINT32_MAX)
|
||||
- goto error;
|
||||
-
|
||||
- *format_data_length = (UINT32)len;
|
||||
-
|
||||
- Stream_Free(s, FALSE);
|
||||
-
|
||||
- return result;
|
||||
-
|
||||
-error:
|
||||
- Stream_Free(s, TRUE);
|
||||
-
|
||||
- return result;
|
||||
-}
|
||||
--
|
||||
2.46.1
|
||||
|
@ -1,427 +0,0 @@
|
||||
# Can be rebuilt with FFmpeg/OpenH264 support enabled by passing
|
||||
# "--with=ffmpeg", or "--with=openh264" to mock/rpmbuild; or by globally
|
||||
# setting these variables:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2242028
|
||||
#global _with_ffmpeg 1
|
||||
#global _with_openh264 1
|
||||
|
||||
# Can be rebuilt with OpenCL support enabled by passing # "--with=opencl"
|
||||
# or by globally setting:
|
||||
#global _opencl 1
|
||||
|
||||
# Momentarily disable GSS support
|
||||
# https://github.com/FreeRDP/FreeRDP/issues/4348
|
||||
#global _with_gss 1
|
||||
|
||||
# Disable server support in RHEL
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1639165
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 10
|
||||
%global _with_server 1
|
||||
%endif
|
||||
|
||||
# Disable support for missing codecs in RHEL
|
||||
%{!?rhel:%global _with_soxr 1}
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 8
|
||||
%global _with_lame 1
|
||||
%endif
|
||||
|
||||
Name: freerdp
|
||||
Version: 2.11.7
|
||||
Release: 1%{?dist}
|
||||
Epoch: 2
|
||||
Summary: Free implementation of the Remote Desktop Protocol (RDP)
|
||||
License: ASL 2.0
|
||||
URL: http://www.freerdp.com/
|
||||
|
||||
Source0: https://github.com/FreeRDP/FreeRDP/archive/%{version}/FreeRDP-%{version}.tar.gz
|
||||
|
||||
# Revert changes that break API
|
||||
# https://issues.redhat.com/browse/RHEL-53081
|
||||
Patch0: Revert-Moved-clipboard-utils-to-core-library-fixes-6.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: cmake >= 2.8
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: gsm-devel
|
||||
%{?_with_lame:BuildRequires: lame-devel}
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: libjpeg-turbo-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXcursor-devel
|
||||
BuildRequires: libXdamage-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libXi-devel
|
||||
BuildRequires: libXinerama-devel
|
||||
BuildRequires: libxkbfile-devel
|
||||
BuildRequires: libXrandr-devel
|
||||
%{?_with_server:BuildRequires: libXtst-devel}
|
||||
BuildRequires: libXv-devel
|
||||
%{?_with_opencl:BuildRequires: opencl-headers >= 3.0}
|
||||
%{?_with_opencl:BuildRequires: ocl-icd-devel}
|
||||
%{?_with_openh264:BuildRequires: openh264-devel}
|
||||
%{?_with_x264:BuildRequires: x264-devel}
|
||||
%{?_with_server:BuildRequires: pam-devel}
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: multilib-rpm-config
|
||||
|
||||
BuildRequires: pkgconfig(cairo)
|
||||
%{?_with_gss:BuildRequires: pkgconfig(krb5) >= 1.13}
|
||||
BuildRequires: pkgconfig(libpcsclite)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
%{?_with_soxr:BuildRequires: pkgconfig(soxr)}
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
|
||||
%{?_with_ffmpeg:
|
||||
BuildRequires: pkgconfig(libavcodec) >= 57.48.101
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
}
|
||||
|
||||
Provides: xfreerdp = %{?epoch}:%{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description
|
||||
The xfreerdp & wlfreerdp Remote Desktop Protocol (RDP) clients from the FreeRDP
|
||||
project.
|
||||
|
||||
xfreerdp & wlfreerdp can connect to RDP servers such as Microsoft Windows
|
||||
machines, xrdp and VirtualBox.
|
||||
|
||||
%package libs
|
||||
Summary: Core libraries implementing the RDP protocol
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Obsoletes: %{name}-plugins < 1:1.1.0
|
||||
Provides: %{name}-plugins = %{?epoch}:%{version}-%{release}
|
||||
%description libs
|
||||
libfreerdp-core can be embedded in applications.
|
||||
|
||||
libfreerdp-channels and libfreerdp-kbd might be convenient to use in X
|
||||
applications together with libfreerdp-core.
|
||||
|
||||
libfreerdp-core can be extended with plugins handling RDP channels.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: cmake >= 2.8
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for developing
|
||||
applications that use %{name}-libs.
|
||||
|
||||
%{?_with_server:
|
||||
%package server
|
||||
Summary: Server support for %{name}
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description server
|
||||
The %{name}-server package contains servers which can export a desktop via
|
||||
the RDP protocol.
|
||||
}
|
||||
|
||||
%package -n libwinpr
|
||||
Summary: Windows Portable Runtime
|
||||
Provides: %{name}-libwinpr = %{?epoch}:%{version}-%{release}
|
||||
Obsoletes: %{name}-libwinpr < 1:1.2.0
|
||||
|
||||
%description -n libwinpr
|
||||
WinPR provides API compatibility for applications targeting non-Windows
|
||||
environments. When on Windows, the original native API is being used instead of
|
||||
the equivalent WinPR implementation, without having to modify the code using it.
|
||||
|
||||
%package -n libwinpr-devel
|
||||
Summary: Windows Portable Runtime development files
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: cmake >= 2.8
|
||||
|
||||
%description -n libwinpr-devel
|
||||
The %{name}-libwinpr-devel package contains libraries and header files for
|
||||
developing applications that use %{name}-libwinpr.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n FreeRDP-%{version}
|
||||
|
||||
# Rpmlint fixes
|
||||
find . -name "*.h" -exec chmod 664 {} \;
|
||||
find . -name "*.c" -exec chmod 664 {} \;
|
||||
|
||||
%build
|
||||
%cmake %{?_cmake_skip_rpath} \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
|
||||
-DWITH_ALSA=ON \
|
||||
-DWITH_CAIRO=ON \
|
||||
-DWITH_CUPS=ON \
|
||||
-DWITH_CHANNELS=ON -DBUILTIN_CHANNELS=OFF \
|
||||
-DWITH_CLIENT=ON \
|
||||
-DWITH_DIRECTFB=OFF \
|
||||
-DWITH_DSP_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
-DWITH_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
-DWITH_GSM=ON \
|
||||
-DWITH_GSSAPI=%{?_with_gss:ON}%{?!_with_gss:OFF} \
|
||||
-DWITH_ICU=ON \
|
||||
-DWITH_IPP=OFF \
|
||||
-DWITH_JPEG=ON \
|
||||
-DWITH_LAME=%{?_with_lame:ON}%{?!_with_lame:OFF} \
|
||||
-DWITH_MANPAGES=ON \
|
||||
-DWITH_OPENCL=%{?_with_opencl:ON}%{?!_with_opencl:OFF} \
|
||||
-DWITH_OPENH264=%{?_with_openh264:ON}%{?!_with_openh264:OFF} \
|
||||
-DWITH_OPENSSL=ON \
|
||||
-DWITH_PCSC=ON \
|
||||
-DWITH_PULSE=ON \
|
||||
-DWITH_SERVER=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SERVER_INTERFACE=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SHADOW_X11=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SHADOW_MAC=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SOXR=%{?_with_soxr:ON}%{?!_with_soxr:OFF} \
|
||||
-DWITH_WAYLAND=ON \
|
||||
-DWITH_X11=ON \
|
||||
-DWITH_XCURSOR=ON \
|
||||
-DWITH_XEXT=ON \
|
||||
-DWITH_XKBFILE=ON \
|
||||
-DWITH_XI=ON \
|
||||
-DWITH_XINERAMA=ON \
|
||||
-DWITH_XRENDER=ON \
|
||||
-DWITH_XTEST=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_XV=ON \
|
||||
-DWITH_ZLIB=ON \
|
||||
%ifarch x86_64
|
||||
-DWITH_SSE2=ON \
|
||||
-DWITH_VAAPI=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
%else
|
||||
-DWITH_SSE2=OFF \
|
||||
%endif
|
||||
%ifarch armv7hl
|
||||
-DARM_FP_ABI=hard \
|
||||
-DWITH_NEON=OFF \
|
||||
%endif
|
||||
%ifarch armv7hnl
|
||||
-DARM_FP_ABI=hard \
|
||||
-DWITH_NEON=ON \
|
||||
%endif
|
||||
%ifarch armv5tel armv6l armv7l
|
||||
-DARM_FP_ABI=soft \
|
||||
-DWITH_NEON=OFF \
|
||||
%endif
|
||||
%{nil}
|
||||
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
find %{buildroot} -name "*.a" -delete
|
||||
|
||||
%multilib_fix_c_header --file %{_includedir}/freerdp2/freerdp/build-config.h
|
||||
|
||||
%files
|
||||
%{_bindir}/winpr-hash
|
||||
%{_bindir}/winpr-makecert
|
||||
%{_bindir}/wlfreerdp
|
||||
%{_bindir}/xfreerdp
|
||||
%{_mandir}/man1/winpr-hash.1*
|
||||
%{_mandir}/man1/winpr-makecert.1*
|
||||
%{_mandir}/man1/wlfreerdp.1*
|
||||
%{_mandir}/man1/xfreerdp.1*
|
||||
|
||||
%files libs
|
||||
%license LICENSE
|
||||
%doc README.md ChangeLog
|
||||
%{_libdir}/freerdp2/
|
||||
%{_libdir}/libfreerdp-client2.so.*
|
||||
%{?_with_server:
|
||||
%{_libdir}/libfreerdp-server2.so.*
|
||||
%{_libdir}/libfreerdp-shadow2.so.*
|
||||
%{_libdir}/libfreerdp-shadow-subsystem2.so.*
|
||||
}
|
||||
%{_libdir}/libfreerdp2.so.*
|
||||
%{_libdir}/libuwac0.so.*
|
||||
%{_mandir}/man7/wlog.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/freerdp2
|
||||
%{_includedir}/uwac0
|
||||
%{_libdir}/cmake/FreeRDP2
|
||||
%{_libdir}/cmake/FreeRDP-Client2
|
||||
%{?_with_server:
|
||||
%{_libdir}/cmake/FreeRDP-Server2
|
||||
%{_libdir}/cmake/FreeRDP-Shadow2
|
||||
}
|
||||
%{_libdir}/cmake/uwac0
|
||||
%{_libdir}/libfreerdp-client2.so
|
||||
%{?_with_server:
|
||||
%{_libdir}/libfreerdp-server2.so
|
||||
%{_libdir}/libfreerdp-shadow2.so
|
||||
%{_libdir}/libfreerdp-shadow-subsystem2.so
|
||||
}
|
||||
%{_libdir}/libfreerdp2.so
|
||||
%{_libdir}/libuwac0.so
|
||||
%{_libdir}/pkgconfig/freerdp2.pc
|
||||
%{_libdir}/pkgconfig/freerdp-client2.pc
|
||||
%{?_with_server:
|
||||
%{_libdir}/pkgconfig/freerdp-server2.pc
|
||||
%{_libdir}/pkgconfig/freerdp-shadow2.pc
|
||||
}
|
||||
%{_libdir}/pkgconfig/uwac0.pc
|
||||
|
||||
%{?_with_server:
|
||||
%files server
|
||||
%{_bindir}/freerdp-proxy
|
||||
%{_bindir}/freerdp-shadow-cli
|
||||
%{_mandir}/man1/freerdp-shadow-cli.1*
|
||||
}
|
||||
|
||||
%files -n libwinpr
|
||||
%license LICENSE
|
||||
%doc README.md ChangeLog
|
||||
%{_libdir}/libwinpr2.so.*
|
||||
%{_libdir}/libwinpr-tools2.so.*
|
||||
|
||||
%files -n libwinpr-devel
|
||||
%{_libdir}/cmake/WinPR2
|
||||
%{_includedir}/winpr2
|
||||
%{_libdir}/libwinpr2.so
|
||||
%{_libdir}/libwinpr-tools2.so
|
||||
%{_libdir}/pkgconfig/winpr2.pc
|
||||
%{_libdir}/pkgconfig/winpr-tools2.pc
|
||||
|
||||
%changelog
|
||||
* Tue Oct 01 2024 Ondrej Holy <oholy@redhat.com> - 2:2.11.7-1
|
||||
- Update to 2.11.7 (RHEL-53081)
|
||||
|
||||
* Tue Dec 13 2022 Ondrej Holy <oholy@redhat.com> - 2:2.2.0-10
|
||||
- Fix "implicit declaration of function" errors (#2136153, #2145139)
|
||||
|
||||
* Thu Dec 08 2022 Ondrej Holy <oholy@redhat.com> - - 2:2.2.0-9
|
||||
- CVE-2022-39282: Fix length checks in parallel driver (#2136151)
|
||||
- CVE-2022-39283: Add missing length check in video channel (#2136153)
|
||||
- CVE-2022-39316, CVE-2022-39317: Add missing length checks in zgfx (#2145139)
|
||||
- CVE-2022-39318: Fix division by zero in urbdrc channel (#2145139)
|
||||
- CVE-2022-39319: Add missing length checks in urbdrc channel (#2145139)
|
||||
- CVE-2022-39320: Ensure urb_create_iocompletion uses size_t (#2145139)
|
||||
- CVE-2022-39347: Fix path validation in drive channel (#2145139)
|
||||
- CVE-2022-41877: Add missing length check in drive channel (#2145139)
|
||||
|
||||
* Thu Aug 11 2022 Ondrej Holy <oholy@redhat.com> - 2:2.2.0-8
|
||||
- Fix /monitor-list output (rhbz#2108866)
|
||||
|
||||
* Wed Nov 10 2021 Ondrej Holy <oholy@redhat.com> - 2:2.2.0-4
|
||||
- Refactored RPC gateway parser (rhbz#2017949)
|
||||
|
||||
* Fri Nov 05 2021 Felipe Borges <feborges@redhat.com> - 2:2.2.0-3
|
||||
- Add checks for bitmap and glyph width and heigth values (rhbz#2017956)
|
||||
|
||||
* Wed Apr 28 2021 Ondrej Holy <oholy@redhat.com> - 2:2.2.0-2
|
||||
- Fix exit codes for /help and similar options (rhbz#1910029)
|
||||
|
||||
* Fri Nov 20 2020 Ondrej Holy <oholy@redhat.com> - 2:2.2.0-1
|
||||
- Update to 2.2.0 (rhbz#1881971)
|
||||
|
||||
* Mon May 25 2020 Ondrej Holy <oholy@redhat.com> - 2:2.1.1-1
|
||||
- Update to 2.1.1 (rhbz#1834287).
|
||||
|
||||
* Fri Apr 17 2020 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-47.rc4
|
||||
- Fix SCARD_INSUFFICIENT_BUFFER error (rhbz#1803054)
|
||||
- Do not advertise /usb in help output (rhbz#1761144)
|
||||
|
||||
* Wed Nov 28 2018 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-46.rc4
|
||||
- Update to 2.0.0-rc4 (#1624340)
|
||||
|
||||
* Mon Oct 15 2018 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-45.rc3
|
||||
- Disable server support in RHEL (#1639165)
|
||||
|
||||
* Wed Oct 10 2018 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-44.rc3
|
||||
- Fix packaging issues found by rpmdiff (#1637487)
|
||||
|
||||
* Tue Sep 25 2018 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-43.rc3
|
||||
- Fix important defects found by covscan (#1602500)
|
||||
|
||||
* Thu Sep 06 2018 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-42.rc3
|
||||
- Update to 2.0.0-rc3 (#1624340)
|
||||
|
||||
* Mon Apr 09 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-41.20180405gita9ecd6a
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Wed Mar 21 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-40.20180320gitde83f4d
|
||||
- Add PAM support (fixes freerdp-shadow-cli). Thanks Paolo Zeppegno.
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Thu Mar 15 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-39.20180314gitf8baeb7
|
||||
- Update to latest snapshot.
|
||||
- Fixes connection to RDP servers with the latest Microsoft patches:
|
||||
https://github.com/FreeRDP/FreeRDP/issues/4449
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-38.20180115git8f52c7e
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Jan 18 2018 Karsten Hopp <karsten@redhat.com> - 2.0.0-37git}
|
||||
- use versioned build requirement on pkgconfig(openssl) to prevent using
|
||||
compat-openssl10-devel instead of openssl-devel
|
||||
|
||||
* Tue Jan 16 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-36.20180115git8f52c7e
|
||||
- Update to latest snapshot.
|
||||
- Make GSS support optional and disable it for now (#1534094 and FreeRDP #4348,
|
||||
#1435, #4363).
|
||||
|
||||
* Wed Dec 20 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-35.20171220gitbfe8359
|
||||
- Update to latest snapshot post 2.0.0rc1.
|
||||
|
||||
* Mon Sep 11 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-34.20170831git3b83526
|
||||
- Update to latest snapshot.
|
||||
- Trim changelog.
|
||||
|
||||
* Mon Aug 07 2017 Björn Esser <besser82@fedoraproject.org> - 2:2.0.0-33.20170724gitf8c9f43
|
||||
- Rebuilt for AutoReq cmake-filesystem
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-32.20170724gitf8c9f43
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-31.20170724gitf8c9f43
|
||||
- Update to latest snapshot, Talos security fixes.
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-30.20170710gitf580bea
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jul 12 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-29.20170710gitf580bea
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Mon Jun 26 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-28.20170623git9904c32
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Mon May 15 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-27.20170512gitb1df835
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Thu Apr 20 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-26.20170419gitbfcf8e7
|
||||
- Update to latest 2.0 snapshot.
|
||||
|
||||
* Thu Apr 13 2017 Orion Poplawski <orion@cora.nwra.com> - 2:2.0.0-25.20170317git8c68761
|
||||
- Install tools via make install
|
||||
|
||||
* Wed Mar 22 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-24.20170317git8c68761
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Mon Mar 06 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-23.20170302git210de68
|
||||
- Remove shared libxfreerdp-client shared library.
|
||||
|
||||
* Thu Mar 02 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-22.20170302git210de68
|
||||
- Move libxfreerdp-client shared object into devel subpackage.
|
||||
|
||||
* Thu Mar 02 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-21.20170302git210de68
|
||||
- Update to latest snapshot.
|
||||
- Update build requirements, tune build options.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-20.20161228git90877f5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Jan 09 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-19.20161228git90877f5
|
||||
- Update to latest snapshot.
|
661
freerdp.spec
Normal file
661
freerdp.spec
Normal file
@ -0,0 +1,661 @@
|
||||
# Can be rebuilt with FFmpeg/OpenH264 support enabled by passing
|
||||
# "--with=ffmpeg", or "--with=openh264" to mock/rpmbuild; or by globally
|
||||
# setting these variables:
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2242028
|
||||
#global _with_ffmpeg 1
|
||||
#global _with_openh264 1
|
||||
|
||||
# Can be rebuilt with OpenCL support enabled by passing # "--with=opencl"
|
||||
# or by globally setting:
|
||||
#global _opencl 1
|
||||
|
||||
# Disable server support in RHEL
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1639165
|
||||
%if 0%{?fedora} || 0%{?rhel} >= 10
|
||||
%global _with_server 1
|
||||
%endif
|
||||
|
||||
# Force uwac to be static to avoid conflicts with freerdp2
|
||||
# FIXME: Disable this once all freerdp2 consumers are ported to freerdp3
|
||||
%global _with_static_uwac 1
|
||||
|
||||
# Disable unwanted dependencies for RHEL
|
||||
%{!?rhel:%global _with_sdl_client 1}
|
||||
%{!?rhel:%global _with_soxr 1}
|
||||
%{!?rhel:%global _with_uriparser 1}
|
||||
|
||||
# Disable support for AAD WebView popup since it uses webkit2gtk-4.0
|
||||
#global _with_webview 1
|
||||
|
||||
# FIXME: GCC 14.x says there's lots of incompatible pointer casts going on...
|
||||
%global build_type_safety_c 2
|
||||
|
||||
Name: freerdp
|
||||
Version: 3.6.3
|
||||
Release: 1%{?dist}
|
||||
Epoch: 2
|
||||
Summary: Free implementation of the Remote Desktop Protocol (RDP)
|
||||
|
||||
# The effective license is Apache-2.0 but:
|
||||
# client/SDL/dialogs/font/* is OFL-1.1
|
||||
# uwac/libuwac/* is HPND
|
||||
# uwac/protocols/server-decoration.xml is LGPL-2.1-or-later
|
||||
# winpr/libwinpr/ncrypt/pkcs11-headers/pkcs11.h is LicenseRef-Fedora-Public-Domain
|
||||
License: Apache-2.0 AND HPND AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND OFL-1.1
|
||||
URL: http://www.freerdp.com/
|
||||
|
||||
# The license of the winpr/libwinpr/crt/unicode_builtin.c file is not allowed.
|
||||
# See: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/498
|
||||
# Run the ./freerdp_download_and_repack.sh script to prepare tarball.
|
||||
Source0: FreeRDP-%{version}-repack.tar.gz
|
||||
Source1: freerdp_download_and_repack.sh
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: cmake >= 3.13
|
||||
BuildRequires: cups-devel
|
||||
BuildRequires: gsm-devel
|
||||
BuildRequires: lame-devel
|
||||
BuildRequires: libicu-devel
|
||||
BuildRequires: libjpeg-turbo-devel
|
||||
BuildRequires: libX11-devel
|
||||
BuildRequires: libXcursor-devel
|
||||
BuildRequires: libXdamage-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: libXi-devel
|
||||
BuildRequires: libXinerama-devel
|
||||
BuildRequires: libxkbfile-devel
|
||||
BuildRequires: libXrandr-devel
|
||||
%{?_with_server:BuildRequires: libXtst-devel}
|
||||
BuildRequires: libXv-devel
|
||||
%{?_with_opencl:BuildRequires: opencl-headers >= 3.0}
|
||||
%{?_with_opencl:BuildRequires: ocl-icd-devel}
|
||||
%{?_with_openh264:BuildRequires: openh264-devel}
|
||||
%{?_with_x264:BuildRequires: x264-devel}
|
||||
%{?_with_server:BuildRequires: pam-devel}
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: multilib-rpm-config
|
||||
|
||||
BuildRequires: cmake(json-c)
|
||||
# Packaging error led to cmake files in the wrong place
|
||||
# Fixed in https://src.fedoraproject.org/rpms/uriparser/c/1b07302bfc80983fbf84283783370e8338d36429
|
||||
%{?_with_uriparser:BuildRequires: (cmake(uriparser) and uriparser-devel)}
|
||||
|
||||
BuildRequires: pkgconfig(cairo)
|
||||
BuildRequires: pkgconfig(krb5)
|
||||
BuildRequires: pkgconfig(fuse3)
|
||||
BuildRequires: pkgconfig(libpcsclite)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
BuildRequires: pkgconfig(libsystemd)
|
||||
BuildRequires: pkgconfig(libusb-1.0)
|
||||
BuildRequires: pkgconfig(libwebp)
|
||||
BuildRequires: pkgconfig(openssl)
|
||||
BuildRequires: pkgconfig(opus)
|
||||
%{?_with_sdl_client:BuildRequires: pkgconfig(sdl2)}
|
||||
%{?_with_sdl_client:BuildRequires: pkgconfig(SDL2_ttf)}
|
||||
%{?_with_soxr:BuildRequires: pkgconfig(soxr)}
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(wayland-scanner)
|
||||
%{?_with_webview:BuildRequires: pkgconfig(webkit2gtk-4.0)}
|
||||
BuildRequires: pkgconfig(xkbcommon)
|
||||
|
||||
%{?_with_ffmpeg:
|
||||
BuildRequires: pkgconfig(libavcodec) >= 57.48.101
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
BuildRequires: pkgconfig(libswscale)
|
||||
}
|
||||
|
||||
Provides: xfreerdp = %{?epoch}:%{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description
|
||||
The xfreerdp & wlfreerdp Remote Desktop Protocol (RDP) clients from the FreeRDP
|
||||
project.
|
||||
|
||||
xfreerdp & wlfreerdp can connect to RDP servers such as Microsoft Windows
|
||||
machines, xrdp and VirtualBox.
|
||||
|
||||
%package libs
|
||||
Summary: Core libraries implementing the RDP protocol
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Obsoletes: %{name}-plugins < 1:1.1.0
|
||||
Provides: %{name}-plugins = %{?epoch}:%{version}-%{release}
|
||||
%description libs
|
||||
libfreerdp-core can be embedded in applications.
|
||||
|
||||
libfreerdp-channels and libfreerdp-kbd might be convenient to use in X
|
||||
applications together with libfreerdp-core.
|
||||
|
||||
libfreerdp-core can be extended with plugins handling RDP channels.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: cmake >= 3.13
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for developing
|
||||
applications that use %{name}-libs.
|
||||
|
||||
%{?_with_server:
|
||||
%package server
|
||||
Summary: Server support for %{name}
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
|
||||
%description server
|
||||
The %{name}-server package contains servers which can export a desktop via
|
||||
the RDP protocol.
|
||||
}
|
||||
|
||||
%package -n libwinpr
|
||||
Summary: Windows Portable Runtime
|
||||
Provides: %{name}-libwinpr = %{?epoch}:%{version}-%{release}
|
||||
Obsoletes: %{name}-libwinpr < 1:1.2.0
|
||||
|
||||
%description -n libwinpr
|
||||
WinPR provides API compatibility for applications targeting non-Windows
|
||||
environments. When on Windows, the original native API is being used instead of
|
||||
the equivalent WinPR implementation, without having to modify the code using it.
|
||||
|
||||
%package -n libwinpr-devel
|
||||
Summary: Windows Portable Runtime development files
|
||||
Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: cmake >= 3.13
|
||||
|
||||
%description -n libwinpr-devel
|
||||
The %{name}-libwinpr-devel package contains libraries and header files for
|
||||
developing applications that use %{name}-libwinpr.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n FreeRDP-%{version}
|
||||
|
||||
# Rpmlint fixes
|
||||
find . -name "*.h" -exec chmod 664 {} \;
|
||||
find . -name "*.c" -exec chmod 664 {} \;
|
||||
|
||||
%build
|
||||
%cmake %{?_cmake_skip_rpath} \
|
||||
-DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
|
||||
-DWITH_ALSA=ON \
|
||||
-DWITH_AAD=ON \
|
||||
-DWITH_CAIRO=ON \
|
||||
-DWITH_CUPS=ON \
|
||||
-DWITH_CHANNELS=ON -DBUILTIN_CHANNELS=OFF \
|
||||
-DWITH_CLIENT=ON \
|
||||
-DWITH_CLIENT_SDL=%{?_with_sdl_client:ON}%{?!_with_sdl_client:OFF} \
|
||||
-DWITH_DIRECTFB=OFF \
|
||||
-DWITH_DSP_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
-DWITH_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
-DWITH_FUSE=ON \
|
||||
-DWITH_GSM=ON \
|
||||
-DWITH_ICU=ON \
|
||||
-DWITH_IPP=OFF \
|
||||
-DWITH_JPEG=ON \
|
||||
-DWITH_JSONC_REQUIRED=ON \
|
||||
-DWITH_KRB5=ON \
|
||||
-DWITH_LAME=ON \
|
||||
-DWITH_MANPAGES=ON \
|
||||
-DWITH_OPENCL=%{?_with_opencl:ON}%{?!_with_opencl:OFF} \
|
||||
-DWITH_OPENH264=%{?_with_openh264:ON}%{?!_with_openh264:OFF} \
|
||||
-DWITH_OPENSSL=ON \
|
||||
-DWITH_OPUS=ON \
|
||||
-DWITH_PCSC=ON \
|
||||
-DWITH_PKCS11=ON \
|
||||
-DWITH_PULSE=ON \
|
||||
-DWITH_SAMPLE=OFF \
|
||||
-DWITH_SERVER=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SERVER_INTERFACE=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SHADOW_X11=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SHADOW_MAC=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_SOXR=%{?_with_soxr:ON}%{?!_with_soxr:OFF} \
|
||||
-DWITH_SWSCALE=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
-DWITH_URIPARSER=%{?_with_uriparser:ON}%{?!_with_uriparser:OFF} \
|
||||
-DWITH_VIDEO_FFMPEG=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
-DWITH_WAYLAND=ON \
|
||||
-DWITH_WEBVIEW=%{?_with_webview:ON}%{?!_with_webview:OFF} \
|
||||
-DWITH_X11=ON \
|
||||
-DWITH_XCURSOR=ON \
|
||||
-DWITH_XEXT=ON \
|
||||
-DWITH_XKBFILE=ON \
|
||||
-DWITH_XI=ON \
|
||||
-DWITH_XINERAMA=ON \
|
||||
-DWITH_XRENDER=ON \
|
||||
-DWITH_XTEST=%{?_with_server:ON}%{?!_with_server:OFF} \
|
||||
-DWITH_XV=ON \
|
||||
-DWITH_ZLIB=ON \
|
||||
%ifarch x86_64
|
||||
-DWITH_SSE2=ON \
|
||||
-DWITH_VAAPI=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \
|
||||
%else
|
||||
-DWITH_SSE2=OFF \
|
||||
%endif
|
||||
%ifarch armv7hl
|
||||
-DARM_FP_ABI=hard \
|
||||
-DWITH_NEON=OFF \
|
||||
%endif
|
||||
%ifarch armv7hnl
|
||||
-DARM_FP_ABI=hard \
|
||||
-DWITH_NEON=ON \
|
||||
%endif
|
||||
%ifarch armv5tel armv6l armv7l
|
||||
-DARM_FP_ABI=soft \
|
||||
-DWITH_NEON=OFF \
|
||||
%endif
|
||||
-DUWAC_FORCE_STATIC_BUILD=%{?_with_static_uwac:ON}%{?!_with_static_uwac:OFF} \
|
||||
-DWINPR_UTILS_IMAGE_PNG=ON \
|
||||
-DWINPR_UTILS_IMAGE_WEBP=ON \
|
||||
-DWINPR_UTILS_IMAGE_JPEG=ON \
|
||||
%{nil}
|
||||
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
find %{buildroot} -name "*.a" -delete
|
||||
|
||||
%multilib_fix_c_header --file %{_includedir}/freerdp3/freerdp/build-config.h
|
||||
|
||||
%files
|
||||
%{?_with_sdl_client:
|
||||
%{_bindir}/sdl-freerdp
|
||||
}
|
||||
%{_bindir}/winpr-hash
|
||||
%{_bindir}/winpr-makecert
|
||||
%{_bindir}/wlfreerdp
|
||||
%{_bindir}/xfreerdp
|
||||
%{?_with_sdl_client:
|
||||
%{_mandir}/man1/sdl-freerdp.1*
|
||||
}
|
||||
%{_mandir}/man1/winpr-hash.1*
|
||||
%{_mandir}/man1/winpr-makecert.1*
|
||||
%{_mandir}/man1/wlfreerdp.1*
|
||||
%{_mandir}/man1/xfreerdp.1*
|
||||
|
||||
%files libs
|
||||
%license LICENSE
|
||||
%doc README.md ChangeLog
|
||||
%{_libdir}/freerdp3/
|
||||
%{_libdir}/libfreerdp-client3.so.*
|
||||
%{?_with_server:
|
||||
%{_libdir}/libfreerdp-server3.so.*
|
||||
%{_libdir}/libfreerdp-server-proxy3.so.*
|
||||
%{_libdir}/libfreerdp-shadow3.so.*
|
||||
%{_libdir}/libfreerdp-shadow-subsystem3.so.*
|
||||
}
|
||||
%{_libdir}/libfreerdp3.so.*
|
||||
%{?!_with_static_uwac:
|
||||
%{_libdir}/libuwac0.so.*
|
||||
}
|
||||
%{_libdir}/librdtk0.so.*
|
||||
%{_mandir}/man7/wlog.*
|
||||
|
||||
%files devel
|
||||
%{_includedir}/freerdp3/
|
||||
%{?!_with_static_uwac:
|
||||
%{_includedir}/uwac0/
|
||||
}
|
||||
%{_includedir}/rdtk0/
|
||||
%{_libdir}/cmake/FreeRDP3/
|
||||
%{_libdir}/cmake/FreeRDP-Client3/
|
||||
%{?_with_server:
|
||||
%{_libdir}/cmake/FreeRDP-Proxy3/
|
||||
%{_libdir}/cmake/FreeRDP-Server3/
|
||||
%{_libdir}/cmake/FreeRDP-Shadow3/
|
||||
}
|
||||
%{?!_with_static_uwac:
|
||||
%{_libdir}/cmake/uwac0/
|
||||
}
|
||||
%{_libdir}/cmake/rdtk0/
|
||||
%{_libdir}/libfreerdp-client3.so
|
||||
%{?_with_server:
|
||||
%{_libdir}/libfreerdp-server3.so
|
||||
%{_libdir}/libfreerdp-server-proxy3.so
|
||||
%{_libdir}/libfreerdp-shadow3.so
|
||||
%{_libdir}/libfreerdp-shadow-subsystem3.so
|
||||
}
|
||||
%{_libdir}/libfreerdp3.so
|
||||
%{?!_with_static_uwac:
|
||||
%{_libdir}/libuwac0.so
|
||||
}
|
||||
%{_libdir}/librdtk0.so
|
||||
%{_libdir}/pkgconfig/freerdp3.pc
|
||||
%{_libdir}/pkgconfig/freerdp-client3.pc
|
||||
%{?_with_server:
|
||||
%{_libdir}/pkgconfig/freerdp-server3.pc
|
||||
%{_libdir}/pkgconfig/freerdp-server-proxy3.pc
|
||||
%{_libdir}/pkgconfig/freerdp-shadow3.pc
|
||||
}
|
||||
%{?!_with_static_uwac:
|
||||
%{_libdir}/pkgconfig/uwac0.pc
|
||||
}
|
||||
%{_libdir}/pkgconfig/rdtk0.pc
|
||||
|
||||
%{?_with_server:
|
||||
%files server
|
||||
%{_bindir}/freerdp-proxy
|
||||
%{_bindir}/freerdp-shadow-cli
|
||||
%{_mandir}/man1/freerdp-proxy.1*
|
||||
%{_mandir}/man1/freerdp-shadow-cli.1*
|
||||
}
|
||||
|
||||
%files -n libwinpr
|
||||
%license LICENSE
|
||||
%doc README.md ChangeLog
|
||||
%{_libdir}/libwinpr3.so.*
|
||||
%{_libdir}/libwinpr-tools3.so.*
|
||||
|
||||
%files -n libwinpr-devel
|
||||
%{_libdir}/cmake/WinPR3/
|
||||
%{_libdir}/cmake/WinPR-tools3/
|
||||
%{_includedir}/winpr3/
|
||||
%{_libdir}/libwinpr3.so
|
||||
%{_libdir}/libwinpr-tools3.so
|
||||
%{_libdir}/pkgconfig/winpr3.pc
|
||||
%{_libdir}/pkgconfig/winpr-tools3.pc
|
||||
|
||||
%changelog
|
||||
* Fri Jul 26 2024 Ondrej Holy <oholy@redhat.com> - 2:3.6.3-1
|
||||
- Update to 3.6.3 (#2299253)
|
||||
|
||||
* Tue Jul 23 2024 Neal Gompa <ngompa@fedoraproject.org> - 2:3.6.2-2
|
||||
- Include freerdp source download script in SRPM
|
||||
|
||||
* Mon Jul 08 2024 Ondrej Holy <oholy@redhat.com> - 2:3.6.2-1
|
||||
- Update to 3.6.2
|
||||
|
||||
* Mon Jul 08 2024 Ondrej Holy <oholy@redhat.com> - 2:3.5.1-3
|
||||
- Remove file with non-allowed license from the tarball
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 2:3.5.1-2
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Tue May 07 2024 Ondrej Holy <oholy@redhat.com> - 2:3.5.1-1
|
||||
- Update to 3.5.1 (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041,
|
||||
CVE-2024-32458, CVE-2024-32459, CVE-2024-32460, CVE-2024-32658,
|
||||
CVE-2024-32659, CVE-2024-32660, CVE-2024-32661, CVE-2024-32662)
|
||||
|
||||
* Mon Mar 25 2024 Ondrej Holy <oholy@redhat.com> - 2:3.4.0-2
|
||||
- Disable unwanted dependencies for RHEL
|
||||
|
||||
* Fri Mar 22 2024 Ondrej Holy <oholy@redhat.com> - 2:3.4.0-1
|
||||
- Update to 3.4.0
|
||||
|
||||
* Thu Feb 22 2024 Neal Gompa <ngompa@fedoraproject.org> - 2:3.3.0-1
|
||||
- Update to 3.3.0
|
||||
|
||||
* Thu Feb 01 2024 Ondrej Holy <oholy@redhat.com> - 2:3.2.0-4
|
||||
- Enable KRB5 support
|
||||
|
||||
* Wed Jan 31 2024 Pete Walter <pwalter@fedoraproject.org> - 2:3.2.0-3
|
||||
- Rebuild for ICU 74
|
||||
|
||||
* Sat Jan 27 2024 Neal Gompa <ngompa@fedoraproject.org> - 2:3.2.0-2
|
||||
- Force static libuwac to deconflict with freerdp2
|
||||
|
||||
* Wed Jan 24 2024 Neal Gompa <ngompa@fedoraproject.org> - 2:3.2.0-1
|
||||
- Rebase to 3.2.0
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.11.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.11.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Fri Jan 12 2024 Ondrej Holy <oholy@redhat.com> - 2:2.11.4-1
|
||||
- Update to 2.11.4.
|
||||
|
||||
* Wed Oct 25 2023 Ondrej Holy <oholy@redhat.com> - 2:2.11.2-3
|
||||
- Disable FFmpeg support (#2242028).
|
||||
|
||||
* Mon Oct 09 2023 John Wiele <jwiele@redhat.com> - 2:2.11.2-2
|
||||
- Enable optional build with OpenCL support.
|
||||
|
||||
* Wed Sep 27 2023 Ondrej Holy <oholy@redhat.com> - 2:2.11.1-2
|
||||
- Update to 2.11.2.
|
||||
|
||||
* Tue Sep 05 2023 Ondrej Holy <oholy@redhat.com> - 2:2.11.1-1
|
||||
- Update to 2.11.1.
|
||||
|
||||
* Fri Sep 01 2023 Ondrej Holy <oholy@redhat.com> - 2:2.11.0-1
|
||||
- Update to 2.11.0 (CVE-2023-39350, CVE-2023-39351, CVE-2023-39352,
|
||||
CVE-2023-39353, CVE-2023-39354, CVE-2023-39356, CVE-2023-40181,
|
||||
CVE-2023-40186, CVE-2023-40188, CVE-2023-40567, CVE-2023-40569 and
|
||||
CVE-2023-40589).
|
||||
|
||||
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.10.0-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Tue Jul 11 2023 František Zatloukal <fzatlouk@redhat.com> - 2:2.10.0-3
|
||||
- Rebuilt for ICU 73.2
|
||||
|
||||
* Thu May 11 2023 Ondrej Holy <oholy@redhat.com> - 2:2.10.0-2
|
||||
- Enable recommended FFmpeg support.
|
||||
|
||||
* Tue Feb 21 2023 Ondrej Holy <oholy@redhat.com> - 2:2.10.0-1
|
||||
- Update to 2.10.0.
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.9.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Sat Dec 31 2022 Pete Walter <pwalter@fedoraproject.org> - 2:2.9.0-2
|
||||
- Rebuild for ICU 72
|
||||
|
||||
* Wed Nov 30 2022 Ondrej Holy <oholy@redhat.com> - 2:2.9.0-1
|
||||
- Update to 2.9.0 (CVE-2022-39316, CVE-2022-39317, CVE-2022-39318,
|
||||
CVE-2022-39319, CVE-2022-39320, CVE-2022-41877, CVE-2022-39347).
|
||||
|
||||
* Mon Nov 14 2022 Ondrej Holy <oholy@redhat.com> - 2:2.8.1-1
|
||||
- Update to 2.8.1 (CVE-2022-39282, CVE-2022-39283).
|
||||
|
||||
* Mon Aug 15 2022 Simone Caronni <negativo17@gmail.com> - 2:2.8.0-1
|
||||
- Update to 2.8.0.
|
||||
|
||||
* Wed Aug 03 2022 Ondrej Holy <oholy@redhat.com> - 2:2.7.0-4
|
||||
- Enable server support in ELN.
|
||||
|
||||
* Mon Aug 01 2022 Frantisek Zatloukal <fzatlouk@redhat.com> - 2:2.7.0-3
|
||||
- Rebuilt for ICU 71.1
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.7.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Apr 25 2022 Ondrej Holy <oholy@redhat.com> - 2:2.7.0-1
|
||||
- Update to 2.7.0.
|
||||
|
||||
* Fri Mar 11 2022 Ondrej Holy <oholy@redhat.com> - 2:2.6.1-1
|
||||
- Update to 2.6.1.
|
||||
|
||||
* Thu Feb 03 2022 Ondrej Holy <oholy@redhat.com> - 2:2.5.0-1
|
||||
- Update to 2.5.0.
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.4.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Nov 26 2021 Ondrej Holy <oholy@redhat.com> - 2:2.4.1-2
|
||||
- Fix datatype mismatch / big-endian breakage
|
||||
- Load legacy provider when initializing OpenSSL 3.0
|
||||
|
||||
* Wed Nov 10 2021 Ondrej Holy <oholy@redhat.com> - 2:2.4.1-1
|
||||
- Update to 2.4.1 (CVE-2021-41159, CVE-2021-41160).
|
||||
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 2:2.4.0-3
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Wed Aug 11 2021 Ondrej Holy <oholy@redhat.com> - 2:2.4.0-2
|
||||
- Preparation for OpenSSL 3.0
|
||||
|
||||
* Thu Jul 29 2021 Ondrej Holy <oholy@redhat.com> - 2:2.4.0-1
|
||||
- Update to 2.4.0.
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.3.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Wed May 19 2021 Pete Walter <pwalter@fedoraproject.org> - 2:2.3.2-2
|
||||
- Rebuild for ICU 69
|
||||
|
||||
* Thu Apr 15 2021 Simone Caronni <negativo17@gmail.com> - 2:2.3.2-1
|
||||
- Update to 2.3.2.
|
||||
|
||||
* Tue Mar 23 2021 Simone Caronni <negativo17@gmail.com> - 2:2.2.0-6
|
||||
- Explicitly enable Cairo support (#1938393).
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.2.0-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Aug 11 2020 Ondrej Holy <oholy@redhat.com> - 2:2.2.0-4
|
||||
- Use %%cmake_ macros to fix out-of-source builds (#1863586)
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.2.0-3
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.2.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jul 23 2020 Simone Caronni <negativo17@gmail.com> - 2:2.2.0-1
|
||||
- Update to 2.2.0.
|
||||
|
||||
* Tue Jun 30 2020 Simone Caronni <negativo17@gmail.com> - 2:2.1.2-1
|
||||
- Update to 2.1.2.
|
||||
|
||||
* Thu May 21 2020 Ondrej Holy <oholy@redhat.com> - 2:2.1.1-1
|
||||
- Update to 2.1.1.
|
||||
|
||||
* Fri May 15 2020 Ondrej Holy <oholy@redhat.com> - 2:2.1.0-1
|
||||
- Update to 2.1.0 (#1833540).
|
||||
|
||||
* Fri May 15 2020 Pete Walter <pwalter@fedoraproject.org> - 2:2.0.0-57.20200207git245fc60
|
||||
- Rebuild for ICU 67
|
||||
|
||||
* Fri Feb 07 2020 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-56.20200207git245fc60
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-55.20190820git6015229
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Nov 01 2019 Pete Walter <pwalter@fedoraproject.org> - 2:2.0.0-54.20190820git6015229
|
||||
- Rebuild for ICU 65
|
||||
|
||||
* Tue Aug 20 2019 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-53.20190820git6015229
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-52.20190918git5e672d4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Jul 21 2019 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-51.20190918git5e672d4
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Sat May 18 2019 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-50.20190517gitb907324
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Wed Mar 06 2019 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-49.20190304git435872b
|
||||
- Fix for GFX color depth (Windows 10).
|
||||
|
||||
* Thu Feb 28 2019 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-48.20190228gitce386c8
|
||||
- Update to latest snapshot post rc4.
|
||||
- CVE-2018-1000852 (#1661642).
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-47.rc4.1
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Nov 29 2018 Ondrej Holy <oholy@redhat.com> - 2:2.0.0-47.rc4
|
||||
- Update to 2.0.0-rc4
|
||||
|
||||
* Mon Oct 15 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-46.20181008git00af869
|
||||
- Enable Xtest option (#1559606).
|
||||
|
||||
* Mon Oct 15 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-45.20181008git00af869
|
||||
- Update to last snapshot post 2.0.0-rc3.
|
||||
|
||||
* Mon Aug 20 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-44.rc3
|
||||
- Update SPEC file.
|
||||
|
||||
* Sat Aug 04 2018 Mike DePaulo <mikedep333@fedoraproject.org> - 2:2.0.0-43.20180801.rc3
|
||||
- Update to 2.0.0-rc3
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-42.20180405gita9ecd6a
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Mon Apr 09 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-41.20180405gita9ecd6a
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Wed Mar 21 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-40.20180320gitde83f4d
|
||||
- Add PAM support (fixes freerdp-shadow-cli). Thanks Paolo Zeppegno.
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Thu Mar 15 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-39.20180314gitf8baeb7
|
||||
- Update to latest snapshot.
|
||||
- Fixes connection to RDP servers with the latest Microsoft patches:
|
||||
https://github.com/FreeRDP/FreeRDP/issues/4449
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-38.20180115git8f52c7e
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Jan 18 2018 Karsten Hopp <karsten@redhat.com> - 2.0.0-37git}
|
||||
- use versioned build requirement on pkgconfig(openssl) to prevent using
|
||||
compat-openssl10-devel instead of openssl-devel
|
||||
|
||||
* Tue Jan 16 2018 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-36.20180115git8f52c7e
|
||||
- Update to latest snapshot.
|
||||
- Make GSS support optional and disable it for now (#1534094 and FreeRDP #4348,
|
||||
#1435, #4363).
|
||||
|
||||
* Wed Dec 20 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-35.20171220gitbfe8359
|
||||
- Update to latest snapshot post 2.0.0rc1.
|
||||
|
||||
* Mon Sep 11 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-34.20170831git3b83526
|
||||
- Update to latest snapshot.
|
||||
- Trim changelog.
|
||||
|
||||
* Mon Aug 07 2017 Björn Esser <besser82@fedoraproject.org> - 2:2.0.0-33.20170724gitf8c9f43
|
||||
- Rebuilt for AutoReq cmake-filesystem
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-32.20170724gitf8c9f43
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Thu Jul 27 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-31.20170724gitf8c9f43
|
||||
- Update to latest snapshot, Talos security fixes.
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-30.20170710gitf580bea
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jul 12 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-29.20170710gitf580bea
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Mon Jun 26 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-28.20170623git9904c32
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Mon May 15 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-27.20170512gitb1df835
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Thu Apr 20 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-26.20170419gitbfcf8e7
|
||||
- Update to latest 2.0 snapshot.
|
||||
|
||||
* Thu Apr 13 2017 Orion Poplawski <orion@cora.nwra.com> - 2:2.0.0-25.20170317git8c68761
|
||||
- Install tools via make install
|
||||
|
||||
* Wed Mar 22 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-24.20170317git8c68761
|
||||
- Update to latest snapshot.
|
||||
|
||||
* Mon Mar 06 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-23.20170302git210de68
|
||||
- Remove shared libxfreerdp-client shared library.
|
||||
|
||||
* Thu Mar 02 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-22.20170302git210de68
|
||||
- Move libxfreerdp-client shared object into devel subpackage.
|
||||
|
||||
* Thu Mar 02 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-21.20170302git210de68
|
||||
- Update to latest snapshot.
|
||||
- Update build requirements, tune build options.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2:2.0.0-20.20161228git90877f5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Jan 09 2017 Simone Caronni <negativo17@gmail.com> - 2:2.0.0-19.20161228git90877f5
|
||||
- Update to latest snapshot.
|
14
freerdp_download_and_repack.sh
Executable file
14
freerdp_download_and_repack.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
version=$(cat freerdp.spec | grep "Version: " | tr --squeeze-repeats " " | cut --delimiter " " --fields 2)
|
||||
|
||||
echo "Downloading FreeRDP-$version.tar.gz"
|
||||
curl --silent --location "https://github.com/FreeRDP/FreeRDP/archive/$version/FreeRDP-$version.tar.gz" --output "FreeRDP-$version.tar.gz" || exit 1
|
||||
|
||||
echo "Removing unicode_builtin.c"
|
||||
gzip --decompress "FreeRDP-$version.tar.gz" || exit 1
|
||||
tar --file "FreeRDP-$version.tar" --delete "*/winpr/libwinpr/crt/unicode_builtin.c" || exit 1
|
||||
gzip --best "FreeRDP-$version.tar" --stdout > FreeRDP-$version-repack.tar.gz
|
||||
rm FreeRDP-$version.tar
|
||||
|
||||
echo "FreeRDP-$version-repack.tar.gz is prepared"
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user