Commit Graph

3163 Commits (b9ff75e50ed855fde2824a1cf1ec5f09b438a434)
 

Author SHA1 Message Date
Ben Cohen b9ff75e50e xrdp-ssh-agent: Remove vim modeline 7 years ago
Ben Cohen a2b008f63e xrdp-ssh-agent.c: Fix braces for coding style 7 years ago
Ben Cohen 6fb3fcfc66 Handle EINTR for send() in handle_connection() 7 years ago
Ben Cohen 1d5aa8cc97 Forward ssh-agent data between ssh clients and RDP
Add xrdp-ssh-agent.c which forwards ssh-agent protocol over an RDP
dynamic virtual channel, just as the normal ssh-agent forwards it over
an SSH channel.

Usage:

Run an RDP client with the corresponding plugin enabled; for example
"xfreerdp /ssh-agent ...".

In the remote desktop session run xrdp-ssh-agent and evaluate the output
in the shell as for ssh-agent to set the required environment variables
(specifically $SSH_AUTH_SOCK):

   eval "$(xrdp-ssh-agent -s)"

This is the same as for the normal ssh-agent.  You would typically do
this in your Xsession or /etc/xrdp/startwm.sh.

Limitations:

1. Error checking and handling could be improved.

2. This stays running when the xrdp session closes.  This should be
fixed using a command line argument as for the real ssh-agent.

3. This is only tested on Linux and will only work on systems where
clients talk to the ssh-agent via Unix domain sockets.  It won't
currently work on Windows but it could be ported.
7 years ago
Koichiro IWAO 2411a0be14 log: add log level TRACE
TRACE means more verbose than DEBUG. syslog doesn't have more verbose
level than DEBUG, map TRACE to DEBUG for syslog.
7 years ago
Felix Zhang eaed9af498 xrdp: corret the config file name in the comment 7 years ago
Koichiro IWAO 00bf62bd42 common: prevent raw use of snprintf 7 years ago
Oscar Salvador be23682f90 xrdp: get port from configfile in access_control()
This fixes #894
7 years ago
Koichiro IWAO ced3a4817f xrdp: constify input event type 7 years ago
Koichiro IWAO c295dd61b8 Update v0.9.4 release date 8 years ago
Koichiro IWAO e102b7cc8c update NEWS, mention known issues 8 years ago
Koichiro IWAO ac5987cf13 Prepare release v0.9.4 8 years ago
Koichiro IWAO d94e43a49e update sumbodules to the latest release 8 years ago
Koichiro IWAO f9ab4df7f2 common: fix g_write_ip_address() didn't return correct IP address
Fixes: #878.
8 years ago
cocoon 8ded88a0c6 Fixes #414 8 years ago
speidy 36eda1bcbb tcutils: fix WTSVirtualChannelWrite return codes check according to API change 8 years ago
speidy fad2c57cd6 xrdpvr: adjust xrdpvr_write_to_client to xrdpapi API change 8 years ago
speidy d15d32c593 xrdpapi: change WTSVirtualChannelWrite return values to be consistent with WTSVirtualChannelRead 8 years ago
Koichiro IWAO 26394870e5 sesman: delete socket files when session exits 8 years ago
Koichiro IWAO df29ea3ad9 travis: Unbreak travis build
since Ubuntu Precise (12.04) is retired September 2017. Now build test
is run on Ubuntu Trusty (14.04). A trivial fix for requisite packages
needed.
8 years ago
Koichiro IWAO e6b7d12191 xrdp: accept full path for ls_background_image
because ls_logo_filename accepts full path.
8 years ago
Koichiro IWAO 9ca52b05da add Belgian keyboard 8 years ago
Koichiro IWAO a094c65aaf Release v0.9.3.1 8 years ago
Koichiro IWAO 22dc148802 instfiles: don't include generated *.services files in distribution
Solves #848.
Pointed out by: Fuminobu TAKEYAMA (@ftake)
8 years ago
Jay Sorg d9b929c185 chansrv: sound, fdk-aac, avoid 1 item array items 8 years ago
Jay Sorg 152318ad7c use pkg-config to configure with fdk-aac 8 years ago
Jay Sorg 4f91a52109 chansrv: sound, remove a do not know and a comment 8 years ago
Jay Sorg 021a78f4c6 chansrv: sound, use WAVE_FORMAT_AAC not WAVE_FORMAT_AAC_MS 8 years ago
Jay Sorg bf0d56c314 chansrv: sound, add aac 8 years ago
Jay Sorg 8ac35d7ed1 chansrv: sound, handle skips in audio acks 8 years ago
matt335672 4023aa7f1c xfuse_create_share() called before xfuse_init()
* Initialise inode table in `xfuse_create_share()` if necessary
* Add guard to `xfuse_init_xrdp_fs()` to prevent double initialisation of the inode table
8 years ago
Koichiro IWAO 4d14f344fd fix indent, no logic change 8 years ago
Koichiro IWAO b34fc6da55 don't use hard coded constant values 8 years ago
Koichiro IWAO df32f74519 use g_free() 8 years ago
Koichiro IWAO 04187945a8 move base64 functions to base64.c 8 years ago
Koichiro IWAO c40baf03e6 docs: document base64 prefill credentials 8 years ago
Koichiro IWAO a89cb93bc7 decode base64 login window parameter
such as prefill username and password:
    username=ask{base64}YmFzZTY0
    username={base64}YmFzZTY0
    password=ask{base64}YmFzZTs2NCFwYXNzd29yZCM=
    password={base64}YmFzZTs2NCFwYXNzd29yZCM=

