Commit Graph

479 Commits

Author SHA1 Message Date
Jay Sorg
8f747e37ca always set SSL_OP_NO_SSLv2 in TLS options 2016-08-25 11:38:03 -07:00
Alex Illsley
47124df4ed new options for xrdp.ini disableSSlv3=yes and tls_ciphers=HIGH and code to implement 2016-08-25 11:20:47 -07:00
Koichiro IWAO
ceb4b7b2a4 Fix clipboard when text/filename contains non-ASCII characters
broken by #314. This is compatible with the fix introduced in #314.

To use non-ASCII text/filename in clipboard, chansrv needs to be run
with LC_CTYPE=*.UTF-8 because the behaviour of mbstowcs(3) function
called in chansrv depends on LC_CTYPE[1].  However #314 made
LC_CTYPE=C in chansrv context.  Even if LANG and LC_* are set in
.bashrc, /etc/profile, /etc/locale.conf or something like that,
it doesn't affect in chansrv context because chansrv doesn't source
any of them unlike sesman.

So do not set LC_CTYPE to blank or "C" in g_init() in order to get
g_mbstowcs and g_wcstombs to work properly with non-ASCII UTF-8
characters in any context.

Setting LC_CTYPE to *.UTF-8 doesn't obstruct applying system
language in RHEL [2].

[1] Linux man page says:
      The behavior of mbstowcs() depends on the LC_CTYPE category of
      the current locale.

[2] https://bugzilla.redhat.com/show_bug.cgi?id=1290820
2016-08-18 13:27:55 +09:00
Jay Sorg
f4f23b0a7d Include stdint.h, don't redefine MAX/MIN constants if already defined 2016-08-12 12:16:14 -07:00
Jay Sorg
d35e57b117 Pixman fixes 2016-08-11 22:18:26 -07:00
Jay Sorg
bb7bac2d9b add region intersect 2016-08-08 23:12:52 -07:00
Jay Sorg
58c777783b add more advances region support using pixman 2016-08-08 20:02:10 -07:00
jsorg71
8353baab3d Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
2016-08-05 14:38:41 -07:00
speidy
c9b55e3691 sesman: env_set_user, fix potential bof issues 2016-07-22 04:48:37 -04:00
Pavel Roskin
ace7d2c822 Declare unified module interface and use it in modules
This fixes loading modules compiled with a C++ compiler. Remote thandle
type, it's unused. Use tintptr for module data. Don't cast pointers to
long, they won't fit on Win64.
2016-07-08 05:09:09 +00:00
Pavel Roskin
2c13ef5c6d Use enum logLevels consistently for log levels 2016-07-08 04:29:57 +00:00
Pavel Roskin
0c72ee2371 Use char* for TLS send and receive
This is consistent with ssl_tls_read() and ssl_tls_write(). C++ warnings
are fixed without adding any casts.
2016-07-08 04:29:56 +00:00
Pavel Roskin
28a1a090b3 Use correct types for ssl and ctx fields in struct ssl_tls 2016-07-08 04:29:53 +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
a24df49241 Introduce glib style macros for allocating memory with type 2016-07-08 04:29:49 +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
77b380c0b5 Fix format warnings in log_message() calls 2016-06-21 16:30:16 -07:00
Pavel Roskin
b1527b7947 Check string format in log_message
Move "printflike" definition to arch.h, it's used both by log.h and
os_calls.h.
2016-06-21 16:30:16 -07:00
Pavel Roskin
ae5bb5bf9c Fix incorrect use of "it's" and "its", adjust wording 2016-06-21 16:30:15 -07:00
speidy
b38dcf1bb0 xrdp_wm: fix for multimon, draw login window and log window on primary
monitor
2016-05-17 20:11:49 -04:00
Itamar Reis Peixoto
0a6a55b547 Merge pull request #370 from proski/typos
Typo fixes and more
2016-05-06 09:05:38 -04:00
jsorg71
8249091183 Merge pull request #332 from metalefty/freebsd/ipv6
common: add log for g_tcp_connect
2016-05-05 22:00:51 -07:00
Pavel Roskin
c3f6e1f58a Use uniform comments for GUIDs 2016-05-05 00:06:26 -07:00
Pavel Roskin
ca9cbcafc8 Typo fixes 2016-05-04 23:33:30 -07:00
jsorg71
fdb146740f Merge pull request #360 from proski/format-warnings
Warning fixes
2016-05-03 00:52:58 -07:00
Jay Sorg
fac0907a3c trans: set non blocking socket after accept 2016-04-27 18:16:45 -07:00
Pavel Roskin
f93074a430 Add unnamed semaphore support on Mac OS
sem_init() is not functional on Mac OS. Use the Grand Central Dispatch
implementation.

