Commit graph

55 commits

Author SHA1 Message Date
devolutionsbot
ad64c83814
chore(release): prepare for publishing (#836) 2025-06-27 07:10:42 -04:00
dependabot[bot]
e5f92ae11c
build(deps): bump the patch group across 2 directories with 6 updates (#821) 2025-06-17 04:08:04 -04:00
devolutionsbot
c09f9719e0
chore(release): prepare for publishing (#813) 2025-06-06 09:18:24 +00:00
devolutionsbot
bca455f158
chore(release): prepare for publishing (#800) 2025-06-03 15:22:28 +00:00
Benoît Cortier
5e6e4e1627
chore(release): prepare ironrdp-core 0.1.5 (#795) 2025-05-27 12:25:54 -04:00
devolutionsbot
aa6777b56a
chore(release): prepare for publishing (#748) 2025-05-27 15:21:56 +00:00
dependabot[bot]
3029c8f909
build(deps): bump the patch group across 2 directories with 2 updates (#789) 2025-05-13 07:05:19 -04:00
Marc-Andre Lureau
d8ab533463
build(deps): yuvutils renamed to yuv (#774)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-23 09:47:19 -04:00
dependabot[bot]
ff798c91a7
build(deps): bump the patch group across 2 directories with 2 updates (#769) 2025-04-22 03:08:49 -04:00
dependabot[bot]
ecd2450a7a
build(deps): bump the patch group across 2 directories with 3 updates (#751) 2025-04-15 01:03:39 -04: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
devolutionsbot
92dd927ec2
chore(release): prepare for publishing (#696) 2025-03-12 16:40:47 +00:00
devolutionsbot
47a77d2b36
chore(release): prepare for publishing (#666) 2025-03-07 12:16:34 +00: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
devolutionsbot
de86e2b14a
chore(release): prepare for publishing (#664) 2025-02-06 21:44:04 +00:00
devolutionsbot
11b92bfcbd
chore(release): prepare for publishing (#658) 2025-02-03 17:13:59 -05:00
devolutionsbot
e6d6e9d8a7
chore(release): prepare for publishing (#628) 2025-01-28 23:24:35 +00: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
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
devolutionsbot
97ef9f0acb
chore(release): prepare for publishing (#611) 2024-12-14 14:32:28 +00:00
Benoît Cortier
fc23992dea
chore: prepare release (#585)
Crates to release:

- ironrdp-core -> 0.1.1
- ironrdp-pdu -> 0.1.1
- ironrdp-svc -> 0.1.1
- ironrdp-connector -> 0.2.0
- ironrdp-server -> 0.2.0
- ironrdp -> 0.6.0
2024-11-21 10:14:01 -05:00
Benoît CORTIER
d9b69c68f9 build: enable unused_crate_dependencies lint
All reported cases were actually unused dependencies.
2024-11-20 01:28:31 +09: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
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
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
1e53669b11
feat: add support for dydynvc (#419) 2024-03-29 04:18:12 -04:00
dependabot[bot]
a1d8bb246e
build(deps): bump der-parser from 8.2.0 to 9.0.0 (#387)
Bumps [der-parser](https://github.com/rusticata/der-parser) from 8.2.0 to 9.0.0.
- [Release notes](https://github.com/rusticata/der-parser/releases)
- [Changelog](https://github.com/rusticata/der-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rusticata/der-parser/compare/der-parser-8.2.0...der-parser-9.0.0)

---
updated-dependencies:
- dependency-name: der-parser
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-27 06:53:47 +00:00
Norbert Szetei
bfa3bdac26
test(fuzz): update dependencies (#413) 2024-03-12 05:53:57 -04:00
Norbert Szetei
c4193371bd
fix(svc): rdpdr channel fuzzing harness and associated issues (#408) 2024-03-11 06:28:27 -04:00
Benoît Cortier
def44ec32c
ci: enable the cliprdr_format fuzz harness (#398) 2024-03-07 08:16:51 -05:00
Vladyslav Nikonov
d53a5321b2
feat(displaycontrol): dynamic resolution PDUs (#366) 2024-02-14 19:32:02 +02:00
Marc-André Lureau
4b5e2a2392 build(deps): cargo update
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-01-25 01:01:59 +09:00
Isaiah Becker-Mayer
6aa3f3e63b
feat(rdpdr): SetInformation* handling (#312)
- Extend ReadCursor with methods to read and try reading i64 values in both little and big endian formats.
- Update RdpdrPdu to handle ClientDriveSetInformationResponse, reflecting the addition of ServerDriveSetInformationRequest handling in the RDPDR (Remote Desktop Protocol: Device Redirection) protocol.
- Implement decoding and encoding of various FileInformationClass types such as FileEndOfFileInformation, FileDispositionInformation, FileRenameInformation, and FileAllocationInformation.
- Refactor the existing code to improve the handling of different FileInformationClassLevels and FileSystemInformationClassLevels.
- Add handling for ServerDriveNotifyChangeDirectoryRequest in ServerDriveIoRequest, supporting the specific case when MinorFunction is set to IRP_MN_NOTIFY_CHANGE_DIRECTORY.
2023-11-29 17:38:01 +00:00
Benoît Cortier
e10bf4fc38
ci: check for dirty lock files (#277)
Note that we can’t really use the --locked option of cargo, because to
run xtask, we need to compile it using cargo, and thus the lock files
are already "refreshed" as far as cargo is concerned. Instead, this new
task will check for modifications to the lock files using git-status
porcelain. The side benefit is that we can check for npm lock files too.
2023-11-09 21:53:08 -05:00
Vladyslav Nikonov
2b501496d9
feat: clipboard support for web client (#259) 2023-11-08 13:57:21 +02:00
Benoît Cortier
8b359ff4a3
fix(pdu): bubble up X509 cert parsing error source (#236)
The source for the certificate parsing error was discarded. This
patch is modifying the ServerLicenseError::InvalidX509Certificate
variant so that it is properly bubbled up.

This will help us gather troubleshooting information from our
end users.
2023-10-30 16:46:07 +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
c670ab4331
feat(error): add Source trait (#202) 2023-10-03 23:39:55 +00:00
Benoît Cortier
d466861a89
build(client): update softbuffer dependency (#187) 2023-08-29 15:28:36 +00:00
Benoît CORTIER
2938db416b feat: API for custom static virtual channels
Issue: ARC-147
Co-authored-by: Isaiah Becker-Mayer <isaiah@goteleport.com>
2023-08-26 04:37:13 -04:00
Mihnea Buzatu
74e95f692a
feat: initial server support (#167) 2023-08-25 09:35:00 -04:00
Benoît Cortier
709f79558a
build(fuzz): fix build (#163)
Breakage was caused by some bad interaction with a
transitive dependency (proc-macro2).

This is simply updating the Cargo.lock by running `cargo update`.
2023-07-12 15:16:44 +00:00
Benoît CORTIER
493e8f13a4 ci: add web client check job 2023-05-23 08:31:19 -04:00
Benoît Cortier
0b20b56068
fix(pdu): panic in mcs module found by fuzzing (#133) 2023-05-16 16:19:22 +00:00
Benoît CORTIER
04924757cb test: extract fuzzing oracles into another crate 2023-05-11 19:41:11 -04:00
Benoît Cortier
55d11a5000
refactor: clarify project architecture (#123)
> Make the root of the workspace a virtual manifest. It might
> be tempting to put the main crate into the root, but that
> pollutes the root with src/, requires passing --workspace to
> every Cargo command, and adds an exception to an otherwise
> consistent structure.

> Don’t succumb to the temptation to strip common prefix
> from folder names. If each crate is named exactly as the
> folder it lives in, navigation and renames become easier.
> Cargo.tomls of reverse dependencies mention both the folder
> and the crate name, it’s useful when they are exactly the
> same.

Source:
https://matklad.github.io/2021/08/22/large-rust-workspaces.html#Smaller-Tips
2023-05-09 21:00:07 +00:00
Vladyslav Nikonov
137556013f
Add support for RDP6 32bpp bitmaps (#118)
This adds support for RDP6 32bpp bitmaps.

- RDP6 RLE implementation
- `RDP6_BITMAP_STREAM` pdu parsing
- New CLI arguments to select color depth and color reduction
- Unit tests and fuzzing for implemented functionality

Test bpp32 mode without lossy compression (RGB  colorspace)
```
cargo run -p ironrdp-client -- -u vmbox -p password --color-depth=32 <IP_ADDRESS>
```

Test bpp32 mode with lossy compression (YCoCg colorspace, subsampling, color loss)
```
cargo run -p ironrdp-client -- -u vmbox -p password --color-depth=32 --lossy-bitmap-compression <IP_ADDRESS>
```

Issue: ARC-149
2023-05-08 09:43:53 -04:00
Benoît CORTIER
95faf8bbc6 feat!: implement new traits on PreconnectionBlob 2023-05-04 21:27:44 -04:00