';', '#', '!' means comment in .ini files. If prefill username or
password contains such symbols, these can be provided base64 encoded.
8 years ago
Koichiro IWAO eae5cdf1fd pass through except for the first '='
if "foo=ba=r" is found in ini files, it should be parsed like this.
      key : foo
    value : ba=r
8 years ago
Koichiro IWAO d57e02626d add base64_decode function 8 years ago
Koichiro IWAO 05ef6d104e sesman: search pam files also in ${sysconfdir}/pam.d
as some operating system such as FreeBSD searches not only `/etc/pam.d`
but also `/usr/local/etc/pam.d` [1].

[1] https://www.freebsd.org/cgi/man.cgi?query=pam.d&sektion=5
8 years ago
Koichiro IWAO e990dd4263 chansrv: remove trailing space 8 years ago
Koichiro IWAO ca24572fd5 chansrv: use switch-case to support more codecs 8 years ago
Koichiro IWAO dbaf23e93b chansrv: constify wFormatTag 8 years ago
Koichiro IWAO 9f8a902476 Add a pam file for FreeBSD
as existing xrdp-sesman.unix doesn't suit FreeBSD.
8 years ago
Ben Cohen 8b4d057af2 Allow UDS connection from non-root users
If you run xrdp with a Unix Domain Socket (UDS) for the port specified in
/etc/xrdp/xrdp.ini then only root can connect to it.

Test case:

1. Edit /etc/xrdp/xrdp.ini to set "port=/var/run/xrdp-local.socket".

2. Restart xrdp.

3. Run the following, as a non-root user.

  socat TCP-LISTEN:12345 UNIX-CONNECT:/var/run/xrdp-local.socket &
  rdesktop localhost:12345

Expected behaviour: rdesktop starts up and displays the logon dialog.
Observed behaviour: rdesktop exits with "ERROR: Connection closed" and
socat exits with "Permission denied".  (But it suceeds if root runs
socat.)

UDS files are created by trans_listen_address() and given permissions
0660, so only root can connect to it.  In this case, for the RDP client
connection, it it fine for any user to connect so it should be given
permissions 0666.

Note that this is only relevant when the port in /etc/xrdp/xrdp.ini has
been set to create a UDS instead of a TCP socket.  When a TCP port is
created any user (including remote users, unless the loopback interface
is used) can connect so this is not less secure.
8 years ago
Ian Geiser 324a334315 append a / to ensure the full path is created even when the config variable lacks a trailing / 8 years ago
Koichiro IWAO aaa40edefb NEWS: pulralize glitches 8 years ago
Koichiro IWAO aa0721a90e common: fix more glitches in IPv4 initialization 8 years ago
Ian Geiser 4b87548b71 Use g_create_path instead of g_create_dir
Rename g_mk_temp_dir to g_mk_socket_path
8 years ago
Koichiro IWAO 59a7e8aedf fix typo (copy & paste mistake) 8 years ago