Hi all,

I'm currently working on implementing an RDP client following the examples
in xfreerdp. I'm adding methods to handle pointer updates from the server
and it mostly seems to all be there except for one thing. I get pointer
create messages for cache indices 1, 2, etc (pretty much 1 and above), but
then eventually I get a pointer cached event for cache index 0 which was
never created.

Please see the stack below, am I misunderstanding something? In the first
set of updates after successful connection, isnt the server supposed to tell
me to create the first cursor thats supposed to go in cache index 0?

Sample print out below after a successful connection:

connected to 192.168.216.40:3389
TLS connection established
license connection sequence completed.
client is activated
rdp connect: 1
recv Synchronize Data PDU (0x1F), length:22
recv Control Data PDU (0x14), length:26
recv Control Data PDU (0x14), length:26
recv Font Map Data PDU (0x28), length:26
numberOrders:2
recv Pointer Data PDU (0x1B), length:4262
*creating pointer, cache index: 1*
recv Pointer Data PDU (0x1B), length:24
*pointer cached... index: 0*
numberOrders:1
recv Pointer Data PDU (0x1B), length:24
pointer cached... index: 1
recv Pointer Data PDU (0x1B), length:24
pointer cached... index: 0
numberOrders:1
numberOrders:1
numberOrders:1
numberOrders:2
recv Pointer Data PDU (0x1B), length:24
pointer cached... index: 0
numberOrders:1
numberOrders:1
numberOrders:1
recv Pointer Data PDU (0x1B), length:24
pointer cached... index: 2
numberOrders:1
numberOrders:1
numberOrders:2
recv Pointer Data PDU (0x1B), length:24
pointer cached... index: 0
numberOrders:1

Could someone please offer some pointers? Not so sure what the problem could
be

Thanks.

- John E

On Thu, Sep 8, 2011 at 6:43 PM, Marc-André Moreau <
marcandre.mor...@gmail.com> wrote:

