Merge branch 'devel' of git:neutrinolabs/xrdp into devel

ulab-next-nosound
Jay Sorg 9 years ago
commit 3bc9f1e275

24
.gitignore vendored

@ -3,6 +3,7 @@ aclocal.m4
AUTHORS AUTHORS
autom4te.cache/ autom4te.cache/
ChangeLog ChangeLog
compile
config_ac.h config_ac.h
config_ac-h.in config_ac-h.in
config.guess config.guess
@ -10,10 +11,12 @@ config.log
config.status config.status
config.sub config.sub
configure configure
compile
depcomp depcomp
.deps/ .deps/
genkeymap/xrdp-genkeymap
install-sh install-sh
instfiles/pam.d/xrdp-sesman
keygen/xrdp-keygen
*.la *.la
.libs .libs
libtool libtool
@ -22,18 +25,17 @@ ltmain.sh
Makefile Makefile
Makefile.in Makefile.in
missing missing
mkinstalldirs
NEWS NEWS
*.o *.o
README README
sesman/chansrv/xrdp-chansrv
sesman/sessvc/xrdp-sessvc
sesman/tools/xrdp-dis
sesman/tools/xrdp-sesadmin
sesman/tools/xrdp-sesrun
sesman/tools/xrdp-sestest
sesman/tools/xrdp-xcon
sesman/xrdp-sesman
stamp-h1 stamp-h1
xrdp-chansrv
xrdp-genkeymap
xrdp-keygen
xrdp-sesadmin
xrdp-sesman
xrdp-sesrun
xrdp-sessvc
xrdp-sestest
xrdp-dis
xrdp-xcon
xrdp/xrdp xrdp/xrdp

Binary file not shown.

@ -1,7 +1,8 @@
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
AM_DISTCHECK_CONFIGURE_FLAGS = --without-systemdsystemunitdir AM_DISTCHECK_CONFIGURE_FLAGS = --without-systemdsystemunitdir
EXTRA_DIST = bootstrap COPYING design.txt faq-compile.txt faq-general.txt file-loc.txt install.txt prog_std.txt readme.txt EXTRA_DIST = bootstrap COPYING coding_style.md design.txt faq-compile.txt \
faq-general.txt file-loc.txt install.txt m4 prog_std.txt readme.txt
if XRDP_NEUTRINORDP if XRDP_NEUTRINORDP
NEUTRINORDPDIR = neutrinordp NEUTRINORDPDIR = neutrinordp

@ -0,0 +1,195 @@
XRdp Coding Style
=================
The coding style used by XRdp is described below.
The XRdp project uses astyle (artistic style) to format the code. Astyle
requires a configuration file that describes how you want your code
formatted. This file is present in the XRdp root directory and is named
`astyle_config.as`.
Here is how we run the astyle command:
astyle --options=/path/to/file/astyle_config.as "*.c"
This coding style is a work in progress and is still evolving.
Indentation
-----------
* 4 spaces per indent
* No tabs for any indents
if (fd < 0)
{
return -1;
}
Line wrapping
-------------
* Keep lines shorter than 80 chars
* Align wrapped argument to the first argument
log_message("connection aborted: error %d",
ret);
Variable names
--------------
* Use lowercase with underscores as needed
* Don't use camelCase
int fd;
int bytes_in_stream;
Variable declaration
--------------------
* Each variable is declared on a separate line
int i;
int j;
Whitespace
----------
* Use blank lines to group statements
* Use at most one empty line between statements
* For pointers and references, use a single space before * or & but not after
* Use one space after a cast
* No space before square brackets
char *cptr;
int *iptr;
cptr = (char *) malloc(1024);
write(fd, &buf[12], 16);
Function declarations
---------------------
* Use newline before function name
static int
value_ok(int val)
{
return (val >= 0);
}
Braces
------
* Opening brace is always on a separate line
* Align braces with the line preceding the opening brace
struct stream
{
int flags;
char *data;
};
void
process_data(struct stream *s)
{
if (stream == NULL)
{
return;
}
}
`if` statements
---------------
* Always use braces
* Put both braces on separate lines
if (val <= 0xff)
{
out_uint8(s, val);
}
else if (val <= 0xffff)
{
out_uint16_le(s, val);
}
else
{
out_uint32_le(s, val);
}
`for` statements
----------------
* Always use braces
* Put both braces on separate lines
for (i = 0; i < 10; i++)
{
printf("i = %d\n", i);
}
`while` and `do while` statements
---------------------------------
* Always use braces
* `while` after the closing brace is on the same line
while (cptr)
{
cptr—;
}
do
{
cptr--;
} while (cptr);
`switch` statements
-------------------
* Indent `case` once
* Indent statements under `case` one more time
* Put both braces on separate lines
switch (cmd)
{
case READ:
read(fd, buf, 1024);
break;
default:
printf("bad cmd\n");
}

