Commit Graph

646 Commits

Author SHA1 Message Date
metalefty
9deaa078fc Merge pull request #477 from proski/vnc-strerror
Improve error messages about VNC password file
2016-11-16 17:10:38 +09:00
metalefty
8516e6f97b Merge pull request #476 from proski/auth
Fix compile warnings for non-default authentication methods
2016-11-16 17:08:15 +09:00
metalefty
b89956d06e Merge pull request #485 from proski/code-standards
Code standards
2016-11-16 17:05:21 +09:00
metalefty
d335c93a75 Merge pull request #480 from proski/strncat
Fix potential buffer overflow in strncat() invocation
2016-11-16 17:02:33 +09:00
Pavel Roskin
35b336272b Fix compilation with C++ 2016-11-15 22:40:06 -08:00
Pavel Roskin
16c3bbdb8d Remove all tabs in sources 2016-11-15 22:40:06 -08:00
Pavel Roskin
e9d064e390 Don't try to create .vnc directory if it exists
Report system error if it cannot be created.
2016-11-15 22:39:22 -08:00
Pavel Roskin
60029514a6 Report system error if the VNC password file cannot be created 2016-11-15 22:39:22 -08:00
Pavel Roskin
e9a0324cb3 Fix compile warnings for non-default authentication methods
Include string.h for strcmp(). Don't define _XOPEN_SOURCE, it conflicts
with libc headers and hides putpwent(). Make input strings constant. Fix
functions to match their declarations.
2016-11-15 22:38:56 -08:00
Pavel Roskin
92423a466e Fix potential buffer overflow in strncat() invocation
strncat() will copy at most the specified number of characters and append
the null character on top of that. strlen() doesn't count the final null
character.
2016-11-15 22:38:21 -08:00
Pavel Roskin
0d72cced46 Omit numbers from the "param" keys, they are not needed
Users assume that they need to renumber the parameters. That makes
parameter editing more involved than it needs to be.
2016-11-15 20:55:03 -08:00
metalefty
94901c9989 Merge pull request #454 from metalefty/change-chansrv-log-path
chansrv: change chansrv log path to ${XDG_DATA_HOME}/xrdp
2016-11-07 09:56:31 +09:00
Dominik George
c90bc13d39
Move -logfile /dev/null option for easier commenting in debug scenarios. 2016-10-28 16:45:05 +02:00
Koichiro IWAO
7d017482f6 chansrv: change chansrv log path to ${XDG_DATA_HOME}/xrdp
like Xorg's logfile is written to ${XDG_DATA_HOME}/xorg/Xorg.n.log.

If XDG_DATA_HOME is not defined, the log path will be
${HOME}/.local/share/xrdp.
2016-10-25 14:52:43 +09:00
Pavel Roskin
b28a986071 Fix memory leak in xrdp-sesman on config reload 2016-10-21 20:15:50 +00:00
Pavel Roskin
dc60a80b86 Memory leak fix: keep X server path in the parameter list
g_cfg->xorg_params, g_cfg->vnc_params and g_cfg->rdp_params don't have
auto_free enabled, so removing an item from one of those lists won't free
its contents.

It's better not to change those lists, as they represent the actual
config file and could be reused. Instead, omit the 0th parameter (the
executable path) from copying to xserver_params.

Found by Valgrind.
2016-10-21 20:15:50 +00:00
Pavel Roskin
e17a56efb6 Call auth_end() exactly once in scp_v0_process()
As discovered by Valgrind, it wasn't called at all in case of a
successful session creation, which leaked memory.
2016-10-21 20:15:50 +00:00
Pavel Roskin
65ac8e758b Fix memory leak: free session data
Call scp_session_destroy() in the functions that call
scp_session_create() and nowhere else.

As found by Valgrind, the session data is not freed if the session is
created successfully.
2016-10-21 20:15:50 +00:00
Pavel Roskin
a370306f75 Get rid of EXTRA_LIBS, use variables with more specific names 2016-10-20 10:43:02 -07:00
Pavel Roskin
5c69f3cd57 Eliminate EXTRA_FLAGS, it's a poor name, use AM_LDFLAGS 2016-10-20 10:43:02 -07:00
Pavel Roskin
0422734fc7 Merge EXTRA_DEFINES and EXTRA_INCLUDES into AM_CPPFLAGS
AM_CPPFLAGS is a documented Automake variable for C preprocessor flags
that should not be overridden when compiling the package.

There is no need to have two additional variables that are ultimately
merged into AM_CPPFLAGS.

