Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/NeutrinoRDP.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspeidy <speidy@gmail.com>2017-01-15 09:11:49 +0300
committerspeidy <speidy@gmail.com>2017-01-15 09:11:49 +0300
commit96fd736f04efe50854acf07b824001b7d5e65e4e (patch)
tree84d7490436c5f53f2b08cd38791c3bfd04b6c349
parenteee121bccd3c46782095dc03bdc95b14a2530d90 (diff)
parent04ba5bef9292dca17928c79e389a7910651418bd (diff)
Merge branch 'devel' of https://github.com/Osirium/NeutrinoRDP into devel
-rw-r--r--include/freerdp/freerdp.h7
-rw-r--r--libfreerdp-core/info.c5
2 files changed, 11 insertions, 1 deletions
diff --git a/include/freerdp/freerdp.h b/include/freerdp/freerdp.h
index 3ac773c..b3074f1 100644
--- a/include/freerdp/freerdp.h
+++ b/include/freerdp/freerdp.h
@@ -55,6 +55,7 @@ typedef int (*pSendChannelData)(freerdp* instance, int channelId, uint8* data, i
typedef int (*pSendFrameAck)(freerdp* instance, int frame);
typedef int (*pSendInvalidate)(freerdp* instance, int code, int x, int y, int w, int h);
typedef int (*pReceiveChannelData)(freerdp* instance, int channelId, uint8* data, int size, int flags, int total_size);
+typedef int (*pSessionInfo)(freerdp* instance, uint8* data, int data_bytes);
struct rdp_context
{
@@ -76,6 +77,8 @@ struct rdp_context
uint8 temp[32 * 1024];
};
+/* SessionInfo added with version 1 */
+#define VERSION_STRUCT_RDP_FREERDP 1
struct rdp_freerdp
{
rdpContext* context; /* 0 */
@@ -102,7 +105,9 @@ struct rdp_freerdp
pSendFrameAck SendFrameAck; /* 66 */
pSendInvalidate SendInvalidate; /* 67 */
- uint32 paddingE[80 - 68]; /* 68 */
+ pSessionInfo SessionInfo; /* 68 */
+
+ uint32 paddingE[80 - 69]; /* 69 */
};
FREERDP_API void freerdp_context_new(freerdp* instance);
diff --git a/libfreerdp-core/info.c b/libfreerdp-core/info.c
index 3c780e6..1c33ed4 100644
--- a/libfreerdp-core/info.c
+++ b/libfreerdp-core/info.c
@@ -695,6 +695,11 @@ tbool rdp_recv_save_session_info(rdpRdp* rdp, STREAM* s)
{
uint32 infoType;
+ if (rdp->instance->SessionInfo != NULL)
+ {
+ rdp->instance->SessionInfo(rdp->instance, stream_get_tail(s), stream_get_left(s));
+ }
+
stream_read_uint32(s, infoType); /* infoType (4 bytes) */
//printf("%s\n", INFO_TYPE_LOGON_STRINGS[infoType]);