Make libscp_lock.c use semaphores through the thread_calls wrapper.
2016-04-23 00:26:46 -07:00
Pavel Roskin
e65bd6b7d7 Fix more format warnings 2016-04-21 21:21:17 -07:00
Pavel Roskin
55e12a09d8 Include config_ac.h from common/os_calls.h to enable all format warnings 2016-04-21 21:20:12 -07:00
Jay Sorg
0655272b9c common: call recv/send before can_recv/can_send 2016-04-06 16:37:34 -07:00
Jay Sorg
bd6c38af4d common: fix warnings 2016-04-02 16:49:23 -07:00
jsorg71
034ee36f9c Merge pull request #341 from proski/sanity-checks
Sanity checks
2016-03-16 20:51:58 -07:00
Jay Sorg
689ffe79d9 fix warnings, move some calls to os_calls 2016-03-16 14:32:14 -07:00
Jay Sorg
7393579205 Don't attempt to intercept SIGKILL, it doesn't work on any OS 2016-03-14 16:33:49 -07:00
Pavel Roskin
9091c3eef2 Annotate printf-like functions if supported by the compiler
Both GCC and Clang support it. Add a macro from Autoconf archive to check
for format attribute support.
2016-03-03 22:56:09 -08:00
Koichiro IWAO
9460bdb643 common: no logic change, indent 2 -> 4 2016-02-23 18:26:42 +09:00
Koichiro IWAO
d01854a341 common: no logic change, fix alignment, whitespaces 2016-02-23 18:26:41 +09:00
Koichiro IWAO
1ed7dbec53 common: add log for g_tcp_connect
in case getaddrinfo(3) might fail.

In FreeBSD, AI_V4MAPPED support for getaddrinfo(3) was very recently
implemented[1].  Most of FreeBSD systems in the world do not have
this implementation yet.  This will be a problem when AI_V4MAPPED
isn't supported and xrdp is built with IPv6 option.  In such a case,
g_tcp_connect always fails.

Of course getaddrinfo(3) might fail in other cases.  The log helps
us to know what's happening.