@ -1,24 +1,3 @@
EXTRA_DIST = \
arch.h \
defines.h \
file.h \
file_loc.h \
list.h \
list16.h \
fifo.h \
log.h \
os_calls.h \
os_calls.h \
parse.h \
rail.h \
ssl_calls.h \
thread_calls.h \
trans.h \
xrdp_client_info.h \
xrdp_constants.h \
xrdp_rail.h \
crc16.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
@ -26,19 +5,38 @@ AM_CPPFLAGS = \
-DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \
-DXRDP_LOG_PATH=\"${localstatedir}/log\" -DXRDP_LOG_PATH=\"${localstatedir}/log\"
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libcommon.la libcommon.la
libcommon_la_SOURCES = \ libcommon_la_SOURCES = \
arch.h \
crc16.h \
defines.h \
fifo.c \
fifo.h \
file.c \ file.c \
file.h \
file_loc.h \
list.c \ list.c \
list.h \
list16.c \ list16.c \
fifo.c \ list16.h \
log.c \ log.c \
log.h \
os_calls.c \ os_calls.c \
os_calls.h \
os_calls.h \
parse.h \
rail.h \
ssl_calls.c \ ssl_calls.c \
ssl_calls.h \
thread_calls.c \ thread_calls.c \
trans.c thread_calls.h \
trans.c \
trans.h \
xrdp_client_info.h \
xrdp_constants.h \
xrdp_rail.h
libcommon_la_LIBADD = \ libcommon_la_LIBADD = \
-lcrypto \ -lcrypto \

@ -37,8 +37,8 @@
#define XRDP_SHARE_PATH "/usr/local/share/xrdp" #define XRDP_SHARE_PATH "/usr/local/share/xrdp"
#endif #endif
#if !defined(XRDP_LIB_PATH) #if !defined(XRDP_MODULE_PATH)
#define XRDP_LIB_PATH "/usr/local/lib/xrdp" #define XRDP_MODULE_PATH "/usr/local/lib/xrdp"
#endif #endif
#if !defined(XRDP_LOG_PATH) #if !defined(XRDP_LOG_PATH)

@ -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

