Merge pull request #320 from proski/sesadmin
Make sesadmin useful, another round of typo hunting
This commit is contained in:
commit
3934be9320
1
.gitignore
vendored
1
.gitignore
vendored
@ -15,6 +15,7 @@ depcomp
|
|||||||
.deps/
|
.deps/
|
||||||
genkeymap/xrdp-genkeymap
|
genkeymap/xrdp-genkeymap
|
||||||
install-sh
|
install-sh
|
||||||
|
instfiles/pam.d/xrdp-sesman
|
||||||
keygen/xrdp-keygen
|
keygen/xrdp-keygen
|
||||||
*.la
|
*.la
|
||||||
.libs
|
.libs
|
||||||
|
@ -192,7 +192,7 @@ list_insert_item(struct list *self, int index, tbus item)
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* append one list to another using strdup for each item in the list */
|
/* append one list to another using strdup for each item in the list */
|
||||||
/* begins copy at start_index, a zero based index on the soure list */
|
/* begins copy at start_index, a zero based index on the source list */
|
||||||
void APP_CC
|
void APP_CC
|
||||||
list_append_list_strdup(struct list *self, struct list *dest, int start_index)
|
list_append_list_strdup(struct list *self, struct list *dest, int start_index)
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ struct log_config
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @brief Starts the logging subsystem
|
* @brief Starts the logging subsystem
|
||||||
* @param l_cfg loggging system configuration
|
* @param l_cfg logging system configuration
|
||||||
* @return
|
* @return
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -1327,7 +1327,7 @@ tintptr APP_CC
|
|||||||
g_create_wait_obj_from_socket(tintptr socket, int write)
|
g_create_wait_obj_from_socket(tintptr socket, int write)
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/* Create and return corresponding event handle for WaitForMultipleObjets */
|
/* Create and return corresponding event handle for WaitForMultipleObjects */
|
||||||
WSAEVENT event;
|
WSAEVENT event;
|
||||||
long lnetevent = 0;
|
long lnetevent = 0;
|
||||||
|
|
||||||
@ -1979,7 +1979,7 @@ g_directory_exist(const char *dirname)
|
|||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
return 0; // use GetFileAttributes and check return value
|
return 0; // use GetFileAttributes and check return value
|
||||||
// is not -1 and FILE_ATTRIBUT_DIRECTORY bit is set
|
// is not -1 and FILE_ATTRIBUTE_DIRECTORY bit is set
|
||||||
#else
|
#else
|
||||||
struct stat st;
|
struct stat st;
|
||||||
|
|
||||||
|
@ -521,7 +521,7 @@
|
|||||||
#define NO_BITMAP_COMPRESSION_HDR 0x0400
|
#define NO_BITMAP_COMPRESSION_HDR 0x0400
|
||||||
#define LONG_CREDENTIALS_SUPPORTED 0x0004
|
#define LONG_CREDENTIALS_SUPPORTED 0x0004
|
||||||
#define AUTORECONNECT_SUPPORTED 0x0008
|
#define AUTORECONNECT_SUPPORTED 0x0008
|
||||||
#define ENC_SALTED_CHEKSUM 0x0010
|
#define ENC_SALTED_CHECKSUM 0x0010
|
||||||
#define NEGOTIATEORDERSUPPORT 0x0002
|
#define NEGOTIATEORDERSUPPORT 0x0002
|
||||||
#define ZEROBOUNDSDELTASUPPORT 0x0008
|
#define ZEROBOUNDSDELTASUPPORT 0x0008
|
||||||
#define COLORINDEXSUPPORT 0x0020
|
#define COLORINDEXSUPPORT 0x0020
|
||||||
|
@ -1,4 +1,9 @@
|
|||||||
EXTRA_DIST = xrdp-sesman
|
EXTRA_DIST = \
|
||||||
|
xrdp-sesman.common \
|
||||||
|
xrdp-sesman.other \
|
||||||
|
xrdp-sesman.password-auth
|
||||||
|
|
||||||
|
CLEANFILES = xrdp-sesman
|
||||||
|
|
||||||
if SESMAN_NOPAM
|
if SESMAN_NOPAM
|
||||||
PAMFILE =
|
PAMFILE =
|
||||||
@ -14,7 +19,19 @@ endif
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
pamddir=$(sysconfdir)/pam.d
|
pamddir = $(sysconfdir)/pam.d
|
||||||
|
|
||||||
pamd_DATA = \
|
pamd_DATA = \
|
||||||
$(PAMFILE)
|
$(PAMFILE)
|
||||||
|
|
||||||
|
xrdp-sesman:
|
||||||
|
if test -e /etc/pam.d/password-auth; then \
|
||||||
|
pamrules=xrdp-sesman.password-auth; \
|
||||||
|
else \
|
||||||
|
if test -e /etc/pam.d/common-auth; then \
|
||||||
|
pamrules=xrdp-sesman.common; \
|
||||||
|
else \
|
||||||
|
pamrules=xrdp-sesman.other; \
|
||||||
|
fi; \
|
||||||
|
fi; \
|
||||||
|
$(LN_S) $(srcdir)/$$pamrules $@
|
||||||
|
@ -2,4 +2,3 @@
|
|||||||
@include common-auth
|
@include common-auth
|
||||||
@include common-account
|
@include common-account
|
||||||
@include common-session
|
@include common-session
|
||||||
@include common-password
|
|
4
instfiles/pam.d/xrdp-sesman.password-auth
Normal file
4
instfiles/pam.d/xrdp-sesman.password-auth
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#%PAM-1.0
|
||||||
|
auth include password-auth
|
||||||
|
account include password-auth
|
||||||
|
session include password-auth
|
@ -66,7 +66,7 @@ libxrdp_disconnect(struct xrdp_session *session)
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
int EXPORT_CC
|
int EXPORT_CC
|
||||||
libxrdp_process_incomming(struct xrdp_session *session)
|
libxrdp_process_incoming(struct xrdp_session *session)
|
||||||
{
|
{
|
||||||
int rv;
|
int rv;
|
||||||
|
|
||||||
|
@ -83,7 +83,7 @@ libxrdp_exit(struct xrdp_session *session);
|
|||||||
int DEFAULT_CC
|
int DEFAULT_CC
|
||||||
libxrdp_disconnect(struct xrdp_session *session);
|
libxrdp_disconnect(struct xrdp_session *session);
|
||||||
int DEFAULT_CC
|
int DEFAULT_CC
|
||||||
libxrdp_process_incomming(struct xrdp_session *session);
|
libxrdp_process_incoming(struct xrdp_session *session);
|
||||||
int EXPORT_CC
|
int EXPORT_CC
|
||||||
libxrdp_get_pdu_bytes(const char *aheader);
|
libxrdp_get_pdu_bytes(const char *aheader);
|
||||||
struct stream * APP_CC
|
struct stream * APP_CC
|
||||||
|
@ -185,7 +185,7 @@ xrdp_caps_process_bmpcache(struct xrdp_rdp *self, struct stream *s,
|
|||||||
i = MAX(i, 0);
|
i = MAX(i, 0);
|
||||||
self->client_info.cache2_entries = i;
|
self->client_info.cache2_entries = i;
|
||||||
in_uint16_le(s, self->client_info.cache2_size);
|
in_uint16_le(s, self->client_info.cache2_size);
|
||||||
/* caceh 3 */
|
/* cache 3 */
|
||||||
in_uint16_le(s, i);
|
in_uint16_le(s, i);
|
||||||
i = MIN(i, XRDP_MAX_BITMAP_CACHE_IDX);
|
i = MIN(i, XRDP_MAX_BITMAP_CACHE_IDX);
|
||||||
i = MAX(i, 0);
|
i = MAX(i, 0);
|
||||||
|
@ -97,7 +97,7 @@ xrdp_fastpath_recv(struct xrdp_fastpath *self, struct stream *s)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* no fragmenation */
|
/* no fragmentation */
|
||||||
int APP_CC
|
int APP_CC
|
||||||
xrdp_fastpath_init(struct xrdp_fastpath *self, struct stream *s)
|
xrdp_fastpath_init(struct xrdp_fastpath *self, struct stream *s)
|
||||||
{
|
{
|
||||||
@ -133,7 +133,7 @@ xrdp_fastpath_session_callback(struct xrdp_fastpath *self, int msg,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* no fragmenation */
|
/* no fragmentation */
|
||||||
int APP_CC
|
int APP_CC
|
||||||
xrdp_fastpath_send(struct xrdp_fastpath *self, struct stream *s)
|
xrdp_fastpath_send(struct xrdp_fastpath *self, struct stream *s)
|
||||||
{
|
{
|
||||||
|
@ -761,7 +761,7 @@ xrdp_mcs_out_gcc_data(struct xrdp_sec *self)
|
|||||||
out_uint8(s, 0);
|
out_uint8(s, 0);
|
||||||
if (self->mcs_layer->iso_layer->rdpNegData)
|
if (self->mcs_layer->iso_layer->rdpNegData)
|
||||||
{
|
{
|
||||||
/* ReqeustedProtocol */
|
/* RequestedProtocol */
|
||||||
out_uint32_le(s, self->mcs_layer->iso_layer->requestedProtocol);
|
out_uint32_le(s, self->mcs_layer->iso_layer->requestedProtocol);
|
||||||
}
|
}
|
||||||
out_uint16_le(s, SEC_TAG_SRV_CHANNELS);
|
out_uint16_le(s, SEC_TAG_SRV_CHANNELS);
|
||||||
|
@ -1357,7 +1357,7 @@ lfreerdp_polygon_sc(rdpContext* context, POLYGON_SC_ORDER* polygon_sc)
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
static void DEFAULT_CC
|
static void DEFAULT_CC
|
||||||
lfreerdp_syncronize(rdpContext* context)
|
lfreerdp_synchronize(rdpContext* context)
|
||||||
{
|
{
|
||||||
struct mod *mod;
|
struct mod *mod;
|
||||||
mod = ((struct mod_context *)context)->modi;
|
mod = ((struct mod_context *)context)->modi;
|
||||||
@ -1494,7 +1494,7 @@ lfreerdp_pre_connect(freerdp *instance)
|
|||||||
instance->update->EndPaint = lfreerdp_end_paint;
|
instance->update->EndPaint = lfreerdp_end_paint;
|
||||||
instance->update->SetBounds = lfreerdp_set_bounds;
|
instance->update->SetBounds = lfreerdp_set_bounds;
|
||||||
instance->update->BitmapUpdate = lfreerdp_bitmap_update;
|
instance->update->BitmapUpdate = lfreerdp_bitmap_update;
|
||||||
instance->update->Synchronize = lfreerdp_syncronize ;
|
instance->update->Synchronize = lfreerdp_synchronize;
|
||||||
instance->update->primary->DstBlt = lfreerdp_dst_blt;
|
instance->update->primary->DstBlt = lfreerdp_dst_blt;
|
||||||
instance->update->primary->PatBlt = lfreerdp_pat_blt;
|
instance->update->primary->PatBlt = lfreerdp_pat_blt;
|
||||||
instance->update->primary->ScrBlt = lfreerdp_scr_blt;
|
instance->update->primary->ScrBlt = lfreerdp_scr_blt;
|
||||||
|
@ -1487,7 +1487,7 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
/* starting logging subsystem */
|
/* starting logging subsystem */
|
||||||
g_memset(&logconfig, 0, sizeof(struct log_config));
|
g_memset(&logconfig, 0, sizeof(struct log_config));
|
||||||
logconfig.program_name = "XRDP-Chansrv";
|
logconfig.program_name = "xrdp-chansrv";
|
||||||
g_snprintf(log_file, 255, "%s/xrdp-chansrv.log", log_path);
|
g_snprintf(log_file, 255, "%s/xrdp-chansrv.log", log_path);
|
||||||
g_writeln("chansrv::main: using log file [%s]", log_file);
|
g_writeln("chansrv::main: using log file [%s]", log_file);
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
/*
|
/*
|
||||||
* TODO
|
* TODO
|
||||||
* o when creating dir/file, ensure it does not already exist
|
* o when creating dir/file, ensure it does not already exist
|
||||||
* o do not allow dirs to be created in ino==1 except for .clipbard and share mounts
|
* o do not allow dirs to be created in ino==1 except for .clipboard and share mounts
|
||||||
* o fix the HACK where I have to use my own buf instead of g_buffer
|
* o fix the HACK where I have to use my own buf instead of g_buffer
|
||||||
* this is in func xfuse_check_wait_objs()
|
* this is in func xfuse_check_wait_objs()
|
||||||
* o if fuse mount point is already mounted, I get segfault
|
* o if fuse mount point is already mounted, I get segfault
|
||||||
@ -306,7 +306,7 @@ static void xfuse_cb_lookup(fuse_req_t req, fuse_ino_t parent,
|
|||||||
static void xfuse_cb_getattr(fuse_req_t req, fuse_ino_t ino,
|
static void xfuse_cb_getattr(fuse_req_t req, fuse_ino_t ino,
|
||||||
struct fuse_file_info *fi);
|
struct fuse_file_info *fi);
|
||||||
|
|
||||||
/* this is not a callback, but its's used by xfuse_cb_readdir() */
|
/* this is not a callback, but it's used by xfuse_cb_readdir() */
|
||||||
static void xfuse_dirbuf_add(fuse_req_t req, struct dirbuf *b,
|
static void xfuse_dirbuf_add(fuse_req_t req, struct dirbuf *b,
|
||||||
const char *name, fuse_ino_t ino);
|
const char *name, fuse_ino_t ino);
|
||||||
|
|
||||||
@ -1264,7 +1264,7 @@ static struct xrdp_inode * xfuse_create_file_in_xrdp_fs(tui32 device_id,
|
|||||||
* Check if specified file exists
|
* Check if specified file exists
|
||||||
*
|
*
|
||||||
* @param parent parent inode of file
|
* @param parent parent inode of file
|
||||||
* @param name flilename or dirname
|
* @param name filename or dirname
|
||||||
*
|
*
|
||||||
* @return 1 if specified file exists, 0 otherwise
|
* @return 1 if specified file exists, 0 otherwise
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
@ -1086,11 +1086,11 @@ clipboard_process_format_announce(struct stream *s, int clip_msg_status,
|
|||||||
/* response to CB_FORMAT_LIST; used to indicate whether
|
/* response to CB_FORMAT_LIST; used to indicate whether
|
||||||
processing of the Format List PDU was successful */
|
processing of the Format List PDU was successful */
|
||||||
static int APP_CC
|
static int APP_CC
|
||||||
clipboard_prcoess_format_ack(struct stream *s, int clip_msg_status,
|
clipboard_process_format_ack(struct stream *s, int clip_msg_status,
|
||||||
int clip_msg_len)
|
int clip_msg_len)
|
||||||
{
|
{
|
||||||
log_debug("clipboard_prcoess_format_ack: CLIPRDR_FORMAT_ACK");
|
log_debug("clipboard_process_format_ack: CLIPRDR_FORMAT_ACK");
|
||||||
log_debug("clipboard_prcoess_format_ack:");
|
log_debug("clipboard_process_format_ack:");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1634,7 +1634,7 @@ clipboard_data_in(struct stream *s, int chan_id, int chan_flags, int length,
|
|||||||
/* response to CB_FORMAT_LIST; used to indicate whether */
|
/* response to CB_FORMAT_LIST; used to indicate whether */
|
||||||
/* processing of the Format List PDU was successful */
|
/* processing of the Format List PDU was successful */
|
||||||
case CB_FORMAT_LIST_RESPONSE: /* 3 CLIPRDR_FORMAT_ACK */
|
case CB_FORMAT_LIST_RESPONSE: /* 3 CLIPRDR_FORMAT_ACK */
|
||||||
rv = clipboard_prcoess_format_ack(ls, clip_msg_status,
|
rv = clipboard_process_format_ack(ls, clip_msg_status,
|
||||||
clip_msg_len);
|
clip_msg_len);
|
||||||
break;
|
break;
|
||||||
/* sent by recipient of CB_FORMAT_LIST; used to request data for one */
|
/* sent by recipient of CB_FORMAT_LIST; used to request data for one */
|
||||||
|
@ -242,11 +242,11 @@ dev_redir_data_in(struct stream *s, int chan_id, int chan_flags, int length,
|
|||||||
case PAKID_CORE_CLIENT_NAME:
|
case PAKID_CORE_CLIENT_NAME:
|
||||||
/* client is telling us its computer name; do we even care? */
|
/* client is telling us its computer name; do we even care? */
|
||||||
|
|
||||||
/* let client know loggin was successful */
|
/* let client know login was successful */
|
||||||
dev_redir_send_server_user_logged_on();
|
dev_redir_send_server_user_logged_on();
|
||||||
usleep(1000 * 100);
|
usleep(1000 * 100);
|
||||||
|
|
||||||
/* let client know our capabilites */
|
/* let client know our capabilities */
|
||||||
dev_redir_send_server_core_cap_req();
|
dev_redir_send_server_core_cap_req();
|
||||||
|
|
||||||
/* send confirm clientID */
|
/* send confirm clientID */
|
||||||
@ -576,7 +576,7 @@ void dev_redir_send_drive_dir_request(IRP *irp, tui32 device_id,
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief process client's repsonse to our core_capability_req() msg
|
* @brief process client's response to our core_capability_req() msg
|
||||||
*
|
*
|
||||||
* @param s stream containing client's response
|
* @param s stream containing client's response
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
@ -1040,7 +1040,7 @@ dev_redir_get_dir_listing(void *fusep, tui32 device_id, char *path)
|
|||||||
|
|
||||||
log_debug("looking for device_id=%d path=%s", device_id, path);
|
log_debug("looking for device_id=%d path=%s", device_id, path);
|
||||||
|
|
||||||
/* when we get a respone to dev_redir_send_drive_create_request(), we */
|
/* when we get a response to dev_redir_send_drive_create_request(), we */
|
||||||
/* call dev_redir_send_drive_dir_request(), which needs the following */
|
/* call dev_redir_send_drive_dir_request(), which needs the following */
|
||||||
/* at the end of the path argument */
|
/* at the end of the path argument */
|
||||||
if (dev_redir_string_ends_with(irp->pathname, '\\'))
|
if (dev_redir_string_ends_with(irp->pathname, '\\'))
|
||||||
|
@ -329,7 +329,7 @@ enum FS_INFORMATION_CLASS
|
|||||||
(((_a) & W_FILE_ATTRIBUTE_DIRECTORY) ? S_IFDIR | 0100 : S_IFREG) |\
|
(((_a) & W_FILE_ATTRIBUTE_DIRECTORY) ? S_IFDIR | 0100 : S_IFREG) |\
|
||||||
(((_a) & W_FILE_ATTRIBUTE_READONLY) ? 0444 : 0644)
|
(((_a) & W_FILE_ATTRIBUTE_READONLY) ? 0444 : 0644)
|
||||||
|
|
||||||
/* winodws time starts on Jan 1, 1601 */
|
/* Windows time starts on Jan 1, 1601 */
|
||||||
/* Linux time starts on Jan 1, 1970 */
|
/* Linux time starts on Jan 1, 1970 */
|
||||||
#define EPOCH_DIFF 11644473600LL
|
#define EPOCH_DIFF 11644473600LL
|
||||||
#define WINDOWS_TO_LINUX_TIME(_t) ((_t) / 10000000) - EPOCH_DIFF;
|
#define WINDOWS_TO_LINUX_TIME(_t) ((_t) / 10000000) - EPOCH_DIFF;
|
||||||
|
@ -414,7 +414,7 @@ drdynvc_process_data(struct stream *s, unsigned char cmd)
|
|||||||
* process incoming data on a dynamic virtual channel
|
* process incoming data on a dynamic virtual channel
|
||||||
*
|
*
|
||||||
* @pram s stream containing the incoming data
|
* @pram s stream containing the incoming data
|
||||||
* @pram chand_id LK_TODO
|
* @pram chan_id LK_TODO
|
||||||
* @pram chan_flags LK_TODO
|
* @pram chan_flags LK_TODO
|
||||||
* @pram length LK_TODO
|
* @pram length LK_TODO
|
||||||
* @pram total_length LK_TODO
|
* @pram total_length LK_TODO
|
||||||
|
@ -98,7 +98,7 @@ static int g_funcs_loaded = 0;
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
static int __fastcall
|
static int __fastcall
|
||||||
load_funsc(void)
|
load_funcs(void)
|
||||||
{
|
{
|
||||||
HMODULE lib;
|
HMODULE lib;
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ load_funsc(void)
|
|||||||
}
|
}
|
||||||
g_funcs_loaded = 1;
|
g_funcs_loaded = 1;
|
||||||
lib = LoadLibrary("winscard-org.dll");
|
lib = LoadLibrary("winscard-org.dll");
|
||||||
LLOGLN(0, ("load_funsc: lib %p", lib));
|
LLOGLN(0, ("load_funcs: lib %p", lib));
|
||||||
LLOAD(aSCardEstablishContext, tSCardEstablishContext, "SCardEstablishContext");
|
LLOAD(aSCardEstablishContext, tSCardEstablishContext, "SCardEstablishContext");
|
||||||
LLOAD(aSCardReleaseContext, tSCardReleaseContext, "SCardReleaseContext");
|
LLOAD(aSCardReleaseContext, tSCardReleaseContext, "SCardReleaseContext");
|
||||||
LLOAD(aSCardIsValidContext, tSCardIsValidContext, "SCardIsValidContext");
|
LLOAD(aSCardIsValidContext, tSCardIsValidContext, "SCardIsValidContext");
|
||||||
@ -180,7 +180,7 @@ DllEntryPoint(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
|||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
LLOGLN(0, ("DllEntryPoint: DLL_PROCESS_ATTACH"));
|
LLOGLN(0, ("DllEntryPoint: DLL_PROCESS_ATTACH"));
|
||||||
load_funsc();
|
load_funcs();
|
||||||
rv = TRUE;
|
rv = TRUE;
|
||||||
break;
|
break;
|
||||||
case DLL_THREAD_ATTACH:
|
case DLL_THREAD_ATTACH:
|
||||||
|
@ -383,7 +383,7 @@ rail_startup()
|
|||||||
|
|
||||||
if (g_xrr_event_base > 0)
|
if (g_xrr_event_base > 0)
|
||||||
{
|
{
|
||||||
LOG(0, ("rail_init: found RandR entension"));
|
LOG(0, ("rail_init: found RandR extension"));
|
||||||
st = XRRQueryVersion(g_display, &ver_maj, &ver_min);
|
st = XRRQueryVersion(g_display, &ver_maj, &ver_min);
|
||||||
if (st)
|
if (st)
|
||||||
{
|
{
|
||||||
@ -543,12 +543,12 @@ rail_close_window(int window_id)
|
|||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
void DEFAULT_CC
|
void DEFAULT_CC
|
||||||
my_timoeut(void* data)
|
my_timeout(void* data)
|
||||||
{
|
{
|
||||||
LOG(10, ("my_timoeut: g_got_focus %d", g_got_focus));
|
LOG(10, ("my_timeout: g_got_focus %d", g_got_focus));
|
||||||
if (g_focus_counter == (int)(long)data)
|
if (g_focus_counter == (int)(long)data)
|
||||||
{
|
{
|
||||||
LOG(10, ("my_timoeut: g_focus_counter %d", g_focus_counter));
|
LOG(10, ("my_timeout: g_focus_counter %d", g_focus_counter));
|
||||||
rail_win_popdown();
|
rail_win_popdown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -617,7 +617,7 @@ rail_process_activate(struct stream *s, int size)
|
|||||||
|
|
||||||
LOG(10, (" window attributes: override_redirect %d",
|
LOG(10, (" window attributes: override_redirect %d",
|
||||||
window_attributes.override_redirect));
|
window_attributes.override_redirect));
|
||||||
add_timeout(200, my_timoeut, (void*)(long)g_focus_counter);
|
add_timeout(200, my_timeout, (void*)(long)g_focus_counter);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -1976,7 +1976,7 @@ rail_xevent(void *xevent)
|
|||||||
|
|
||||||
case ReparentNotify:
|
case ReparentNotify:
|
||||||
LOG(10, (" got ReparentNotify window 0x%8.8x parent 0x%8.8x "
|
LOG(10, (" got ReparentNotify window 0x%8.8x parent 0x%8.8x "
|
||||||
"event 0x%8.8x x %d y %d overrider redirect %d",
|
"event 0x%8.8x x %d y %d override redirect %d",
|
||||||
lxevent->xreparent.window, lxevent->xreparent.parent,
|
lxevent->xreparent.window, lxevent->xreparent.parent,
|
||||||
lxevent->xreparent.event, lxevent->xreparent.x,
|
lxevent->xreparent.event, lxevent->xreparent.x,
|
||||||
lxevent->xreparent.y, lxevent->xreparent.override_redirect));
|
lxevent->xreparent.y, lxevent->xreparent.override_redirect));
|
||||||
|
@ -1001,7 +1001,7 @@ sound_check_wait_objs(void)
|
|||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
** **
|
** **
|
||||||
** Microphone releated code **
|
** Microphone related code **
|
||||||
** **
|
** **
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
|
@ -70,8 +70,8 @@ xcommon_fatal_handler(Display *dis)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* returns time in miliseconds
|
/* returns time in milliseconds
|
||||||
this is like g_time2 in os_calls, but not miliseconds since machine was
|
this is like g_time2 in os_calls, but not milliseconds since machine was
|
||||||
up, something else
|
up, something else
|
||||||
this is a time value similar to what the xserver uses */
|
this is a time value similar to what the xserver uses */
|
||||||
int APP_CC
|
int APP_CC
|
||||||
|
@ -116,7 +116,7 @@ struct config_security
|
|||||||
int ts_users;
|
int ts_users;
|
||||||
/**
|
/**
|
||||||
* @var ts_admins
|
* @var ts_admins
|
||||||
* @brief Terminal Server Adminnistrators group
|
* @brief Terminal Server Administrators group
|
||||||
*/
|
*/
|
||||||
int ts_admins_enable;
|
int ts_admins_enable;
|
||||||
int ts_admins;
|
int ts_admins;
|
||||||
|
@ -45,7 +45,7 @@ env_check_password_file(char *filename, char *passwd)
|
|||||||
void *des;
|
void *des;
|
||||||
void *sha1;
|
void *sha1;
|
||||||
|
|
||||||
/* create password hash from passowrd */
|
/* create password hash from password */
|
||||||
passwd_bytes = g_strlen(passwd);
|
passwd_bytes = g_strlen(passwd);
|
||||||
sha1 = ssl_sha1_info_create();
|
sha1 = ssl_sha1_info_create();
|
||||||
ssl_sha1_transform(sha1, "xrdp_vnc", 8);
|
ssl_sha1_transform(sha1, "xrdp_vnc", 8);
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
*
|
*
|
||||||
* @brief Creates vnc password file
|
* @brief Creates vnc password file
|
||||||
* @param filename VNC password file name
|
* @param filename VNC password file name
|
||||||
* @param password The password to be encrypte
|
* @param password The password to be encrypted
|
||||||
* @return 0 on success, 1 on error
|
* @return 0 on success, 1 on error
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
* @brief version neutral server accept function
|
* @brief version neutral server accept function
|
||||||
* @param c connection descriptor
|
* @param c connection descriptor
|
||||||
* @param s session descriptor pointer address.
|
* @param s session descriptor pointer address.
|
||||||
* it will return a newely allocated descriptor.
|
* it will return a newly allocated descriptor.
|
||||||
* It this memory needs to be g_free()d
|
* It this memory needs to be g_free()d
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -94,7 +94,7 @@ scp_lock_fork_release(void)
|
|||||||
void DEFAULT_CC
|
void DEFAULT_CC
|
||||||
scp_lock_fork_critical_section_end(int blocking)
|
scp_lock_fork_critical_section_end(int blocking)
|
||||||
{
|
{
|
||||||
//LOG_DBG("lock_fork_critical_secection_end()",0);
|
//LOG_DBG("lock_fork_critical_section_end()",0);
|
||||||
/* lock mutex */
|
/* lock mutex */
|
||||||
pthread_mutex_lock(&lock_fork);
|
pthread_mutex_lock(&lock_fork);
|
||||||
|
|
||||||
@ -117,7 +117,7 @@ scp_lock_fork_critical_section_end(int blocking)
|
|||||||
int DEFAULT_CC
|
int DEFAULT_CC
|
||||||
scp_lock_fork_critical_section_start(void)
|
scp_lock_fork_critical_section_start(void)
|
||||||
{
|
{
|
||||||
//LOG_DBG("lock_fork_critical_secection_start()",0);
|
//LOG_DBG("lock_fork_critical_section_start()",0);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
pthread_mutex_lock(&lock_fork);
|
pthread_mutex_lock(&lock_fork);
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @file tcp.c
|
* @file tcp.c
|
||||||
* @brief Tcp stream funcions
|
* @brief Tcp stream functions
|
||||||
* @author Jay Sorg, Simone Fedele
|
* @author Jay Sorg, Simone Fedele
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
* @param skipVchk if set to !0 skips the version control (to be used after
|
* @param skipVchk if set to !0 skips the version control (to be used after
|
||||||
* scp_vXs_accept() )
|
* scp_vXs_accept() )
|
||||||
*
|
*
|
||||||
* this function places in *s the address of a newely allocated SCP_SESSION structure
|
* this function places in *s the address of a newly allocated SCP_SESSION structure
|
||||||
* that should be free()d
|
* that should be free()d
|
||||||
*/
|
*/
|
||||||
enum SCP_SERVER_STATES_E
|
enum SCP_SERVER_STATES_E
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
* @param c connection descriptor
|
* @param c connection descriptor
|
||||||
* @param s pointer to session descriptor pointer
|
* @param s pointer to session descriptor pointer
|
||||||
*
|
*
|
||||||
* this function places in *s the address of a newely allocated SCP_SESSION structure
|
* this function places in *s the address of a newly allocated SCP_SESSION structure
|
||||||
* that should be free()d
|
* that should be free()d
|
||||||
*/
|
*/
|
||||||
enum SCP_SERVER_STATES_E
|
enum SCP_SERVER_STATES_E
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
* @brief version neutral server accept function
|
* @brief version neutral server accept function
|
||||||
* @param c connection descriptor
|
* @param c connection descriptor
|
||||||
* @param s session descriptor pointer address.
|
* @param s session descriptor pointer address.
|
||||||
* it will return a newely allocated descriptor.
|
* it will return a newly allocated descriptor.
|
||||||
* It this memory needs to be g_free()d
|
* It this memory needs to be g_free()d
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -160,7 +160,7 @@ main(int argc, char **argv)
|
|||||||
(0 == g_strcasecmp(argv[1], "-ns"))))
|
(0 == g_strcasecmp(argv[1], "-ns"))))
|
||||||
{
|
{
|
||||||
/* starts sesman not daemonized */
|
/* starts sesman not daemonized */
|
||||||
g_printf("starting sesman in foregroud...\n");
|
g_printf("starting sesman in foreground...\n");
|
||||||
daemon = 0;
|
daemon = 0;
|
||||||
}
|
}
|
||||||
else if ((2 == argc) && ((0 == g_strcasecmp(argv[1], "--help")) ||
|
else if ((2 == argc) && ((0 == g_strcasecmp(argv[1], "--help")) ||
|
||||||
@ -268,7 +268,7 @@ main(int argc, char **argv)
|
|||||||
g_snprintf(cfg_file, 255, "%s/sesman.ini", XRDP_CFG_PATH);
|
g_snprintf(cfg_file, 255, "%s/sesman.ini", XRDP_CFG_PATH);
|
||||||
|
|
||||||
/* starting logging subsystem */
|
/* starting logging subsystem */
|
||||||
error = log_start(cfg_file, "XRDP-sesman");
|
error = log_start(cfg_file, "xrdp-sesman");
|
||||||
|
|
||||||
if (error != LOG_STARTUP_OK)
|
if (error != LOG_STARTUP_OK)
|
||||||
{
|
{
|
||||||
|
@ -348,7 +348,7 @@ session_is_display_in_chain(int display)
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* called with the main thread */
|
/* called with the main thread */
|
||||||
static int APP_CC
|
static int APP_CC
|
||||||
session_get_aval_display_from_chain(void)
|
session_get_avail_display_from_chain(void)
|
||||||
{
|
{
|
||||||
int display;
|
int display;
|
||||||
|
|
||||||
@ -461,7 +461,7 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
display = session_get_aval_display_from_chain();
|
display = session_get_avail_display_from_chain();
|
||||||
|
|
||||||
if (display == 0)
|
if (display == 0)
|
||||||
{
|
{
|
||||||
@ -470,7 +470,7 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
pid = g_fork(); /* parent is fork from tcp accpet,
|
pid = g_fork(); /* parent is fork from tcp accept,
|
||||||
child forks X and wm, then becomes scp */
|
child forks X and wm, then becomes scp */
|
||||||
|
|
||||||
if (pid == -1)
|
if (pid == -1)
|
||||||
@ -778,7 +778,7 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||||||
ltime = g_time1();
|
ltime = g_time1();
|
||||||
localtime_r(<ime, &stime);
|
localtime_r(<ime, &stime);
|
||||||
temp->item->connect_time.year = (tui16)(stime.tm_year + 1900);
|
temp->item->connect_time.year = (tui16)(stime.tm_year + 1900);
|
||||||
temp->item->connect_time.month = (tui8)stime.tm_mon;
|
temp->item->connect_time.month = (tui8)(stime.tm_mon + 1);
|
||||||
temp->item->connect_time.day = (tui8)stime.tm_mday;
|
temp->item->connect_time.day = (tui8)stime.tm_mday;
|
||||||
temp->item->connect_time.hour = (tui8)stime.tm_hour;
|
temp->item->connect_time.hour = (tui8)stime.tm_hour;
|
||||||
temp->item->connect_time.minute = (tui8)stime.tm_min;
|
temp->item->connect_time.minute = (tui8)stime.tm_min;
|
||||||
|
@ -93,13 +93,13 @@ sig_sesman_reload_cfg(int sig)
|
|||||||
/* stop logging subsystem */
|
/* stop logging subsystem */
|
||||||
log_end();
|
log_end();
|
||||||
|
|
||||||
/* replace old config with new readed one */
|
/* replace old config with newly read one */
|
||||||
g_cfg = cfg;
|
g_cfg = cfg;
|
||||||
|
|
||||||
g_snprintf(cfg_file, 255, "%s/sesman.ini", XRDP_CFG_PATH);
|
g_snprintf(cfg_file, 255, "%s/sesman.ini", XRDP_CFG_PATH);
|
||||||
|
|
||||||
/* start again logging subsystem */
|
/* start again logging subsystem */
|
||||||
error = log_start(cfg_file, "XRDP-sesman");
|
error = log_start(cfg_file, "xrdp-sesman");
|
||||||
|
|
||||||
if (error != LOG_STARTUP_OK)
|
if (error != LOG_STARTUP_OK)
|
||||||
{
|
{
|
||||||
|
@ -101,7 +101,14 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
if (0 == g_strncmp(user, "", 1))
|
if (0 == g_strncmp(user, "", 1))
|
||||||
{
|
{
|
||||||
g_strncpy(user, "root", 256);
|
cmndHelp();
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (0 == g_strncmp(cmnd, "", 1))
|
||||||
|
{
|
||||||
|
cmndHelp();
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0 == g_strncmp(pass, "", 1))
|
if (0 == g_strncmp(pass, "", 1))
|
||||||
@ -168,10 +175,10 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
void cmndHelp()
|
void cmndHelp()
|
||||||
{
|
{
|
||||||
fprintf(stderr, "sesadmin - a console sesman adminitration tool\n");
|
fprintf(stderr, "sesadmin - a console sesman administration tool\n");
|
||||||
fprintf(stderr, "sysntax: sesadmin [] COMMAND [OPTIONS]\n\n");
|
fprintf(stderr, "syntax: sesadmin [] COMMAND [OPTIONS]\n\n");
|
||||||
fprintf(stderr, "-u=<username>: username to connect to sesman [MANDATORY]\n");
|
fprintf(stderr, "-u=<username>: username to connect to sesman [MANDATORY]\n");
|
||||||
fprintf(stderr, "-p=<password>: password to connect to sesman [MANDATORY]\n");
|
fprintf(stderr, "-p=<password>: password to connect to sesman (asked if not given)\n");
|
||||||
fprintf(stderr, "-s=<hostname>: sesman host (default is localhost)\n");
|
fprintf(stderr, "-s=<hostname>: sesman host (default is localhost)\n");
|
||||||
fprintf(stderr, "-i=<port> : sesman port (default 3350)\n");
|
fprintf(stderr, "-i=<port> : sesman port (default 3350)\n");
|
||||||
fprintf(stderr, "-c=<command> : command to execute on the server [MANDATORY]\n");
|
fprintf(stderr, "-c=<command> : command to execute on the server [MANDATORY]\n");
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @file tcp.c
|
* @file tcp.c
|
||||||
* @brief Tcp stream funcions
|
* @brief Tcp stream functions
|
||||||
* @author Jay Sorg, Simone Fedele
|
* @author Jay Sorg, Simone Fedele
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -223,7 +223,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Start listening on specifed local socket; when we get a connection,
|
* Start listening on specified local socket; when we get a connection,
|
||||||
* connect to specified remote server and transfer data between local
|
* connect to specified remote server and transfer data between local
|
||||||
* and remote server
|
* and remote server
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
@ -69,7 +69,7 @@ int tcp_socket_create(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Place specifed socket in non blocking mode
|
* Place specified socket in non blocking mode
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
void tcp_set_non_blocking(int skt)
|
void tcp_set_non_blocking(int skt)
|
||||||
|
@ -523,7 +523,7 @@ main_loop(char *local_port, char *remote_ip, char *remote_port, int hexdump)
|
|||||||
|
|
||||||
if (i > 99)
|
if (i > 99)
|
||||||
{
|
{
|
||||||
g_writeln("timout connecting");
|
g_writeln("timeout connecting");
|
||||||
error = 1;
|
error = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ rfbEncryptBytes(char *bytes, char *passwd)
|
|||||||
int len;
|
int len;
|
||||||
int passwd_bytes;
|
int passwd_bytes;
|
||||||
|
|
||||||
/* create password hash from passowrd */
|
/* create password hash from password */
|
||||||
passwd_bytes = g_strlen(passwd);
|
passwd_bytes = g_strlen(passwd);
|
||||||
sha1 = ssl_sha1_info_create();
|
sha1 = ssl_sha1_info_create();
|
||||||
ssl_sha1_transform(sha1, "xrdp_vnc", 8);
|
ssl_sha1_transform(sha1, "xrdp_vnc", 8);
|
||||||
@ -365,7 +365,7 @@ lib_mod_event(struct vnc *v, int msg, long param1, long param2,
|
|||||||
}
|
}
|
||||||
else if (msg == 200) /* invalidate */
|
else if (msg == 200) /* invalidate */
|
||||||
{
|
{
|
||||||
/* FrambufferUpdateRequest */
|
/* FramebufferUpdateRequest */
|
||||||
init_stream(s, 8192);
|
init_stream(s, 8192);
|
||||||
out_uint8(s, 3);
|
out_uint8(s, 3);
|
||||||
out_uint8(s, 0);
|
out_uint8(s, 0);
|
||||||
@ -727,7 +727,7 @@ lib_framebuffer_update(struct vnc *v)
|
|||||||
|
|
||||||
if (error == 0)
|
if (error == 0)
|
||||||
{
|
{
|
||||||
/* FrambufferUpdateRequest */
|
/* FramebufferUpdateRequest */
|
||||||
init_stream(s, 8192);
|
init_stream(s, 8192);
|
||||||
out_uint8(s, 3);
|
out_uint8(s, 3);
|
||||||
out_uint8(s, 1);
|
out_uint8(s, 1);
|
||||||
@ -1316,7 +1316,7 @@ lib_mod_connect(struct vnc *v)
|
|||||||
|
|
||||||
if (error == 0)
|
if (error == 0)
|
||||||
{
|
{
|
||||||
/* FrambufferUpdateRequest */
|
/* FramebufferUpdateRequest */
|
||||||
init_stream(s, 8192);
|
init_stream(s, 8192);
|
||||||
out_uint8(s, 3);
|
out_uint8(s, 3);
|
||||||
out_uint8(s, 0);
|
out_uint8(s, 0);
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
/*
|
/*
|
||||||
* TODO:
|
* TODO:
|
||||||
* o need to maintain aspect ratio while resizing
|
* o need to maintain aspect ratio while resizing
|
||||||
* o clicking in the middle of the slider bar shuld move the slider to the middle
|
* o clicking in the middle of the slider bar should move the slider to the middle
|
||||||
* o need to be able to rewind the move when it is done playing
|
* o need to be able to rewind the move when it is done playing
|
||||||
* o need to be able to load another move and play it w/o restarting player
|
* o need to be able to load another move and play it w/o restarting player
|
||||||
* o pause button needs to work
|
* o pause button needs to work
|
||||||
|
@ -224,7 +224,7 @@ print_format(PictFormatShort format)
|
|||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
static int
|
static int
|
||||||
compsoite_print(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
composite_print(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
||||||
INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
|
INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
|
||||||
INT16 yDst, CARD16 width, CARD16 height)
|
INT16 yDst, CARD16 width, CARD16 height)
|
||||||
{
|
{
|
||||||
@ -233,7 +233,7 @@ compsoite_print(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
|||||||
rdpPixmapRec* pSrcPriv;
|
rdpPixmapRec* pSrcPriv;
|
||||||
rdpPixmapRec* pDstPriv;
|
rdpPixmapRec* pDstPriv;
|
||||||
|
|
||||||
LLOGLN(0, ("compsoite_print: op %d xSrc %d ySrc %d xDst %d yDst %d "
|
LLOGLN(0, ("composite_print: op %d xSrc %d ySrc %d xDst %d yDst %d "
|
||||||
"width %d height %d",
|
"width %d height %d",
|
||||||
op, xSrc, ySrc, xDst, yDst, width, height));
|
op, xSrc, ySrc, xDst, yDst, width, height));
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ check_drawables(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
|||||||
{
|
{
|
||||||
LLOGLN(10, ("check_drawables: can not remote [%s]", g_com_fail_strings[fail_reason]));
|
LLOGLN(10, ("check_drawables: can not remote [%s]", g_com_fail_strings[fail_reason]));
|
||||||
#if 0
|
#if 0
|
||||||
compsoite_print(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
|
composite_print(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
|
||||||
xDst, yDst, width, height);
|
xDst, yDst, width, height);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -501,7 +501,7 @@ check_drawables(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
|||||||
{
|
{
|
||||||
LLOGLN(10, ("check_drawables: can remote [%s]", g_com_fail_strings[fail_reason]));
|
LLOGLN(10, ("check_drawables: can remote [%s]", g_com_fail_strings[fail_reason]));
|
||||||
#if 0
|
#if 0
|
||||||
compsoite_print(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
|
composite_print(op, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask,
|
||||||
xDst, yDst, width, height);
|
xDst, yDst, width, height);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@ -707,7 +707,7 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
|||||||
{
|
{
|
||||||
if (pMask != 0)
|
if (pMask != 0)
|
||||||
{
|
{
|
||||||
/* TODO: here we can try to send it as a gylph */
|
/* TODO: here we can try to send it as a glyph */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -745,7 +745,7 @@ rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
|||||||
post_process = 1;
|
post_process = 1;
|
||||||
if (g_do_dirty_os)
|
if (g_do_dirty_os)
|
||||||
{
|
{
|
||||||
LLOGLN(10, ("rdpComposite: gettig dirty"));
|
LLOGLN(10, ("rdpComposite: getting dirty"));
|
||||||
pDstPriv->is_dirty = 1;
|
pDstPriv->is_dirty = 1;
|
||||||
dirty_type = g_doing_font ? RDI_IMGLL : RDI_IMGLY;
|
dirty_type = g_doing_font ? RDI_IMGLL : RDI_IMGLY;
|
||||||
pDirtyPriv = pDstPriv;
|
pDirtyPriv = pDstPriv;
|
||||||
|
@ -608,7 +608,7 @@ dump_draw_list(rdpPixmapRec* priv)
|
|||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
/* returns boolean */
|
/* returns boolean */
|
||||||
static int
|
static int
|
||||||
region_interect_at_all(RegionPtr reg_small, RegionPtr reg_big)
|
region_intersect_at_all(RegionPtr reg_small, RegionPtr reg_big)
|
||||||
{
|
{
|
||||||
int rv;
|
int rv;
|
||||||
RegionRec reg;
|
RegionRec reg;
|
||||||
@ -719,7 +719,7 @@ draw_item_pack(PixmapPtr pix, rdpPixmapRec *priv)
|
|||||||
{
|
{
|
||||||
if ((di->type == RDI_TEXT) && (di_prev->type == RDI_IMGLY))
|
if ((di->type == RDI_TEXT) && (di_prev->type == RDI_IMGLY))
|
||||||
{
|
{
|
||||||
if (region_interect_at_all(di->reg, di_prev->reg))
|
if (region_intersect_at_all(di->reg, di_prev->reg))
|
||||||
{
|
{
|
||||||
di_prev->type = RDI_IMGLL;
|
di_prev->type = RDI_IMGLL;
|
||||||
}
|
}
|
||||||
|
@ -503,7 +503,7 @@ rdp_text_chars_to_data(struct rdp_text* rtext)
|
|||||||
PictFormatPtr format;
|
PictFormatPtr format;
|
||||||
} GlyphListRec, *GlyphListPtr;
|
} GlyphListRec, *GlyphListPtr;
|
||||||
*/
|
*/
|
||||||
/* see ghyphstr.h but the follow is not in there
|
/* see glyphstr.h but the following is not in there
|
||||||
typedef struct _XGlyphInfo {
|
typedef struct _XGlyphInfo {
|
||||||
unsigned short width;
|
unsigned short width;
|
||||||
unsigned short height;
|
unsigned short height;
|
||||||
@ -557,7 +557,7 @@ rdpGlyphu(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
|
|||||||
post_process = 1;
|
post_process = 1;
|
||||||
if (g_do_dirty_os)
|
if (g_do_dirty_os)
|
||||||
{
|
{
|
||||||
LLOGLN(10, ("rdpGlyphu: gettig dirty"));
|
LLOGLN(10, ("rdpGlyphu: getting dirty"));
|
||||||
pDstPriv->is_dirty = 1;
|
pDstPriv->is_dirty = 1;
|
||||||
dirty_type = RDI_IMGLL;
|
dirty_type = RDI_IMGLL;
|
||||||
pDirtyPriv = pDstPriv;
|
pDirtyPriv = pDstPriv;
|
||||||
|
@ -26,7 +26,7 @@ keyboard and mouse stuff
|
|||||||
flags right so control down is used to determine between pause and
|
flags right so control down is used to determine between pause and
|
||||||
num lock */
|
num lock */
|
||||||
/* this should be fixed in rdesktop */
|
/* this should be fixed in rdesktop */
|
||||||
/* g_pause_spe flag for specal control sent by ms client before scan code
|
/* g_pause_spe flag for special control sent by ms client before scan code
|
||||||
69 is sent to tell that its pause, not num lock. both pause and num
|
69 is sent to tell that its pause, not num lock. both pause and num
|
||||||
lock use scan code 69 */
|
lock use scan code 69 */
|
||||||
|
|
||||||
@ -68,7 +68,7 @@ static OsTimerPtr g_kbtimer = 0;
|
|||||||
static OsTimerPtr g_timer = 0;
|
static OsTimerPtr g_timer = 0;
|
||||||
static int g_x = 0;
|
static int g_x = 0;
|
||||||
static int g_y = 0;
|
static int g_y = 0;
|
||||||
static int g_timer_schedualed = 0;
|
static int g_timer_scheduled = 0;
|
||||||
static int g_delay_motion = 1; /* turn on or off */
|
static int g_delay_motion = 1; /* turn on or off */
|
||||||
static int g_use_evdev = 0;
|
static int g_use_evdev = 0;
|
||||||
|
|
||||||
@ -238,7 +238,7 @@ rdpChangeKeyboardControl(DeviceIntPtr pDev, KeybdCtrl *ctrl)
|
|||||||
0x0000042C Azeri Latin
|
0x0000042C Azeri Latin
|
||||||
0x0000042F FYRO Macedonian
|
0x0000042F FYRO Macedonian
|
||||||
0x00000437 Georgian
|
0x00000437 Georgian
|
||||||
0x00000438 Faeroese
|
0x00000438 Faroese
|
||||||
0x00000439 Devanagari - INSCRIPT
|
0x00000439 Devanagari - INSCRIPT
|
||||||
0x0000043A Maltese 47-key
|
0x0000043A Maltese 47-key
|
||||||
0x0000043B Norwegian with Sami
|
0x0000043B Norwegian with Sami
|
||||||
@ -859,7 +859,7 @@ static CARD32
|
|||||||
rdpDeferredInputCallback(OsTimerPtr timer, CARD32 now, pointer arg)
|
rdpDeferredInputCallback(OsTimerPtr timer, CARD32 now, pointer arg)
|
||||||
{
|
{
|
||||||
LLOGLN(10, ("rdpDeferredInputCallback:"));
|
LLOGLN(10, ("rdpDeferredInputCallback:"));
|
||||||
g_timer_schedualed = 0;
|
g_timer_scheduled = 0;
|
||||||
if ((g_old_x != g_x) || (g_old_y != g_y))
|
if ((g_old_x != g_x) || (g_old_y != g_y))
|
||||||
{
|
{
|
||||||
rdpEnqueueMotion(g_x, g_y);
|
rdpEnqueueMotion(g_x, g_y);
|
||||||
@ -884,13 +884,13 @@ PtrAddEvent(int buttonMask, int x, int y)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
send_now = (buttonMask ^ g_old_button_mask) || (g_delay_motion == 0);
|
send_now = (buttonMask ^ g_old_button_mask) || (g_delay_motion == 0);
|
||||||
LLOGLN(10, ("PtrAddEvent: send_now %d g_timer_schedualed %d",
|
LLOGLN(10, ("PtrAddEvent: send_now %d g_timer_scheduled %d",
|
||||||
send_now, g_timer_schedualed));
|
send_now, g_timer_scheduled));
|
||||||
if (send_now)
|
if (send_now)
|
||||||
{
|
{
|
||||||
if (g_timer_schedualed)
|
if (g_timer_scheduled)
|
||||||
{
|
{
|
||||||
g_timer_schedualed = 0;
|
g_timer_scheduled = 0;
|
||||||
TimerCancel(g_timer);
|
TimerCancel(g_timer);
|
||||||
}
|
}
|
||||||
if ((g_old_x != x) || (g_old_y != y))
|
if ((g_old_x != x) || (g_old_y != y))
|
||||||
@ -923,9 +923,9 @@ PtrAddEvent(int buttonMask, int x, int y)
|
|||||||
{
|
{
|
||||||
g_x = x;
|
g_x = x;
|
||||||
g_y = y;
|
g_y = y;
|
||||||
if (!g_timer_schedualed)
|
if (!g_timer_scheduled)
|
||||||
{
|
{
|
||||||
g_timer_schedualed = 1;
|
g_timer_scheduled = 1;
|
||||||
g_timer = TimerSet(g_timer, 0, 60, rdpDeferredInputCallback, 0);
|
g_timer = TimerSet(g_timer, 0, 60, rdpDeferredInputCallback, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ extern int g_tab_down; /* in rdpmain.c */
|
|||||||
#define XSCAN_KP_3 89
|
#define XSCAN_KP_3 89
|
||||||
#define XSCAN_KP_0 90
|
#define XSCAN_KP_0 90
|
||||||
#define XSCAN_KP_Decimal 91
|
#define XSCAN_KP_Decimal 91
|
||||||
/* "/ ?" on br keybaord */
|
/* "/ ?" on br keyboard */
|
||||||
#define XSCAN_97 97 /* ------------------------------? */
|
#define XSCAN_97 97 /* ------------------------------? */
|
||||||
#define XSCAN_Enter 108 /* 104 */ /* on keypad */
|
#define XSCAN_Enter 108 /* 104 */ /* on keypad */
|
||||||
#define XSCAN_Control_R 109 /* 105 */
|
#define XSCAN_Control_R 109 /* 105 */
|
||||||
@ -81,7 +81,7 @@ extern int g_tab_down; /* in rdpmain.c */
|
|||||||
#define XSCAN_Menu 117 /* 135 */
|
#define XSCAN_Menu 117 /* 135 */
|
||||||
#define XSCAN_LMeta 156
|
#define XSCAN_LMeta 156
|
||||||
#define XSCAN_RMeta 156
|
#define XSCAN_RMeta 156
|
||||||
#define XSCAN_211 211 /* "/ ?" on br keybaord, "\ _" on jp keyboard */
|
#define XSCAN_211 211 /* "/ ?" on br keyboard, "\ _" on jp keyboard */
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
void
|
void
|
||||||
@ -279,7 +279,7 @@ KbdAddEvent_base(int down, int param1, int param2, int param3, int param4)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case RDPSCAN_115:
|
case RDPSCAN_115:
|
||||||
rdpEnqueueKey(type, XSCAN_211); /* "/ ?" on br keybaord, "\ _" on jp keyboard */
|
rdpEnqueueKey(type, XSCAN_211); /* "/ ?" on br keyboard, "\ _" on jp keyboard */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDPSCAN_126:
|
case RDPSCAN_126:
|
||||||
|
@ -56,7 +56,7 @@ extern int g_tab_down; /* in rdpmain.c */
|
|||||||
#define XSCAN_KP_3 89
|
#define XSCAN_KP_3 89
|
||||||
#define XSCAN_KP_0 90
|
#define XSCAN_KP_0 90
|
||||||
#define XSCAN_KP_Decimal 91
|
#define XSCAN_KP_Decimal 91
|
||||||
/* "/ ?" on br keybaord */
|
/* "/ ?" on br keyboard */
|
||||||
#define XSCAN_97 97
|
#define XSCAN_97 97
|
||||||
#define XSCAN_Enter 104 /* on keypad */
|
#define XSCAN_Enter 104 /* on keypad */
|
||||||
#define XSCAN_Control_R 105
|
#define XSCAN_Control_R 105
|
||||||
@ -278,7 +278,7 @@ KbdAddEvent_evdev(int down, int param1, int param2, int param3, int param4)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case RDPSCAN_115:
|
case RDPSCAN_115:
|
||||||
rdpEnqueueKey(type, XSCAN_97); /* "/ ?" on br keybaord */
|
rdpEnqueueKey(type, XSCAN_97); /* "/ ?" on br keyboard */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RDPSCAN_126:
|
case RDPSCAN_126:
|
||||||
|
@ -414,7 +414,7 @@ rdpScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
|
|||||||
g_rdpScreen.CloseScreen = pScreen->CloseScreen;
|
g_rdpScreen.CloseScreen = pScreen->CloseScreen;
|
||||||
/* GC procedures */
|
/* GC procedures */
|
||||||
g_rdpScreen.CreateGC = pScreen->CreateGC;
|
g_rdpScreen.CreateGC = pScreen->CreateGC;
|
||||||
/* Pixmap procudures */
|
/* Pixmap procedures */
|
||||||
g_rdpScreen.CreatePixmap = pScreen->CreatePixmap;
|
g_rdpScreen.CreatePixmap = pScreen->CreatePixmap;
|
||||||
g_rdpScreen.DestroyPixmap = pScreen->DestroyPixmap;
|
g_rdpScreen.DestroyPixmap = pScreen->DestroyPixmap;
|
||||||
|
|
||||||
@ -654,7 +654,7 @@ void
|
|||||||
OsVendorInit(void)
|
OsVendorInit(void)
|
||||||
{
|
{
|
||||||
#if XRDP_DISABLE_LINUX_ABSTRACT
|
#if XRDP_DISABLE_LINUX_ABSTRACT
|
||||||
/* turn off the Linux abstract unix doamin sockets TRANS_ABSTRACT */
|
/* turn off the Linux abstract unix domain sockets TRANS_ABSTRACT */
|
||||||
/* TRANS_NOLISTEN = 1 << 3 */
|
/* TRANS_NOLISTEN = 1 << 3 */
|
||||||
_XSERVTransSocketLocalFuncs.flags = 0;
|
_XSERVTransSocketLocalFuncs.flags = 0;
|
||||||
#endif
|
#endif
|
||||||
|
@ -254,7 +254,7 @@ g_malloc(int size, int zero)
|
|||||||
|
|
||||||
//#ifdef _XSERVER64
|
//#ifdef _XSERVER64
|
||||||
#if 1
|
#if 1
|
||||||
/* I thought xalloc whould work here but I guess not, why, todo */
|
/* I thought xalloc would work here but I guess not, why, todo */
|
||||||
rv = (char *)malloc(size);
|
rv = (char *)malloc(size);
|
||||||
#else
|
#else
|
||||||
rv = (char *)Xalloc(size);
|
rv = (char *)Xalloc(size);
|
||||||
@ -279,7 +279,7 @@ g_free(void *ptr)
|
|||||||
{
|
{
|
||||||
//#ifdef _XSERVER64
|
//#ifdef _XSERVER64
|
||||||
#if 1
|
#if 1
|
||||||
/* I thought xfree whould work here but I guess not, why, todo */
|
/* I thought xfree would work here but I guess not, why, todo */
|
||||||
free(ptr);
|
free(ptr);
|
||||||
#else
|
#else
|
||||||
Xfree(ptr);
|
Xfree(ptr);
|
||||||
|
@ -2122,7 +2122,7 @@ rdpup_send_area(struct image_data *id, int x, int y, int w, int h)
|
|||||||
safety = 0;
|
safety = 0;
|
||||||
while (RegionContainsRect(g_shm_reg, &box))
|
while (RegionContainsRect(g_shm_reg, &box))
|
||||||
{
|
{
|
||||||
/* instread of rdpup_end_update, call rdpup_send_pending */
|
/* instead of rdpup_end_update, call rdpup_send_pending */
|
||||||
rdpup_send_pending();
|
rdpup_send_pending();
|
||||||
rdpup_begin_update();
|
rdpup_begin_update();
|
||||||
safety++;
|
safety++;
|
||||||
|
@ -70,7 +70,7 @@ int parse_bmp(char *filename, struct pic_info *pic_info)
|
|||||||
|
|
||||||
if ((fd = open(filename, O_RDONLY)) < 0)
|
if ((fd = open(filename, O_RDONLY)) < 0)
|
||||||
{
|
{
|
||||||
printf("error opeing %s\n", filename);
|
printf("error opening %s\n", filename);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ static long g_sync_mutex = 0;
|
|||||||
static long g_sync1_mutex = 0;
|
static long g_sync1_mutex = 0;
|
||||||
static tbus g_term_event = 0;
|
static tbus g_term_event = 0;
|
||||||
static tbus g_sync_event = 0;
|
static tbus g_sync_event = 0;
|
||||||
/* syncronize stuff */
|
/* synchronize stuff */
|
||||||
static int g_sync_command = 0;
|
static int g_sync_command = 0;
|
||||||
static long g_sync_result = 0;
|
static long g_sync_result = 0;
|
||||||
static long g_sync_param1 = 0;
|
static long g_sync_param1 = 0;
|
||||||
@ -437,7 +437,7 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* starting logging subsystem */
|
/* starting logging subsystem */
|
||||||
error = log_start(cfg_file, "XRDP");
|
error = log_start(cfg_file, "xrdp");
|
||||||
|
|
||||||
if (error != LOG_STARTUP_OK)
|
if (error != LOG_STARTUP_OK)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ xrdp_cache_reset_crc(struct xrdp_cache *self)
|
|||||||
{
|
{
|
||||||
for (jndex = 0; jndex < 64 * 1024; jndex++)
|
for (jndex = 0; jndex < 64 * 1024; jndex++)
|
||||||
{
|
{
|
||||||
/* it's ok to deinit a zero'ed out struct list16 */
|
/* it's ok to deinit a zeroed out struct list16 */
|
||||||
list16_deinit(&(self->crc16[index][jndex]));
|
list16_deinit(&(self->crc16[index][jndex]));
|
||||||
list16_init(&(self->crc16[index][jndex]));
|
list16_init(&(self->crc16[index][jndex]));
|
||||||
}
|
}
|
||||||
@ -684,7 +684,7 @@ xrdp_cache_add_pointer(struct xrdp_cache *self,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* this does not take owership of pointer_item, it makes a copy */
|
/* this does not take ownership of pointer_item, it makes a copy */
|
||||||
int APP_CC
|
int APP_CC
|
||||||
xrdp_cache_add_pointer_static(struct xrdp_cache *self,
|
xrdp_cache_add_pointer_static(struct xrdp_cache *self,
|
||||||
struct xrdp_pointer_item *pointer_item,
|
struct xrdp_pointer_item *pointer_item,
|
||||||
@ -716,7 +716,7 @@ xrdp_cache_add_pointer_static(struct xrdp_cache *self,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* this does not take owership of brush_item_data, it makes a copy */
|
/* this does not take ownership of brush_item_data, it makes a copy */
|
||||||
int APP_CC
|
int APP_CC
|
||||||
xrdp_cache_add_brush(struct xrdp_cache *self,
|
xrdp_cache_add_brush(struct xrdp_cache *self,
|
||||||
char *brush_item_data)
|
char *brush_item_data)
|
||||||
|
@ -111,7 +111,7 @@ xrdp_encoder_create(struct xrdp_mm *mm)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LLOGLN(0, ("init_xrdp_encoder: initing encoder codec_id %d", self->codec_id));
|
LLOGLN(0, ("init_xrdp_encoder: initializing encoder codec_id %d", self->codec_id));
|
||||||
|
|
||||||
/* setup required FIFOs */
|
/* setup required FIFOs */
|
||||||
self->fifo_to_proc = fifo_create();
|
self->fifo_to_proc = fifo_create();
|
||||||
|
@ -40,8 +40,8 @@
|
|||||||
|
|
||||||
# default
|
# default
|
||||||
[default]
|
[default]
|
||||||
# keyboard_type and keyboard_subtype is not readed for default section. It
|
# keyboard_type and keyboard_subtype is not read for default section. It
|
||||||
# is only as a place holder to keep consistency. Default model/variant are
|
# is only a placeholder to keep consistency. Default model/variant are
|
||||||
# platform dependent, and could be overridden if needed.
|
# platform dependent, and could be overridden if needed.
|
||||||
keyboard_type=0
|
keyboard_type=0
|
||||||
keyboard_subtype=0
|
keyboard_subtype=0
|
||||||
|
@ -202,7 +202,7 @@ xrdp_process_main_loop(struct xrdp_process *self)
|
|||||||
/* this function is just above */
|
/* this function is just above */
|
||||||
self->session->is_term = xrdp_is_term;
|
self->session->is_term = xrdp_is_term;
|
||||||
|
|
||||||
if (libxrdp_process_incomming(self->session) == 0)
|
if (libxrdp_process_incoming(self->session) == 0)
|
||||||
{
|
{
|
||||||
init_stream(self->server_trans->in_s, 32 * 1024);
|
init_stream(self->server_trans->in_s, 32 * 1024);
|
||||||
|
|
||||||
@ -253,7 +253,7 @@ xrdp_process_main_loop(struct xrdp_process *self)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_writeln("xrdp_process_main_loop: libxrdp_process_incomming failed");
|
g_writeln("xrdp_process_main_loop: libxrdp_process_incoming failed");
|
||||||
/* this will try to send a disconnect,
|
/* this will try to send a disconnect,
|
||||||
maybe should check that connection got far enough */
|
maybe should check that connection got far enough */
|
||||||
libxrdp_disconnect(self->session);
|
libxrdp_disconnect(self->session);
|
||||||
|
@ -223,7 +223,7 @@ struct xrdp_brush_item
|
|||||||
/* moved to xrdp_constants.h
|
/* moved to xrdp_constants.h
|
||||||
#define XRDP_BITMAP_CACHE_ENTRIES 2048 */
|
#define XRDP_BITMAP_CACHE_ENTRIES 2048 */
|
||||||
|
|
||||||
/* differnce caches */
|
/* difference caches */
|
||||||
struct xrdp_cache
|
struct xrdp_cache
|
||||||
{
|
{
|
||||||
struct xrdp_wm* wm; /* owner */
|
struct xrdp_wm* wm; /* owner */
|
||||||
|
@ -870,7 +870,7 @@ xrdp_wm_bitblt(struct xrdp_wm *self,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/* return true is rect is totaly exposed going in reverse z order */
|
/* return true if rect is totally exposed going in reverse z order */
|
||||||
/* from wnd up */
|
/* from wnd up */
|
||||||
static int APP_CC
|
static int APP_CC
|
||||||
xrdp_wm_is_rect_vis(struct xrdp_wm *self, struct xrdp_bitmap *wnd,
|
xrdp_wm_is_rect_vis(struct xrdp_wm *self, struct xrdp_bitmap *wnd,
|
||||||
|
@ -34,7 +34,7 @@ static long g_sync_mutex = 0;
|
|||||||
static long g_sync1_mutex = 0;
|
static long g_sync1_mutex = 0;
|
||||||
static tbus g_term_event = 0;
|
static tbus g_term_event = 0;
|
||||||
static tbus g_sync_event = 0;
|
static tbus g_sync_event = 0;
|
||||||
/* syncronize stuff */
|
/* synchronize stuff */
|
||||||
static int g_sync_command = 0;
|
static int g_sync_command = 0;
|
||||||
static long g_sync_result = 0;
|
static long g_sync_result = 0;
|
||||||
static long g_sync_param1 = 0;
|
static long g_sync_param1 = 0;
|
||||||
|
@ -118,7 +118,7 @@ WTSVirtualChannelOpenEx(unsigned int SessionId, const char *pVirtualName,
|
|||||||
|
|
||||||
if (wts->display_num <= 0)
|
if (wts->display_num <= 0)
|
||||||
{
|
{
|
||||||
LLOGLN(0, ("WTSVirtualChannelOpenEx: fatal errror; display is 0"));
|
LLOGLN(0, ("WTSVirtualChannelOpenEx: fatal error; display is 0"));
|
||||||
free(wts);
|
free(wts);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -194,7 +194,7 @@ xrdpvr_play_media(void *channel, int stream_id, char *filename)
|
|||||||
//if (avformat_find_stream_info(g_psi.p_format_ctx, NULL) < 0)
|
//if (avformat_find_stream_info(g_psi.p_format_ctx, NULL) < 0)
|
||||||
if (av_find_stream_info(g_psi.p_format_ctx) < 0)
|
if (av_find_stream_info(g_psi.p_format_ctx) < 0)
|
||||||
{
|
{
|
||||||
printf("ERRRO reading stream info\n");
|
printf("ERROR reading stream info\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user