|
#define | RTAG PROXY_TAG("channel.rdpdr") |
|
#define | SCARD_DEVICE_ID UINT32_MAX |
|
#define | proxy_client "[proxy<-->client]" |
|
#define | proxy_server "[proxy<-->server]" |
|
#define | proxy_client_rx proxy_client " receive" |
|
#define | proxy_client_tx proxy_client " send" |
|
#define | proxy_server_rx proxy_server " receive" |
|
#define | proxy_server_tx proxy_server " send" |
|
#define | SERVER_RX_LOG(log, lvl, fmt, ...) WLog_Print(log, lvl, proxy_client_rx fmt, ##__VA_ARGS__) |
|
#define | CLIENT_RX_LOG(log, lvl, fmt, ...) WLog_Print(log, lvl, proxy_server_rx fmt, ##__VA_ARGS__) |
|
#define | SERVER_TX_LOG(log, lvl, fmt, ...) WLog_Print(log, lvl, proxy_client_tx fmt, ##__VA_ARGS__) |
|
#define | CLIENT_TX_LOG(log, lvl, fmt, ...) WLog_Print(log, lvl, proxy_server_tx fmt, ##__VA_ARGS__) |
|
#define | RX_LOG(srv, lvl, fmt, ...) |
|
#define | SERVER_RXTX_LOG(send, log, lvl, fmt, ...) |
|
#define | Stream_CheckAndLogRequiredLengthSrv(log, s, len) |
|
#define | Stream_CheckAndLogRequiredLengthClient(log, s, len) |
|
#define | Stream_CheckAndLogRequiredLengthRx(srv, log, s, len) Stream_CheckAndLogRequiredLengthRx_(srv, log, s, len, 1, __func__, __FILE__, __LINE__) |
|
#define | rdpdr_ignore_capset(srv, log, s, header) rdpdr_ignore_capset_((srv), (log), (s), header, __func__) |
|
|
static BOOL | Stream_CheckAndLogRequiredLengthRx_ (BOOL srv, wLog *log, wStream *s, size_t nmemb, size_t size, const char *fkt, const char *file, size_t line) |
|
static const char * | rdpdr_server_state_to_string (pf_channel_server_state state) |
|
static const char * | rdpdr_client_state_to_string (pf_channel_client_state state) |
|
static wStream * | rdpdr_get_send_buffer (pf_channel_common_context *rdpdr, UINT16 component, UINT16 PacketID, size_t capacity) |
|
static wStream * | rdpdr_client_get_send_buffer (pf_channel_client_context *rdpdr, UINT16 component, UINT16 PacketID, size_t capacity) |
|
static wStream * | rdpdr_server_get_send_buffer (pf_channel_server_context *rdpdr, UINT16 component, UINT16 PacketID, size_t capacity) |
|
static UINT | rdpdr_client_send (wLog *log, pClientContext *pc, wStream *s) |
|
static UINT | rdpdr_seal_send_free_request (pf_channel_server_context *context, wStream *s) |
|
static BOOL | rdpdr_process_server_header (BOOL server, wLog *log, wStream *s, UINT16 component, UINT16 PacketId, size_t expect) |
|
static BOOL | rdpdr_check_version (BOOL server, wLog *log, UINT16 versionMajor, UINT16 versionMinor, UINT16 component, UINT16 PacketId) |
|
static UINT | rdpdr_process_server_announce_request (pf_channel_client_context *rdpdr, wStream *s) |
|
static UINT | rdpdr_server_send_announce_request (pf_channel_server_context *context) |
|
static UINT | rdpdr_process_client_announce_reply (pf_channel_server_context *rdpdr, wStream *s) |
|
static UINT | rdpdr_send_client_announce_reply (pClientContext *pc, pf_channel_client_context *rdpdr) |
|
static UINT | rdpdr_process_client_name_request (pf_channel_server_context *rdpdr, wStream *s, pClientContext *pc) |
|
static UINT | rdpdr_send_client_name_request (pClientContext *pc, pf_channel_client_context *rdpdr) |
|
static UINT | rdpdr_ignore_capset_ (BOOL srv, wLog *log, wStream *s, const RDPDR_CAPABILITY_HEADER *header, const char *fkt) |
|
static UINT | rdpdr_client_process_general_capset (pf_channel_client_context *rdpdr, wStream *s, const RDPDR_CAPABILITY_HEADER *header) |
|
static UINT | rdpdr_process_printer_capset (pf_channel_client_context *rdpdr, wStream *s, const RDPDR_CAPABILITY_HEADER *header) |
|
static UINT | rdpdr_process_port_capset (pf_channel_client_context *rdpdr, wStream *s, const RDPDR_CAPABILITY_HEADER *header) |
|
static UINT | rdpdr_process_drive_capset (pf_channel_client_context *rdpdr, wStream *s, const RDPDR_CAPABILITY_HEADER *header) |
|
static UINT | rdpdr_process_smartcard_capset (pf_channel_client_context *rdpdr, wStream *s, const RDPDR_CAPABILITY_HEADER *header) |
|
static UINT | rdpdr_process_server_core_capability_request (pf_channel_client_context *rdpdr, wStream *s) |
|
static BOOL | rdpdr_write_general_capset (wLog *log, pf_channel_common_context *rdpdr, wStream *s) |
|
static BOOL | rdpdr_write_printer_capset (wLog *log, pf_channel_common_context *rdpdr, wStream *s) |
|
static BOOL | rdpdr_write_port_capset (wLog *log, pf_channel_common_context *rdpdr, wStream *s) |
|
static BOOL | rdpdr_write_drive_capset (wLog *log, pf_channel_common_context *rdpdr, wStream *s) |
|
static BOOL | rdpdr_write_smartcard_capset (wLog *log, pf_channel_common_context *rdpdr, wStream *s) |
|
static UINT | rdpdr_send_server_capability_request (pf_channel_server_context *rdpdr) |
|
static UINT | rdpdr_process_client_capability_response (pf_channel_server_context *rdpdr, wStream *s) |
|
static UINT | rdpdr_send_client_capability_response (pClientContext *pc, pf_channel_client_context *rdpdr) |
|
static UINT | rdpdr_send_server_clientid_confirm (pf_channel_server_context *rdpdr) |
|
static UINT | rdpdr_process_server_clientid_confirm (pf_channel_client_context *rdpdr, wStream *s) |
|
static BOOL | rdpdr_process_server_capability_request_or_clientid_confirm (pf_channel_client_context *rdpdr, wStream *s) |
|
static BOOL | pf_channel_rdpdr_rewrite_device_list_to (wStream *s, UINT32 fromVersion, UINT32 toVersion) |
|
static BOOL | pf_channel_rdpdr_rewrite_device_list (pf_channel_client_context *rdpdr, pServerContext *ps, wStream *s, BOOL toServer) |
|
static BOOL | pf_channel_rdpdr_client_send_to_server (pf_channel_client_context *rdpdr, pServerContext *ps, wStream *s) |
|
static BOOL | pf_channel_send_client_queue (pClientContext *pc, pf_channel_client_context *rdpdr) |
|
static BOOL | rdpdr_handle_server_announce_request (pClientContext *pc, pf_channel_client_context *rdpdr, wStream *s) |
|
BOOL | pf_channel_rdpdr_client_handle (pClientContext *pc, UINT16 channelId, const char *channel_name, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize) |
|
static void | pf_channel_rdpdr_common_context_free (pf_channel_common_context *common) |
|
static void | pf_channel_rdpdr_client_context_free (InterceptContextMapEntry *base) |
|
static BOOL | pf_channel_rdpdr_common_context_new (pf_channel_common_context *common, void(*fkt)(InterceptContextMapEntry *)) |
|
static BOOL | pf_channel_rdpdr_client_pass_message (pServerContext *ps, pClientContext *pc, UINT16 channelId, const char *channel_name, wStream *s) |
|
static void * | stream_copy (const void *obj) |
|
static void | stream_free (void *obj) |
|
static const char * | pf_channel_rdpdr_client_context (void *arg) |
|
BOOL | pf_channel_rdpdr_client_new (pClientContext *pc) |
|
void | pf_channel_rdpdr_client_free (pClientContext *pc) |
|
static void | pf_channel_rdpdr_server_context_free (InterceptContextMapEntry *base) |
|
static const char * | pf_channel_rdpdr_server_context (void *arg) |
|
BOOL | pf_channel_rdpdr_server_new (pServerContext *ps) |
|
void | pf_channel_rdpdr_server_free (pServerContext *ps) |
|
static pf_channel_server_context * | get_channel (pServerContext *ps, BOOL send) |
|
BOOL | pf_channel_rdpdr_server_handle (pServerContext *ps, UINT16 channelId, const char *channel_name, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize) |
|
BOOL | pf_channel_rdpdr_server_announce (pServerContext *ps) |
|
BOOL | pf_channel_rdpdr_client_reset (pClientContext *pc) |
|
static PfChannelResult | pf_rdpdr_back_data (proxyData *pdata, const pServerStaticChannelContext *channel, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize) |
|
static PfChannelResult | pf_rdpdr_front_data (proxyData *pdata, const pServerStaticChannelContext *channel, const BYTE *xdata, size_t xsize, UINT32 flags, size_t totalSize) |
|
BOOL | pf_channel_setup_rdpdr (pServerContext *ps, pServerStaticChannelContext *channel) |
|