Add ALLOW_LEGACY_OUTBOUND compatibility for stock RustDesk clients that do not register a local controller identity. Keep the path disabled by default, restrict it to open enrollment, force relay, and retain one-use relay ticket authorization. Refs #427 Refs #358 Credit: @remoover via PR #358 https://github.com/UNITRONIX/BetterDesk/pull/358 Thanks: INSOLVE (Honorary); Marco Jakobs (@jacotec); MyNameisStitch (@MyNameisStitch); Redspin (@playerumpknow)
4.8 KiB
Contributor attributions
This register documents external reports, designs, tests, and code that informed BetterDesk changes. It is intended to preserve contributor credit and make provenance reviewable. It is not a copyright assignment or legal opinion.
@remoover
Contributor profile: https://github.com/remoover Collaboration discussion: issue #346
The original PR heads are preserved as public archive references. They were
created without force-push; repository rules should also prevent deletion or
rewriting of archive/remoover/* before release.
- PR 266 archive
—
884312e0088ddcf7d6511a9a76dfe90426ac3db4 - PR 271 archive
—
33066571b75e5f36132ce0499777aee2333228e0 - PR 282 archive
—
95d3cc8fcca1384ad7278329bd30d290f64cd199 - PR 283 archive
—
aa12240445113ae6cb6df6898a1781b88af55592 - PR 348 archive
—
52ce89088d1525c73f0903297601839add4f0078 - PR 357 archive
—
1b0aa0de095ff55dd12be3dea6ae0b954ea49bc3 - PR 358 archive
—
e2e4410b42f348a464226daa61db3078942e55a8 - PR 359 archive
—
6dbd29ae1265651020079ea6aebc12d4f821d053 - PR 419 archive
—
d9ea3949f6acf4b4c9762ba319dfa99cd11d74a3 - PR 420 archive
—
6e74a4630eb235b0e5538a6faf085b29b0053f94 - PR 421 archive
—
1cd91fd587ac46dd386cf1d786e31cae13755e5d - PR 423 archive
—
a8b924b65768c37d58bbd370a03086d8acc4089e
The following work informed the current BetterDesk changes:
- #358 — controller-only outbound compatibility design, adapted with the explicit opt-in and relay-ticket safeguards described in this change.
- #282 — browser relay framing, native WebSocket payload boundaries, and file-transfer session behavior. BetterDesk uses the framing portion and selected compatibility improvements; the full PR was not merged as a unit.
- #348 — mixed transport behavior and preserving connected peer registrations during ID changes. BetterDesk uses separate, reviewable implementations for the peer rename and signal transport gate.
- #357 — explicit
ENROLLMENT_MODEprecedence over stale persisted panel state. - #420 — Docker build cleanup was independently verified; the relevant Dockerfile state was already present locally.
- #283 and #423 — production reporting requirements and failure scenarios informed the design review; the live-session feature itself was not merged.
The following proposals remain intentionally unimplemented pending separate security decisions:
- #359 — disabling relay ticket enforcement for standalone relay processes.
- #271 — upstream RustDesk client generator and GitHub Actions build pipeline.
Rights and license treatment
The BetterDesk development branch is AGPL-3.0. Directly reused contributor code remains subject to the applicable AGPL notices and the contributor's copyright. No contributor is treated as having assigned copyright merely because their issue or pull request was referenced.
When a future commit contains directly adapted code, the maintainer should:
- preserve the contributor's authorship and provenance in the commit and release notes;
- use
Co-authored-byonly after confirming the contributor's preferred identity and email address; - avoid claiming exclusive authorship unless a separate written agreement grants it;
- include the relevant issue/PR links in the review record.
Bug reports, design proposals, production observations, and test scenarios are credited as such and do not imply that the reporter authored unrelated implementation code.