matt335672
ce23c824ea
Merge pull request #1976 from matt335672/fail2ban_support
...
Fail2ban support (#1076 )
2021-11-18 10:11:12 +00:00
matt335672
50e37bf673
Add more file info functions
...
- g_file_get_device_number()
- g_file_get_inode_num()
2021-10-25 15:24:27 +01:00
matt335672
5fb621ca53
Logged IP address for fail2ban on login failure
2021-10-25 11:35:35 +01:00
matt335672
60016c1f75
Rename client_ip to connection_description
2021-10-25 11:35:35 +01:00
Alexandre Quesnel
f5e4b53b11
Add logging to g_exec*() functions
2021-04-14 04:41:53 +00:00
Alexandre Quesnel
2ab3b97ba0
Migrating logging to LOG() and LOG_DEVEL() in common/*
2021-03-14 23:33:31 +00:00
Alexandre Quesnel
bb9d3079c0
Fixing formatting with astyle in common/*
2021-03-14 23:33:31 +00:00
matt335672
0a1a8f40e5
Moved a lot of string funcs to string_calls module
2020-12-22 11:57:24 +00:00
matt335672
5523847540
Allow FuseMountName for chansrv to be absolute path
2020-12-21 12:36:31 +00:00
Bolke de Bruin
a6a0e5e004
Allow domain name to be concatenated to username
...
If a server is multihomed (i.e. mutiple domains) the
users are identified by their domain name. This change
allows to concat the domain name to the username with
a specific separator.
2020-08-30 21:56:16 +02:00
matt335672
27653f97f2
Code changes for cppcheck 2.1 warnings
2020-06-19 11:07:23 +01:00
Koichiro IWAO
e8c845e78b
common: switch _exit to exit
...
mentioned in #1472 .
2020-01-08 09:21:39 +09:00
Koichiro IWAO
e928d8baf2
common: flush stream in g_deinit()
...
unless flushing stream before exitting, `xrdp --version | cat` will
show empty output.
Fixes #1471 .
2020-01-07 19:24:17 +09:00
Jay Sorg
ee65ccb31d
use address for tcp:// and tcp6:// and vsock://
2019-07-01 17:56:50 -07:00
Jay Sorg
0bc7803eaa
add TCP V4 and V6 only socket functions
2019-06-29 23:59:18 -07:00
Justin Terry (VM)
d7d14d7462
Implements the accept/close logic for vsock
2017-11-17 20:23:20 -08:00
Jay Sorg
285465a1f5
common, return -1 for bad socket
2017-11-07 18:20:45 -08:00
Jay Sorg
c6c513b23c
use g_memcpy, braces
2017-11-07 18:20:45 -08:00
Jay Sorg
26507644e3
vsock, move some defines
2017-11-07 18:20:45 -08:00
Justin Terry (VM)
50bd624cc4
Implements XRDP over vsock
...
1. Implements the ability to use AV_VSOCK for the transport rather than TCP.
2. Updates the ini file to be able to conditionally turn this feature on.
2017-11-07 18:20:45 -08:00
Koichiro IWAO
00bf62bd42
common: prevent raw use of snprintf
2017-10-03 21:55:08 +09:00
Koichiro IWAO
f9ab4df7f2
common: fix g_write_ip_address() didn't return correct IP address
...
Fixes : #878 .
2017-09-26 10:54:08 +09:00
Ian Geiser
324a334315
append a / to ensure the full path is created even when the config variable lacks a trailing /
2017-07-19 10:35:37 +09:00
Koichiro IWAO
aa0721a90e
common: fix more glitches in IPv4 initialization
2017-07-14 21:21:15 +09:00
Ian Geiser
4b87548b71
Use g_create_path instead of g_create_dir
...
Rename g_mk_temp_dir to g_mk_socket_path
2017-07-14 20:52:38 +09:00
Koichiro IWAO
8d5010a202
common: use log_message
2017-07-13 13:41:26 +09:00
Koichiro IWAO
8c74fcb80c
common: fix a glitch with IPv4 struct initialization
...
Pointed out by: andrecbarros
Closes : #803
2017-07-10 11:58:10 +09:00
Koichiro IWAO
088bd2d811
common: implement g_file_readable for WIN32
2017-06-12 16:57:04 +09:00
Koichiro IWAO
65c1fe87d7
Log user-friendly message when certificate/privkey is inaccessible
...
We shouldn't assume that xrdp daemon is running under root privilege.
In many cases, root privilege is not really needed for xrdp daemon.
xrdp may fail to load certificate/privkey due to lack of permissions
when running under user privilege. Checking existence of files is not
enough and xrdp should output user-friendly log in such case.
Reported by Debian user in bug 856436 [1].
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=856436
2017-06-12 16:57:04 +09:00
MichaelSweden
5c668dc420
Removed error message while falling back to IPv4 (issue #714 )
2017-04-25 09:31:22 +09:00
MichaelSweden
106ae2cd43
Fix to handle OS disabled IPv6, issue #714 .
...
- Changes made only in the os_calls.c file.
- Exported functions changed: g_tcp_bind g_tcp_bind_address g_tcp_connect
- Support three network configurations:
1) Normal network, with IPv6
2) Partly disabled IPv6 via sysctl.conf
3) Total disabled IPv6 via grub
2017-04-25 09:31:22 +09:00
Pavel Roskin
95506a169f
Log socket fd in g_sck_accept(), fix AF_UNIX logging
2017-03-21 21:59:50 -07:00
Pavel Roskin
58c9cb43e9
Make socket directory configurable, don't hardcode /tmp/.xrdp
...
Use XRDP_SOCKET_PATH in file_loc.h
Don't define any non-socket paths in file_loc.h, they should come from
the makefiles.
Define all paths unconditionally, they should not be defined elsewhere.
Pass XRDP_SOCKET_PATH as environment variable to the backends.
2017-03-17 22:25:05 -07:00
Pavel Roskin
6ed4c969f4
Eliminate APP_CC and DEFAULT_CC
2017-03-14 00:21:48 -07:00
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
Jay Sorg
cd0a8721d1
disable ipv6 for now
2013-05-06 17:45:30 -07:00
Jay Sorg
2ed8b31a11
ipv6
2013-04-04 01:31:51 -07:00
Jay Sorg
d9c0af1e78
ipv6
2013-04-03 23:06:08 -07:00
Jay Sorg
54463affaf
autodetect ipv6
2013-04-03 00:54:52 -07:00
Jay Sorg
8b71f48f7b
adding ipv6 support
2013-04-03 00:16:52 -07:00
Jay Sorg
cae3b1b0f1
ipv6 started pushing bits
2013-04-02 02:08:10 -07:00
ArvidNorr
fb7294ed26
small len fixes
2013-01-31 20:17:42 +01:00
ArvidNorr
975d44e99f
More logging added
2013-01-18 10:24:25 +01:00
LawrenceK
a52dbba1a5
Add g_strchr to os_calls
2012-12-20 07:02:41 +00:00
Jay Sorg
82a8366fc0
added getgid to os_calls
2012-10-29 20:30:48 -07:00
Jay Sorg
e07dd5afb5
added a file open funtion
2012-10-13 22:48:05 -07:00
Laxmikant Rashinkar
1123323fda
o moved from GNU General Public License to Apache License, Version 2.0
...
o applied new coding standards to all .c files
o moved some files around
2012-09-19 20:51:34 -07:00
Jay Sorg
4e92468262
output error when set socket opt fails
2012-07-23 11:06:04 -07:00
Jay Sorg
7dc5a77116
common: no logic changes, code cleanup
2012-06-23 16:22:38 -07:00
ArvidNorr
d2903cd1fc
Merge pull request #28 from ArvidNorr/tcp_nodelay
...
Support for TCP keepalive and TCP no_delay added
2012-06-18 00:00:05 -07:00
ArvidNorr
1011b4a256
Merge pull request #22 from ArvidNorr/moduleload
...
Moduleload
2012-06-17 23:14:40 -07:00