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. ThanksThe 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 DisconnectedTimeLimitI 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
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