Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest upstream updates #20

Merged
merged 14 commits into from
Feb 16, 2017
Merged

Latest upstream updates #20

merged 14 commits into from
Feb 16, 2017

Conversation

T3N4K4
Copy link

@T3N4K4 T3N4K4 commented Feb 16, 2017

No description provided.

ilammy and others added 14 commits February 11, 2017 00:48
FreeRDP uses clipboard->data to cache the result of the Windows->X11
clipboard format conversion, and xf_cliprdr_process_selection_request()
immediately provides this result to local applications if they request
the same clipboard format again. This saves us a possibly costly
conversion in case where the user pastes data repeatedly.

However, this caching mechanism did not support raw clipboard transfers
where the unmodified data is passed between two FreeRDP clients. We use
the same XClipboard protocol for this, so the clipboard->data is in play.
We clear the cached value when we receive new data from the server, so
initially raw transfers are fine. But if some local application (e.g.,
a clipboard manager) asks for some data format before the data is pasted
into the second FreeRDP session then clipboard->data will contain the
*converted* data. And this converted cached data will be provided to
the second FreeRDP session as a part of the raw data transfer. Instead
we should have provided the original data.

In order to achieve this we are now caching the original data in the
same way as the converted one, and the original data is now correctly
provided when the second FreeRDP session asks for a raw data transfer.
Undefined behavior on "wfPeerContext *context", as it is accessed before being initialized or assigned. Fixed.
Fix cached clipboard responses during raw transfers
libwinpr-utils: fix 3 logic errors
core: Get rid of useless settings copy
Fixed undefined behavior in wf_peer_main_loop function
Use INIT_ONCE for SSPI initialisation. #3471
Ssse3 optimize and sanitize address
@T3N4K4 T3N4K4 merged commit 177769f into RangeeGmbH:master Feb 16, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants