GUAC-707 support for latest FreeRDP release (1.2.0-beta1)
This commit is contained in:
parent
0adf16c501
commit
8c1a152467
24
configure.ac
24
configure.ac
@ -326,11 +326,11 @@ AC_CHECK_LIB([freerdp-core], [freerdp_new],
|
|||||||
--------------------------------------------])
|
--------------------------------------------])
|
||||||
have_freerdp=no])
|
have_freerdp=no])
|
||||||
|
|
||||||
# libfreerdp-channels (1.0) / libfreerdp-client (1.1+)
|
# libfreerdp-channels (1.0) / libfreerdp-client (1.1) / libfreerdp-core (1.2+)
|
||||||
AC_CHECK_LIB([freerdp-client], [freerdp_channels_new],
|
AC_SEARCH_LIBS([freerdp_channels_new], [freerdp-core freerdp-client],
|
||||||
[RDP_LIBS="$RDP_LIBS -lfreerdp-client"],
|
[RDP_LIBS="$RDP_LIBS -lfreerdp-client"],
|
||||||
[AC_CHECK_LIB([freerdp-channels], [freerdp_channels_new],
|
[AC_CHECK_LIB([freerdp-channels], [freerdp_channels_new],
|
||||||
[RDP_LIBS="$RDP_LIBS -lfreerdp-channels"
|
[RDP_LIBS="$RDP_LIBS -lfreerdp-channels"
|
||||||
legacy_freerdp_extensions=yes],
|
legacy_freerdp_extensions=yes],
|
||||||
[AC_MSG_WARN([
|
[AC_MSG_WARN([
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
@ -506,6 +506,20 @@ if test "x${rdpsettings_fastpath}" = "xyes"; then
|
|||||||
[Whether the rdpSettings structure has FastPath settings])
|
[Whether the rdpSettings structure has FastPath settings])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if freerdp_channels_global_init exists
|
||||||
|
AC_SEARCH_LIBS([freerdp_channels_global_init], [freerdp-channels],
|
||||||
|
[AC_DEFINE([HAVE_FREERDP_CHANNELS_GLOBAL_INIT],,
|
||||||
|
[Wheter the freerdp_channels_global_init() is defined])],,)
|
||||||
|
|
||||||
|
# Check if the type CHANNEL_ENTRY_POINTS_FREERDP exists, if not define it to CHANNEL_ENTRY_POINTS_EX
|
||||||
|
AC_CHECK_TYPE([CHANNEL_ENTRY_POINTS_FREERDP],,
|
||||||
|
AC_DEFINE([CHANNEL_ENTRY_POINTS_FREERDP],[CHANNEL_ENTRY_POINTS_EX], [Type compatibility]),
|
||||||
|
[[#include <freerdp/svc.h>]])
|
||||||
|
|
||||||
|
# Check if the freerdp version header exists
|
||||||
|
AC_CHECK_HEADERS([freerdp/version.h])
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# FreeRDP: rdpBitmap
|
# FreeRDP: rdpBitmap
|
||||||
#
|
#
|
||||||
|
@ -67,6 +67,10 @@
|
|||||||
#include <freerdp/client/channels.h>
|
#include <freerdp/client/channels.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_FREERDP_VERSION_H
|
||||||
|
#include <freerdp/version.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -128,7 +132,13 @@ enum RDP_ARGS_IDX {
|
|||||||
RDP_ARGS_COUNT
|
RDP_ARGS_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef LEGACY_FREERDP
|
||||||
int __guac_receive_channel_data(freerdp* rdp_inst, int channelId, UINT8* data, int size, int flags, int total_size) {
|
int __guac_receive_channel_data(freerdp* rdp_inst, int channelId, UINT8* data, int size, int flags, int total_size) {
|
||||||
|
#elif defined(FREERDP_VERSION_MAJOR) && (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR == 2)
|
||||||
|
int __guac_receive_channel_data(freerdp* rdp_inst, UINT16 channelId, BYTE* data, int size, int flags, int total_size) {
|
||||||
|
#else
|
||||||
|
int __guac_receive_channel_data(freerdp* rdp_inst, int channelId, BYTE* data, int size, int flags, int total_size) {
|
||||||
|
#endif
|
||||||
return freerdp_channels_data(rdp_inst, channelId, data, size, flags, total_size);
|
return freerdp_channels_data(rdp_inst, channelId, data, size, flags, total_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -468,7 +478,9 @@ int guac_client_init(guac_client* client, int argc, char** argv) {
|
|||||||
srandom(time(NULL));
|
srandom(time(NULL));
|
||||||
|
|
||||||
/* Init client */
|
/* Init client */
|
||||||
|
#ifdef HAVE_FREERDP_CHANNELS_GLOBAL_INIT
|
||||||
freerdp_channels_global_init();
|
freerdp_channels_global_init();
|
||||||
|
#endif
|
||||||
rdp_inst = freerdp_new();
|
rdp_inst = freerdp_new();
|
||||||
rdp_inst->PreConnect = rdp_freerdp_pre_connect;
|
rdp_inst->PreConnect = rdp_freerdp_pre_connect;
|
||||||
rdp_inst->PostConnect = rdp_freerdp_post_connect;
|
rdp_inst->PostConnect = rdp_freerdp_post_connect;
|
||||||
|
@ -45,8 +45,8 @@
|
|||||||
int VirtualChannelEntry(PCHANNEL_ENTRY_POINTS pEntryPoints) {
|
int VirtualChannelEntry(PCHANNEL_ENTRY_POINTS pEntryPoints) {
|
||||||
|
|
||||||
/* Gain access to plugin data */
|
/* Gain access to plugin data */
|
||||||
CHANNEL_ENTRY_POINTS_EX* entry_points_ex =
|
CHANNEL_ENTRY_POINTS_FREERDP* entry_points_ex =
|
||||||
(CHANNEL_ENTRY_POINTS_EX*) pEntryPoints;
|
(CHANNEL_ENTRY_POINTS_FREERDP*) pEntryPoints;
|
||||||
|
|
||||||
/* Allocate plugin */
|
/* Allocate plugin */
|
||||||
guac_svcPlugin* svc_plugin =
|
guac_svcPlugin* svc_plugin =
|
||||||
|
@ -130,11 +130,15 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Information constants.
|
* Information constants.
|
||||||
|
* FreeRDP 1.1+ already defines those constants
|
||||||
*/
|
*/
|
||||||
|
#ifdef LEGACY_FREERDP
|
||||||
|
|
||||||
#define FILE_SUPERSEDED 0x00000000
|
#define FILE_SUPERSEDED 0x00000000
|
||||||
#define FILE_OPENED 0x00000001
|
#define FILE_OPENED 0x00000001
|
||||||
#define FILE_OVERWRITTEN 0x00000003a
|
#define FILE_OVERWRITTEN 0x00000003
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* File attributes.
|
* File attributes.
|
||||||
|
@ -32,6 +32,7 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#ifndef STATUS_SUCCESS
|
||||||
#define STATUS_SUCCESS 0x00000000
|
#define STATUS_SUCCESS 0x00000000
|
||||||
#define STATUS_NO_MORE_FILES 0x80000006
|
#define STATUS_NO_MORE_FILES 0x80000006
|
||||||
#define STATUS_DEVICE_OFF_LINE 0x80000010
|
#define STATUS_DEVICE_OFF_LINE 0x80000010
|
||||||
@ -50,8 +51,9 @@
|
|||||||
#define STATUS_CANNOT_DELETE 0xC0000121
|
#define STATUS_CANNOT_DELETE 0xC0000121
|
||||||
#define STATUS_FILE_DELETED 0xC0000123
|
#define STATUS_FILE_DELETED 0xC0000123
|
||||||
#define STATUS_FILE_CLOSED 0xC0000128
|
#define STATUS_FILE_CLOSED 0xC0000128
|
||||||
|
#endif
|
||||||
|
|
||||||
#define STATUS_FILE_SYSTEM_LIMITATION 0xC0000427
|
#define STATUS_FILE_SYSTEM_LIMITATION 0xC0000427
|
||||||
#define STATUS_FILE_TOO_LARGE 0xC0000904
|
#define STATUS_FILE_TOO_LARGE 0xC0000904
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user