[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198092
2016-02-23 18:18:28 +09:00
Jay Sorg
f100036cd9 common: minor fix for older openssl keygen 2016-02-22 11:48:54 -08:00
Jay Sorg
3bc9f1e275 Merge branch 'devel' of git:neutrinolabs/xrdp into devel 2016-02-22 11:40:28 -08:00
Jay Sorg
0d192aee62 common: fix for key generated smaller than asked for 2016-02-22 11:38:03 -08:00
Pavel Roskin
59a5fb0ddb Move headers from EXTRA_DIST to sources, sort alphabetically
There should be no functional difference.
2016-02-21 23:06:48 -08:00
Pavel Roskin
92a6833e9b Fix typos 2016-02-13 20:41:07 -08:00
Pavel Roskin
dcab7552db Stop redefining libdir, use moduledir for ${libdir}/xrdp
libdir is for shared and static libraries. Some xrdp libraries are loaded
dynamically from a non-standard directory, so they are used like modules.

Having separate libdir and moduledir would eventually allow to separate
dynamically loaded modules from shared libraries.
2016-02-12 23:52:46 -08:00
Jay Sorg
425bd945a5 common: updates for file.c 2016-02-09 18:29:52 -08:00
jsorg71
f7742eddec Merge pull request #273 from gschwind/devel
fix wrong handle of commented section in configuration file.
2016-02-08 16:49:39 -08:00
Itamar Reis Peixoto
08121e0840 Merge pull request #254 from metalefty/freebsd/ipv6
Unbreak IPv6 on FreeBSD and add IPv6-only option
2016-02-08 22:40:05 -02:00
Pavel Roskin
02c981e796 More spelling fixes found by codespell and aspell 2016-01-30 17:39:25 -08:00
Pavel Roskin
a452d8d36a Merge AM_CFLAGS and INCLUDES info AM_CPPFLAGS
AM_CPPFLAGS is for flags passed to the preprocessor, such as defines and
includes. AM_CFLAGS is for flags affecting the compiler, such as debug
and optimization settings.

INCLUDES is an obsolete name. Users can pass INCLUDES and break
compilation. AM_CPPFLAGS is more explicit that the flags come from
Automake and should not be overridden.
2016-01-29 22:45:00 -08:00
Pavel Roskin
964e860072 Run through codespell 2016-01-14 08:47:50 -08:00
Jay Sorg
2893fefc91 common: check for term in force send and recv 2016-01-11 18:06:29 -08:00
Jay Sorg
4f128c530c no logic change, remove trailing space 2015-12-11 20:37:43 -08:00
Jay Sorg
e1c7aa377f common: fix possible deadlock in trans 2015-11-02 17:57:11 -08:00
Jay Sorg
fd793bd213 rename g_tcp_can_recv to g_sck_can_recv 2015-10-07 22:17:12 -07:00
Jay Sorg
ab3b8edf4a common: change wait objs to use 'pipe' and remove per process temp directories in /tmp/.xrdp/ 2015-10-06 20:55:47 -07:00
Jay Sorg
89f449aa01 common: set log file fd to close on exec 2015-09-27 01:25:07 -07:00
Jay Sorg
7695f3d87b common: fix logic for internal_log_end 2015-09-27 01:24:14 -07:00
Benoit Gschwind
c9762fa3a7 fix wrong handle of commented section in configuration file.
- fix parssing of commented section like the line:
  #[section_name]
 or
  ![section_name]
- add few comments
- improve redability
2015-08-19 23:02:50 +02:00
Jay Sorg
4430119d40 common: remove d3des files 2015-08-18 21:19:43 -07:00
Jay Sorg
6384bae1e7 common: changes to trans for timeout 2015-08-18 21:10:23 -07:00
Jay Sorg
5c08ece708 common: add g_mirror_memcpy 2015-08-18 17:14:09 -07:00
itamarjp
960cc62a0e add missing files into extra_dist,
this is required when using make dist to generate a tarball
2015-07-14 11:35:33 -03:00
Jay Sorg
6c23b85593 add timeout to trans_get_wait_objs_rw 2015-07-13 01:10:48 -07:00
Jay Sorg
136e072513 fix problem caused by b56aa98 for tls connections 2015-07-12 01:38:30 -07:00
Jay Sorg
b56aa9832e work on main loop changes 2015-07-05 23:14:46 -07:00
Koichiro IWAO
536ee41c5e common: add --enable-ipv6only option 2015-07-02 15:08:56 +09:00
Koichiro IWAO
5bc0453605 common: drop ipv6 autodetection only valid for linux 2015-07-02 15:08:55 +09:00
Koichiro IWAO
cd6ab20e94 common: shut up some messages in ssl_tls_print_error
SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE are not fatal error but just
indicate SSL_read, SSL_write, SSL_accept functions to repeat.
2015-06-12 13:03:07 +09:00
Koichiro IWAO
2a2b8bcd59 common: fix #248 TLS on FreeBSD
According to document[1][2][3], retry when SSL_get_error returns
SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE.

[1] https://www.openssl.org/docs/ssl/SSL_read.html
[2] https://www.openssl.org/docs/ssl/SSL_write.html
[3] https://www.openssl.org/docs/ssl/SSL_accept.html
2015-06-11 21:45:57 +09:00
Jay Sorg
33167a7c74 add frame acks and h264 codec mode basics 2015-03-28 18:34:25 -07:00
Koichiro IWAO
1f844b2d0e common: workaround for #146 2015-03-18 08:46:23 +00:00
Koichiro IWAO
278e957dd7 common: add experimental --enable-ipv6 option 2015-03-10 14:05:13 +09:00
Jay Sorg
ef20d9d507 add keyboard options to xrdp_client_info 2015-02-05 22:04:39 -08:00
speidy
86005c5bcc ssl_calls: fix to read certificate chains 2014-12-10 00:04:38 +02:00
Jay Sorg
d9d746ce5c common: avoid possible SSL_shutdown crash 2014-12-02 10:52:03 -08:00
Jay Sorg
cc0406dddf common: move tls calls to ssl_calls 2014-11-25 18:55:37 -08:00
Jay Sorg
5a8bf87c7f common: tls, fix for pending reads 2014-11-21 20:49:01 -08:00
Jay Sorg
6b0bbbeefa common: merge from a8 2014-11-07 22:10:59 -08:00
Jay Sorg
c0ce0821ec common: no logic change, remove spaces 2014-08-27 11:15:31 -07:00
speidy
4015f526db work on tls mode 2014-08-22 09:13:33 +03:00
Jay Sorg
75874b3f7a common: some minor changes to arch.h 2014-08-12 20:01:33 -07:00
Koichiro IWAO
dd979731c4 common: fix check for big endian arches
Fix for: https://bugzilla.redhat.com/show_bug.cgi?id=905411
2014-08-12 18:04:26 +09:00
Jay Sorg
8397055e8b move some hard code paths to defines in header 2014-08-06 13:21:01 -07:00
Jay Sorg
386512c0ed common: fix some warning for TLS 2014-07-31 16:46:58 -07:00
Jay Sorg
b30b74b3b3 added keyboard info to xrdp_client_info.h 2014-07-31 15:34:05 -07:00
Jay Sorg
f49ca27ea7 common: fix for list16_insert_item 2014-07-28 00:17:42 -07:00
Laxmikant Rashinkar
0311a82c0a coverity: copy into fixed sized buffer 2014-07-27 12:42:12 -07:00
Laxmikant Rashinkar
1c423dadf4 coverity: copy into fixed sized buffer 2014-07-26 16:33:36 -07:00
Laxmikant Rashinkar
56e43c4a38 Merge branch 'devel' of github.com:NeutrinoLabs/xrdp into devel 2014-07-26 13:33:44 -07:00
Laxmikant Rashinkar
27055d5762 coverity: improper use of negative value 2014-07-26 13:33:23 -07:00
speidy
0f9bd232d9 common: indent fix 2014-07-26 09:04:22 +03:00
Jay Sorg
2cb2de7277 common: log, g_ prefix for global 2014-07-25 22:42:07 -07:00
speidy
8e6b75b98f Merge branch 'devel' of https://github.com/neutrinolabs/xrdp into devel 2014-07-26 08:20:19 +03:00
Jay Sorg
57b0495bc7 common: indent, not logic change 2014-07-25 22:24:40 -07:00
speidy
be51fb739c common: xrdp_tls, indentation fix 2014-07-26 08:19:50 +03:00
speidy
c612683119 common: trans indentation fix 2014-07-26 08:14:19 +03:00
Jay Sorg
a73e66513d common: indent, not logic change 2014-07-25 21:45:29 -07:00
Jay Sorg
9e1e6d3c3e common: indent, not logic change 2014-07-25 21:37:59 -07:00