Commit Graph

489 Commits (a7ec7237c47d89dbfdacb5f4c7ae6cfb3d8615fd)

Author SHA1 Message Date
Koichiro IWAO b2118450f4 common: Fix client IP address logging when IPv6 is enabled
g_tcp_accept() and g_sck_accept() should use sockadd_in6 when IPv6 is
enabled. The former code logs client IP address always "0.0.0.0" in such
case.

Fixes #412.
8 years ago
Pavel Roskin 4324084d58 Use static inline functions for OpenSSL 1.0 backport
Conditional preprocessor directives spread throughout the code set a bad
example.

The new backport code is located in one place. The compiler checks
argument types. The backport code has no access to the caller variables.
The main code has all advantages of the new, more compact API.
8 years ago
Dominik George e5cf45d1ac
Add backwards compatibility to OpenSSL < 1.1.0. 8 years ago
Dominik George 1b5fb8f1c8
Fix ssl_calls for OpenSSL 1.1.0, closes #458. 8 years ago
Pavel Roskin 6fef1e4eb5 Use const pointers in function arguments when possible 8 years ago
Pavel Roskin bc868b96b1 Remove text2bool() from log.h, there is no such function 8 years ago
Pavel Roskin a618d4f757 Don't use final newline in log calls, it's already appended 8 years ago
Pavel Roskin 7d03d1a3e9 Fix outgoing connections on Mac OSX
connect() on an already established connection returns error with errno
set to EISCONN. Treat it as success.
9 years ago
Pavel Roskin 5465b8c85e Add socklen_t check with substitution, use socklen_t as needed 9 years ago
Pavel Roskin 6f4ffa769c Improve debug information when closing a socket
Don't assume AF_INET family. Don't assume the socket is connected. Report
local address and port. Don't try to close non-sockets and invalid file
descriptors. Report errors getting socket information and closing the
socket. Use more appropriate log levels.
9 years ago
Jay Sorg 8f747e37ca always set SSL_OP_NO_SSLv2 in TLS options 9 years ago
Alex Illsley 47124df4ed new options for xrdp.ini disableSSlv3=yes and tls_ciphers=HIGH and code to implement 9 years ago
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
9 years ago
Jay Sorg f4f23b0a7d Include stdint.h, don't redefine MAX/MIN constants if already defined 9 years ago
Jay Sorg d35e57b117 Pixman fixes 9 years ago
Jay Sorg bb7bac2d9b add region intersect 9 years ago
Jay Sorg 58c777783b add more advances region support using pixman 9 years ago
jsorg71 8353baab3d Merge pull request #390 from proski/june21
Cleanups and C++ compatibility
9 years ago
speidy c9b55e3691 sesman: env_set_user, fix potential bof issues 9 years ago
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.
9 years ago
Pavel Roskin 2c13ef5c6d Use enum logLevels consistently for log levels 9 years ago
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.
9 years ago
Pavel Roskin 28a1a090b3 Use correct types for ssl and ctx fields in struct ssl_tls 9 years ago
Pavel Roskin d1efb0d5ba Fix signed to unsigned comparisons reported by g++ 6.1.0 9 years ago
Pavel Roskin 5829323ad8 Use g_new or g_new0 when C++ compiler would complain about implicit cast 9 years ago
Pavel Roskin a24df49241 Introduce glib style macros for allocating memory with type 9 years ago
Pavel Roskin aeeb3d2c2e Fix warnings detected by -Wwrite-strings 9 years ago
Pavel Roskin 951e632757 Make program_name constant, don't duplicate or free it 9 years ago
Pavel Roskin 77b380c0b5 Fix format warnings in log_message() calls 9 years ago
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.
9 years ago
Pavel Roskin ae5bb5bf9c Fix incorrect use of "it's" and "its", adjust wording 9 years ago
speidy b38dcf1bb0 xrdp_wm: fix for multimon, draw login window and log window on primary
monitor
9 years ago
Itamar Reis Peixoto 0a6a55b547 Merge pull request #370 from proski/typos
Typo fixes and more
9 years ago
jsorg71 8249091183 Merge pull request #332 from metalefty/freebsd/ipv6
common: add log for g_tcp_connect
9 years ago
Pavel Roskin c3f6e1f58a Use uniform comments for GUIDs 9 years ago
Pavel Roskin ca9cbcafc8 Typo fixes 9 years ago
jsorg71 fdb146740f Merge pull request #360 from proski/format-warnings
Warning fixes
9 years ago
Jay Sorg fac0907a3c trans: set non blocking socket after accept 9 years ago
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.
9 years ago
Pavel Roskin e65bd6b7d7 Fix more format warnings 9 years ago
Pavel Roskin 55e12a09d8 Include config_ac.h from common/os_calls.h to enable all format warnings 9 years ago
Jay Sorg 0655272b9c common: call recv/send before can_recv/can_send 9 years ago
Jay Sorg bd6c38af4d common: fix warnings 9 years ago
jsorg71 034ee36f9c Merge pull request #341 from proski/sanity-checks
Sanity checks
9 years ago
Jay Sorg 689ffe79d9 fix warnings, move some calls to os_calls 9 years ago
Jay Sorg 7393579205 Don't attempt to intercept SIGKILL, it doesn't work on any OS 9 years ago
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.
9 years ago
Koichiro IWAO 9460bdb643 common: no logic change, indent 2 -> 4 9 years ago
Koichiro IWAO d01854a341 common: no logic change, fix alignment, whitespaces 9 years ago
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
9 years ago
Jay Sorg f100036cd9 common: minor fix for older openssl keygen 9 years ago
Jay Sorg 3bc9f1e275 Merge branch 'devel' of git:neutrinolabs/xrdp into devel 9 years ago
Jay Sorg 0d192aee62 common: fix for key generated smaller than asked for 9 years ago
Pavel Roskin 59a5fb0ddb Move headers from EXTRA_DIST to sources, sort alphabetically
There should be no functional difference.
9 years ago
Pavel Roskin 92a6833e9b Fix typos 9 years ago
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.
9 years ago
Jay Sorg 425bd945a5 common: updates for file.c 9 years ago
jsorg71 f7742eddec Merge pull request #273 from gschwind/devel
fix wrong handle of commented section in configuration file.
9 years ago
Itamar Reis Peixoto 08121e0840 Merge pull request #254 from metalefty/freebsd/ipv6
Unbreak IPv6 on FreeBSD and add IPv6-only option
9 years ago
Pavel Roskin 02c981e796 More spelling fixes found by codespell and aspell 9 years ago
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.
9 years ago
Pavel Roskin 964e860072 Run through codespell 9 years ago
Jay Sorg 2893fefc91 common: check for term in force send and recv 9 years ago
Jay Sorg 4f128c530c no logic change, remove trailing space 9 years ago
Jay Sorg e1c7aa377f common: fix possible deadlock in trans 9 years ago
Jay Sorg fd793bd213 rename g_tcp_can_recv to g_sck_can_recv 10 years ago
Jay Sorg ab3b8edf4a common: change wait objs to use 'pipe' and remove per process temp directories in /tmp/.xrdp/ 10 years ago
Jay Sorg 89f449aa01 common: set log file fd to close on exec 10 years ago
Jay Sorg 7695f3d87b common: fix logic for internal_log_end 10 years ago
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
10 years ago
Jay Sorg 4430119d40 common: remove d3des files 10 years ago
Jay Sorg 6384bae1e7 common: changes to trans for timeout 10 years ago
Jay Sorg 5c08ece708 common: add g_mirror_memcpy 10 years ago
itamarjp 960cc62a0e add missing files into extra_dist,
this is required when using make dist to generate a tarball
10 years ago
Jay Sorg 6c23b85593 add timeout to trans_get_wait_objs_rw 10 years ago
Jay Sorg 136e072513 fix problem caused by b56aa98 for tls connections 10 years ago
Jay Sorg b56aa9832e work on main loop changes 10 years ago
Koichiro IWAO 536ee41c5e common: add --enable-ipv6only option 10 years ago
Koichiro IWAO 5bc0453605 common: drop ipv6 autodetection only valid for linux 10 years ago
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.
10 years ago
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
10 years ago
Jay Sorg 33167a7c74 add frame acks and h264 codec mode basics 10 years ago
Koichiro IWAO 1f844b2d0e common: workaround for #146 10 years ago
Koichiro IWAO 278e957dd7 common: add experimental --enable-ipv6 option 10 years ago
Jay Sorg ef20d9d507 add keyboard options to xrdp_client_info 10 years ago
speidy 86005c5bcc ssl_calls: fix to read certificate chains 10 years ago
Jay Sorg d9d746ce5c common: avoid possible SSL_shutdown crash 10 years ago
Jay Sorg cc0406dddf common: move tls calls to ssl_calls 10 years ago
Jay Sorg 5a8bf87c7f common: tls, fix for pending reads 10 years ago
Jay Sorg 6b0bbbeefa common: merge from a8 10 years ago
Jay Sorg c0ce0821ec common: no logic change, remove spaces 11 years ago
speidy 4015f526db work on tls mode 11 years ago
Jay Sorg 75874b3f7a common: some minor changes to arch.h 11 years ago
Koichiro IWAO dd979731c4 common: fix check for big endian arches
Fix for: https://bugzilla.redhat.com/show_bug.cgi?id=905411
11 years ago
Jay Sorg 8397055e8b move some hard code paths to defines in header 11 years ago
Jay Sorg 386512c0ed common: fix some warning for TLS 11 years ago
Jay Sorg b30b74b3b3 added keyboard info to xrdp_client_info.h 11 years ago
Jay Sorg f49ca27ea7 common: fix for list16_insert_item 11 years ago
Laxmikant Rashinkar 0311a82c0a coverity: copy into fixed sized buffer 11 years ago
Laxmikant Rashinkar 1c423dadf4 coverity: copy into fixed sized buffer 11 years ago