Armin Novak
75aab487e2
Added duplicate initialization check for plugins.
2020-08-10 16:17:44 +02:00
Martin Fleisz
d87d351c00
Add GatewayMessageType to public API
2020-08-04 15:58:48 +02:00
Martin Fleisz
3753f0ea9c
Implement gateway message callback for Windows, Wayland and X11 clients
2020-08-04 15:58:48 +02:00
Kobi Mizrachi
004c2f49e4
rail: server: add API to set railHandshakeExflags
2020-07-07 15:31:20 +03:00
Kobi Mizrachi
5d39200cd7
libfreerdp: core: add ServerHeartbeat callback
2020-07-07 09:57:53 +02:00
akallabeth
431570ffb2
Added scancodes for launch keys
2020-05-27 15:42:45 +02:00
Bernhard Miklautz
3e89574205
Merge pull request #6124 from akallabeth/speedup
...
Unify inline and some warning fixes
2020-05-05 15:34:38 +02:00
David Fort
5b98aa7515
Merge pull request #6063 from akallabeth/expert_settings
...
Added expert settings /tune and /tune-list
2020-05-04 12:09:39 +02:00
akallabeth
2bc0157b01
Unified INLINE definition
2020-04-27 08:19:42 +02:00
akallabeth
b094d52d0b
Fixed #6099 : Add a flag for legacy hash entries
...
If a legacy entry is found in certificate hash store print
additional information to the user informing about the change
with FreeRDP 2.0
2020-04-22 18:14:39 +02:00
Armin Novak
58be47bc63
Added expert settings /tune and /tune-list
2020-04-21 17:30:24 +02:00
akallabeth
a3996af062
Refactored gdi region
...
* Added a unit test
* Fixed const correctness of function arguments
* Added return values for all functions
2020-04-09 18:00:51 +02:00
akallabeth
88ad9ca56b
Fix sending/receiving surface bits command.
...
* Pass on proper command type to application
* On send let the server implementation decide to send
2.2.9.2.1 Set Surface Bits Command (TS_SURFCMD_SET_SURF_BITS) or
2.2.9.2.2 Stream Surface Bits Command (TS_SURFCMD_STREAM_SURF_BITS)
Thanks to @viniciusjarina for tracing the issue down.
2020-04-03 12:00:53 +02:00
Armin Novak
3ba66db99d
Unify pReceiveChannelData and psPeerReceiveChannelData
...
Fix definitions of the two function pointers.
Use and definition did not match, fix that.
Will create warnings in external projects
2020-03-10 12:21:14 +01:00
Armin Novak
d5b5088eac
Fixed misinterpretation of SendChannelData
...
SendChannelData was defined with a return value of type int, but
used as BOOL everywhere. Fix the definition to match use.
2020-03-10 12:21:14 +01:00
Armin Novak
9c999b7135
Added raw function wrapping X509_digest
2020-03-06 11:37:35 +01:00
Armin Novak
2be6e4117f
Let ssl backend handle hash checks.
2020-03-06 11:37:35 +01:00
Armin Novak
d3b36ab299
Added CertificateAcceptedFingerprints to settings
2020-03-06 11:37:35 +01:00
Armin Novak
d7ba252cd7
Fixed arguments for peer->ReceiveChannelData
2020-03-04 14:52:19 +01:00
Armin Novak
b3179174ec
Fixed function pointer const correctness.
2020-03-04 14:44:03 +01:00
Martin Fleisz
da354feed0
Add dynamic channel part for rdpsnd channel
2020-02-28 12:53:39 +01:00
Martin Fleisz
45e0fdde20
Merge pull request #5915 from akallabeth/gfx_versions
...
Updated RDPGFX_CAPVERSION_106 according to errata 2018-12-10
2020-02-26 14:48:41 +01:00
Martin Fleisz
10d1146049
Merge pull request #5906 from akallabeth/tsmf_disable_for_good
...
Made CHANNEL_TSMF optional and deprecated.
2020-02-26 14:41:46 +01:00
Armin Novak
2cd36a042a
Updated RDPGFX_CAPVERSION_106 according to errata 2018-12-10
2020-02-26 14:37:10 +01:00
Norbert Federa
ceb015a6bb
egfx: the gfx reset grahics pdu is optional
...
Since the EGFX Reset Graphics PDU seems to be optional,
the graphicsReset variable (which is updated in that PDU's handler)
should be removed from the rdp_gdi struct with the next change
in public headers (as in freerdp v3).
There are still some clients that expect and check it and therefore
we keep it for now, initialized with TRUE.
sdas
2020-02-26 13:57:12 +01:00
Armin Novak
829497b313
Made CHANNEL_TSMF optional and deprecated.
2020-02-26 13:56:43 +01:00
Kobi Mizrachi
9417350d92
core: channels: add API to get channel name/id
2020-02-26 11:47:01 +01:00
Martin Fleisz
7ae8a158a0
Merge pull request #5707 from akallabeth/kbd_codepage
...
Added KeyboardCodePage option
2020-02-25 14:50:51 +01:00
Armin Novak
30275e7ac3
Added keyboard language codepages and listing option
2020-02-21 11:57:36 +01:00
Armin Novak
f933cafa93
Added some callbacks to dynamic channel
...
* Allow listener removal of channel during runtime
* Allow retrieval of channel name
2020-02-18 11:14:05 +01:00
Martin Fleisz
baca062321
core: Fix and extend populate rdp file from settings
...
This PR contains the following changes:
- Get rid of unused SettingsModified array (kept in the settings struct for ABI
compatibility)
- Fix and extend freerdp_client_populate_rdp_file_form_settings (wrote <null> strings to the rdp file, missed a lot of settings)
- Set KeyboardHook default value to 2 (hook in fullscreen) just as mstsc
does
2020-01-22 14:18:30 +01:00
David Fort
30d6e25def
Merge pull request #5750 from akallabeth/encomsp_auto
...
Encomsp automatic input control && cleanups
2020-01-15 13:56:00 +01:00
David Fort
0cc3af2282
Merge pull request #5796 from akallabeth/rdp_10_7_large_pointers
...
Added RDP 10.7 large pointer support
2020-01-14 10:17:13 +01:00
Kobi Mizrachi
b2fad50cd3
server: proxy: rewrite modules API
...
* Add support for C++ plugins.
* Seperate between a "module" and a "plugin": a module is a shared
library that exposes a function called "proxy_module_entry_point". This
function gets a parameter to `proxyPluginsManager*`, which can be used to
register plugins.
* Refine the API of the modules infrastructure:
* use proxyData* instead of rdpContext* when firing a hook or calling a filter.
* use clearer names.
* Instead of having to specify a path for each module to be loaded in
the configuration, the proxy now loads modules from specificed
directory, using the CMAKE variable PROXY_PLUGINDIR.
* Add an option to specify required plugins: plugins that the proxy
wouldn't start without having them fully loaded.
2020-01-14 07:58:47 +01:00
Kobi Mizrachi
29dee84a2b
rail/server: rename rdpContext to rdpcontext
...
Fixes a compilation error when mixing c++ and c code.
2020-01-14 07:58:47 +01:00
Armin Novak
895cb8f944
Added macro freerdp_set_last_error_if_not
...
This macro replaces the multiple instances where the current
error state is checked before setting an optional error state.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-09 10:34:27 +01:00
Martin Fleisz
f7f2ab302f
Merge pull request #5819 from akallabeth/last_error_informative
...
make Last error more informative
2020-01-09 08:47:09 +01:00
Armin Novak
7d252cdc8e
Added freerdp_set_last_error_ex function
...
This new function allows better logging of call locations
for errors. Additionally added freerdp_set_error_log macro
to record function, file and line the error was set.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-08 17:39:25 +01:00
Armin Novak
f720ec5383
RDPSND device API refinements
...
* Added default format callback for rdpsnd backend to allow
different default input formats (different samplerates, ...)
* Made WINMM backend in flight packet limitation a compile time
option
* Fixed missing buffer copy in winmm backend
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-08 17:14:09 +01:00
David Fort
31a4e2ad8b
Merge pull request #5745 from akallabeth/urbdrc_rewrite
...
Urbdrc rewrite
2020-01-06 09:23:45 +01:00
Armin Novak
323491dab1
Support for RDP protocol version 10.7
...
* Adds support for 10.7 protocol version
* Uses it as client default
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:54:11 +01:00
Armin Novak
182d0ce548
Added RDP 10.7 large pointer support
...
* Implements [MS-RDPBCGR] version 51 large pointer support.
* Logs unknown large pointer capability flags as warning.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2019-12-19 09:53:40 +01:00
Armin Novak
947645520d
Removed touch input channel thread
...
The touch input channel only sends small events (touch points et al)
and therefore does not require a heavy processing thread.
2019-12-18 11:36:12 +01:00
Mati Shabtay
4dacb57f6f
rail server: implement channel code for rail server
...
* Split common functionality from client code
* Clean up client code and use proper defines for constants
* Implements the channel code to read/write server side
messages.
2019-12-12 11:10:44 +01:00
Armin Novak
c5e261e066
Added new command line swith for automatich assistance control.
2019-11-25 10:32:55 +01:00
Armin Novak
2691532061
Fixed const correctness of encomsp functions.
2019-11-25 09:39:21 +01:00
Armin Novak
b3a3a6b9c2
Fixed intialization of opencl primitives and warnings.
2019-11-22 13:21:39 +01:00
David Fort
6123920a2e
opencl: inline the openCL program in the source code
2019-11-22 13:21:39 +01:00
Armin Novak
0a3721587a
Cleaned up primitives code.
2019-11-22 13:21:39 +01:00
David Fort
5f0943f0fe
primitives: add openCL support
...
This patch adds the basic infrastructure to have openCL acceleration.
For now only YUV2RGB is implemented but other operations could be
implemented.
The primitives have been massively reworked so that we have an autodetect
mode that will pick the best implementation automatically by performing a
benchmark.
Sponsored-by: Rangee Gmbh(http://www.rangee.com )
2019-11-22 13:21:39 +01:00
Armin Novak
0927d7aa50
Rewrite of urbdrc channel.
...
* Fix command line parsing
* Properly handle channel creation/destruction
* Use wStream API for parsing
2019-11-22 10:56:21 +01:00
Armin Novak
210b40a54f
Removed msusb from library.
2019-11-22 10:33:39 +01:00
Martin Fleisz
b97c6d87c3
Merge pull request #5706 from akallabeth/tcp_keepalive
...
Configurable Tcp keepalive
2019-11-19 10:03:00 +01:00
Armin Novak
6e1a396aa4
rdpNineGridCache now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
68ed1276c2
MPPC_CONTEXT now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
e83f65b062
NCRUSH_CONTEXT now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
f0353de828
XCRUSH_CONTEXT now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
267bc31248
rdpOffscreenCache now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
028f523ea0
rdpBrushCache now opaque
2019-11-14 15:16:36 +01:00
Armin Novak
6afa413669
Modified primitives function pointer to take const pointer to const data
2019-11-14 10:46:24 +01:00
Armin Novak
da87247d61
Added KeyboardCodePage option
...
Thanks to @byteboon for the hint.
2019-11-07 19:57:07 +01:00
Armin Novak
639174e7d3
Added configurable TcpKeepAliveDelay setting.
2019-11-07 16:07:18 +01:00
Armin Novak
7f21f4ef3d
Added additional tcp keep alive settings.
2019-11-07 12:45:05 +01:00
Armin Novak
7db4f69cb6
Added TcpKeepalive setting, use settings getter const arguments.
2019-11-07 12:39:22 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Armin Novak
27df243a33
Fixed int/size_t use for channel add functions.
2019-10-29 12:58:06 +01:00
kubistika
bf2e1a33d0
channels: rdpgfx: export API to create rdpgfx client
2019-10-24 12:19:31 +02:00
David Fort
bd5a88e95a
rdp: count in/out bytes and packets
2019-10-23 09:16:35 +02:00
kubistika
dff3686642
channels: cliprdr: remove formatDataResp.dwFlags
...
According to the channel docs, this field is only used in format data
request. Therefore, there's no need to hold it in the response. cliprdr
server code was copy-pasted from client code, therefore this must be
some leftover.
2019-10-18 14:20:26 +02:00
Martin Fleisz
ade6b1007b
Merge pull request #5644 from akallabeth/nsc_cleanup
...
Cleaned up NSC API
2019-10-07 09:01:26 +02:00
Armin Novak
e09f739b90
Cleaned up NSC API
2019-10-04 10:33:41 +02:00
Armin Novak
8d088387da
Added function to get an error category for better error handling.
2019-10-03 11:19:03 +02:00
Armin Novak
1d4cdd2924
Added missing error codes.
2019-10-02 16:00:37 +02:00
Martin Fleisz
583045e2e5
rail: Update to latest spec version 28.0
2019-10-02 14:51:45 +02:00
Armin Novak
04a7c068d8
Added option to parse RDP files relaxed.
2019-09-24 16:11:43 +02:00
Armin Novak
88c654ee1d
Modified printer backend to allow dynamic backends.
2019-09-06 09:28:29 +02:00
Martin Fleisz
a5f4783711
Merge pull request #5561 from akallabeth/winmm_play_fix
...
Winmm play fix
2019-09-02 15:23:33 +02:00
Armin Novak
d99486096b
Added deprecation macro.
2019-09-02 15:13:09 +02:00
Armin Novak
f93d625cde
Use GetTickCount64 instead of GetTickCountPrecise.
2019-09-02 15:46:36 +02:00
Martin Fleisz
473806a0b1
Merge pull request #5547 from akallabeth/color_convert_fix
...
Fix #5543 : 16 bit color to 32bit color conversion.
2019-09-02 14:34:59 +02:00
kubistika
faa833f97a
rdpsnd: client: add rdpContext getter
2019-08-29 14:39:17 +02:00
Armin Novak
7604f788b3
Fix #5543 : 16 bit color to 32bit color conversion.
...
When converting 16 bit color (5 or 6 bit per color) to 32bit
(8 bit per color) add a value dependent correction factor so that
value 0 -> 0 and 31 -> 255.
2019-08-26 10:25:10 +02:00
David Fort
a8fac70432
Merge pull request #5508 from akallabeth/french_kbd_fix
...
Fixed #5496 : Canadian keyboard mapping issue reported by @renaudn1981
2019-08-19 23:38:25 +02:00
Armin Novak
74cffef053
Clipboard server callback arguments const
2019-08-19 09:30:40 +02:00
kubistika
f429275f86
channels: cliprdr: server: add autoInitializationSequence
2019-08-19 09:30:40 +02:00
kubistika
6cebbc2a16
channels: cliprdr: add lastRequestedFormatId
...
This one is for proxy use. The proxy must know what format is requested by the other side
of the connection, for determining if the message should be passed
or ignore (for example, if we want to allow only text, the proxy must
verify that the requested format received in Format Data Request PDU is
a text format.
2019-08-19 09:30:40 +02:00
Armin Novak
e3f3343323
Fixed #5496 : Canadian keyboard mapping issue reported by @renaudn1981
2019-08-01 11:09:57 +02:00
kubistika
13fb3ffc39
libfreerdp: core: fix const correctness of freerdp_settings_clone
2019-07-17 16:20:42 +02:00
Armin Novak
1916da35ee
Added freerdp_settings_copy
2019-07-16 13:47:35 +02:00
Armin Novak
1deb78f211
Implemented rdp file parser functions with a callback for custom settings.
2019-07-15 12:01:30 +02:00
Armin Novak
3b38479ec5
Added PromptForCredentials setting.
2019-07-15 12:01:30 +02:00
Martin Fleisz
445764100b
Merge pull request #5396 from widgetii/master
...
Artur Zaprzala's rdp2tcp channel driver
2019-07-09 16:17:29 +02:00
David Fort
2da425aa03
Merge pull request #5424 from kubistika/rdpgfx
...
rdpgfx: CacheImportOffer implementation
2019-06-13 11:35:15 +02:00
David Fort
1f128b6142
Merge pull request #5423 from kubistika/feat/bitmap-auto-flag-calculate
...
rdpUpdate: add autoBitmapDataCalculate
2019-06-12 21:15:59 +02:00
Kobi
d9366df448
RDPEDISP server side implementation ( #5414 )
...
* libfreerdp: Add RDPEDISP server implementation
* server/proxy: Add RDPEDISP support
2019-06-11 16:13:42 +02:00
kubistika
bf97d3e041
rdpgfx/client: Expose QoeFrameAck
2019-06-06 07:53:34 +03:00
kubistika
99b10aa98d
rdpUpdate: add autoCalculateBitmapData flag
2019-06-04 17:33:18 +03:00
kubistika
cd135ceacb
libfreerdp/core: Export monitor layout PDU
...
* Move update notification related functions to new display.c: Not
related to `rdp.c`.
* Rename `rdp_write_monitor_layout_pdu` to `display_write_monitor_layout_pdu`.
* Add internal `display_convert_rdp_monitor_to_monitor_def` instead of
doing the conversion inside `display_write_monitor_layout_pdu`.
2019-06-03 14:30:17 +03:00
David Fort
789ed72021
Merge pull request #5403 from akallabeth/keyboard_event_flags
...
Fixed fastpath/slowpatth pause event.
2019-05-23 12:05:58 +02:00
David Fort
1cb8ed96e2
Merge pull request #5404 from m4ntis/feat/proxy-errors
...
Proxy: Redirect errors back to client
2019-05-23 09:43:47 +02:00