@ -3,13 +3,16 @@
AC_PREREQ(2.59) AC_PREREQ(2.59)
AC_INIT([xrdp], [0.9.0], [xrdp-devel@googlegroups.com]) AC_INIT([xrdp], [0.9.0], [xrdp-devel@googlegroups.com])
AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in) AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
AM_INIT_AUTOMAKE([1.6 foreign]) AM_INIT_AUTOMAKE([1.7.2 foreign])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AC_PROG_CC AC_PROG_CC
AC_C_CONST AC_C_CONST
AC_PROG_LIBTOOL AC_PROG_LIBTOOL
PKG_PROG_PKG_CONFIG PKG_PROG_PKG_CONFIG
# Use silent rules by default if supported by Automake
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
case $host_os in case $host_os in
*linux*) *linux*)
linux=yes linux=yes
@ -223,7 +226,8 @@ AC_CHECK_HEADER([X11/extensions/Xrandr.h], [],
CFLAGS="$save_CFLAGS" CFLAGS="$save_CFLAGS"
libdir="${libdir}/xrdp"; AC_SUBST([moduledir], '${libdir}/xrdp')
if test "x${prefix}" = "xNONE" ; then if test "x${prefix}" = "xNONE" ; then
sysconfdir="/etc"; sysconfdir="/etc";
localstatedir="/var"; localstatedir="/var";

@ -0,0 +1 @@
!Makefile

@ -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 =
@ -18,3 +23,15 @@ 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

@ -0,0 +1,4 @@
#%PAM-1.0
auth include password-auth
account include password-auth
session include password-auth

@ -1,5 +1,3 @@
EXTRA_DIST = libxrdp.h libxrdpinc.h xrdp_orders_rail.h
EXTRA_DEFINES = EXTRA_DEFINES =
EXTRA_INCLUDES = EXTRA_INCLUDES =
EXTRA_LIBS = EXTRA_LIBS =
@ -37,24 +35,27 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/common \ -I$(top_srcdir)/common \
$(EXTRA_INCLUDES) $(EXTRA_INCLUDES)
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libxrdp.la libxrdp.la
libxrdp_la_SOURCES = \ libxrdp_la_SOURCES = \
libxrdp.c \ libxrdp.c \
libxrdp.h \
libxrdpinc.h \
xrdp_bitmap32_compress.c \
xrdp_bitmap_compress.c \
xrdp_caps.c \
xrdp_channel.c \ xrdp_channel.c \
xrdp_fastpath.c \
xrdp_iso.c \ xrdp_iso.c \
xrdp_jpeg_compress.c \
xrdp_mcs.c \ xrdp_mcs.c \
xrdp_mppc_enc.c \
xrdp_orders.c \ xrdp_orders.c \
xrdp_rdp.c \
xrdp_sec.c \
xrdp_bitmap_compress.c \
xrdp_bitmap32_compress.c \
xrdp_jpeg_compress.c \
xrdp_orders_rail.c \ xrdp_orders_rail.c \
xrdp_mppc_enc.c \ xrdp_orders_rail.h \
xrdp_fastpath.c \ xrdp_rdp.c \
xrdp_caps.c xrdp_sec.c
libxrdp_la_LDFLAGS = \ libxrdp_la_LDFLAGS = \
$(EXTRA_FLAGS) $(EXTRA_FLAGS)

@ -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);

@ -99,7 +99,7 @@ xrdp_rdp_read_config(struct xrdp_client_info *client_info)
else else
{ {
log_message(LOG_LEVEL_ALWAYS,"Warning: Your configured crypt level is " log_message(LOG_LEVEL_ALWAYS,"Warning: Your configured crypt level is "
"undefined 'high' will be used"); "undefined, 'high' will be used");
client_info->crypt_level = 3; client_info->crypt_level = 3;
} }
} }

@ -1,5 +1,3 @@
EXTRA_DIST = mc.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
@ -7,10 +5,12 @@ AM_CPPFLAGS = \
-DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \
-I$(top_srcdir)/common -I$(top_srcdir)/common
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libmc.la libmc.la
libmc_la_SOURCES = mc.c libmc_la_SOURCES = \
mc.c \
mc.h
libmc_la_LIBADD = \ libmc_la_LIBADD = \
$(top_builddir)/common/libcommon.la $(top_builddir)/common/libcommon.la

