On 6/19/2010 9:34 AM, Jay Sorg wrote:
Hey guys. So i posted this on the sourceforge forums as well, but though
that maybe the mailing list might elicit a faster response.
But here is my question:

So I am currently trying to add a feature to xrdp. The feature I would
be adding would be to totally remove a user's session when they
disconnect from the session. I know currently xrdp retains the session
in sesman so that a user can reconnect later on. I am facing the problem
of users who only use the session once, disconnect, but then their
sessions remain. This allows for unneeded processes hogging system
resources. I would just like to know, from those who are familiar with
the source, where I should start looking to add this functionality. I
was thinking it would be with sesman in the session management, but if
there is somewhere else where I can develop this faster/more
efficiently, I would be happy to know that. Thanks


The sesman.ini man page suggest that there are a number of related
options that one can set to control this, but all are apparently
ignored. The parameters are

KillDisconnected
IdleTimeLimit
DisconnectedTimeLimit


I guess implementing these is what is needed.

The plan is to implement these items in sesman.
It's a little difficult now because xrdp drops its connection with
sesman after the user is authenticated.  To implement this cleanly,
the connection should stay up to communicate when the client
disconnected.  It should stay up for other things as well.

Jay, could you maybe explain how the current process works? Currently this is what I imagine the process to work(from what I have read from your documentation)

A xrdp client connects to the xrdp server, and preliminary authentication details and encryption semantics are exchanged. Then, the xrdp server connects to sesman, who authenticates the user, and selects an existing session or creates a new Xvnc session. Then the connection from xrdp to sesman is dropped.

So to implement these capabilities, xrdp would have to stay connected to sesman the whole time the user is connected. So when xrdp sees that a user disconnects, it should relay that information to sesman, who then kills the Xvnc session?

Sorry if I repeating what you might have said and/or on your website. I just want to make sure I have the entire protocol down, and and the suggestion on how to fix it.


I am just feeling my way around the source myself at the moment, looking
to implement XRandR support in the x11rdp server and some associated
support in sesman.

XRandR is for resizing the Xserver desktop, is that right?
This can be done, RDP allows a resize sent from the server.
See server_reset in xrdp_types.h
You would have to get the event in X11rdp and send a message to xrdp
through the X11rdp - xrdp connection.

Jay

-Murtaza Munaim


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
xrdp-devel mailing list
xrdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xrdp-devel

Reply via email to