-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Further cherry-picks for v0.10 #3088
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1) [Regression] If the specified mountpoint is not immediately below an existing directory, the directory is not created. 2) The message to ask the user to unmount an existing mounted directory has been moved to the right place. (cherry picked from commit e0a1339)
- Fix a problem that the xrdp.service fail to auto-start when instructed to listen on a specific interface - By changing the "network.target" systemd dependency to "network-online.target" - The "network-online.target", in short, means at least one network interface has finished IP level setup. - The previously used "network.target" is vague and does not provide such guarantee (ref: man systemd.special(7)). - Which often cause "xrdp.service" fail to auto-start when the service is configured to listen on a specific interface (e.g. in xrdp.ini, "port=tcp://192.168.0.1:3389"). Because the interface may have not finish setting up its IP, when "xrdp.service" starts. (cherry picked from commit 21e11de)
(cherry picked from commit cbaaf22)
The get_sorted_session_displays() is broken in that it doesn't produce a sorted list of displays. The problem is the qsort comparison function which has 2 errors in 4 lines:- 1) The test is the wrong way round (i.e. arg1 < arg2 produces a +ve result instead of -ve) 2) Subtracting two unsigned ints in C will never return < 0 The broken function has been masked by other display checks which mean that it is only visible in a few situations:- 1) Starting two sessions very closely to each other may allocate the same display to both sessions. 2) If /tmp is namespaced, the other display checks do not work, and more than two sessions cannot be started. (cherry picked from commit 70f1b68)
The xrdp_enc_data contains a union for handling surface commands and gfx commands. Memory processing is different for these two options. The default destructor for the encoder FIFO only knows about surface commands. Consequently, if the encoder has queued GFX data when the encoder is closed, the destructor processes the queued data as if it contained surface commands rather than GFX commands. This typically causes a SEGV as the drects field of the overlaid surface command structure is not pointing at anything valid when it is freed. (cherry picked from commit 809df89)
On a resize, the encoder is deleted. At present this is done by asking the encoder to exit, and then waiting a second. - On slower systems, a second may not be enough, and so the encoder data structures are freed while they are still being used by the encoder. - On quicker systems, resizes are delayed by hundreds of milliseconds longer than they need to be. This commit adds a wait object which the encoder can use to signal it has actually finished. (cherry picked from commit 985b0de)
In the words of @iskunk It is no longer possible to refer to the Dvorak layout as just "dvorak" (as when one would run "setxkbmap dvorak"); one must now use either "us dvorak" or "us(dvorak)" See https://bugs.debian.org/1063725 (cherry picked from commit a1b7c17)
Let's merge this to fix CI test in v0.10 branch. |
@metalefty - can you hold off on a new release for a bit? I'm testing a fix for #3118 |
No problem. I just wanted to merge #3104 into the branch. I'm not going to make a new release yet. |
Thanks. In any case, I've tested the fix. Please feel free to merge it too. I've got an appointment IRL for a couple of hours. When I get back I'll update the NEWS for v0.10 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backports the following PRs from the devel branch:-