Marc-André Lureau
7f08a098e2
refactor(pdu): drop legacy trait
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-03-04 16:08:55 +01:00
Marc-André Lureau
81984f9377
refactor(pdu): move rfx to Encode/Decode traits
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-03-04 16:08:55 +01:00
Gyusun Yeom
6b4af94071
fix(pdu): make AddressFamily parsing resilient ( #672 )
...
Co-authored-by: Benoît Cortier <3809077+CBenoit@users.noreply.github.com>
2025-03-04 13:47:38 +00:00
Marc-André Lureau
5555c7b9dd
refactor(session): decode RFX to RgbX
...
Decode to the desired format, instead of converting from BgrX to the
DecodedImage format (typically RgbA) when applying the tile / drawing.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-02-09 18:09:15 +01:00
Marc-André Lureau
bb41724147
test: use the XRGB sample from the spec
...
It's unclear where the RGB_BUFFER was coming from, it's better to use
the one from the spec, like the YCBCR buffers.
Unfortunately, we don't match with the reference data after conversion.
This doesn't seem a big issue in practice.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-02-09 18:09:15 +01:00
Marc-André Lureau
d7ba22fbed
refactor(graphics): drop now unused yuv/rgb code
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-02-09 18:09:15 +01:00
Marc-André Lureau
5f1c44027a
feat(graphics): replace hand-coded yuv/rgb with yuvutils
...
cargo bench:
to_ycbcr time: [2.2988 µs 2.3251 µs 2.3517 µs]
change: [-83.643% -83.534% -83.421%] (p = 0.00 < 0.05)
Performance has improved.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-02-09 18:09:15 +01:00
Marc-André Lureau
05c0c97262
graphics: add yuvutils-rs dependency
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-02-09 18:09:15 +01:00
Marc-André Lureau
62d809152a
refactor(graphics): use 0xFF for opaque alpha
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-02-09 18:09:15 +01:00
devolutionsbot
de86e2b14a
chore(release): prepare for publishing ( #664 )
2025-02-06 21:44:04 +00:00
Benoît Cortier
0b5f691c1e
chore(xtask): update binary dependencies ( #663 )
2025-02-05 18:12:10 -05:00
Marc-Andre Lureau
ccf6348270
feat(rdpsnd): add Opus audio client decoding ( #661 )
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Co-authored-by: Benoît Cortier <3809077+CBenoit@users.noreply.github.com>
2025-02-05 15:47:31 +00:00
devolutionsbot
11b92bfcbd
chore(release): prepare for publishing ( #658 )
2025-02-03 17:13:59 -05:00
Alex Yusiuk
9b2926ea12
fix(cliprdr-native): handle WM_ACTIVATEAPP
in clipboard_subproc
( #657 )
...
This PR adds handling of `WM_ACTIVATEAPP` in `clipboard_subproc`.
Previously, the function handled only `WM_ACTIVATE`.
2025-02-03 13:38:31 -05:00
devolutionsbot
2a5e783c43
chore(release): prepare for publishing ( #656 )
2025-01-31 04:22:55 +00:00
Zac Bergquist
c8597733fe
fix(connector): decrease log verbosity for license exchange ( #655 )
2025-01-30 18:15:31 -05:00
devolutionsbot
e6d6e9d8a7
chore(release): prepare for publishing ( #628 )
2025-01-28 23:24:35 +00:00
Marc-Andre Lureau
f14f3115d4
fix(connector): make LicenseCache RefUnwindSafe ( #653 )
...
This fixes commit dd221bf
("feat: support license caching (#634 )") and
semver-checks is now happy:
type ProcessorOutput is no longer UnwindSafe, in
/tmp/.tmppi9kAf/IronRDP/crates/ironrdp-session/src/x224/mod.rs:15
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Changelog: ignore
2025-01-28 17:10:41 -05:00
dependabot[bot]
ff6c6e875b
build(deps): bump tokio from 1.42.0 to 1.43.0 ( #650 )
2025-01-28 08:26:37 -05:00
dependabot[bot]
ef33e14133
build(deps): bump uuid from 1.12.0 to 1.12.1 in the patch group ( #645 )
2025-01-28 04:57:09 -05:00
Marc-Andre Lureau
fa353765af
feat(example): encode audio with Opus ( #643 )
...
Demonstrates Opus audio codec support (and also fixes sine wave phase)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 16:22:15 -05:00
Marc-Andre Lureau
a6c36511f6
feat(server): add volume support ( #641 )
...
Add server messages and API to support setting client volume.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 08:10:15 -05:00
Marc-André Lureau
0f9877ad39
fix(server): check client size
...
It's problematic when the client didn't resize, as we send bitmap
updates that don't fit. The client will likely drop the connection.
Let's have a warning for this case in the server.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
e21c5568a4
refactor(server): factor out deactivate_reactivate()
...
This makes code slightly nicer and allow further code reuse.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
a0fccf8d1a
feat(server): advertize Bitmap::desktopResizeFlag
...
This makes freerdp keep the flag up and handle desktop
resize/deactivation-reactivation. It should be okay to advertize,
if the server doesn't resize anyway, I guess.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
7c72a9f9bb
fix(server): allow to use basic RDP/no security
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
98b77b5ee5
fix(examples): fix server deps
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
1a36fd3669
fix(examples): used import from std
instead of core
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
c26fab4a45
test(extra): add some client-server tests
...
This is just some basic tests, but hopefully it will grow to be more
friendly and cover more behaviours.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
82c7c2f5b0
fix(server): do not restart static channels on reactivation
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
c4587b537c
fix(server): reattach existing channels
...
I couldn't find any explicit behaviour described in the specification,
but apparently, we must just keep the channel state as they were during
reactivation. This fixes various state issues during client resize.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
63963182b5
fix(server): drop unexpected PDUs during deactivation-reactivation
...
The current behaviour of handling unmatched PDUs in fn read_by_hint()
isn't good enough. An unexpected PDUs may be received and fail to be
decoded during Acceptor::step().
Change the code to simply drop unexpected PDUs (as opposed to attempting
to replay the unmatched leftover, which isn't clearly needed)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
ab8a87d942
feat(dvc): add CreationStatus::NOT_FOUND
...
For completeness, this error is used by FreeRDP.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
Marc-André Lureau
265b661b81
feat(dvc): some debug statement on invalid channel state
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-01-27 07:35:36 -05:00
dependabot[bot]
059d775816
build(deps): bump uuid from 1.11.0 to 1.12.0 ( #638 )
2025-01-20 18:37:04 -05:00
dependabot[bot]
a16a131e43
build(deps): bump picky from 7.0.0-rc.11 to 7.0.0-rc.12 ( #639 )
2025-01-20 18:36:32 -05:00
Przemko Robakowski
dd221bf224
feat: support license caching ( #634 )
...
Adds support for license caching by storing the license obtained
from SERVER_UPGRADE_LICENSE message and sending
CLIENT_LICENSE_INFO if a license requested by the server is already
stored in the cache.
Co-authored-by: Benoît Cortier <3809077+CBenoit@users.noreply.github.com>
2025-01-18 14:34:58 +00:00
Vladyslav Nikonov
8b2ba27f45
chore: remove now-proto-pdu crate ( #633 )
2025-01-16 10:00:18 +00:00
Sébastien Duquette
dd249909a8
docs: use CDN URLs instead of the blob storage URLs for Devolutions logo ( #631 )
2025-01-09 10:06:10 -05:00
Marc-Andre Lureau
a0d32d7245
fix: fix commit 9198284263
( #626 )
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Changelog: ignore
2025-01-06 09:29:30 -05:00
devolutionsbot
9292988a88
chore(release): prepare for publishing ( #624 )
...
Co-authored-by: Benoît Cortier <3809077+CBenoit@users.noreply.github.com>
2024-12-17 18:18:10 +00:00
Marc-Andre Lureau
9198284263
feat(server): make TlsIdentityCtx accept PEM files ( #623 )
...
This is in general more convenient than DER files.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-12-17 10:50:39 -05:00
devolutionsbot
114098b673
chore(release): prepare for publishing ( #621 )
2024-12-16 11:24:01 +00:00
Benoît Cortier
9757167df5
chore(release): prepare for publishing ( #620 )
...
- ironrdp-cliprdr-format
- ironrdp-futures
- ironrdp-rdcleanpath
- ironrdp-rdpdr-native
2024-12-16 08:24:47 +00:00
Benoît Cortier
cff5c1a59c
docs(ironrdp): inline documentation for re-exported items ( #619 )
2024-12-16 08:19:46 +00:00
Benoît CORTIER
912c27cffe
chore(release): prepare for publishing
2024-12-15 12:02:36 -05:00
Benoît Cortier
02c6fd5dfe
docs(ironrdp): fix server example ( #616 )
...
The rt-multi-thread feature of tokio is not enabled when compiling the
example alone (without feature unification from other crates of the
workspace).
2024-12-15 08:17:04 -05:00
devolutionsbot
97ef9f0acb
chore(release): prepare for publishing ( #611 )
2024-12-14 14:32:28 +00:00
Benoît Cortier
a6b694b7b8
refactor(core): rename private macro in cursor module ( #612 )
...
This was causing a false-positive in cargo-semver-checks:
- https://github.com/obi1kenobi/cargo-semver-checks/issues/1042
2024-12-13 10:48:02 +02:00
Benoît Cortier
50b848529c
ci(release-crates): use Devolutions/actions-public ( #608 )
2024-12-12 16:10:22 +00:00