Hello

first, I've read the thread "Connection Problem on Windows 2008 R2 RDS Farm 
with FREERDP 0.8.2"
( http://www.mail-archive.com/freerdp-devel@lists.sourceforge.net/msg00022.html 
)

I think my problem is somehow related (or even the same), but since I'm not 
sure I'm creating a new thread. I apologize if it's improper.

Here is my problem :

* On Ubuntu 9.10, I'm using remmina 0.8.3 with freerdp 0.7.4 (from the ppa) and 
I can connect to our "main" Windows server (2008R2) which redirects me to one 
of the "farm server". It works fine : I get on "main" login screen, enter a 
password and get redirected to one of the "farm server" (where in turn I get to 
a login screen)
* On Ubuntu >= 10.04, the ppa gives remmina 0.9.3 / freerdp 0.8.2. I can 
connect to the "main" (I see the Windows login screen), enter the password and 
start being redirected. Then it freezes.
* On Ubuntu 9.10 with freerdp origin/master or 0.8.2 (from git), it doesn't 
work (using xfreerdp)
* On Ubuntu >= 10.04, with freerdp 0.7.4 (from git), it works fine (using 
xfreerdp).

So I've cloned the freerdp git repository and I've searched (dichotomic 
trial/error with xfreerdp, to get remmina out of the equation) the modification 
between 0.7.4 and 0.8.2 that "causes" the freeze.

It appears that redirection works fine with rev. 52faf42 but not with rev. 
48d14c2 (diff hereafter)

> diff --git a/libfreerdp/licence.c b/libfreerdp/licence.c
> index cb5a13d..7f579f6 100644
> --- a/libfreerdp/licence.c
> +++ b/libfreerdp/licence.c
> @@ -25,6 +25,7 @@
>  #include "rdp.h"
>  #include "rdpset.h"
>  #include "mem.h"
> +#include "debug.h"
>  
>  /* Generate a session key and RC4 keys, given client and server randoms */
>  static void
> @@ -344,7 +345,11 @@ licence_process(rdpLicence * licence, STREAM s)
>                         break;
>  
>                 case LICENCE_TAG_REISSUE:       /* UPGRADE_LICENSE */
> +                       break;
> +
>                 case LICENCE_TAG_RESULT:        /* ERROR_ALERT */
> +                       DEBUG("LICENCE ERROR_ALERT - assuming it is a license 
> grant\n");
> +                       licence->licence_issued = True; /* TODO ... */
>                         break;
>  
>                 default:
> diff --git a/libfreerdp/secure.c b/libfreerdp/secure.c
> index 8a2f426..b1024b9 100644
> --- a/libfreerdp/secure.c
> +++ b/libfreerdp/secure.c
> @@ -916,7 +916,7 @@ sec_recv(rdpSec * sec, secRecvType * type)
>                         }
>                         return s;
>                 }
> -               if (sec->rdp->settings->encryption || 
> (!(sec->licence->licence_issued) && !(sec->tls_connected)))
> +               if (sec->rdp->settings->encryption || 
> !sec->licence->licence_issued)
>                 {
>                         /* basicSecurityHeader: */
>                         in_uint32_le(s, sec_flags);


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.

Of course I assume that this is not the proper way to solve the problem** but I 
hope it can help you to understand what's going wrong.

the command line used for the test was simply :

> ./X11/xfreerdp --no-tls -u myusername -d mydomain myserver

Note that without the "--no-tls" option, it doesn't work at all.

Regards,

Alexis


** As in : "Oh ! my program asks for a password and it's not working, let's 
comment the password-check line and it will work ..." :-s




------------------------------------------------------------------------------
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

Reply via email to