Commit graph

29 commits

Author SHA1 Message Date
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
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
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
dec0c36fe9 test: add rdpsnd fuzzing
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-07-09 21:55:01 -04: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
Marc-André Lureau
31feec5b79 refactor(pdu): convert ShareDataHeader and ShareControl to PduEncode/Decode 2024-03-21 02:43:50 +09:00
Marc-André Lureau
5d0f6ce045 refactor(pdu): convert BER-related PDU to PduEncode/Decode
This patch could be split if we introduce a legacy module for the
transition of the few PDUs.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-03-21 02:43:50 +09:00
Marc-André Lureau
a2a4c89e4f refactor(pdu): convert license exchange PDUs to PduEncode/Decode 2024-03-21 02:43:50 +09:00
Marc-André Lureau
9faf1ff08d refactor(pdu): convert input module to PduEncode/Decode
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-03-21 02:43:50 +09:00
Marc-André Lureau
2f955f16c3 refactor(pdu): convert FrameAcknowledgePdu to PduEncode/Decode
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-03-21 02:43:50 +09:00
Marc-André Lureau
e88c9af70d refactor(pdu): convert GCC module to PduEncode/Decode
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-03-21 02:43:50 +09:00
Marc-André Lureau
a45deebc98 refactor(pdu): convert RDP module to PduEncode/Decode
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-03-21 02:43:50 +09:00
Norbert Szetei
ef2c3df761
fix(pdu): fixes three overflows in pointer.rs and one in bitmap.rs (#410) 2024-03-11 09:56:58 -04:00
Norbert Szetei
c4193371bd
fix(svc): rdpdr channel fuzzing harness and associated issues (#408) 2024-03-11 06:28:27 -04:00
Vladyslav Nikonov
d53a5321b2
feat(displaycontrol): dynamic resolution PDUs (#366) 2024-02-14 19:32:02 +02:00
Benoît CORTIER
162695534f refactor(cliprdr): consolidate HTML conversions
- `cf_html_to_plain_html` does not allocate anymore
- `plain_html_to_cf_html` returns a `String` (CF_HTML payload is UTF-8)
2023-11-20 09:39:36 -05:00
Benoît CORTIER
130932acee refactor(cliprdr): clarify naming 2023-11-20 09:39:36 -05:00
Benoît Cortier
52d1accf89
fix(connector): always expect STATUS_VALID_CLIENT (#278)
Issue: ARC-180
2023-11-10 19:27:11 -05:00
Vladyslav Nikonov
2b501496d9
feat: clipboard support for web client (#259) 2023-11-08 13:57:21 +02:00
Benoît CORTIER
c1802b625e test(graphics): save snapshots for RLE test
Instead of directly depending on the unmaintained rdp-rs to decompress
RLE tiles dynamically, a few snapshots are saved to test against.

The benefit is to remove a lot of outdated dependencies from our
(developement) dependency graph.
2023-10-05 10:58:16 -04:00
Benoît Cortier
3d98cd1d94
refactor: enable elided_lifetimes_in_paths lint (#203)
Hiding the lifetimes is making the code less obvious.

That’s not a problem for types that I know about intimately such as
`ReadCursor` or `WriteCursor`, but I actually found myself surprised
more than once when reading code I didn’t authored, discovering  later
there was in fact a hidden lifetime parameter.
I expect this problem to be worse for someone not familiar with
our codebase.

I understand this lint is "allow" by default because in some cases
it leads to writing unergonomic ugly code when a type has many generic
lifetimes parameters:

```
TyCtxt<'_, '_, '_>
```

However we _never_ work with more than one generic lifetime parameter in
IronRDP codebase, so it seems to me that the tradeoff towards clarity is
worth it, in our case.
2023-10-04 09:14:36 -07:00
Benoît Cortier
6283e37937
refactor: check for additional lints (#200) 2023-10-02 13:46:05 +03:00
Isaiah Becker-Mayer
fe1567c887
feat(rdpdr): DR_CORE_SERVER_CLIENTID_CONFIRM and DR_CORE_DEVICELIST_ANNOUNCE (#193)
Adds handling for `DR_CORE_SERVER_CLIENTID_CONFIRM` and `DR_CORE_DEVICELIST_ANNOUNCE`/`DR_CORE_DEVICELIST_ANNOUNCE_REQ`.
The next steps in the rdpdr initialization sequence.
2023-09-20 18:29:01 -04:00
Mihnea Buzatu
74e95f692a
feat: initial server support (#167) 2023-08-25 09:35:00 -04:00
Vladyslav Nikonov
4c38be29c7
feat: PDUs for CLIPRDR channel (#170)
Issue: #107
2023-08-15 13:53:07 -04:00
Vladyslav Nikonov
20312a678e
feat(pdu): pointer messages PDUs parsing support
* Add cursor messages PDUs parsing support
* Refactor the `basic_output` module to use new error-handling logic
2023-07-17 17:59:53 +03:00
Benoît CORTIER
04924757cb test: extract fuzzing oracles into another crate 2023-05-11 19:41:11 -04:00