Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix v0.10.x regressions in standalone chansrv #3243

Open
wants to merge 7 commits into
base: devel
Choose a base branch
from

Conversation

matt335672
Copy link
Member

@matt335672 matt335672 commented Sep 13, 2024

Fixes #3240

With these changes, chansrv is able to connect to sesman and request that the sockdir is created for the user. It will do this if the user xrdp sockets dir is missing when it starts.

Edit 2024-09-23: A UID can now (optionally) be specified for the DISPLAY() function used by the chansrvport connection parameter. This is needed if neither username or pamusername is specified. Docs also updated for this.

The size of the listen_port for sesman cannot exceed
XRDP_SOCKETS_MAXPATH. We should use this value rather than
an arbitrary value of 256.
The sesman tools have some private functions to make syncronous calls
to sesman over SCP. This commit moves these calls to a new module
scp_sync in libipm so that they can be utilised by other parts of
xrdp (i.e. chansrv)
THe SCP interface is modified so that a program can connect to
sesman and ask for the sockdir to be created for the currently
authenticated user
Chansrv now checks for the user sockdir being present. If it
isn't, it connects to chansrv and requests it be created.

This also needs the sesman port to be added to the chansrv
config struct.
The code to determine the socket address of chansrv when using
a manually started xrdp-chansrv may need some help determining
the UID of the session.

This commit allows a UID to be optionally specified in the
DISPLAY() function, if the code is unable to determine the
UID automatically from the connection parameters.

If a manual chansrvport is entered, xrdp now logs what it is
connecting to, to assist in debugging.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

V0.10.x : Can't run xrdp-chansrv in console VNC session
1 participant