@ -1,4 +1,3 @@
EXTRA_DIST = xrdp-neutrinordp.h
EXTRA_DEFINES = EXTRA_DEFINES =
if XRDP_DEBUG if XRDP_DEBUG
@ -16,10 +15,13 @@ AM_CPPFLAGS = \
-I$(top_srcdir)/common \ -I$(top_srcdir)/common \
$(FREERDP_CFLAGS) $(FREERDP_CFLAGS)
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libxrdpneutrinordp.la libxrdpneutrinordp.la
libxrdpneutrinordp_la_SOURCES = xrdp-neutrinordp.c xrdp-color.c libxrdpneutrinordp_la_SOURCES = \
xrdp-color.c \
xrdp-neutrinordp.c \
xrdp-neutrinordp.h
libxrdpneutrinordp_la_LIBADD = \ libxrdpneutrinordp_la_LIBADD = \
$(top_builddir)/common/libcommon.la \ $(top_builddir)/common/libcommon.la \

@ -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;

@ -1,4 +1,3 @@
EXTRA_DIST = rdp.h
EXTRA_DEFINES = EXTRA_DEFINES =
if XRDP_DEBUG if XRDP_DEBUG
@ -15,11 +14,12 @@ AM_CPPFLAGS = \
$(EXTRA_DEFINES) \ $(EXTRA_DEFINES) \
-I$(top_srcdir)/common -I$(top_srcdir)/common
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
librdp.la librdp.la
librdp_la_SOURCES = \ librdp_la_SOURCES = \
rdp.c \ rdp.c \
rdp.h \
rdp_bitmap.c \ rdp_bitmap.c \
rdp_iso.c \ rdp_iso.c \
rdp_lic.c \ rdp_lic.c \

@ -1,6 +1,5 @@
EXTRA_DIST = sesman.ini startwm.sh sesman.h access.h auth.h config.h env.h \ EXTRA_DIST = sesman.ini startwm.sh
scp.h scp_v0.h scp_v1.h scp_v1_mng.h session.h sig.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
@ -37,16 +36,27 @@ sbin_PROGRAMS = \
xrdp-sesman xrdp-sesman
xrdp_sesman_SOURCES = \ xrdp_sesman_SOURCES = \
access.c \
access.h \
auth.h \
config.c \
config.h \
env.c \
env.h \
scp.c \ scp.c \
scp.h \
scp_v0.c \ scp_v0.c \
scp_v0.h \
scp_v1.c \ scp_v1.c \
scp_v1.h \
scp_v1_mng.c \ scp_v1_mng.c \
scp_v1_mng.h \
sesman.c \ sesman.c \
sesman.h \
session.c \ session.c \
session.h \
sig.c \ sig.c \
access.c \ sig.h \
config.c \
env.c \
$(AUTH_C) $(AUTH_C)
xrdp_sesman_LDADD = \ xrdp_sesman_LDADD = \

@ -1,21 +1,3 @@
EXTRA_DIST = \
chansrv.h \
chansrv_fuse.h \
clipboard.h \
clipboard_common.h \
clipboard_file.h \
devredir.h \
drdynvc.h \
rail.h \
sound.h \
xcommon.h \
mlog.h \
chansrv_common.h \
irp.h \
smartcard.h \
smartcard_pcsc.h \
fifo.h
EXTRA_DEFINES = EXTRA_DEFINES =
EXTRA_INCLUDES = EXTRA_INCLUDES =
EXTRA_LIBS = EXTRA_LIBS =
@ -47,19 +29,35 @@ sbin_PROGRAMS = \
xrdp_chansrv_SOURCES = \ xrdp_chansrv_SOURCES = \
chansrv.c \ chansrv.c \
sound.c \ chansrv.h \
chansrv_common.c \
chansrv_common.h \
chansrv_fuse.c \
chansrv_fuse.h \
clipboard.c \ clipboard.c \
clipboard.h \
clipboard_common.h \
clipboard_file.c \ clipboard_file.c \
clipboard_file.h \
devredir.c \ devredir.c \
devredir.h \
drdynvc.c \
drdynvc.h \
fifo.c \
fifo.h \
irp.c \
irp.h \
mlog.h \
rail.c \
rail.h \
smartcard.c \ smartcard.c \
smartcard.h \
smartcard_pcsc.c \ smartcard_pcsc.c \
rail.c \ smartcard_pcsc.h \
sound.c \
sound.h \
xcommon.c \ xcommon.c \
drdynvc.c \ xcommon.h
chansrv_fuse.c \
irp.c \
fifo.c \
chansrv_common.c
xrdp_chansrv_LDFLAGS = \ xrdp_chansrv_LDFLAGS = \
$(X_LIBS) \ $(X_LIBS) \

