Merge branch 'neutrinolabs:devel' into devel
This commit is contained in:
commit
f8f18e27c5
20
common/log.c
20
common/log.c
@ -495,6 +495,11 @@ internal_log_config_copy(struct log_config *dest, const struct log_config *src)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (src == NULL || dest == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
dest->enable_syslog = src->enable_syslog;
|
||||
dest->fd = src->fd;
|
||||
dest->log_file = g_strdup(src->log_file);
|
||||
@ -508,6 +513,21 @@ internal_log_config_copy(struct log_config *dest, const struct log_config *src)
|
||||
dest->console_level = src->console_level;
|
||||
dest->enable_pid = src->enable_pid;
|
||||
dest->dump_on_start = src->dump_on_start;
|
||||
|
||||
if (src->per_logger_level == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (dest->per_logger_level == NULL)
|
||||
{
|
||||
dest->per_logger_level = list_create();
|
||||
if (dest->per_logger_level == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
dest->per_logger_level->auto_free = 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < src->per_logger_level->count; ++i)
|
||||
{
|
||||
struct log_logger_level *dst_logger =
|
||||
|
@ -89,9 +89,6 @@ parser_stream_overflow_check(const struct stream *s, int n, int is_out,
|
||||
# define S_CHECK_REM_OUT(s,n)
|
||||
#endif
|
||||
|
||||
/******************************************************************************/
|
||||
#define s_check(s) s_check_rem(s, 0)
|
||||
|
||||
/******************************************************************************/
|
||||
#define s_check_rem(s, n) ((s)->p + (n) <= (s)->end)
|
||||
|
||||
|
@ -45,6 +45,7 @@ libxrdp_la_SOURCES = \
|
||||
xrdp_bitmap_compress.c \
|
||||
xrdp_caps.c \
|
||||
xrdp_channel.c \
|
||||
xrdp_channel.h \
|
||||
xrdp_fastpath.c \
|
||||
xrdp_iso.c \
|
||||
xrdp_jpeg_compress.c \
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include "libxrdp.h"
|
||||
#include "string_calls.h"
|
||||
#include "xrdp_channel.h"
|
||||
|
||||
#define CMD_DVC_OPEN_CHANNEL 0x10
|
||||
#define CMD_DVC_DATA_FIRST 0x20
|
||||
@ -31,19 +32,6 @@
|
||||
#define CMD_DVC_CLOSE_CHANNEL 0x40
|
||||
#define CMD_DVC_CAPABILITY 0x50
|
||||
|
||||
#define XRDP_DRDYNVC_STATUS_CLOSED 0
|
||||
#define XRDP_DRDYNVC_STATUS_OPEN_SENT 1
|
||||
#define XRDP_DRDYNVC_STATUS_OPEN 2
|
||||
#define XRDP_DRDYNVC_STATUS_CLOSE_SENT 3
|
||||
|
||||
#define XRDP_DRDYNVC_STATUS_TO_STR(status) \
|
||||
((status) == XRDP_DRDYNVC_STATUS_CLOSED ? "CLOSED" : \
|
||||
(status) == XRDP_DRDYNVC_STATUS_OPEN_SENT ? "OPEN_SENT" : \
|
||||
(status) == XRDP_DRDYNVC_STATUS_OPEN ? "OPEN" : \
|
||||
(status) == XRDP_DRDYNVC_STATUS_CLOSE_SENT ? "CLOSE_SENT" : \
|
||||
"unknown" \
|
||||
)
|
||||
|
||||
#define XRDP_DRDYNVC_CHANNEL_ID_TO_NAME(self, chan_id) \
|
||||
(xrdp_channel_get_item((self), (chan_id)) != NULL \
|
||||
? xrdp_channel_get_item((self), (chan_id))->name \
|
||||
|
42
libxrdp/xrdp_channel.h
Normal file
42
libxrdp/xrdp_channel.h
Normal file
@ -0,0 +1,42 @@
|
||||
/**
|
||||
* xrdp: A Remote Desktop Protocol server.
|
||||
*
|
||||
* MS-RDPEDYC : Definitions related to documentation in [MS-RDPEDYC]
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* References to MS-RDPEDYC are currently correct for v20210406 of that
|
||||
* document
|
||||
*/
|
||||
|
||||
#if !defined(XRDP_CHANNEL_H)
|
||||
#define XRDP_CHANNEL_H
|
||||
|
||||
/*
|
||||
These are not directly defined in MS-RDPEDYC, but
|
||||
they are derived statuses needed to implement it.
|
||||
*/
|
||||
#define XRDP_DRDYNVC_STATUS_CLOSED 0
|
||||
#define XRDP_DRDYNVC_STATUS_OPEN_SENT 1
|
||||
#define XRDP_DRDYNVC_STATUS_OPEN 2
|
||||
#define XRDP_DRDYNVC_STATUS_CLOSE_SENT 3
|
||||
|
||||
#define XRDP_DRDYNVC_STATUS_TO_STR(status) \
|
||||
((status) == XRDP_DRDYNVC_STATUS_CLOSED ? "CLOSED" : \
|
||||
(status) == XRDP_DRDYNVC_STATUS_OPEN_SENT ? "OPEN_SENT" : \
|
||||
(status) == XRDP_DRDYNVC_STATUS_OPEN ? "OPEN" : \
|
||||
(status) == XRDP_DRDYNVC_STATUS_CLOSE_SENT ? "CLOSE_SENT" : \
|
||||
"unknown" \
|
||||
)
|
||||
|
||||
#endif /* XRDP_CHANNEL_H */
|
@ -1334,7 +1334,7 @@ clipboard_process_data_response(struct stream *s, int clip_msg_status,
|
||||
return 0;
|
||||
}
|
||||
index = 0;
|
||||
while (s_check(s))
|
||||
while (s_check_rem(s, 2))
|
||||
{
|
||||
in_uint16_le(s, wchr);
|
||||
wtext[index] = wchr;
|
||||
|
@ -575,7 +575,7 @@ handle_cb_format_data_response(struct vnc *v, struct stream *s)
|
||||
{
|
||||
case CF_TEXT:
|
||||
lastc = '\0';
|
||||
while (s_check(s))
|
||||
while (s_check_rem(s, 1))
|
||||
{
|
||||
in_uint8(s, c);
|
||||
if (c == '\n' && lastc == '\r')
|
||||
|
Loading…
Reference in New Issue
Block a user