[server] add exerimental and unmaintained warnings

This commit is contained in:
Armin Novak 2023-08-21 13:33:26 +02:00 committed by Martin Fleisz
parent 5b012fbc8a
commit dd9757d686
13 changed files with 204 additions and 30 deletions

View File

@ -5134,13 +5134,51 @@ BOOL freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings)
return TRUE;
}
void freerdp_client_warn_unmaintained(int argc, char* argv[])
{
const char* app = (argc > 0) ? argv[0] : "INVALID_ARGV";
const DWORD log_level = WLOG_WARN;
wLog* log = WLog_Get(TAG);
WINPR_ASSERT(log);
if (!WLog_IsLevelActive(log, log_level))
return;
WLog_Print_unchecked(log, log_level, "[unmaintained] %s client is currently unmaintained!",
app);
WLog_Print_unchecked(
log, log_level,
" If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for "
"know issues!");
WLog_Print_unchecked(
log, log_level,
"Be prepared to fix issues yourself though as nobody is actively working on this.");
WLog_Print_unchecked(
log, log_level,
" Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
"- dont hesitate to ask some questions. (replies might take some time depending "
"on your timezone) - if you intend using this component write us a message");
}
void freerdp_client_warn_experimental(int argc, char* argv[])
{
const char* app = (argc > 0) ? argv[0] : "INVALID_ARGV";
WLog_WARN(TAG, "[experimental] %s client is currently experimental!", app);
WLog_WARN(TAG, " If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for "
const DWORD log_level = WLOG_WARN;
wLog* log = WLog_Get(TAG);
WINPR_ASSERT(log);
if (!WLog_IsLevelActive(log, log_level))
return;
WLog_Print_unchecked(log, log_level, "[experimental] %s client is currently experimental!",
app);
WLog_Print_unchecked(
log, log_level,
" If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for "
"know issues or create a new one!");
WLog_WARN(TAG, " Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
WLog_Print_unchecked(
log, log_level,
" Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
"- dont hesitate to ask some questions. (replies might take some time depending "
"on your timezone)");
}
@ -5148,11 +5186,21 @@ void freerdp_client_warn_experimental(int argc, char* argv[])
void freerdp_client_warn_deprecated(int argc, char* argv[])
{
const char* app = (argc > 0) ? argv[0] : "INVALID_ARGV";
WLog_WARN(TAG, "[deprecated] %s client has been deprecated", app);
WLog_WARN(TAG, "As replacement there is a SDL based client available.");
WLog_WARN(TAG, "If you are interested in keeping %s alive get in touch with the developers",
app);
WLog_WARN(TAG, "The project is hosted at https://github.com/freerdp/freerdp and "
const DWORD log_level = WLOG_WARN;
wLog* log = WLog_Get(TAG);
WINPR_ASSERT(log);
if (!WLog_IsLevelActive(log, log_level))
return;
WLog_Print_unchecked(log, log_level, "[deprecated] %s client has been deprecated", app);
WLog_Print_unchecked(log, log_level, "As replacement there is a SDL based client available.");
WLog_Print_unchecked(
log, log_level,
"If you are interested in keeping %s alive get in touch with the developers", app);
WLog_Print_unchecked(
log, log_level,
"The project is hosted at https://github.com/freerdp/freerdp and "
" developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
"- dont hesitate to ask some questions. (replies might take some time depending "
"on your timezone)");

View File

@ -0,0 +1,9 @@
macro(warn_unmaintained name)
message(WARNING "[unmaintained] ${name} is unmaintained!")
message(WARNING "[unmaintained] use at your own risk!")
message(WARNING "[unmaintained] If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for know issues, but be prepared to fix them on your own!")
message(WARNING "[unmaintained] Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org")
message(WARNING "[unmaintained] - dont hesitate to ask some questions. (replies might take some time depending on your timezone)")
message(WARNING "[unmaintained] - if you intend using this component write us a message")
endmacro()

View File

@ -43,6 +43,7 @@ extern "C"
const COMMAND_LINE_ARGUMENT_A* custom);
FREERDP_API BOOL freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings);
FREERDP_API void freerdp_client_warn_unmaintained(int argc, char* argv[]);
FREERDP_API void freerdp_client_warn_experimental(int argc, char* argv[]);
FREERDP_API void freerdp_client_warn_deprecated(int argc, char* argv[]);

View File

@ -33,6 +33,10 @@ extern "C"
FREERDP_API size_t server_audin_get_formats(AUDIO_FORMAT** dst_formats);
FREERDP_API size_t server_rdpsnd_get_formats(AUDIO_FORMAT** dst_formats);
FREERDP_API void freerdp_server_warn_unmaintained(int argc, char* argv[]);
FREERDP_API void freerdp_server_warn_experimental(int argc, char* argv[]);
FREERDP_API void freerdp_server_warn_deprecated(int argc, char* argv[]);
#ifdef __cplusplus
}
#endif

View File

@ -38,6 +38,7 @@
#include <freerdp/constants.h>
#include <freerdp/channels/wtsvc.h>
#include <freerdp/channels/channels.h>
#include <freerdp/server/server-common.h>
#include "mfreerdp.h"
#include "mf_peer.h"
@ -81,6 +82,7 @@ static void mf_server_main_loop(freerdp_listener* instance)
int main(int argc, char* argv[])
{
freerdp_server_warn_unmaintained(argc, argv);
mf_server_info info = { .key = "server.key", .cert = "server.crt" };
freerdp_listener* instance;

View File

@ -18,6 +18,9 @@
set(MODULE_NAME "wfreerdp-server")
set(MODULE_PREFIX "FREERDP_SERVER_WINDOWS")
include (WarnUnmaintained)
warn_unmaintained(${MODULE_NAME})
include_directories(.)
set(${MODULE_PREFIX}_SRCS

View File

@ -31,6 +31,7 @@
#include "wfreerdp.h"
#include <freerdp/server/server-common.h>
#include <freerdp/log.h>
#define TAG SERVER_TAG("windows")
@ -46,6 +47,8 @@ BOOL CALLBACK moncb(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARA
int main(int argc, char* argv[])
{
freerdp_server_warn_unmaintained(argc, argv);
BOOL screen_selected = FALSE;
int index;
wfServer* server;

View File

@ -24,6 +24,9 @@
#include <freerdp/codec/dsp.h>
#include <freerdp/server/server-common.h>
#include <freerdp/log.h>
#define TAG FREERDP_TAG("server.common")
size_t server_audin_get_formats(AUDIO_FORMAT** dst_formats)
{
@ -159,3 +162,75 @@ fail:
return 0;
}
void freerdp_server_warn_unmaintained(int argc, char* argv[])
{
const char* app = (argc > 0) ? argv[0] : "INVALID_ARGV";
const DWORD log_level = WLOG_WARN;
wLog* log = WLog_Get(TAG);
WINPR_ASSERT(log);
if (!WLog_IsLevelActive(log, log_level))
return;
WLog_Print_unchecked(log, log_level, "[unmaintained] %s server is currently unmaintained!",
app);
WLog_Print_unchecked(
log, log_level,
" If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for "
"know issues!");
WLog_Print_unchecked(
log, log_level,
"Be prepared to fix issues yourself though as nobody is actively working on this.");
WLog_Print_unchecked(
log, log_level,
" Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
"- dont hesitate to ask some questions. (replies might take some time depending "
"on your timezone) - if you intend using this component write us a message");
}
void freerdp_server_warn_experimental(int argc, char* argv[])
{
const char* app = (argc > 0) ? argv[0] : "INVALID_ARGV";
const DWORD log_level = WLOG_WARN;
wLog* log = WLog_Get(TAG);
WINPR_ASSERT(log);
if (!WLog_IsLevelActive(log, log_level))
return;
WLog_Print_unchecked(log, log_level, "[experimental] %s server is currently experimental!",
app);
WLog_Print_unchecked(
log, log_level,
" If problems occur please check https://github.com/FreeRDP/FreeRDP/issues for "
"know issues or create a new one!");
WLog_Print_unchecked(
log, log_level,
" Developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
"- dont hesitate to ask some questions. (replies might take some time depending "
"on your timezone)");
}
void freerdp_server_warn_deprecated(int argc, char* argv[])
{
const char* app = (argc > 0) ? argv[0] : "INVALID_ARGV";
const DWORD log_level = WLOG_WARN;
wLog* log = WLog_Get(TAG);
WINPR_ASSERT(log);
if (!WLog_IsLevelActive(log, log_level))
return;
WLog_Print_unchecked(log, log_level, "[deprecated] %s server has been deprecated", app);
WLog_Print_unchecked(log, log_level, "As replacement there is a SDL based client available.");
WLog_Print_unchecked(
log, log_level,
"If you are interested in keeping %s alive get in touch with the developers", app);
WLog_Print_unchecked(
log, log_level,
"The project is hosted at https://github.com/freerdp/freerdp and "
" developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org "
"- dont hesitate to ask some questions. (replies might take some time depending "
"on your timezone)");
}

View File

@ -1,3 +1,7 @@
include (WarnUnmaintained)
warn_unmaintained("mac shadow server subsystem")
find_library(IOKIT IOKit REQUIRED)
find_library(IOSURFACE IOSurface REQUIRED)
find_library(CARBON Carbon REQUIRED)

View File

@ -21,6 +21,7 @@
#include <winpr/input.h>
#include <winpr/sysinfo.h>
#include <freerdp/server/server-common.h>
#include <freerdp/codec/color.h>
#include <freerdp/codec/region.h>
#include <freerdp/log.h>
@ -663,6 +664,10 @@ FREERDP_API const char* ShadowSubsystemName(void)
FREERDP_API int ShadowSubsystemEntry(RDP_SHADOW_ENTRY_POINTS* pEntryPoints)
{
const char name[] = "mac shadow subsystem";
const char* arg[] = { name };
freerdp_server_warn_unmaintained(ARRAYSIZE(arg), arg);
pEntryPoints->New = (pfnShadowSubsystemNew)mac_shadow_subsystem_new;
pEntryPoints->Free = (pfnShadowSubsystemFree)mac_shadow_subsystem_free;
pEntryPoints->Init = (pfnShadowSubsystemInit)mac_shadow_subsystem_init;

View File

@ -1,4 +1,7 @@
include (WarnUnmaintained)
warn_unmaintained("windows shadow server subsystem")
add_definitions(-DWITH_SHADOW_WIN)
add_library(freerdp-shadow-subsystem-impl STATIC
win_dxgi.c

View File

@ -25,6 +25,7 @@
#include <freerdp/log.h>
#include <freerdp/codec/color.h>
#include <freerdp/codec/region.h>
#include <freerdp/server/server-common.h>
#include "win_shadow.h"
@ -544,6 +545,10 @@ FREERDP_API const char* ShadowSubsystemName(void)
FREERDP_API int ShadowSubsystemEntry(RDP_SHADOW_ENTRY_POINTS* pEntryPoints)
{
const char name[] = "windows shadow subsystem";
const char* arg[] = { name };
freerdp_server_warn_unmaintained(ARRAYSIZE(arg), arg);
pEntryPoints->New = win_shadow_subsystem_new;
pEntryPoints->Free = win_shadow_subsystem_free;
pEntryPoints->Init = win_shadow_subsystem_init;

View File

@ -127,13 +127,19 @@ extern "C"
*/
WINPR_API BOOL WLog_SetContext(wLog* log, const char* (*fkt)(void*), void* context);
#define WLog_Print_unchecked(_log, _log_level, ...) \
do \
{ \
WLog_PrintMessage(_log, WLOG_MESSAGE_TEXT, _log_level, __LINE__, __FILE__, __func__, \
__VA_ARGS__); \
} while (0)
#define WLog_Print(_log, _log_level, ...) \
do \
{ \
if (WLog_IsLevelActive(_log, _log_level)) \
{ \
WLog_PrintMessage(_log, WLOG_MESSAGE_TEXT, _log_level, __LINE__, __FILE__, __func__, \
__VA_ARGS__); \
WLog_Print_unchecked(_log, _log_level, ##__VA_ARGS__); \
} \
} while (0)
@ -146,13 +152,19 @@ extern "C"
WLog_Print(_log_cached_ptr, _log_level, __VA_ARGS__); \
} while (0)
#define WLog_PrintVA_unchecked(_log, _log_level, _args) \
do \
{ \
WLog_PrintMessageVA(_log, WLOG_MESSAGE_TEXT, _log_level, __LINE__, __FILE__, __func__, \
_args); \
} while (0)
#define WLog_PrintVA(_log, _log_level, _args) \
do \
{ \
if (WLog_IsLevelActive(_log, _log_level)) \
{ \
WLog_PrintMessageVA(_log, WLOG_MESSAGE_TEXT, _log_level, __LINE__, __FILE__, __func__, \
_args); \
WLog_PrintVA_unchecked(_log, _log_level, _args); \
} \
} while (0)