Mads Kiilerich wrote, On 01/27/2011 02:53 PM: > On 01/27/2011 09:52 AM, Alexis Moinet wrote: >> If I comment "licence->licence_issued = True;" in licence.c either in >> rev. 48d14c2 or in origin/master (75fa3d1) (line 386), I have the >> redirection working fine. > > Can you pull the latest changes from master, configure --with-debug, > redirect the output and send it to me? And another log of the same but > with licence_issued disabled? > > Exactly what kind of farm/broker do you have and how is it configured? > Can you give some links? > > What kind of licensing are you using?
It seems like the basic problem is: When we redirect we reuse the rdpRdp struct when we connect to the new server - including its rdpSec and rdpLicence. The bug seems to be that licence_issued isn't cleared for the new connection causing it to go wrong from the beginning. I'm not sure why we haven't see this problem in other setups. Something like this layering violation in rdp_reconnect() seems to fix it: --- a/libfreerdp/rdp.c +++ b/libfreerdp/rdp.c @@ -1571,6 +1571,8 @@ char *password; size_t password_len; + rdp->sec->licence->licence_issued = False; + server = rdp->redirect_server ? rdp->redirect_server : rdp->settings->server; username = rdp->redirect_username ? rdp->redirect_username : rdp->settings->username; if (!sec_connect(rdp->sec, server, username, rdp->settings->tcp_port_rdp)) We could encapsulate that in some xxxreuse functions and try to reset everything, but wouldn't it better to create a new rdpRdp for the new connection? It seems like that would require some heavy restructuring ... How would you guys prefer to solve that? (This might also be related to how RDP syntax is "nicely" structured with 7(?) layers of encapsulation, but the semantics and state doesn't follow the syntactical structure so we have to break or work around layering violations in many places.) /Mads ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Freerdp-devel mailing list Freerdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel