Files
xrdp/common
Ben Cohen 3b5b7a5935 UDS file deleted after first connection
If you run xrdp with a Unix Domain Socket (UDS) for the port specified in
/etc/xrdp/xrdp.ini then the first connection succeeds but subsequent
connections fail.  In fact the UDS is deleted from the filesystem as soon
as the first connection is established.

Test case:

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

2. Restart xrdp.

3. Run the following.  When rdesktop starts up and the logon dialog is
   displayed, press "Cancel".

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

4. Run the following:

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

Expected behaviour: rdesktop starts up and displays the logon dialog.
Observed behaviour: rdesktop exits with "ERROR: Connection closed" and
                    socat exits with "No such file or directory.

This is because in the child process after forking, xrdp_listen_fork()
calls trans_delete() which deletes the UDS.  Simply commenting out the
g_file_delete() and g_free() fixes this, but that isn't a proper solution
because trans_delete() is called from elsewhere where the UDS might no
longer be wanted.

Fix by adding a function trans_delete_from_child() that frees and clears
listen_filename before calling trans_delete(), and call the new function
from xrdp_listen_fork().

(Workaround: set "fork=false" in /etc/xrdp/xrdp.ini, because
trans_delete() is then not called.)
2018-03-27 09:22:49 +03:00
..
2017-08-01 08:40:30 +09:00
2017-08-01 08:40:30 +09:00
2014-06-10 16:58:25 -07:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2018-02-13 16:44:37 +09:00
2017-10-13 15:09:33 +09:00
2017-11-07 18:20:45 -08:00
2015-07-05 23:14:46 -07:00
2016-08-08 23:12:52 -07:00
2017-08-01 08:40:30 +09:00
2017-03-14 00:21:48 -07:00
2017-03-14 00:21:48 -07:00
2014-07-25 22:24:40 -07:00