94 Commits
Author SHA1 Message Date
Dan ShareandGitHub 6fab9f8228 feat: add an option to specify a timezone (#917)
Allows to pass a timezone to the remote desktop.
2025-08-20 15:40:32 +00:00
Benoît CORTIERandBenoît Cortier 5d8a487001 fix: rename option no_audio_playback into enable_audio_playback 2025-08-04 06:46:10 -04:00
Benoît CORTIERandBenoît Cortier 218fed03c7 fix: rename option no_server_pointer into enable_server_pointer 2025-08-04 06:46:10 -04:00
Alex YusiukandGitHub 32b0e40eca refactor: add unused_trait_names clippy extra-pedantic lint (#900) 2025-07-31 03:57:09 -04:00
Marc-André LureauandBenoît Cortier b4fb0aa0c7 build(deps): bump thiserror to 2.0
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-07-24 06:34:50 -04:00
Pavlo MyroniukandGitHub 33530212c4 feat!: update sspi dependency (#839)
Newer version of sspi adds support for server-side Kerberos.
This is relevant for the ironrdp-acceptor crate.
2025-07-08 08:45:30 -04:00
Benoît CortierandGitHub 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
Miha MarkičandGitHub 4260537c90 fix(ffi): avoid infinite loop in HandleClipboardEvents when not on Windows (#846)
When running on non-Windows, HandleClipboardEvents will create an
infinite loop consuming 100% CPU.
Now, we call HandleClipboardEvents only when on Windows.
2025-06-28 15:51:57 +00:00
Marc-André LureauandBenoît Cortier 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
Benoît CortierandGitHub 712da42ded fix: inject socket local address for the client addr (#759)
We used to inject the resolved target server address, but that is not
what is expected. Server typically ignores this field so this was not a
problem up until now.
2025-04-21 09:08:50 +00:00
Zac BergquistandGitHub bdde2c76de fix(client)!: fix name of client address field (#754) 2025-04-16 04:23:49 -04:00
Marc-André LureauandBenoît Cortier 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é LureauandBenoît Cortier 9f0edcc4c9 feat(client): Add no_audio_playback flag to Config struct
Enable audio playback on the client.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2025-04-08 13:35:44 +02:00
Benoît CortierandGitHub f62104efe6 fix(ffi): use patched diplomat (#723)
This patched version of Diplomat is backporting an important fix from
the more up to date versions of Diplomat.
Without this patch, the code generated by the diplomat::bridge macro
contains an easy to trigger UB.
This UB is triggered by the generated C# code when passing an empty
byte[] array.
2025-03-26 00:55:30 +00:00
Benoît CORTIERandBenoît Cortier 1bb6895422 docs(ffi): fix compilation of examples 2025-03-25 12:26:28 +01:00
Benoît CORTIERandBenoît Cortier 51c45df8c4 docs(ffi): document how to build the .NET bindings 2025-03-24 23:23:26 +01:00
Benoît CORTIERandBenoît Cortier aa210204a7 chore(xtask): add ffi install task
This task is for installing all the requirements for ffi tasks.
(That is: `diplomat-tool`.)
2025-03-24 23:23:26 +01:00
Benoît CortierandGitHub 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
dependabot[bot]andGitHub 6e8a8236dc build(deps): bump SixLabors.ImageSharp from 3.1.3 to 3.1.7 in /ffi/dotnet/Devolutions.IronRdp.ConnectExample (#686) 2025-03-07 05:00:39 +00:00
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
dependabot[bot]andGitHub a2378efb7a build(deps): bump embed-resource from 2.5.0 to 3.0.1 (#577) 2025-01-17 07:40:50 -05:00
Benoît CortierandGitHub 50b848529c ci(release-crates): use Devolutions/actions-public (#608) 2024-12-12 16:10:22 +00:00
Zac BergquistandGitHub 36da11c02e feat(connector): allow clients to specify the x224 nego request data (#580)
The previous code would (correctly) set a cookie containining the
username, but only when using username/password credentials. When
smart card credentials are used, the cookie would always contain
the empty string.
2024-11-19 20:44:40 -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