@ -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

@ -0,0 +1 @@
!Makefile

@ -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:

@ -0,0 +1 @@
!Makefile

@ -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
* *
*/ */

@ -1,6 +1,3 @@
EXTRA_DIST = libscp_connection.h libscp_commands.h libscp.h libscp_session.h libscp_types_mng.h libscp_v1c_mng.h libscp_vX.h libscp_commands_mng.h libscp_init.h libscp_tcp.h libscp_v0.h libscp_v1s.h libscp_lock.h \
libscp_types.h libscp_v1c.h libscp_v1s_mng.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
@ -8,21 +5,37 @@ AM_CPPFLAGS = \
-DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \
-I$(top_srcdir)/common -I$(top_srcdir)/common
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libscp.la libscp.la
libscp_la_SOURCES = \ libscp_la_SOURCES = \
libscp.h \
libscp_commands.h \
libscp_commands_mng.h \
libscp_connection.c \ libscp_connection.c \
libscp_connection.h \
libscp_init.c \ libscp_init.c \
libscp_init.h \
libscp_lock.c \ libscp_lock.c \
libscp_lock.h \
libscp_session.c \ libscp_session.c \
libscp_session.h \
libscp_tcp.c \ libscp_tcp.c \
libscp_tcp.h \
libscp_types.h \
libscp_types_mng.h \
libscp_v0.c \ libscp_v0.c \
libscp_v0.h \
libscp_v1c.c \ libscp_v1c.c \
libscp_v1s.c \ libscp_v1c.h \
libscp_v1c_mng.c \ libscp_v1c_mng.c \
libscp_v1c_mng.h \
libscp_v1s.c \
libscp_v1s.h \
libscp_v1s_mng.c \ libscp_v1s_mng.c \
libscp_vX.c libscp_v1s_mng.h \
libscp_vX.c \
libscp_vX.h
libscp_la_LIBADD = \ libscp_la_LIBADD = \
$(top_builddir)/common/libcommon.la \ $(top_builddir)/common/libcommon.la \

@ -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(&ltime, &stime); localtime_r(&ltime, &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)
{ {

@ -29,36 +29,34 @@ wm_start()
xterm xterm
} }
#Execution sequence for interactive login shell # Execution sequence for interactive login shell - pseudocode
#Following pseudo code explains the sequence of execution of these files. #
#execute /etc/profile # IF /etc/profile is readable THEN
#IF ~/.bash_profile exists THEN # execute ~/.bash_profile
# END IF
# IF ~/.bash_profile is readable THEN
# execute ~/.bash_profile # execute ~/.bash_profile
# ELSE # ELSE
# IF ~/.bash_login exist THEN # IF ~/.bash_login is readable THEN
# execute ~/.bash_login # execute ~/.bash_login
# ELSE # ELSE
# IF ~/.profile exist THEN # IF ~/.profile is readable THEN
# execute ~/.profile # execute ~/.profile
# END IF # END IF
# END IF # END IF
# END IF # END IF
pre_start() pre_start()
{ {
if [ -f /etc/profile ] if [ -r /etc/profile ]; then
then
. /etc/profile . /etc/profile
fi fi
if [ -f ~/.bash_profile ] if [ -r ~/.bash_profile ]; then
then
. ~/.bash_profile . ~/.bash_profile
else else
if [ -f ~/.bash_login ] if [ -r ~/.bash_login ]; then
then
. ~/.bash_login . ~/.bash_login
else else
if [ -f ~/.profile ] if [ -r ~/.profile ]; then
then
. ~/.profile . ~/.profile
fi fi
fi fi
@ -66,15 +64,14 @@ pre_start()
return 0 return 0
} }
#When you logout of the interactive shell, following is the # When loging out from the interactive shell, the execution sequence is:
#sequence of execution: #
# IF ~/.bash_logout exists THEN # IF ~/.bash_logout exists THEN
# execute ~/.bash_logout # execute ~/.bash_logout
# END IF # END IF
post_start() post_start()
{ {
if [ -f ~/.bash_logout ] if [ -r ~/.bash_logout ]; then
then
. ~/.bash_logout . ~/.bash_logout
fi fi
return 0 return 0

@ -1,5 +1,3 @@
EXTRA_DIST = tcp.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
@ -21,9 +19,10 @@ noinst_PROGRAMS = \
xrdp-xcon xrdp-xcon
xrdp_sesrun_SOURCES = \ xrdp_sesrun_SOURCES = \
config.c \
sesrun.c \ sesrun.c \
tcp.c \ tcp.c \
config.c tcp.h
xrdp_sestest_SOURCES = \ xrdp_sestest_SOURCES = \
sestest.c sestest.c

@ -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
* *
*/ */

@ -19,6 +19,7 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h>
#include <sys/types.h> #include <sys/types.h>
#include <X11/Xlib.h> #include <X11/Xlib.h>

1
tests/.gitignore vendored

@ -0,0 +1 @@
!Makefile

@ -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;
} }

