Commit graph

88 commits

Author SHA1 Message Date
Benoît Cortier
48e02441d2
chore: update Rust toolchain to 1.88.0 (#852)
MSRV is also bumped to 1.84.
2025-07-03 07:38:28 +03:00
devolutionsbot
ad64c83814
chore(release): prepare for publishing (#836) 2025-06-27 07:10:42 -04:00
Vladyslav Nikonov
5482365655
feat(dvc): add DVC named pipe proxy support (#791) 2025-06-17 10:16:41 +00:00
devolutionsbot
aa6777b56a
chore(release): prepare for publishing (#748) 2025-05-27 15:21:56 +00:00
Marc-André Lureau
f03ee393a3 refactor!: add supported codecs in BitmapConfig
"session" has a fixed set of supported codecs with associated IDs.

"connector" must expose the set of codecs during capabilities exchange.
It currently uses hard-codes codec IDs in different places.

Move the BitmapCodecs set to ironrdp-pdu. Shared code will be used by
the server, so this is a suitable common place.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-05-09 09:11:45 +02:00
Marc-André Lureau
f9b6992e74 fix(session): decrease verbosity of FastPath header
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-08 16:49:05 +02:00
Marc-André Lureau
b31b99eafb fix(session): decrease verbosity of Rfx frame_index
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-08 16:49:05 +02:00
Marc-André Lureau
cd7a60ba45 feat(session): add DecodeImage helpers
Having a helper to take the slice of updated region data is generally helpful.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-08 14:37:50 +02:00
Marc-André Lureau
45f66117ba feat(session)!: make DecodedImage Send
This will allow to share it between different threads.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-08 14:37:50 +02:00
Marc-André Lureau
7507a152f1 fix(session): return the correct updated region
"update_rectangle" is set to empty(). The surface updates are then added
by "union". But a union with an empty rectangle at (0,0) is still a
rectangle at (0,0). We end up with big region updates rooted at (0,0)...

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-08 14:37:50 +02:00
Marc-Andre Lureau
a50cd643dc
fix(session): update rectangle when applying None codecs updates (#728)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-03-30 18:37:38 -04:00
Marc-André Lureau
ff26400822 debug(session): trace the surface codec
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-03-31 00:36:26 +02:00
Marc-André Lureau
b957c085b3 doc(session): misc doc annotation fix
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-03-31 00:36:26 +02:00
devolutionsbot
b19008c029
chore(release): prepare for publishing (#699) 2025-03-13 09:06:30 +00:00
devolutionsbot
f2c8482ba6
build: bump ironrdp-pdu (#698) 2025-03-12 20:59:54 +00:00
Marc-André Lureau
7cb1ac99d1 refactor(pdu)!: remove RfxChannelWidth and RfxChannelHeight structs
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-03-12 21:34:47 +01:00
devolutionsbot
92dd927ec2
chore(release): prepare for publishing (#696) 2025-03-12 16:40:47 +00:00
Benoît Cortier
c21fa44fd6
build: do not use workspace dependencies (#695)
As written in the workspace Cargo.toml:

> Note that for better cross-tooling interactions, do not use workspace
dependencies for anything that is not "workspace internal" (e.g.: mostly
dev-dependencies). E.g.: release-plz can’t detect that a dependency has
been
updated in a way warranting a version bump in the dependant if no commit
is
touching a file associated to the crate. It is technically okay to use
that
for "private" (i.e.: not used in the public API) dependencies too, but
we
still want to make follow-up releases to stay up to date with the
community,
even for private dependencies.

Expectation is that release-plz will be able to auto-detect when bumping
dependents is necessary.

Closes #689
2025-03-12 09:25:01 -04: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
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
devolutionsbot
e6d6e9d8a7
chore(release): prepare for publishing (#628) 2025-01-28 23:24:35 +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
devolutionsbot
97ef9f0acb
chore(release): prepare for publishing (#611) 2024-12-14 14:32:28 +00:00
Benoît Cortier
0c10367ebc
chore: symlinks to license files in packages (#604)
Add symlinks to the license files in crates that we are publishing on
crates.io.
2024-12-11 08:13:26 -05:00
Benoît Cortier
755738ff9c
chore: prepare release (#598)
Crates to release:

- ironrdp-acceptor -> 0.2.0
- ironrdp-async -> 0.2.0
- ironrdp-blocking -> 0.2.0
- ironrdp-session -> 0.2.0
- ironrdp-server -> 0.3.0
- ironrdp -> 0.7.0
2024-12-06 09:51:14 +00:00
Przemko Robakowski
6e290ab366
fix(session): avoid panics when First fragmentation is missing (#597) 2024-12-04 23:11:53 -05:00
Benoît CORTIER
294af1cc5c style: cargo +nightly fmt 2024-11-20 01:28:31 +09:00
Benoît CORTIER
807eb59b07 refactor: enable clippy::std_instead_of_core lint 2024-11-20 01:28:31 +09:00
Marc-André Lureau
5381b24444 docs: use Devolutions logo
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
bf56a7fc80 docs: use README.md for crates lib.rs doc
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
4ef36bf5fa docs: add project links to READMEs for consistency
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Zac Bergquist
b55924ee0a
fix: save the disconnect reason from the set error info PDU (#547)
The Set Error Info PDU is sent as a precursor to a server-side
disconnect and informs the client of the reason for the disconnection
which will follow. Once this PDU has been processed, the client MUST
store the error code so that the reason for the server disconnect
which will follow can be accurately reported to the user.
2024-09-23 01:15:42 -04:00
logeable
7916997b0b
style: fix typos (#546) 2024-09-03 10:36:47 +00:00
Marc-André Lureau
402ffd56c9 refactor(core): move Encode/Decode to core
ironrdp-pdu contains lots of code that we don’t actually need in other crates such as the virtual channels.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
ab5760d47b refactor(pdu): add X224 newtype
This allows to implement external Encode/Decode traits in following change.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
23bc008d65 refactor(core): move {Decode/Encode}Error
& document the public API.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
b4c4b7ef58 chore(pdu): introduce DecodeResult
Introduce a new error type to split encoding/decoding errors as well as
helper traits and functions to ease porting and conventions.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
00d4750e4b refactor(pdu): rename InvalidMessage->InvalidField
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
f6a45ca24b refactor(error): remove CatchAllKind
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
278a0506c2 refactor(core): move WriteBuf
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
7419467ad3 refactor(core): move cursor.rs
Add documentation.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-30 00:05:16 -04:00
Marc-André Lureau
6e18a4c475 chore(session): lower image events logging level
"debug" level is a bit too verbose here.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-08-14 00:37:06 -04:00
Marc-André Lureau
7307148cb8 chore: use workspace lints
Among other things, this allows tools and LSP to pick up our settings.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-07-24 04:35:32 -04:00
Marc-André Lureau
adf2797ef7 fix: unnecessary qualification
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-07-24 04:35:32 -04:00
Zac Bergquist
dfbe947e5b
fix(session): handle the set keyboard indicators PDU (#482)
This message doesn't require a response of any kind, but handling
it here will prevent an unknown PDU error which kills the session.

Co-authored-by: Benoît Cortier <bcortier@proton.me>
2024-06-26 02:17:10 +00:00
Isaiah Becker-Mayer
fd105e4b56
feat(displaycontrol): hook up resize for ironrdp-client crate (#430) 2024-04-29 22:20:02 +03:00
Isaiah Becker-Mayer
5c42ade597
fix: make license parsing and protocol more resilient (#436)
* Converts `BlobType` to a resilient parsing style
* Makes the licensing parsing and handling more resilient to make it compatible with xrdp
2024-04-25 08:23:20 +03:00
Isaiah Becker-Mayer
ba3796f738
feat: implement the connection activation sequence rerun (#421) 2024-04-05 11:05:15 -04:00
Marc-Andre Lureau
c8f6fe5181
feat: RemoteFX encoder (#379) 2024-04-02 11:38:38 -04:00
Isaiah Becker-Mayer
1e53669b11
feat: add support for dydynvc (#419) 2024-03-29 04:18:12 -04:00