>
>
> On Thu, Sep 8, 2011 at 5:51 PM, Christian Nilsson <nik...@gmail.com>wrote:
>
>> I guess it works if you use --no-nla ?
>>
>> FreeRDP-1.0 does not yet seem to have the code to ask for username
>> (,domain) and password when connecting to a nla capable host?
>> In that case it should work when providing both -u username and -p
>> password ?
>>
>>
>> Some other things i noticed about 1.0:
>> * No code for auto detecting clients keyboard layout?
>> * 1.0 feels more sluggish? (might i say more flickery) then the old
>> git, i have no numbers to back this up. :(
>>
>
> You don't need numbers, it's true. This is due to two things:
>
> not all graphical orders are currently enabled. for instance, I've recently
> worked on the glyph caching, but haven't implemented the part that would
> actually perform the drawing operations for glyphs. Bitmap caching also
> isn't used yet.
>
> Besides this, all current UIs use libfreerdp-gdi. this means xfreerdp still
> uses libfreerdp-gdi, while the previous version could use either its own
> X11-specific implementation of GDI or libfreerdp-gdi. The X11-specific
> implementation is faster. I started the X11-specific implementation, but it
> is less complete than the current usage of libfreerdp-gdi by xfreerdp. You
> can choose between libfreerdp-gdi and X11-specific with the --gdi option:
>
> --gdi sw (libfreerdp-gdi)
> --gdi hw (X11-specific GDI)
>
>
>> * I have seen a graphical bug, in outlook 2010, the border around the
>> write message box, is not painted correct. looks similar (but not the
>> same) to the problem with the border in taskmanager that was discussed
>> in the old version.
>>
>
> Thanks for reporting the issue, I'm pretty sure this has to do with line
> drawing orders which I might not have completed.
>
>
>> * No cursor support?
>>
>
> That's right, that remains to implement. I have implemented the pointer
> cache, along with the parsing of such orders. I think I saw someone else
> report that the orders do not get through when using fastpath, that is
> highly possible, I'll take a look at the fastpath code and add the proper
> code there. We need to add the code in xfreerdp that'll handle the creation
> of cursors and changing them.
>
>>
>> Can these things be confirmed, and that they are on the todo list?
>> (for all of us that want to use latest and greatest rdp client)
>>
>
> I'll add a couple of issues to the bug tracker. As we get closer to a
> possible release, the stuff that is left to be worked on will get
> increasingly smaller, it'll be little things here and there.
>
>>
>> /Christian
>>
>> On Thu, Sep 8, 2011 at 8:39 PM, chris nelson <sleekmountain...@gmail.com>
>> wrote:
>> > i tried compiling latest 1.0 source on a different machine and am still
>> > getting a seg fault when i try to connect.
>> >
>> > On Wed, Sep 7, 2011 at 12:22 PM, chris nelson <
>> sleekmountain...@gmail.com>
>> > wrote:
>> >>
>> >> getting same behavior...
>> >>
>> >> On Wed, Sep 7, 2011 at 11:50 AM, Ben Lindstrom <b...@cray.com> wrote:
>> >>>
>> >>> Same with ./libfreerdp-core/license.c:void
>> >>> license_send_new_license_request_packet(rdpLicense* license)
>> >>>
>> >>> For:
>> >>>
>> >>>        license->client_user_name->data =
>> >>> (uint8*)license->rdp->settings->username;
>> >>>        license->client_user_name->length =
>> >>> strlen((char*)license->rdp->settings->username) + 1;
>> >>>
>> >>>
>> >>> If the user doesn't do a -u to set the user name at the command line.
>> >>>
>> >>>
>> >>> Which gets me to the point where I can attempt to log in (assuming I
>> do
>> >>> --no-nla with a :  else if (nego->cookie != NULL) {  hack below to
>> skip the
>> >>> strlen(nego->cookie) issue.  And promptly dumps me to a useless
>> keymapping.
>> >>>
>> >>> - Ben
>> >>>
>> >>> On Sep 7, 2011, at 12:25 PM, Ben Lindstrom wrote:
>> >>>
>> >>> >
>> >>> >
>> >>> > Running any of the following:
>> >>> >
>> >>> > xfreerdp --no-nla ..
>> >>> > xfreerdp --no-nla --no-tls ..
>> >>> >
>> >>> > All result in a segv crash in the current GIT tree on SLES11 SP1.
>>  The
>> >>> > backtrace in gdb shows it happening in a strlen() in
>> >>> > nego_send_negotiation_request().
>> >>> >
>> >>> > The issue seems to be that in libfreerdp-core/nego.c:void
>> >>> > nego_send_negotiation_request(rdpNego* nego)
>> >>> >
>> >>> > There is:
>> >>> >
>> >>> >       if (nego->routing_token != NULL)
>> >>> >       {
>> >>> >               stream_write(s, nego->routing_token->data,
>> >>> > nego->routing_token->length);
>> >>> >               length += nego->routing_token->length;
>> >>> >       }
>> >>> >       else
>> >>> >       {
>> >>> >               int cookie_length =  strlen(nego->cookie);
>> >>> >
>> >>> >
>> >>> > And nego->cookie is NULL or not set correctly causing strlen() to
>> die a
>> >>> > horrible death.
>> >>> >
>> >>> > I'm sure of this because if I do something stupid like:
>> >>> >
>> >>> >       int cookie_length = 0;
>> >>> >
>> >>> > it does the wrong thing, but no longer crashes.  So something isn't
>> >>> > setting it right.
>> >>> >
>> >>> > Any ideas / comments?
>> >>> >
>> >>> > - Ben
>> >>> >
>> >>>
>> >>>
>> >>>
>> >>>
>> ------------------------------------------------------------------------------
>> >>> Using storage to extend the benefits of virtualization and iSCSI
>> >>> Virtualization increases hardware utilization and delivers a new level
>> of
>> >>> agility. Learn what those decisions are and how to modernize your
>> storage
>> >>> and backup environments for virtualization.
>> >>> http://www.accelacomm.com/jaw/sfnl/114/51434361/
>> >>> _______________________________________________
>> >>> Freerdp-devel mailing list
>> >>> Freerdp-devel@lists.sourceforge.net
>> >>> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>> >>
>> >
>> >
>> >
>> ------------------------------------------------------------------------------
>> > Doing More with Less: The Next Generation Virtual Desktop
>> > What are the key obstacles that have prevented many mid-market
>> businesses
>> > from deploying virtual desktops?   How do next-generation virtual
>> desktops
>> > provide companies an easier-to-deploy, easier-to-manage and more
>> affordable
>> > virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
>> > _______________________________________________
>> > Freerdp-devel mailing list
>> > Freerdp-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>> >
>> >
>>
>>
>> ------------------------------------------------------------------------------
>> Doing More with Less: The Next Generation Virtual Desktop
>> What are the key obstacles that have prevented many mid-market businesses
>> from deploying virtual desktops?   How do next-generation virtual desktops
>> provide companies an easier-to-deploy, easier-to-manage and more
>> affordable
>> virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
>> _______________________________________________
>> Freerdp-devel mailing list
>> Freerdp-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>>
>
>
>
> ------------------------------------------------------------------------------
> Doing More with Less: The Next Generation Virtual Desktop
> What are the key obstacles that have prevented many mid-market businesses
> from deploying virtual desktops?   How do next-generation virtual desktops
> provide companies an easier-to-deploy, easier-to-manage and more affordable
> virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
> _______________________________________________
> Freerdp-devel mailing list
> Freerdp-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freerdp-devel
>
>
------------------------------------------------------------------------------
Why Cloud-Based Security and Archiving Make Sense
Osterman Research conducted this study that outlines how and why cloud
computing security and archiving is rapidly being adopted across the IT 
space for its ease of implementation, lower cost, and increased 
reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Reply via email to