@ -1,5 +1,3 @@
EXTRA_DIST = vnc.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
@ -7,10 +5,12 @@ AM_CPPFLAGS = \
-DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \
-I$(top_srcdir)/common -I$(top_srcdir)/common
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libvnc.la libvnc.la
libvnc_la_SOURCES = vnc.c libvnc_la_SOURCES = \
vnc.c \
vnc.h
libvnc_la_LIBADD = \ libvnc_la_LIBADD = \
$(top_builddir)/common/libcommon.la $(top_builddir)/common/libcommon.la

@ -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

1
xorg/.gitignore vendored

@ -0,0 +1 @@
!Makefile

@ -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;
} }

@ -1,5 +1,4 @@
EXTRA_DIST = xrdp.ini ad24b.bmp ad256.bmp xrdp24b.bmp xrdp256.bmp xrdp_logo.bmp sans-10.fv1 cursor0.cur cursor1.cur xrdp.h xrdp_types.h \ EXTRA_DIST = $(xrdpsysconf_DATA) $(xrdppkgdata_DATA)
xrdp_encoder.h xrdp_keyboard.ini
EXTRA_INCLUDES = EXTRA_INCLUDES =
EXTRA_LIBS = EXTRA_LIBS =
@ -22,7 +21,7 @@ AM_CPPFLAGS = \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
-DXRDP_SHARE_PATH=\"${datadir}/xrdp\" \ -DXRDP_SHARE_PATH=\"${datadir}/xrdp\" \
-DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \
-DXRDP_LIB_PATH=\"${libdir}\" \ -DXRDP_MODULE_PATH=\"${moduledir}\" \
$(EXTRA_DEFINES) \ $(EXTRA_DEFINES) \
-I$(top_builddir) \ -I$(top_builddir) \
-I$(top_srcdir)/common \ -I$(top_srcdir)/common \
@ -35,9 +34,12 @@ sbin_PROGRAMS = \
xrdp_SOURCES = \ xrdp_SOURCES = \
funcs.c \ funcs.c \
lang.c \ lang.c \
xrdp_bitmap.c \
xrdp.c \ xrdp.c \
xrdp.h \
xrdp_bitmap.c \
xrdp_cache.c \ xrdp_cache.c \
xrdp_encoder.c \
xrdp_encoder.h \
xrdp_font.c \ xrdp_font.c \
xrdp_listen.c \ xrdp_listen.c \
xrdp_login_wnd.c \ xrdp_login_wnd.c \
@ -45,8 +47,8 @@ xrdp_SOURCES = \
xrdp_painter.c \ xrdp_painter.c \
xrdp_process.c \ xrdp_process.c \
xrdp_region.c \ xrdp_region.c \
xrdp_wm.c \ xrdp_types.h \
xrdp_encoder.c xrdp_wm.c
xrdp_LDADD = \ xrdp_LDADD = \
$(top_builddir)/common/libcommon.la \ $(top_builddir)/common/libcommon.la \

