Commit Graph

174 Commits

Author SHA1 Message Date
Pavel Roskin
d97155e2f6 Don't use colon to separate IPv6 address from the port
IPv6 addresses can have colons in their names, so the final colon can be
confusing.
2016-12-09 08:42:56 -08:00
Jay Sorg
9a517b34f0 vnc: code cleanup 2016-12-04 15:39:10 -08:00
Koichiro IWAO
849a8075c5 common: If IPv6 not supported, fall back to IPv4
The system to run xrdp does not necessarily support IPv6 even though
it is compiled with IPv6.

Fixes #432.
2016-11-22 16:40:54 +09:00
Itamar Reis Peixoto
7cc1dd2ba8 Merge pull request #460 from metalefty/ipv6/logs
common: Fix client IP address logging when IPv6 is enabled
2016-11-20 16:00:26 -02:00
Pavel Roskin
2dcc69b752 Use g_get_strerror() instead of strerror(errno) for portability 2016-11-08 14:08:51 -08:00
Koichiro IWAO
dcf36b592b common: Address family it not always AF_INET6
even if XRDP_ENABLE_IPV6 defined.
2016-11-04 17:31:36 +09:00
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.
2016-11-04 17:31:36 +09:00
Pavel Roskin
6fef1e4eb5 Use const pointers in function arguments when possible 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
7d03d1a3e9 Fix outgoing connections on Mac OSX
connect() on an already established connection returns error with errno
set to EISCONN. Treat it as success.
2016-09-08 22:28:38 -07:00
Pavel Roskin
5465b8c85e Add socklen_t check with substitution, use socklen_t as needed 2016-09-08 20:26:19 -07:00
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.
2016-09-08 20:26:19 -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
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
d1efb0d5ba Fix signed to unsigned comparisons reported by g++ 6.1.0 2016-07-08 04:29:51 +00:00
Pavel Roskin
aeeb3d2c2e Fix warnings detected by -Wwrite-strings 2016-07-08 04:29:42 +00:00
Pavel Roskin
77b380c0b5 Fix format warnings in log_message() calls 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
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
Jay Sorg
bd6c38af4d common: fix warnings 2016-04-02 16:49:23 -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
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
Pavel Roskin
92a6833e9b Fix typos 2016-02-13 20:41:07 -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
964e860072 Run through codespell 2016-01-14 08:47:50 -08: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
5c08ece708 common: add g_mirror_memcpy 2015-08-18 17:14:09 -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
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
6b0bbbeefa common: merge from a8 2014-11-07 22:10:59 -08: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
a990287c46 coverity: fixed unchecked return value from library 2014-07-20 13:14:09 -07:00
Jay Sorg
1934c9ea00 sesman: more options for session lookup from Fredy Paquet 2014-04-20 00:42:19 -07:00
Jay Sorg
aa983d2b46 common: fix for clearing environment vars in BSD 2014-04-17 21:40:30 -07:00
Jay Sorg
43e388b7e5 remove some warning, move gethostname to os_calls 2014-02-08 21:48:44 -08:00
Jay Sorg
4e6d57dbe5 common: some notes and compile fixes 2014-02-08 18:05:52 -08:00
Jay Sorg
48228cae2e common: added shm to os_calls 2014-01-28 10:38:36 -08:00
Jay Sorg
25369460a1 log client ip with pid, etc 2013-10-02 16:27:12 -07:00
Jay Sorg
7176f14647 added options to set tcp send and recv buffer sizes 2013-10-02 12:52:35 -07:00
Jay Sorg
b598e258a4 add pid logging 2013-10-01 22:42:12 -07:00
Laxmikant Rashinkar
ece8f1fb47 gracefully handle segfaults in chansrv code 2013-09-03 19:44:20 -07:00
Jay Sorg
1a616a1b46 move text2bool to os_calls 2013-08-24 22:41:44 -07:00
Jay Sorg
cd0a8721d1 disable ipv6 for now 2013-05-06 17:45:30 -07:00