Recently, Bernhard Miklautz, Martin Fleisz and myself have been working on old FreeRDP code. Our goal was, to get FreeRDP in Debian jessie LTS and Debian stretch working again against recent Microsoft RDP servers.
It has been done now.
Context
In Debian LTS, we were discussing a complex update of the freerdp (v1.1) package. That was before X-mas.
The status of FreeRDP v1.1 (jessie/stretch) then was and still is:
- Since March 2018 freerdp in stretch (and jessie) (Git snapshot of never released v1.1) has been unusable against latest Microsoft Windows servers. All MS Windows OS versions switched to RDP proto version 6 plus CredSSP version 3 and the freerdp versions in Debian jessie/stretch do not support that, yet.
- For people using Debian stretch, the only viable work-around is using freerdp2 from stretch-backports.
- People using Debian jessie LTS don't have any options (except from upgrading to stretch and using freerdp2 from stretch-bpo).
- Currently, we know of four unfixed no-DSA CVE issues in freerdp (v1.1) (that are fixed in buster's freerdp2).
With my Debian LTS contributor hat on, I have started working on the open freerdp CVE issues (whose backported fixes luckily appeared in a Ubuntu security update, so not much work on this side) and ...
... I have started backporting the required patches (at least these: [0a,0b,0c]) to get RDP proto version 6 working in Debian jessie's and Debian stretch's freerdp v1.1 version. It turned out later that the third referenced patch [0c] is not required.
With the LTS team it was agreed that this complete endeavour for LTS only makes sense if the stable release team is open to accepting such a complex change to Debian stretch, too.
While working on these patches, I regularly got feedback from FreeRDP upstream developer Bernhard Miklautz. That was before X-mas. Over the X-mas holidays (when I took time off with the family), Bernhard Miklautz and also Martin Fleisz from FreeRDP upstream took over and a couple of days ago I was presented with a working solution. Well done, my friends. Very cool and very awesome!
As already said, recently, more and more people installed FreeRDP v2 from stretch-backports (if on stretch), but we know of many people / sysadmins that are not allowed to use packages from Debian backports' repository. Using FreeRDPv2 from stretch-backports is still a good (actually the best) option for people without strict software policies. But to those, who are not permitted to use software from Debian backports, now we can provide you with a solution.
Please test FreeRDP v1.1 upload candidates
We would love to get some feedback from brave test users. Actually, if the new update works for you, there is no need for giving feedback. However, let us know when things fail for you.
Packages have been upload to my personal staging repository:
https://packages.sunweavers.net/debian/pool/main/f/freerdp/
APT URL (stretch):
deb http://packages.sunweavers.net/debian stretch main
APT URL (jessie):
deb http://packages.sunweavers.net/debian jessie main
Obtain the archive key:
$ wget -qO - http://packages.sunweavers.net/archive.key | sudo apt-key add -
Install the FreeRDP-X11 package:
% sudo apt update
$ sudo apt install freerdp-x11
As the staging repo contains various other packages, please disable that repo immediately after having installed the new FreeRDP package versions. Thanks!
Next steps
The changeset (.debdiff) has already been sent for pre-approval to the Debian stable (aka stretch) release team [2].
I will at least postpone the upload by some more days (let's say 5 days) to give people a chance for giving feedback. When these days are over and once (and if) I have got the release team's ACK to proceed, I will upload the updated package.
Once FreeRDP has been updated in Debian stretch, I will do an immediate upload of nearly the same package (with some formal changes) to Debian jessie LTS (installable via security.debian.org
).
For Debian stretch, the updated FreeRDP version will be available to all Debian stretch users with the next Debian stable point release at the latest (if nothing of the above gets delayed). The release team may give this update some priority and make it available via stable-updates prior to the next point release.
For Debian jessie, the updated FreeRDP version will be available once the update has been acknowledged by the Debian stable release team.
References
- [0a] https://salsa.debian.org/debian-remote-team/freerdp-1.1-legacy/blob/d3a2...
- [0b] https://salsa.debian.org/debian-remote-team/freerdp-1.1-legacy/blob/d3a2...
- [0c] https://salsa.debian.org/debian-remote-team/freerdp-1.1-legacy/blob/d3a2...
- [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916912#5
- [2] https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=916912;filename=...