@ -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

@ -357,7 +357,7 @@ xrdp_mm_setup_mod1(struct xrdp_mm *self)
if (self->mod_handle == 0) if (self->mod_handle == 0)
{ {
g_snprintf(text, 255, "%s/%s", XRDP_LIB_PATH, lib); g_snprintf(text, 255, "%s/%s", XRDP_MODULE_PATH, lib);
/* Let the main thread load the lib,*/ /* Let the main thread load the lib,*/
self->mod_handle = g_xrdp_sync(xrdp_mm_sync_load, (tintptr)text, 0); self->mod_handle = g_xrdp_sync(xrdp_mm_sync_load, (tintptr)text, 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;

@ -1,5 +1,3 @@
EXTRA_DIST = xrdpapi.h
EXTRA_DEFINES = EXTRA_DEFINES =
EXTRA_INCLUDES = EXTRA_INCLUDES =
EXTRA_LIBS = EXTRA_LIBS =
@ -9,11 +7,12 @@ AM_CPPFLAGS = \
$(EXTRA_DEFINES) \ $(EXTRA_DEFINES) \
$(EXTRA_INCLUDES) $(EXTRA_INCLUDES)
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libxrdpapi.la libxrdpapi.la
libxrdpapi_la_SOURCES = \ libxrdpapi_la_SOURCES = \
xrdpapi.c xrdpapi.c \
xrdpapi.h
libxrdpapi_la_LDFLAGS = \ libxrdpapi_la_LDFLAGS = \
$(EXTRA_FLAGS) $(EXTRA_FLAGS)

@ -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;
} }

@ -1,5 +1,3 @@
EXTRA_DIST = xrdpvr.h
EXTRA_DEFINES = EXTRA_DEFINES =
EXTRA_INCLUDES = EXTRA_INCLUDES =
EXTRA_LIBS = EXTRA_LIBS =
@ -9,11 +7,12 @@ AM_CPPFLAGS = \
$(EXTRA_DEFINES) \ $(EXTRA_DEFINES) \
$(EXTRA_INCLUDES) $(EXTRA_INCLUDES)
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libxrdpvr.la libxrdpvr.la
libxrdpvr_la_SOURCES = \ libxrdpvr_la_SOURCES = \
xrdpvr.c xrdpvr.c \
xrdpvr.h
libxrdpvr_la_LDFLAGS = \ libxrdpvr_la_LDFLAGS = \
$(EXTRA_FLAGS) $(EXTRA_FLAGS)

@ -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;
} }

@ -1,5 +1,3 @@
EXTRA_DIST = xup.h
AM_CPPFLAGS = \ AM_CPPFLAGS = \
-DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \ -DXRDP_CFG_PATH=\"${sysconfdir}/xrdp\" \
-DXRDP_SBIN_PATH=\"${sbindir}\" \ -DXRDP_SBIN_PATH=\"${sbindir}\" \
@ -7,10 +5,12 @@ AM_CPPFLAGS = \
-DXRDP_PID_PATH=\"${localstatedir}/run\" \ -DXRDP_PID_PATH=\"${localstatedir}/run\" \
-I$(top_srcdir)/common -I$(top_srcdir)/common
lib_LTLIBRARIES = \ module_LTLIBRARIES = \
libxup.la libxup.la
libxup_la_SOURCES = xup.c libxup_la_SOURCES = \
xup.c \
xup.h
libxup_la_LIBADD = \ libxup_la_LIBADD = \
$(top_builddir)/common/libcommon.la $(top_builddir)/common/libcommon.la

Loading…
Cancel
Save