Commit graph

1072 commits

Author SHA1 Message Date
Marc-André Lureau
58afe285c2 refactor(graphics): const pixel_format_to_rgb_fn
That doesn't change the speed though, code isn't inlined afaict.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
Marc-André Lureau
f12e6aa827 perf(graphics): use const generics for DWT
That seems to speed up a bit the code:
rfxenc                  time:   [46.040 µs 46.288 µs 46.698 µs]
                        change: [-9.2580% -8.6663% -7.8304%] (p = 0.00 < 0.05)
                        Performance has improved.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
Marc-André Lureau
6dfd659099 refactor(graphics): use fixed-size slices in to_64x64_ycbcr_tile
In theory, this could help the compiler to unroll loops.. doesn't seem
to be the case though, but it allows to drop the assert_eq!() at least.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
Marc-André Lureau
21d8ce38b1 feat(bench): benchmark rgb2yuv tile encoding
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
Marc-André Lureau
6e567d401f feat(bench): benchmark the remotefx encoder
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
Marc-André Lureau
ff81e7502c refactor(server): factor out remotefx tile encoding
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
Marc-André Lureau
631964d615 feat(server): warn if encoding takes >10ms
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-05 20:16:43 +09:00
dependabot[bot]
58f31b88e0
build(deps): bump arbitrary from 1.3.2 to 1.4.0 (#574)
Bumps [arbitrary](https://github.com/rust-fuzz/arbitrary) from 1.3.2 to 1.4.0.
- [Changelog](https://github.com/rust-fuzz/arbitrary/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-fuzz/arbitrary/compare/v1.3.2...v1.4.0)

---
updated-dependencies:
- dependency-name: arbitrary
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-05 04:10:32 -05:00
Benoît Cortier
5831547811
build(ffi): enable required feature from ironrdp (#572)
This feature used to be enabled by default, but it's not anymore.
2024-11-04 18:27:55 +00:00
Marc-Andre Lureau
37cecc0a16
fix(server): pick one selected protocol (#570)
The spec says we should have "the" selected protocol, and mstsc expects that.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-11-04 13:50:07 +00:00
Marc-Andre Lureau
3e738a96ed
feat(server): add builder option to set remotefx (#569)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-31 14:16:03 +00:00
Marc-André Lureau
5ea39d05af fix(acceptor): raise a credssp error when no creds
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-30 15:48:24 +09:00
Marc-André Lureau
e8d362d5ea chore: reference readme in workspace.package
Some tools require it.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-30 15:48:24 +09:00
Marc-André Lureau
3c503cb2d1 chore: change "default" feature to only enable "core" and "pdu"
Reorganize a bit the dev-dependencies for screenshot/server examples.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 21:48:11 +09:00
Marc-André Lureau
d1b95676f0 docs(example/server): use server TlsIdentityCtx
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 21:48:11 +09:00
Marc-André Lureau
7dd1787c52 feat(server): add a "helper" feature for TlsIdentityCtx
This snippet is useful for server implementations, as long as the server
must be configured with a tokio-rustls TlsAcceptor, and not directly
with certificate paths for examples.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 21:48:11 +09:00
Marc-André Lureau
a9356fc57b docs(example/server): refactor acceptor() to be a TlsIdentityCtx method
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 21:48:11 +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
89c7549701 docs: add ironrdp docs.rs & crates.io badges
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
3a1aeedb55 docs(rdpdr): fix rustdoc warnings
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
a096b14488 docs(svc): fix rustdoc warnings
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
c609fab780 docs(pdu): fix invalid rust syntax
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
4e962431d2 docs(dvc): fix rustdoc warnings
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
5338ea015c docs: fix rustdoc warning with bare URL
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
7bf699cdcd docs(ironrdp): use absolute URLs
rustdoc can't resolve link outside of its generated directory.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Marc-André Lureau
8d15f0bca9 chore(ironrdp): use workspace README.md
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
Marc-André Lureau
f55e82f02e chore: add missing README.md files
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-29 19:14:20 +09:00
Richard Markiewicz
5e5e1aa217
ci: update macos-12 runners to macos-14 (#566) 2024-10-29 04:51:16 -04:00
dependabot[bot]
876a47dd99
build(deps): bump the patch group with 2 updates (#567)
Bumps the patch group with 2 updates: [sspi](https://github.com/devolutions/sspi-rs) and [reqwest](https://github.com/seanmonstar/reqwest).


Updates `sspi` from 0.14.1 to 0.14.2
- [Commits](https://github.com/devolutions/sspi-rs/commits)

Updates `reqwest` from 0.12.8 to 0.12.9
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.8...v0.12.9)

---
updated-dependencies:
- dependency-name: sspi
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: reqwest
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-29 04:50:49 -04:00
Marc-Andre Lureau
87014d4afb
fix(acceptor): raise credssp error to caller (#563)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Co-authored-by: Benoît Cortier <bcortier@proton.me>
2024-10-28 12:19:33 +00:00
Benoît CORTIER
42cc02d6f6 docs(server): slightly adjust comments 2024-10-25 16:04:07 +09:00
Benoît CORTIER
c1a7c4de8c build: remove dead_code lint from our manifest
This lint is already warn-by-default.
2024-10-25 16:04:07 +09:00
Benoît CORTIER
26a12a69c7 build(deps): remove patch number in sspi dependency
This is to avoid overconstraining in the future.
2024-10-25 16:04:07 +09:00
Benoît CORTIER
4a7f233725 docs(example/server): fix default value for the bind address
Replaced --host and --port by a single --bind-addr parameter with
a default value which does not cause a runtime error.
2024-10-25 16:04:07 +09:00
Benoît CORTIER
59c2dc4675 docs(example/server): specify required features 2024-10-25 16:04:07 +09:00
Benoît CORTIER
2a2b555a11 docs(example/server): refactor for clarity 2024-10-25 16:04:07 +09:00
Marc-André Lureau
f5dd282271 chore: bump sspi to 0.14.1
The upcoming sspi release will be required to support Hybrid/CredSsp
server security.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
b9db9ea645 feat(example): add hybrid security to server example
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
8fc30cb22e feat(server): add hybrid security support
Add a RdpServerSecurity::Hybrid variant, to support both hybrid +
hybrid-ex, since they are very close / similar and I don't see much
point in selecting one without the other at this point.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
4c4d93bc6f feat(acceptor): add CredSSP support
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
ac24e15a3d feat(example): add user/pass to server
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
86bc10bf95 feat(server): allow setting credentials
Modify Acceptor to take optionally Credentials at construct time.

The credentials can be changed via ServerEvent::SetCredentials.

Unauthorized connections are no longer accepted.

Note that I couldn't find a nice way to return an invalid logon with RDP
standard security. The next commits will add HYBRID support to improve
the situation.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
aa8c34edf4 fix(server): add missing tokio rt feature
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
5e1cd31c4c chore(connector): drop old winapi dependency
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
Marc-André Lureau
bb1860d153 build: update Rust toolchain to 1.82.0
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2024-10-25 13:19:58 +09:00
dependabot[bot]
069e4345a1
build(deps): bump anyhow from 1.0.89 to 1.0.90 in the patch group (#560)
Bumps the patch group with 1 update: [anyhow](https://github.com/dtolnay/anyhow).


Updates `anyhow` from 1.0.89 to 1.0.90
- [Release notes](https://github.com/dtolnay/anyhow/releases)
- [Commits](https://github.com/dtolnay/anyhow/compare/1.0.89...1.0.90)

---
updated-dependencies:
- dependency-name: anyhow
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 01:23:49 -04:00
dependabot[bot]
70b83799f2
build(deps): bump bytes from 1.7.2 to 1.8.0 (#561)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.7.2 to 1.8.0.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.7.2...v1.8.0)

---
updated-dependencies:
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 01:23:36 -04:00
dependabot[bot]
6e1b00ee3e
build(deps): bump the patch group with 5 updates (#559)
Bumps the patch group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [clap](https://github.com/clap-rs/clap) | `4.5.19` | `4.5.20` |
| [wasm-bindgen](https://github.com/rustwasm/wasm-bindgen) | `0.2.93` | `0.2.95` |
| [wasm-bindgen-futures](https://github.com/rustwasm/wasm-bindgen) | `0.4.43` | `0.4.45` |
| [web-sys](https://github.com/rustwasm/wasm-bindgen) | `0.3.70` | `0.3.72` |
| [js-sys](https://github.com/rustwasm/wasm-bindgen) | `0.3.70` | `0.3.72` |


Updates `clap` from 4.5.19 to 4.5.20
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.19...clap_complete-v4.5.20)

Updates `wasm-bindgen` from 0.2.93 to 0.2.95
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/compare/0.2.93...0.2.95)

Updates `wasm-bindgen-futures` from 0.4.43 to 0.4.45
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Updates `web-sys` from 0.3.70 to 0.3.72
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

Updates `js-sys` from 0.3.70 to 0.3.72
- [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
- [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustwasm/wasm-bindgen/commits)

---
updated-dependencies:
- dependency-name: clap
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: wasm-bindgen
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: wasm-bindgen-futures
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: web-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
- dependency-name: js-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 00:35:48 -04:00