Commit Graph

175 Commits

Author SHA1 Message Date
mirabilos
6257bae23f Add GNU/kFreeBSD support (#645)
* GNU/kFreeBSD is a FreeBSD variant, for code purposes.

* GNU/kFreeBSD uses GNU/Linux-ish init scripts, however.
2017-01-26 23:02:41 -02:00
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