Their names are also confusing. EXTDA_DIST is a documented Automake
variable. Everything else that starts with "EXTRA" is not.
2016-10-20 10:43:02 -07:00
Pavel Roskin
6fef1e4eb5 Use const pointers in function arguments when possible 2016-10-17 08:54:07 -07:00
Pavel Roskin
c3b99de739 Fix wrong comments in sesman config printing code 2016-10-17 08:54:07 -07:00
Pavel Roskin
bf08892622 Fix incorrect description of auth_userpass() return value 2016-10-17 08:54:07 -07:00
Pavel Roskin
a618d4f757 Don't use final newline in log calls, it's already appended 2016-10-17 08:54:07 -07:00
Pavel Roskin
424cef464b Log malloc errors with LOG_LEVEL_ERROR 2016-10-17 08:38:22 -07:00
Pavel Roskin
945833a94f Don't close socket in scp_process_start(), the caller closes it 2016-09-08 20:26:19 -07:00
Pavel Roskin
f7c27f05cf g_term_event is a wait object, not TCP socket, delete it correctly 2016-09-08 20:26:19 -07:00
Pavel Roskin
931fb90832 sesrun: remove unused g_sck and write-only g_pid 2016-09-08 20:26:19 -07:00
Pavel Roskin
d605310bdc sesman: don't close listening socket in signal handler
It is closed when the main loop terminates.
2016-09-08 20:26:19 -07:00
Koichiro IWAO
9f277e4445 chansrv: pathname also should be URL decoded
because 1st argument to clipboard_get_file() is given as URL encoded.
Decoding only filename is incomplete.

Without this fix, clipboard file doesn't work in case pathname
contains non-ASCII characters or non-alphanumeric ASCII characters.
2016-08-30 15:49:58 +09:00
jsorg71
8353baab3d Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
2016-08-05 14:38:41 -07:00
jsorg71
81fe939dd3 Merge pull request #388 from metalefty/freebsd/fuse
sesman: Add /sbin to PATH for FreeBSD
2016-08-05 14:22:50 -07:00
speidy
f2addd346f Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into devel 2016-07-26 13:13:56 -04:00
speidy
c9b55e3691 sesman: env_set_user, fix potential bof issues 2016-07-22 04:48:37 -04:00
Kentaro Hayashi
8f3fb2f7c8 chansrv: avoid chansrv SEGV when xinode is NULL
When xfuse_create_file_in_xrdp_fs is failed, it returns NULL.

Without this fix, xinode->size causes SEGV, so implementation is changed
to return -1 and check the return value in caller.
2016-07-21 16:02:21 +09:00
Jay Sorg
9ccbfb6985 chansrv: added mp3 compression from Speidy 2016-07-13 17:44:07 -07:00
Pavel Roskin
2c13ef5c6d Use enum logLevels consistently for log levels 2016-07-08 04:29:57 +00:00
Pavel Roskin
cbe413bd8b Fix return type of devredir_fuse_data_peek and devredir_fuse_data_dequeue 2016-07-08 04:29:56 +00:00
Pavel Roskin
c5ca0332be Use cast when applying boolean OR to enum 2016-07-08 04:29:51 +00:00
Pavel Roskin
d1efb0d5ba Fix signed to unsigned comparisons reported by g++ 6.1.0 2016-07-08 04:29:51 +00:00
Pavel Roskin
5829323ad8 Use g_new or g_new0 when C++ compiler would complain about implicit cast 2016-07-08 04:29:49 +00:00
Pavel Roskin
bde4925f0e Cast appdata_ptr explicitly, needed for C++ compatibility 2016-07-08 04:29:47 +00:00
Pavel Roskin
4b05bb2ebd Mark g_drdynvc_chan_id as extern in g_drdynvc_chan_id, it's in chansrv.c 2016-07-08 04:29:44 +00:00
Pavel Roskin
aaa89ad4e6 Use const unsigned for hex arrays
Some constants are too big for the signed type.
2016-07-08 04:29:43 +00:00
Pavel Roskin
aeeb3d2c2e Fix warnings detected by -Wwrite-strings 2016-07-08 04:29:42 +00:00
Pavel Roskin
951e632757 Make program_name constant, don't duplicate or free it 2016-07-08 04:27:07 +00:00
Pavel Roskin
b00ca6e03d Remove commented out config_read_logging(), the code is long dead 2016-07-08 04:26:59 +00:00
Pavel Roskin
1ded8ec437 Remove unused string support in scp_session_set_addr()
Using the same argument for binary and text data is not a good idea. If
string support is ever needed, it should be a separate function.

Remove SCP_ADDRESS_TYPE_IPV4_BIN and SCP_ADDRESS_TYPE_IPV6_BIN, use
SCP_ADDRESS_TYPE_IPV4 and SCP_ADDRESS_TYPE_IPV6, which simplifies the
code.
2016-07-08 04:15:41 +00:00
Pavel Roskin
f908528a00 Downgrade "libscp initialized" to LOG_LEVEL_DEBUG, remove line number
It's a bad style to start the log with a cryptic warning.
2016-07-08 04:15:39 +00:00